aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-31HTTP: Don't attempt to needlessly decompress redirect bodyHarry Sintonen
This change fixes a regression where redirect body would needlessly be decompressed even though it was to be ignored anyway. As it happens this causes secondary issues since there appears to be a bug in apache2 that it in certain conditions generates a corrupt zlib response. The regression was created by commit: dbcced8e32b50c068ac297106f0502ee200a1ebd Discovered-by: Harry Sintonen Closes #2798
2018-07-31curl: use Content-Disposition before the "URL end" for -OJDaniel Stenberg
Regression introduced in 7.61.0 Reported-by: Thomas Klausner Fixes #2783 Closes #2813
2018-07-31retry: return error if rewind was necessary but didn't happenDaniel Jelinski
Fixes #2801 Closes #2812
2018-07-30http2: clear the drain counter in Curl_http2_doneDaniel Stenberg
Reported-by: Andrei Virtosu Fixes #2800 Closes #2809
2018-07-30smb: fix memory leak on early failureDaniel Stenberg
... by making sure connection related data (->share) is stored in the connection and not in the easy handle. Detected by OSS-fuzz Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9369 Fixes #2769 Closes #2810
2018-07-30travis: run a 'make checksrc' tooDaniel Stenberg
... to make sure the examples are all checked. Closes #2811
2018-07-29examples/ephiperfifo: checksrc complianceJay Satiro
2018-07-29sws: handle EINTR when calling select()Michael Kaufmann
Closes https://github.com/curl/curl/pull/2808
2018-07-29test1157: follow-up to 35ecffb9Daniel Stenberg
Ignore the user-agent line. Pointed-out-by: Marcel Raad
2018-07-29tests/http_pipe.py: Use /usr/bin/env to find pythonMichael Kaufmann
2018-07-28TODO: Support Authority Information Access certificate extension (AIA)Daniel Stenberg
Closes #2793
2018-07-28conn_free: updated comment to clarifyDaniel Stenberg
Let's call it disassociate instead of disconnect since the latter term is used so much for (TCP) connections already.
2018-07-28test1157: test -H from empty fileDaniel Stenberg
Verifies bugfix #2797
2018-07-28curl: Fix segfault when -H @headerfile is emptyTobias Blomberg
The curl binary would crash if the -H command line option was given a filename to read using the @filename syntax but that file was empty. Closes #2797
2018-07-28mime: check Curl_rand_hex's return codeDaniel Stenberg
Bug: https://curl.haxx.se/mail/archive-2018-07/0015.html Reported-by: Jeffrey Walton Closes #2795
2018-07-28docs/examples: add hiperfifo example using linux epoll/timerfdJosh Bialkowski
Closes #2804
2018-07-26docs/INSTALL.md: minor formatting fixesDarío Hereñú
Closes #2794
2018-07-26docs/CURLOPT_URL: fix indentationChristopher Head
The statement, “The application does not have to keep the string around after setting this option,” appears to be indented under the RTMP paragraph. It actually applies to all protocols, not just RTMP. Eliminate the extra indentation. Closes #2788
2018-07-26docs/CURLOPT_WRITEFUNCTION: size is always 1Christopher Head
For compatibility with `fwrite`, the `CURLOPT_WRITEFUNCTION` callback is passed two `size_t` parameters which, when multiplied, designate the number of bytes of data passed in. In practice, CURL always sets the first parameter (`size`) to 1. This practice is also enshrined in documentation and cannot be changed in future. The documentation states that the default callback is `fwrite`, which means `fwrite` must be a suitable function for this purpose. However, the documentation also states that the callback must return the number of *bytes* it successfully handled, whereas ISO C `fwrite` returns the number of items (each of size `size`) which it wrote. The only way these numbers can be equal is if `size` is 1. Since `size` is 1 and can never be changed in future anyway, document that fact explicitly and let users rely on it. Closes #2787
2018-07-26wolfSSL/CyaSSL: Fix memory leak in Curl_cyassl_randomCarie Pointer
RNG structure must be freed by call to FreeRng after its use in Curl_cyassl_random. This call fixes Valgrind failures when running the test suite with wolfSSL. Closes #2784
2018-07-26reuse_conn(): free old_conn->optionsEven Rouault
This fixes a memory leak when CURLOPT_LOGIN_OPTIONS is used, together with connection reuse. I found this with oss-fuzz on GDAL and curl master: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9582 I couldn't reproduce with the oss-fuzz original test case, but looking at curl source code pointed to this well reproducable leak. Closes #2790
2018-07-25system_win32: fix version checkingdjelinski
In the current version, VERSION_GREATER_THAN_EQUAL 6.3 will return false when run on windows 10.0. This patch addresses that error. Closes https://github.com/curl/curl/pull/2792
2018-07-24auth: pick Bearer authentication whenever a token is availableJohannes Schindelin
So far, the code tries to pick an authentication method only if user/password credentials are available, which is not the case for Bearer authentictation... Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Closes #2754
2018-07-24auth: only ever pick CURLAUTH_BEARER if we *have* a Bearer tokenJohannes Schindelin
The Bearer authentication was added to cURL 7.61.0, but there is a problem: if CURLAUTH_ANY is selected, and the server supports multiple authentication methods including the Bearer method, we strongly prefer that latter method (only CURLAUTH_NEGOTIATE beats it), and if the Bearer authentication fails, we will never even try to attempt any other method. This is particularly unfortunate when we already know that we do not have any Bearer token to work with. Such a scenario happens e.g. when using Git to push to Visual Studio Team Services (which supports Basic and Bearer authentication among other methods) and specifying the Personal Access Token directly in the URL (this aproach is frequently taken by automated builds). Let's make sure that we have a Bearer token to work with before we select the Bearer authentication among the available authentication methods. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Closes #2754
2018-07-22test320: treat curl320.out file as binaryMarcel Raad
Otherwise, LF line endings are converted to CRLF on Windows, but no conversion is done for the reply, so the test case fails. Closes https://github.com/curl/curl/pull/2776
2018-07-22vtls: set conn->data when closing TLSDaniel Stenberg
Follow-up to 1b76c38904f0. The VTLS backends that close down the TLS layer for a connection still needs a Curl_easy handle for the session_id cache etc. Fixes #2764 Closes #2771
2018-07-21tests: fixes for Windows line endlingsMarcel Raad
Set mode="text" when line endings depend on the system representation. Closes https://github.com/curl/curl/pull/2772
2018-07-21test214: disable MSYS2's POSIX path conversion for URLMarcel Raad
By default, the MSYS2 bash converts all backslashes to forward slashes in URLs. Disable this with MSYS2_ARG_CONV_EXCL for the test to pass. Ref https://github.com/msys2/msys2/wiki/Porting#filesystem-namespaces
2018-07-20http2: several cleanupsDaniel Stenberg
- separate easy handle from connections better - added asserts on a number of places - added sanity check of pipelines for debug builds Closes #2751
2018-07-20smb_getsock: always wait for write socket tooDaniel Stenberg
... the protocol is doing read/write a lot, so it needs to write often even when downloading. A more proper fix could check for eactly when it wants to write and only ask for it then. Without this fix, an SMB download could easily get stuck when the event-driven API was used. Closes #2768
2018-07-20test1143: disable MSYS2's POSIX path conversionMarcel Raad
By default, the MSYS2 bash interprets http:/%HOSTIP:%HTTPPORT/want/1143 as a POSIX file list and converts it to a Windows file list. Disable this with MSYS2_ARG_CONV_EXCL for the test to pass. Ref https://github.com/msys2/msys2/wiki/Porting#filesystem-namespaces Closes https://github.com/curl/curl/pull/2765
2018-07-18RELEASE-NOTES: syncDaniel Stenberg
... and work toward 7.61.1
2018-07-17CMake: Update scripts to use consistent styleRuslan Baratov
Closes #2727 Reviewed-by: Sergei Nikulov
2018-07-17header output: switch off all styles, not just unboldDaniel Stenberg
... the "unbold" sequence doesn't work on the mac Terminal. Reported-by: Zero King Fixes #2736 Closes #2738
2018-07-14darwinssl: add support for ALPN negotiationRodger Combs
2018-07-14test1422: add required file featureMarcel Raad
curl configured with --enable-debug --disable-file currently complains on test1422: Info: Protocol "file" not supported or disabled in libcurl Make test1422 dependend on enabled FILE protocol to fix this. Fixes https://github.com/curl/curl/issues/2741 Closes https://github.com/curl/curl/pull/2742
2018-07-12content_encoding: accept up to 4 unknown trailer bytes after raw deflate dataPatrick Monnerat
Some servers issue raw deflate data that may be followed by an undocumented trailer. This commit makes curl tolerate such a trailer of up to 4 bytes before considering the data is in error. Reported-by: clbr on github Fixes #2719
2018-07-12smb: fix memory-leak in URL parse error pathDaniel Stenberg
Detected by OSS-Fuzz Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9369 Closes #2740
2018-07-12schannel: enable CALG_TLS1PRF for w32api >= 5.1Marcel Raad
The definition of CALG_TLS1PRF has been fixed in the 5.1 branch: https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/commits/73aedcc0f2e6ba370de0d86ab878ad76a0dda7b5
2018-07-12docs/SECURITY-PROCESS: mention bounty, drop pre-notifyDaniel Stenberg
+ The hackerone bounty and its process - We don't and can't handle pre-notification
2018-07-11multi: always do the COMPLETED procedure/stateDaniel Stenberg
It was previously erroneously skipped in some situations. libtest/libntlmconnect.c wrongly depended on wrong behavior (that it would get a zero timeout) when no handles are "running" in a multi handle. That behavior is no longer present with this fix. Now libcurl will always return a -1 timeout when all handles are completed. Closes #2733
2018-07-11Curl_getoff_all_pipelines: improved for multiplexedDaniel Stenberg
On multiplexed connections, transfers can be removed from anywhere not just at the head as for pipelines.
2018-07-11ares: check for NULL in completed-callbackDaniel Stenberg
2018-07-11conn: remove the boolean 'inuse' fieldDaniel Stenberg
... as the usage needs to be counted.
2018-07-11openssl: assume engine support in 1.0.0 or laterPaul Howarth
Commit 38203f1585da changed engine detection to be version-based, with a baseline of openssl 1.0.1. This does in fact break builds with openssl 1.0.0, which has engine support - the configure script detects that ENGINE_cleanup() is available - but <openssl/engine.h> doesn't get included to declare it. According to upstream documentation, engine support was added to mainstream openssl builds as of version 0.9.7: https://github.com/openssl/openssl/blob/master/README.ENGINE This commit drops the version test down to 1.0.0 as version 1.0.0d is the oldest version I have to test with. Closes #2732
2018-07-11schannel: fix MinGW compile breakMarcel Raad
Original MinGW's w32api has a sytax error in its definition of CALG_TLS1PRF [0]. Don't use original MinGW w32api's CALG_TLS1PRF until this bug [1] is fixed. [0] https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/blobs/d1d4a17e51a2b78e252ef0147d483267d56c90cc/w32api/include/wincrypt.h [1] https://osdn.net/projects/mingw/ticket/38391 Fixes https://github.com/curl/curl/pull/2721#issuecomment-403636043 Closes https://github.com/curl/curl/pull/2728
2018-07-11examples/crawler.c: move #ifdef to column 0Daniel Stenberg
Apparently the C => HTML converter on the web site doesn't quite like it otherwise. Reported-by: Jeroen Ooms
2018-07-11release: 7.61.0Daniel Stenberg
2018-07-10TODO: Configurable loading of OpenSSL configuration fileDaniel Stenberg
Closes #2724
2018-07-10post303.d: clarify that this is an RFC violationDaniel Stenberg
... and not the other way around, which this previously said. Reported-by: Vasiliy Faronov Fixes #2723 Closes #2726