#
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.
|