History log of /curl/lib/connect.c (Results 151 – 175 of 577)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c45360d4 02-Jun-2018 Marian Klymov

cppcheck: fix warnings

- Get rid of variable that was generating false positive warning
(unitialized)

- Fix issues in tests

- Reduce scope of several variables all over

cppcheck: fix warnings

- Get rid of variable that was generating false positive warning
(unitialized)

- Fix issues in tests

- Reduce scope of several variables all over

etc

Closes #2631

show more ...


# 2427d94c 31-Jan-2018 Anders Bakken

url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT

- Add new option CURLOPT_HAPPY_EYEBALLS_TIMEOUT to set libcurl's happy
eyeball timeout value.

- Add new optval macro CURL_HET_DE

url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT

- Add new option CURLOPT_HAPPY_EYEBALLS_TIMEOUT to set libcurl's happy
eyeball timeout value.

- Add new optval macro CURL_HET_DEFAULT to represent the default happy
eyeballs timeout value (currently 200 ms).

- Add new tool option --happy-eyeballs-timeout-ms to expose
CURLOPT_HAPPY_EYEBALLS_TIMEOUT. The -ms suffix is used because the
other -timeout options in the tool expect seconds not milliseconds.

Closes https://github.com/curl/curl/pull/2260

show more ...


# 50d1b337 31-Jan-2018 Anders Bakken

CURLOPT_RESOLVE: Add support for multiple IP addresses per entry

This enables users to preresolve but still take advantage of happy
eyeballs and trying multiple addresses if some are not

CURLOPT_RESOLVE: Add support for multiple IP addresses per entry

This enables users to preresolve but still take advantage of happy
eyeballs and trying multiple addresses if some are not connecting.

Ref: https://github.com/curl/curl/pull/2260

show more ...


# b46cfbc0 10-Feb-2018 Björn Stenberg

TODO fixed: Detect when called from within callbacks

Closes #2302


Revision tags: curl-7_57_0
# 979b012e 05-Nov-2017 Alessandro Ghedini

connect: add support for new TCP Fast Open API on Linux

The new API added in Linux 4.11 only requires setting a socket option
before connecting, without the whole sento() machinery.

connect: add support for new TCP Fast Open API on Linux

The new API added in Linux 4.11 only requires setting a socket option
before connecting, without the whole sento() machinery.

Notably, this makes it possible to use TFO with SSL connections on Linux
as well, without the need to mess around with OpenSSL (or whatever other
SSL library) internals.

Closes #2056

show more ...


# 31f18d27 23-Nov-2017 Jay Satiro

connect: improve the bind error message

eg consider a non-existent interface eth8, curl --interface eth8

Before: curl: (45) Could not resolve host: eth8
After: curl: (45) Couldn

connect: improve the bind error message

eg consider a non-existent interface eth8, curl --interface eth8

Before: curl: (45) Could not resolve host: eth8
After: curl: (45) Couldn't bind to 'eth8'

Bug: https://github.com/curl/curl/issues/2104
Reported-by: Alfonso Martone

show more ...


# 6ce98456 15-Nov-2017 Pavol Markovic

macOS: Fix missing connectx function with Xcode version older than 9.0

The previous fix https://github.com/curl/curl/pull/1788 worked just for
Xcode 9. This commit extends the fix to old

macOS: Fix missing connectx function with Xcode version older than 9.0

The previous fix https://github.com/curl/curl/pull/1788 worked just for
Xcode 9. This commit extends the fix to older Xcode versions effectively
by not using connectx function.

Fixes https://github.com/curl/curl/issues/1330
Fixes https://github.com/curl/curl/issues/2080
Closes https://github.com/curl/curl/pull/1336
Closes #2082

show more ...


# 9f78b054 12-Nov-2017 Orgad Shaneh

connect.c: remove executable bit on file

Closes #2071


# 32828cc4 26-Oct-2017 Luca Boccassi

--interface: add support for Linux VRF

The --interface command (CURLOPT_INTERFACE option) already uses
SO_BINDTODEVICE on Linux, but it tries to parse it as an interface or IP
addres

--interface: add support for Linux VRF

The --interface command (CURLOPT_INTERFACE option) already uses
SO_BINDTODEVICE on Linux, but it tries to parse it as an interface or IP
address first, which fails in case the user passes a VRF.

Try to use the socket option immediately and parse it as a fallback
instead. Update the documentation to mention this feature, and that it
requires the binary to be ran by root or with CAP_NET_RAW capabilities
for this to work.

Closes #2024

show more ...


# 67c55a26 01-Nov-2017 Daniel Stenberg

share: add support for sharing the connection cache


# 6b12beb2 04-Nov-2017 Daniel Stenberg

connect: store IPv6 connection status after valid connection

... previously it would store it already in the happy eyeballs stage
which could lead to the IPv6 bit being set for an IPv4 c

connect: store IPv6 connection status after valid connection

... previously it would store it already in the happy eyeballs stage
which could lead to the IPv6 bit being set for an IPv4 connection,
leading to curl not wanting to do EPSV=>PASV for FTP transfers.

Closes #2053

show more ...


# 7ee59512 29-Oct-2017 Daniel Stenberg

timeleft: made two more users of Curl_timeleft use timediff_t


# 0d85eed3 26-Oct-2017 Daniel Stenberg

Curl_timeleft: change return type to timediff_t

returning 'time_t' is problematic when that type is unsigned and we
return values less than zero to signal "already expired", used in

Curl_timeleft: change return type to timediff_t

returning 'time_t' is problematic when that type is unsigned and we
return values less than zero to signal "already expired", used in
several places in the code.

