- Mar 15, 2015
-
-
Frank Meier authored
In function Curl_closesocket() in connect.c the call to Curl_multi_closed() was wrongly omitted if a socket close function (CURLOPT_CLOSESOCKETFUNCTION) is registered. That would lead to not removing the socket from the internal hash table and not calling the multi socket callback appropriately. Bug: http://curl.haxx.se/bug/view.cgi?id=1493
-
- Mar 14, 2015
-
-
Tobias Stoeckmann authored
A signal handler for SIGALRM is installed in Curl_resolv_timeout. It is configured to interrupt system calls and uses siglongjmp to return into the function if alarm() goes off. The signal handler is installed before curl_jmpenv is initialized. This means that an already installed alarm timer could trigger the newly installed signal handler, leading to undefined behavior when it accesses the uninitialized curl_jmpenv. Even if there is no previously installed alarm available, the code in Curl_resolv_timeout itself installs an alarm before the environment is fully set up. If the process is sent into suspend right after that, the signal handler could be called too early as in previous scenario. To fix this, the signal handler should only be installed and the alarm timer only be set after sigsetjmp has been called.
-
Daniel Stenberg authored
... by using the regular Curl_http_done() method which checks for that. This makes test 1801 fail consistently with error 56 (which seems fine) to that test is also updated here. Reported-by: Ben Darnell Bug: https://github.com/bagder/curl/issues/166
-
- Mar 12, 2015
-
-
Daniel Stenberg authored
While the previous string worked, this is the documented format. Reported-by: Richard Moore
-
Daniel Stenberg authored
This makes curl pick better (stronger) ciphers by default. The strongest available ciphers are fine according to the HTTP/2 spec so an OpenSSL built curl is no longer rejected by string HTTP/2 servers. Bug: http://curl.haxx.se/bug/view.cgi?id=1487
-
Daniel Stenberg authored
-
Daniel Stenberg authored
...after the method line: "Since the Host field-value is critical information for handling a request, a user agent SHOULD generate Host as the first header field following the request-line." / RFC 7230 section 5.4 Additionally, this will also make libcurl ignore multiple specified custom Host: headers and only use the first one. Test 1121 has been updated accordingly Bug: http://curl.haxx.se/bug/view.cgi?id=1491 Reported-by: Rainer Canavan
-
- Mar 11, 2015
-
-
Alexander Pepper authored
Also unified printing to STDERR by creating the helper method "report".
-
Daniel Stenberg authored
When checking for a connection to re-use, a proxy-using request must check for and use a proxy connection and not one based on the host name! Added test 1421 to verify Bug: http://curl.haxx.se/bug/view.cgi?id=1492
-
- Mar 10, 2015
-
-
Alessandro Ghedini authored
-
Alessandro Ghedini authored
-
Alessandro Ghedini authored
Instead of priting cipher and MAC algorithms names separately, print the whole cipher suite string which also includes the key exchange algorithm, along with the negotiated TLS version.
-
Daniel Stenberg authored
-
Alessandro Ghedini authored
-
- Mar 07, 2015
-
-
Daniel Stenberg authored
The code used some happy eyeballs logic even _after_ CONNECT has been sent to a proxy, while the happy eyeball phase is already (should be) over by then. This is solved by splitting the multi state into two separate states introducing the new SENDPROTOCONNECT state. Bug: http://curl.haxx.se/mail/lib-2015-01/0170.html Reported-by: Peter Laser
-
Daniel Stenberg authored
-
Daniel Stenberg authored
Since they already exist and will make comparing easier
-
Daniel Stenberg authored
-
Alessandro Ghedini authored
-
Alessandro Ghedini authored
-
Alessandro Ghedini authored
-
Alessandro Ghedini authored
-
Alessandro Ghedini authored
-
- Mar 06, 2015
-
-
Daniel Stenberg authored
-
- Mar 05, 2015
-
-
Daniel Stenberg authored
Since 1342a96e, a timeout detected in the multi state machine didn't necesarily clear everything up, like formpost data. Bug: https://github.com/bagder/curl/issues/147 Reported-by: Michel Promonet Patched-by: Michel Promonet
-
Daniel Stenberg authored
SSLeay was the name of the library that was subsequently turned into OpenSSL many moons ago (1999). curl does not work with the old SSLeay library since years. This is now reflected by only using USE_OPENSSL in code that depends on OpenSSL.
-
- Mar 03, 2015
-
-
Daniel Stenberg authored
No need to use _MPRINTF_REPLACE internally.
-
Daniel Stenberg authored
... and as a consequence, introduce curl_printf.h with that re-define magic instead and make all libcurl code use that instead.
-
- Feb 27, 2015
-
-
Tatsuhiro Tsujikawa authored
Previously, we just ignored error code passed to on_stream_close_callback and just return 0 (success) after stream closure even if stream was reset with error. This patch records error code in on_stream_close_callback, and return -1 and use CURLE_HTTP2 error code on abnormal stream closure.
-
- Feb 25, 2015
-
-
Daniel Stenberg authored
Pointed-out-by: Tatsuhiro Tsujikawa Bug: http://curl.haxx.se/bug/view.cgi?id=1487
-
Daniel Stenberg authored
-
Kamil Dudka authored
In that case, we only skip writing the error message for failed NSS initialization (while still returning the correct error code).
-
Kamil Dudka authored
The vtls layer now checks the return value, so it is no longer necessary to abort if a random number cannot be provided by NSS. This also fixes the following Coverity report: Error: FORWARD_NULL (CWE-476): lib/vtls/nss.c:1918: var_compare_op: Comparing "data" to null implies that "data" might be null. lib/vtls/nss.c:1923: var_deref_model: Passing null pointer "data" to "Curl_failf", which dereferences it. lib/sendf.c:154:3: deref_parm: Directly dereferencing parameter "data".
-
- Feb 24, 2015
-
-
Marc Hoersken authored
This reverts commit 03fa5768.
-
Marc Hoersken authored
obj_count can be 1 if the custom read function is set or the stdin handle is a reference to a pipe. Since the pipe should be handled using the PeekNamedPipe-check below, the custom read function should only be used if it is actually enabled.
-
Marc Hoersken authored
According to [1]: "Returning 0 will signal end-of-file to the library and cause it to stop the current transfer." This change makes the Windows telnet code handle this case accordingly. [1] http://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html
-
- Feb 23, 2015
-
-
Kamil Dudka authored
... even if the last IPv6 connection attempt has failed. Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1187531#c4
-
Kamil Dudka authored
... in case the protocol versions are mixed in a DNS response (IPv6 -> IPv4 -> IPv6). Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1187531#c3
-
- Feb 20, 2015
-
-
Julian Ospald authored
SSL_CTX_load_verify_locations by default (and if given non-Null parameters) searches the CAfile first and falls back to CApath. This allows for CAfile to be a basis (e.g. installed by the package manager) and CApath to be a user configured directory. This wasn't reflected by the previous configure constraint which this patch fixes. Bug: https://github.com/bagder/curl/pull/139
-
Ben Boeckel authored
-