summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* examples: add shared-connection-cacheDaniel Stenberg2017-11-091-1/+2
|
* test1554: verify connection cache sharingDaniel Stenberg2017-11-095-15/+193
|
* share: add support for sharing the connection cacheDaniel Stenberg2017-11-0910-128/+230
|
* imap: deal with commands case insensitivelyDaniel Stenberg2017-11-091-11/+11
| | | | | | | As documented in RFC 3501 section 9: https://tools.ietf.org/html/rfc3501#section-9 Closes #2061
* connect: store IPv6 connection status after valid connectionDaniel Stenberg2017-11-091-4/+3
| | | | | | | | ... 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
* curl_multi_fdset.3: emphasize curl_multi_timeoutDaniel Stenberg2017-11-091-4/+5
| | | | | ... even when there's no socket to wait for, the timeout can still be very short.
* content_encoding: fix inflate_stream for no bytes availableJay Satiro2017-11-091-4/+6
| | | | | | | | | | | | | | | | | | | - Don't call zlib's inflate() when avail_in stream bytes is 0. This is a follow up to the parent commit 19e66e5. Prior to that change libcurl's inflate_stream could call zlib's inflate even when no bytes were available, causing inflate to return Z_BUF_ERROR, and then inflate_stream would treat that as a hard error and return CURLE_BAD_CONTENT_ENCODING. According to the zlib FAQ, Z_BUF_ERROR is not fatal. This bug would happen randomly since packet sizes are arbitrary. A test of 10,000 transfers had 55 fail (ie 0.55%). Ref: https://zlib.net/zlib_faq.html#faq05 Closes https://github.com/curl/curl/pull/2060
* content_encoding: do not write 0 length dataPatrick Monnerat2017-11-071-2/+2
|
* fnmatch: remove dead codeDaniel Stenberg2017-11-061-6/+1
| | | | | | | There was a duplicate check for backslashes in the setcharset() function. Coverity CID 1420611
* url: remove unncessary NULL-checkDaniel Stenberg2017-11-061-3/+2
| | | | | | | Since 'conn' won't be NULL in there and we also access the pointer in there without the check. Coverity CID 1420610
* src/Makefile.m32: fix typo in brotli lib customizationViktor Szakats2017-11-061-1/+1
| | | | Ref cc1f4436099decb9d1a7034b2bb773a9f8379d31
* Makefile.m32: allow to customize brotli libsViktor Szakats2017-11-052-3/+13
| | | | | | It adds the ability to link against static brotli libs. Also fix brotli include path.
* travis: add a job with brotli enabledPatrick Monnerat2017-11-051-0/+18
|
* Makefile.m32: add brotli supportViktor Szakats2017-11-052-2/+28
|
* HTTP: implement Brotli content encodingPatrick Monnerat2017-11-0521-32/+633
| | | | | | | | | | | | This uses the brotli external library (https://github.com/google/brotli). Brotli becomes a feature: additional curl_version_info() bit and structure fields are provided for it and CURLVERSION_NOW bumped. Tests 314 and 315 check Brotli content unencoding with correct and erroneous data. Some tests are updated to accomodate with the now configuration dependent parameters of the Accept-Encoding header.
* HTTP: support multiple Content-EncodingsPatrick Monnerat2017-11-0511-281/+734
| | | | | | | | | | This is implemented as an output streaming stack of unencoders, the last calling the client write procedure. New test 230 checks this feature. Bug: https://github.com/curl/curl/pull/2002 Reported-By: Daniel Bankhead
* url: remove arg value check from CURLOPT_SSH_AUTH_TYPESJay Satiro2017-11-041-4/+1
| | | | | | | | | | Since CURLSSH_AUTH_ANY (aka CURLSSH_AUTH_DEFAULT) is ~0 an arg value check on this option is incorrect; we have to accept any value. Prior to this change since f121575 (7.56.1+) CURLOPT_SSH_AUTH_TYPES erroneously rejected CURLSSH_AUTH_ANY with CURLE_BAD_FUNCTION_ARGUMENT. Bug: https://github.com/curl/curl/commit/f121575#commitcomment-25347120
* ntlm: avoid malloc(0) for zero length passwordsDaniel Stenberg2017-11-041-1/+1
| | | | | | | | | | It triggers an assert() when built with memdebug since malloc(0) may return NULL *or* a valid pointer. Detected by OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4054 Assisted-by: Max Dymond Closes #2054
* RELEASE-NOTES: synced with ee8016b3dDaniel Stenberg2017-11-041-4/+36
|
* curl: speed up handling of many URLsDaniel Stenberg2017-11-044-11/+63
| | | | | | | | | | | | | | By properly keeping track of the last entry in the list of URLs/uploads to handle, curl now avoids many meaningless traverses of the list which speeds up many-URL handling *MASSIVELY* (several magnitudes on 100K URLs). Added test 1291, to verify that it doesn't take ages - but we don't have any detection of "too slow" command in the test suite. Reported-by: arainchik on github Fixes #1959 Closes #2052
* curl: pass through [] in URLs instead of calling globbing errorDaniel Stenberg2017-11-043-4/+54
| | | | | | | Assisted-by: Per Lundberg Fixes #2044 Closes #2046 Closes #2048
* CURLOPT_INFILESIZE: accept -1Daniel Stenberg2017-11-031-2/+2
| | | | | | | Regression since f121575 Reported-by: Petr Voytsik Fixes #2047
* url: fix CURLOPT_DNS_CACHE_TIMEOUT arg value check to allow -1Jay Satiro2017-11-021-1/+1
| | | | | Prior to this change since f121575 (7.56.1+) CURLOPT_DNS_CACHE_TIMEOUT erroneously rejected -1 with CURLE_BAD_FUNCTION_ARGUMENT.
* http2: Fixed OOM handling in upgrade requestDan Fandrich2017-11-011-1/+4
| | | | This caused the torture tests on test 1800 to fail.
* tests: Fixed torture tests on tests 556 and 650Dan Fandrich2017-11-012-20/+41
| | | | Test cleanup after OOM wasn't being consistently performed.
* CURLOPT_MAXREDIRS: allow -1 as a valueDaniel Stenberg2017-11-012-2/+5
| | | | | | | | | | | ... which is valid according to documentation. Regression since f121575c0b5f. Verified now in test 501. Reported-by: cbartl on github Fixes #2038 Closes #2039
* include: remove conncache.h inclusion from where its not neededDaniel Stenberg2017-11-013-3/+0
|
* url: fix CURLOPT_POSTFIELDSIZE arg value check to allow -1Jay Satiro2017-11-011-1/+3
| | | | | | | | | | .. also add same arg value check to CURLOPT_POSTFIELDSIZE_LARGE. Prior to this change since f121575 (7.56.1+) CURLOPT_POSTFIELDSIZE erroneously rejected -1 value with CURLE_BAD_FUNCTION_ARGUMENT. Bug: https://curl.haxx.se/mail/lib-2017-11/0000.html Reported-by: Andrew Lambert
* cookie: avoid NULL dereferenceDaniel Stenberg2017-10-311-1/+1
| | | | | | | | ... when expiring old cookies. Reported-by: Pavel Gushchin Fixes #2032 Closes #2035
* memdebug: use send/recv signature for curl_dosend/curl_dorecvMarcel Raad2017-10-302-14/+22
| | | | | | This avoids build errors and warnings caused by implicit casts. Closes https://github.com/curl/curl/pull/2031
* mkhelp.pl: support reproducible buildJuro Bystricky2017-10-301-2/+0
| | | | | | | | | | | | | Do not generate line with the current date, such as: * Generation time: Tue Oct-24 18:01:41 2017 This will improve reproducibility. The generated string is only part of a comment, so there should be no adverse consequences. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> closes #2026
* runtests.pl: Fixed typo in messageDan Fandrich2017-10-301-1/+1
|
* curlx: the timeval functions are no longer provided as curlx_*Daniel Stenberg2017-10-301-11/+1
| | | | | Pointed-out-by: Dmitri Tikhonov Bug: #2034
* select: update commentsDaniel Stenberg2017-10-301-2/+2
| | | | s/curlx_tvnow/Curl_now
* INTERNALS: remove curlx_tv* functions no longer providedDaniel Stenberg2017-10-301-14/+0
|
* timeval: use mach time on MacOSDmitri Tikhonov2017-10-304-0/+36
| | | | | | If clock_gettime() is not supported, use mach_absolute_time() on MacOS. closes #2033
* cli tool: improve ";type=" handling in -F option argumentsPatrick Monnerat2017-10-291-20/+16
|
* cli tool: in -F option arg, comma is a delimiter for files onlyPatrick Monnerat2017-10-293-20/+34
| | | | | | | | Also upgrade test 1133 to cover this case and clarify man page about form data quoting. Bug: https://github.com/curl/curl/issues/2022 Reported-By: omau on github
* timeleft: made two more users of Curl_timeleft use timediff_tDaniel Stenberg2017-10-292-2/+2
|
* cmake: Export libcurl and curl targets to use by other cmake projectsJakub Zakrzewski2017-10-285-4/+117
| | | | | | | | | The config files define curl and libcurl targets as imported targets CURL::curl and CURL::libcurl. For backward compatibility with CMake- provided find-module the CURL_INCLUDE_DIRS and CURL_LIBRARIES are also set. Closes #1879
* RELEASE-NOTES: synced with f20cbac97Daniel Stenberg2017-10-281-3/+30
|
* auth: Added test cases for RFC7616Florin2017-10-2815-3/+1098
| | | | | | | | Updated docs to include support for RFC7616 Signed-off-by: Florin <petriuc.florin@gmail.com> Closes #1934
* auth: add support for RFC7616 - HTTP Digest access authenticationFlorin2017-10-287-46/+455
| | | | Signed-off-by: Florin <petriuc.florin@gmail.com>
* TODO: support multiple Content-EncodingsDaniel Bankhead2017-10-282-26/+34
| | | | Closes #2002
* ROADMAP: cleanupDaniel Stenberg2017-10-281-83/+7
| | | | | Removed done stuff. Removed entries no longer considered for the near term.
* ROADMAP.md: spelling fixesMagicansk2017-10-281-15/+15
| | | | Closes #2028
* Curl_timeleft: change return type to timediff_tDaniel Stenberg2017-10-289-18/+19
| | | | | | | | 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
* appveyor: add a win32 buildDaniel Stenberg2017-10-271-1/+6
|
* setopt: fix CURLOPT_SSH_AUTH_TYPES option readDaniel Stenberg2017-10-271-1/+1
| | | | | | Regression since f121575c0b5f Reported-by: Rob Cotrone
* resolvers: only include anything if neededMarcel Raad2017-10-275-27/+28
| | | | | | This avoids warnings about unused stuff. Closes https://github.com/curl/curl/pull/2023