Closes #2021

show more ...


# 5d543fe9 25-Oct-2017 Daniel Stenberg

time: rename Curl_tvnow to Curl_now

... since the 'tv' stood for timeval and this function does not return a
timeval struct anymore.

Also, cleaned up the Curl_timediff*() functi

time: rename Curl_tvnow to Curl_now

... since the 'tv' stood for timeval and this function does not return a
timeval struct anymore.

Also, cleaned up the Curl_timediff*() functions to avoid typecasts and
clean up the descriptive comments.

Closes #2011

show more ...


# b9d25f9a 23-Oct-2017 Daniel Stenberg

timediff: return timediff_t from the time diff functions

... to cater for systems with unsigned time_t variables.

- Renamed the functions to curlx_timediff and Curl_timediff_us.

timediff: return timediff_t from the time diff functions

... to cater for systems with unsigned time_t variables.

- Renamed the functions to curlx_timediff and Curl_timediff_us.

- Added overflow protection for both of them in either direction for
both 32 bit and 64 bit time_ts

- Reprefixed the curlx_time functions to use Curl_*

Reported-by: Peter Piekarski
Fixes #2004
Closes #2005

show more ...


Revision tags: curl-7_56_1, curl-7_56_0
# 49d75a4c 28-Sep-2017 Anders Bakken

connect: fix race condition with happy eyeballs timeout

The timer should be started after conn->connecttime is set. Otherwise
the timer could expire without this condition being true:

connect: fix race condition with happy eyeballs timeout

The timer should be started after conn->connecttime is set. Otherwise
the timer could expire without this condition being true:

/* should we try another protocol family? */
if(i == 0 && conn->tempaddr[1] == NULL &&
curlx_tvdiff(now, conn->connecttime) >= HAPPY_EYEBALLS_TIMEOUT) {

Ref: #1928

show more ...


# e5743f08 09-Sep-2017 Daniel Stenberg

code style: use spaces around pluses


# 6b84438d 09-Sep-2017 Daniel Stenberg

code style: use spaces around equals signs


# 870d849d 16-Aug-2017 Nick Zitzmann

configure: check for __builtin_available() availability (#1788)

This change does two things:
1. It un-breaks the build in Xcode 9.0. (Xcode 9.0 is currently
failing trying to comp

configure: check for __builtin_available() availability (#1788)

This change does two things:
1. It un-breaks the build in Xcode 9.0. (Xcode 9.0 is currently
failing trying to compile connectx() in lib/connect.c.)
2. It finally weak-links the connectx() function, and falls back on
connect() when run on older operating systems.

show more ...


Revision tags: curl-7_55_1, curl-7_55_0
# 4dee50b9 28-Jul-2017 Daniel Stenberg

timeval: struct curltime is a struct timeval replacement

... to make all libcurl internals able to use the same data types for
the struct members. The timeval struct differs subtly on se

timeval: struct curltime is a struct timeval replacement

... to make all libcurl internals able to use the same data types for
the struct members. The timeval struct differs subtly on several
platforms so it makes it cumbersome to use everywhere.

Ref: #1652
Closes #1693

show more ...


# af021625 19-Jun-2017 Jay Satiro

curl_setup_once: Remove ERRNO/SET_ERRNO macros

Prior to this change (SET_)ERRNO mapped to GetLastError/SetLastError
for Win32 and regular errno otherwise.

I reviewed the code an

curl_setup_once: Remove ERRNO/SET_ERRNO macros

Prior to this change (SET_)ERRNO mapped to GetLastError/SetLastError
for Win32 and regular errno otherwise.

I reviewed the code and found no justifiable reason for conflating errno
on WIN32 with GetLastError/SetLastError. All Win32 CRTs support errno,
and any Win32 multithreaded CRT supports thread-local errno.

Fixes https://github.com/curl/curl/issues/895
Closes https://github.com/curl/curl/pull/1589

show more ...


# 909a5bee 04-Jul-2017 Daniel Stenberg

configure: remove checks for 5 functions never used

fork, getprotobyname, inet_addr, perror, uname

closes #1638


Revision tags: curl-7_54_1
# 7fffe97b 08-Jun-2017 Daniel Stenberg

expire: remove Curl_expire_latest()

With the introduction of expire IDs and the fact that existing timers
can be removed now and thus never expire, the concept with adding a
"latest"

expire: remove Curl_expire_latest()

With the introduction of expire IDs and the fact that existing timers
can be removed now and thus never expire, the concept with adding a
"latest" timer is not working anymore as it risks to not expire at all.

So, to be certain the timers actually are in line and will expire, the
plain Curl_expire() needs to be used. The _latest() function was added
as a sort of shortcut in the past that's quite simply not necessary
anymore.

Follow-up to 31b39c40cf90

Reported-by: Paul Harris

Closes #1555

show more ...


# e9fd794a 09-May-2017 Daniel Stenberg

multi: assign IDs to all timers and make each timer singleton

A) reduces the timeout lists drastically

B) prevents a lot of superfluous loops for timers that expires "in vain"

multi: assign IDs to all timers and make each timer singleton

A) reduces the timeout lists drastically

B) prevents a lot of superfluous loops for timers that expires "in vain"
when it has actually already been extended to fire later on

show more ...


Revision tags: curl-7_54_0
# a8e523f0 30-Mar-2017 Marcel Raad

connect: fix unreferenced parameter warning

When CURL_DISABLE_VERBOSE_STRINGS is defined, the reason parameter in
Curl_conncontrol is not used as the infof macro expands to nothing.


12345678910>>...24