- 17 Jun, 2015 6 commits
-
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Kamil Dudka authored
CVE-2015-3236 This partially reverts commit curl-7_39_0-237-g87c4abb6 Reported-by: Tomas Tomecek, Kamil Dudka Bug: http://curl.haxx.se/docs/adv_20150617A.html
-
Kamil Dudka authored
-
Daniel Stenberg authored
CVE-2015-3237 Detected by Coverity. CID 1299430. Bug: http://curl.haxx.se/docs/adv_20150617B.html
-
Jay Satiro authored
This commit is several drafts squashed together. The changes from each draft are noted below. If any changes are similar and possibly contradictory the change in the latest draft takes precedence. Bug: https://github.com/bagder/curl/issues/244 Reported-by: Chris Araman %% %% Draft 1 %% - return 0 if len == 0. that will have to be documented. - continue on and process the caches regardless of raw recv - if decrypted data will be returned then set the error code to CURLE_OK and return its count - if decrypted data will not be returned and the connection has closed (eg nread == 0) then return 0 and CURLE_OK - if decrypted data will not be returned and the connection *hasn't* closed then set the error code to CURLE_AGAIN --only if an error code isn't already set-- and return -1 - narrow the Win2k workaround to only Win2k %% %% Draft 2 %% - Trying out a change in flow to handle corner cases. %% %% Draft 3 %% - Back out the lazier decryption change made in draft2. %% %% Draft 4 %% - Some formatting and branching changes - Decrypt all encrypted cached data when len == 0 - Save connection closed state - Change special Win2k check to use connection closed state %% %% Draft 5 %% - Default to CURLE_AGAIN in cleanup if an error code wasn't set and the connection isn't closed. %% %% Draft 6 %% - Save the last error only if it is an unrecoverable error. Prior to this I saved the last error state in all cases; unfortunately the logic to cover that in all cases would lead to some muddle and I'm concerned that could then lead to a bug in the future so I've replaced it by only recording an unrecoverable error and that state will persist. - Do not recurse on renegotiation. Instead we'll continue on to process any trailing encrypted data received during the renegotiation only. - Move the err checks in cleanup after the check for decrypted data. In either case decrypted data is always returned but I think it's easier to understand when those err checks come after the decrypted data check. %% %% Draft 7 %% - Regardless of len value go directly to cleanup if there is an unrecoverable error or a close_notify was already received. Prior to this change we only acknowledged those two states if len != 0. - Fix a bug in connection closed behavior: Set the error state in the cleanup, because we don't know for sure it's an error until that time. - (Related to above) In the case the connection is closed go "greedy" with the decryption to make sure all remaining encrypted data has been decrypted even if it is not needed at that time by the caller. This is necessary because we can only tell if the connection closed gracefully (close_notify) once all encrypted data has been decrypted. - Do not renegotiate when an unrecoverable error is pending. %% %% Draft 8 %% - Don't show 'server closed the connection' info message twice. - Show an info message if server closed abruptly (missing close_notify).
-
- 16 Jun, 2015 3 commits
-
-
Paul Oliver authored
s/curret/current/
-
Viktor Szakats authored
-
Daniel Stenberg authored
-
- 15 Jun, 2015 9 commits
-
-
Viktor Szakats authored
-
Viktor Szakats authored
-
Viktor Szakats authored
* use SSL/TLS where available * follow permanent redirects
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
"At condition p_request, the value of p_request cannot be NULL." Coverity CID 1306668.
-
Daniel Stenberg authored
... by removing the "do {} while (0)" block. Coverity CID 1306669
-
Daniel Stenberg authored
-
Daniel Stenberg authored
use \fI-style instead of .BR for references
-
- 14 Jun, 2015 5 commits
-
-
Daniel Stenberg authored
... to simplify checking when PUT _or_ POST have completed. Reported-by: Frank Meier Bug: http://curl.haxx.se/mail/lib-2015-06/0019.html
-
Dan Fandrich authored
-
Drake Arconis authored
-
Drake Arconis authored
-
Jay Satiro authored
-
- 13 Jun, 2015 1 commit
-
-
Daniel Stenberg authored
-
- 11 Jun, 2015 3 commits
-
-
Daniel Stenberg authored
-
Joel Depooter authored
Some servers will request a client certificate, but not require one. This change allows libcurl to connect to such servers when using schannel as its ssl/tls backend. When a server requests a client certificate, libcurl will now continue the handshake without one, rather than terminating the handshake. The server can then decide if that is acceptable or not. Prior to this change, libcurl would terminate the handshake, reporting a SEC_I_INCOMPLETE_CREDENTIALS error.
-
Daniel Stenberg authored
-
- 10 Jun, 2015 1 commit
-
-
Daniel Stenberg authored
-
- 09 Jun, 2015 5 commits
-
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
and a conversion to markdown. Removed the lib/README.* files. The idea being to move toward having INTERNALS as the one and only "book" of internals documentation. Added a TOC to top of the document.
-
Jay Satiro authored
Although OpenSSL 1.1.0+ deprecated SSLv23_client_method in favor of TLS_client_method LibreSSL and BoringSSL didn't and still use SSLv23_client_method. Bug: https://github.com/bagder/curl/commit/49a6642#commitcomment-11578009 Reported-by: <asavah@users.noreply.github.com>
-
- 08 Jun, 2015 7 commits
-
-
Daniel Stenberg authored
-
Daniel Stenberg authored
When CURL_SOCKET_BAD is returned in the callback, it should be treated as an error (CURLE_COULDNT_CONNECT) if no other socket is subsequently created when trying to connect to a server. Bug: http://curl.haxx.se/mail/lib-2015-06/0047.html
-
Daniel Stenberg authored
-
Ville Skyttä authored
-
Ville Skyttä authored
-
Linus Nielsen authored
-
Jay Satiro authored
- Try building a chain using issuers in the trusted store first to avoid problems with server-sent legacy intermediates. Prior to this change server-sent legacy intermediates with missing legacy issuers would cause verification to fail even if the client's CA bundle contained a valid replacement for the intermediate and an alternate chain could be constructed that would verify successfully. https://rt.openssl.org/Ticket/Display.html?id=3621&user=guest&pass=guest
-