- Jun 04, 2016
-
-
Steve Holme authored
connect.c:952:5: warning: suggest explicit braces to avoid ambiguous 'else'
-
Steve Holme authored
Closes #845
-
Steve Holme authored
-
Steve Holme authored
-
- Jun 01, 2016
-
-
Viktor Szakats authored
Dependency added by 6cabd785 Closes #849
-
Ivan Avdeev authored
Sessionid cache management is inseparable from managing individual session lifetimes. E.g. for reference-counted sessions (like those in SChannel and OpenSSL engines) every session addition and removal should be accompanied with refcount increment and decrement respectively. Failing to do so synchronously leads to a race condition that causes symptoms like use-after-free and memory corruption. This commit: - makes existing session cache locking explicit, thus allowing individual engines to manage lock's scope. - fixes OpenSSL and SChannel engines by putting refcount management inside this lock's scope in relevant places. - adds these explicit locking calls to other engines that use sessionid cache to accommodate for this change. Note, however, that it is unknown whether any of these engines could also have this race. Bug: https://github.com/curl/curl/issues/815 Fixes #815 Closes #847
-
Andrew Kurushin authored
Closes #822
-
- May 31, 2016
-
-
Daniel Stenberg authored
... to make it not look like an OpenSSL function
-
Michael Kaufmann authored
Closes #844
-
- May 30, 2016
-
-
Daniel Stenberg authored
Mostly in order to support broken web sites that redirect to broken URLs that are accepted by browsers. Browsers are typically even more leniant than this as the WHATWG URL spec they should allow an _infinite_ amount. I tested 8000 slashes with Firefox and it just worked. Added test case 1141, 1142 and 1143 to verify the new parser. Closes #791
-
Renaud Lehoux authored
Closes #837
-
Renaud Lehoux authored
Closes #838
-
Frank Gevaerts authored
Adds access to the effectively used http version to both libcurl and curl. Closes #799
-
Marcel Raad authored
With OPENSSL_NO_COMP defined, there is no function SSL_COMP_free_compression_methods Closes #836
-
Gisle Vanem authored
Fixes #828
-
Steve Holme authored
Inspiration provided by: Daniel Stenberg and Ray Satiro Bug: https://curl.haxx.se/docs/adv_20160530.html Ref: Windows DLL hijacking with curl, CVE-2016-4802
-
Daniel Stenberg authored
-
- May 28, 2016
-
-
Daniel Stenberg authored
The statvfs functionality was added to libssh2 in that version, so we switch off that functionality when built with older libraries. Fixes #831
-
- May 24, 2016
-
-
Daniel Stenberg authored
Regression from the previous *printf() rearrangements, this file missed to include the correct header to make sure snprintf() works universally. Reported-by: Moti Avrahami Bug: https://curl.haxx.se/mail/lib-2016-05/0196.html
-
- May 23, 2016
-
-
Steve Holme authored
Added support for checking the tchar, unicode and mbcs variants of strcat() and strncat() in the banned function list.
-
Daniel Stenberg authored
-
- May 20, 2016
-
-
Jay Satiro authored
- Free compression methods if OpenSSL 1.0.2 to avoid a memory leak. Bug: https://github.com/curl/curl/issues/817 Reported-by: <jveazey@users.noreply.github.com>
-
Gisle Vanem authored
While compiling lib/curl_multibyte.c with '-DUSE_WIN32_IDN' etc. I was getting: f:\mingw32\src\inet\curl\lib\memdebug.h(38): error C2054: expected '(' to follow 'CURL_EXTERN' f:\mingw32\src\inet\curl\lib\memdebug.h(38): error C2085: 'curl_domalloc': not in formal parameter list
-
- May 19, 2016
-
-
Daniel Stenberg authored
See OpenSSL commit 21e001747d4a
-
Daniel Stenberg authored
... when generating them, not "2.0" as the protocol is called just HTTP/2 and nothing else.
-
- May 18, 2016
-
-
Marcel Raad authored
For the Windows XP toolset of Visual C++ 2013/2015, the old Windows SDK 7.1 is used. In this case, _USING_V110_SDK71_ is defined. Closes #812
-
- May 17, 2016
-
-
Daniel Stenberg authored
...as otherwise the TLS libs will skip the CN/SAN check and just allow connection to any server. curl previously skipped this function when SNI wasn't used or when connecting to an IP address specified host. CVE-2016-3739 Bug: https://curl.haxx.se/docs/adv_20160518A.html Reported-by: Moti Avrahami
-
Daniel Stenberg authored
CID 1361815: Explicit null dereferenced (FORWARD_NULL)
-
Daniel Stenberg authored
CID 1361811: Explicit null dereferenced (FORWARD_NULL)
-
Daniel Stenberg authored
CID 1024412: Memory - illegal accesses (OVERRUN). Claimed to happen when we run over 'workend' but the condition says <= workend and for all I can see it should be safe. Compensating for the warning by adding a byte margin in the buffer. Also, removed the extra brace level indentation in the code and made it so that 'workend' is only assigned once within the function.
-
- May 16, 2016
-
-
Jay Satiro authored
- Return value type must match function type. s/CURLM_OUT_OF_MEMORY/CURLE_OUT_OF_MEMORY/ Caught by Travis CI
-
- May 14, 2016
-
-
Daniel Stenberg authored
The proper FTP wildcard init is now more properly done in Curl_pretransfer() and the corresponding cleanup in Curl_close(). The previous place of init/cleanup code made the internal pointer to be NULL when this feature was used with the multi_socket() API, as it was made within the curl_multi_perform() function. Reported-by: Jonathan Cardoso Machado Fixes #800
-
- May 13, 2016
-
-
Viktor Szakats authored
-
- May 12, 2016
-
-
Jay Satiro authored
Prior to this change a width arg could be erroneously output, and also width and precision args could not be used together without crashing. "%0*d%s", 2, 9, "foo" Before: "092" After: "09foo" "%*.*s", 5, 2, "foo" Before: crash After: " fo" Test 557 is updated to verify this and more
-
Michael Kaufmann authored
Follow-up commit to 58231795 Closes #648
-
Per Malmberg authored
The new way of disabling certificate verification doesn't work on Mountain Lion (OS X 10.8) so we need to use the old way in that version too. I've tested this solution on versions 10.7.5, 10.8, 10.9, 10.10.2 and 10.11. Closes #802
-
Cory Benfield authored
curl's representation of HTTP/2 responses involves transforming the response to a format that is similar to HTTP/1.1. Prior to this change, curl would do this by separating header names and values with only a colon, without introducing a space after the colon. While this is technically a valid way to represent a HTTP/1.1 header block, it is much more common to see a space following the colon. This change introduces that space, to ensure that incautious tools are safely able to parse the header block. This also ensures that the difference between the HTTP/1.1 and HTTP/2 response layout is as minimal as possible. Bug: https://github.com/curl/curl/issues/797 Closes #798 Fixes #797
-
Kamil Dudka authored
... introduced in curl-7_48_0-293-g2968c83: Error: COMPILER_WARNING: lib/vtls/openssl.c: scope_hint: In function ‘Curl_ossl_check_cxn’ lib/vtls/openssl.c:767:15: warning: conversion to ‘int’ from ‘ssize_t’ may alter its value [-Wconversion]
-
Jay Satiro authored
- In the case of recv error, limit returning 'connection still in place' to EINPROGRESS, EAGAIN and EWOULDBLOCK. This is an improvement on the parent commit which changed the openssl connection check to use recv MSG_PEEK instead of SSL_peek. Ref: https://github.com/curl/curl/commit/856baf5#comments
-
- May 10, 2016
-
-
Anders Bakken authored
Calling SSL_peek can cause bytes to be read from the raw socket which in turn can upset the select machinery that determines whether there's data available on the socket. Since Curl_ossl_check_cxn only tries to determine whether the socket is alive and doesn't actually need to see the bytes SSL_peek seems like the wrong function to call. We're able to occasionally reproduce a connect timeout due to this bug. What happens is that Curl doesn't know to call SSL_connect again after the peek happens since data is buffered in the SSL buffer and thus select won't fire for this socket. Closes #795
-