summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* multi: set the EXPIRE_*TIMEOUT timers at TIMER_STARTSINGLE timebagder/move-expire-timeoutsDaniel Stenberg2019-01-272-6/+6
| | | | | | | | To make sure Curl_timeleft() also thinks the timeout has been reached when one of the EXPIRE_*TIMEOUTs expires. Bug: https://curl.haxx.se/mail/lib-2019-01/0073.html Reported-by: Zhao Yisha
* configure: rewrite --enable-code-coverageDaniel Stenberg2019-01-265-280/+46
| | | | | | | | | The previously used ax_code_coverage.m4 is not license compatible and must not be used. Reported-by: William A. Rowe Jr Fixes #3497 Closes #3499
* setopt: enable CURLOPT_SSH_KNOWNHOSTS and CURLOPT_SSH_KEYFUNCTION for libsshFelix Hädicke2019-01-241-2/+1
| | | | | | | | | CURLOPT_SSH_KNOWNHOSTS and CURLOPT_SSH_KEYFUNCTION are supported for libssh as well. So accepting these options only when compiling with libssh2 is wrong here. Fixes #3493 Closes #3494
* libssh: do not let libssh create socketFelix Hädicke2019-01-241-1/+5
| | | | | | | | | | | | | | | | By default, libssh creates a new socket, instead of using the socket created by curl for SSH connections. Pass the socket created by curl to libssh using ssh_options_set() with SSH_OPTIONS_FD directly after ssh_new(). So libssh uses our socket instead of creating a new one. This approach is very similar to what is done in the libssh2 code, where the socket created by curl is passed to libssh2 when libssh2_session_startup() is called. Fixes #3491 Closes #3495
* RELEASE-NOTES: syncedDaniel Stenberg2019-01-211-9/+18
|
* schannel: preserve original certificate path parameterArchangel_SDY2019-01-211-3/+10
| | | | | Fixes #3480 Closes #3487
* KNOWN_BUGS: tests not compatible with python3Daniel Stenberg2019-01-211-0/+7
| | | | | Closes #3289 [skip ci]
* memcmp: avoid doing single char memcmpDaniel Gustafsson2019-01-202-5/+5
| | | | | | | | | | There is no real gain in performing memcmp() comparisons on single characters, so change these to array subscript inspections which saves a call and makes the code clearer. Closes #3486 Reviewed-by: Daniel Stenberg <daniel@haxx.se> Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
* COPYING: it's 2019Daniel Stenberg2019-01-191-1/+1
| | | | [skip ci]
* configure: fix recv/send/select detection on Androidhhb2019-01-191-10/+1
| | | | | | | | | | | This reverts commit d4f25201fb7da03fc88f90d51101beb3d0026db9. The overloadable attribute is removed again starting from NDK17. Actually they only exist in two NDK versions (15 and 16). With overloadable, the first condition tried will succeed. Results in wrong detection result. Closes #3484
* ntlm_sspi: add support for channel bindinggeorgeok2019-01-193-8/+51
| | | | | | | | | Windows extended potection (aka ssl channel binding) is required to login to ntlm IIS endpoint, otherwise the server returns 401 responses. Fixes #3280 Closes #3321
* schannel: on connection close there might not be a transferDaniel Stenberg2019-01-181-3/+10
| | | | | | Reported-by: Marcel Raad Fixes #3412 Closes #3483
* ssh: log the libssh2 error message when ssh session startup failsJDepooter2019-01-171-1/+4
| | | | | | | | | | When a ssh session startup fails, it is useful to know why it has failed. This commit changes the message from: "Failure establishing ssh session" to something like this, for example: "Failure establishing ssh session: -5, Unable to exchange encryption keys" Closes #3481
* Fix typo in manpageAlessandro Ghedini2019-01-161-1/+1
|
* RELEASE-NOTES: syncedDaniel Stenberg2019-01-161-4/+34
|
* cmake: updated check for HAVE_POLL_FINE to match autotoolsSergei Nikulov2019-01-163-17/+37
|
* curl-compilers.m4: check for __ibmxl__ to detect xlclangDaniel Stenberg2019-01-161-2/+2
| | | | | | | | Follow-up to 2fa0d57e2e3. The __xlc__ symbol is only defined there if a particular flag is used for legacy macros. Fixes #3474 Closes #3479
* openssl: fix the SSL_get_tlsext_status_ocsp_resp callDaniel Stenberg2019-01-161-3/+4
| | | | | | | | | .... to not pass in a const in the second argument as that's not how it is supposed to be used and might cause compiler warnings. Reported-by: Pavel Pavlov Fixes #3477 Closes #3478
* curl-compilers.m4: detect xlclangDaniel Stenberg2019-01-151-2/+11
| | | | | | | | | Since it isn't totally clang compatible, we detect this IBM clang front-end and if detected, avoids some clang specific magic. Reported-by: Kees Dekker Fixes #3474 Closes #3476
* README: add codacy code quality badgeDaniel Stenberg2019-01-151-0/+1
| | | | [skip ci]
* extract_if_dead: follow-up to 54b201b48c90aDaniel Stenberg2019-01-151-2/+1
| | | | | | | | | | extract_if_dead() dead is called from two functions, and only one of them should get conn->data updated and now neither call path clears it. scan-build found a case where conn->data would be NULL dereferenced in ConnectionExists() otherwise. Closes #3473
* multi: remove "Dead assignment"Daniel Stenberg2019-01-151-2/+0
| | | | | | Found by scan-build. Follow-up to 4c35574bb785ce. Closes #3471
* tests: move objnames-* from lib into testsDaniel Stenberg2019-01-157-18/+18
| | | | | | | Since they're used purely for testing purposes, I think they should rather be stored there. Closes #3470
* travis: added cmake build for osxSergei Nikulov2019-01-151-4/+8
|
* cookie: fix comment typo (url_path_len -> uri_path_len)Frank Gevaerts2019-01-141-1/+1
| | | | Closes #3469
* winbuild: conditionally use /DZLIB_WINAPIMarcel Raad2019-01-141-1/+3
| | | | | | | | | | | zlibwapi.lib (dynamic library) and zlibstat.lib (static library) have the ZLIB_WINAPI define set by default. Using them requires that define too. Ref: https://zlib.net/DLL_FAQ.txt Fixes https://github.com/curl/curl/issues/3133 Closes https://github.com/curl/curl/pull/3460
* src/Makefile: make 'tidy' target work for metalink buildsDaniel Stenberg2019-01-141-2/+2
|
* extract_if_dead: use a known working transfer when checking connectionsDaniel Stenberg2019-01-131-2/+2
| | | | | | | | | | | | | Make sure that this function sets a proper "live" transfer for the connection before calling the protocol-specific connection check function, and then clear it again afterward as a non-used connection has no current transfer. Reported-by: Jeroen Ooms Reviewed-by: Marcel Raad Reviewed-by: Daniel Gustafsson Fixes #3463 Closes #3464
* openssl: adapt to 3.0.0, OpenSSL_version_num() is deprecatedDaniel Stenberg2019-01-132-4/+11
| | | | | | OpenSSL_version() replaces OpenSSL_version_num() Closes #3462
* cmake: added checks for HAVE_VARIADIC_MACROS_C99 and HAVE_VARIADIC_MACROS_GCCSergei Nikulov2019-01-112-2/+46
|
* urldata: rename easy_conn to just connDaniel Stenberg2019-01-1115-204/+199
| | | | | | | | | | | | | | | We use "conn" everywhere to be a pointer to the connection. Introduces two functions that "attaches" and "detaches" the connection to and from the transfer. Going forward, we should favour using "data->conn" (since a transfer always only has a single connection or none at all) to "conn->data" (since a connection can have none, one or many transfers associated with it and updating conn->data to be correct is error prone and a frequent reason for internal issues). Closes #3442
* tool_cb_prg: avoid integer overflowDaniel Stenberg2019-01-111-3/+16
| | | | | | | | When calculating the progress bar width. Reported-by: Peng Li Fixes #3456 Closes #3458
* travis: turn off copyright year checks in checksrcDaniel Gustafsson2019-01-111-3/+0
| | | | | | | | | | | Invoking the maintainer intended COPYRIGHTYEAR check for everyone in the PR pipeline is too invasive, especially at the turn of the year when many files get affected. Remove and leave it as a tool for maintainers to verify patches before commits. This reverts f7bdf4b2e1d81b2652b81b9b3029927589273b41. After discussion with: Daniel Stenberg
* KNOWN_BUGS: cmake makes unusable tool_hugehelp.c with MinGWDaniel Stenberg2019-01-101-0/+9
| | | | Closes #3125
* KNOWN_BUGS: Improve --data-urlencode space encodingDaniel Stenberg2019-01-101-0/+8
| | | | Closes #3229
* os400: add a missing closing bracketPatrick Monnerat2019-01-101-0/+1
| | | | | | See https://github.com/curl/curl/issues/3453#issuecomment-453054458 Reported-by: jonrumsey on github
* os400: fix extra parameter syntax error.Patrick Monnerat2019-01-101-2/+2
| | | | | Reported-by: jonrumsey on github Closes #3453
* test1558: verify CURLINFO_PROTOCOL on file:// transferDaniel Stenberg2019-01-104-2/+120
| | | | | | Attempt to reproduce issue #3444. Closes #3447
* RELEASE-NOTES: syncedDaniel Stenberg2019-01-101-19/+33
|
* xattr: strip credentials from any URL that is storedDaniel Stenberg2019-01-105-10/+177
| | | | | | | | | Both user and password are cleared uncondtitionally. Added unit test 1621 to verify. Fixes #3423 Closes #3433
* cookies: allow secure override when done over HTTPSDaniel Stenberg2019-01-103-3/+75
| | | | | | | | Added test 1562 to verify. Reported-by: Jeroen Ooms Fixes #3445 Closes #3450
* multi: multiplexing improvementsDaniel Stenberg2019-01-102-104/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #3436 Closes #3448 Problem 1 After LOTS of scratching my head, I eventually realized that even when doing 10 uploads in parallel, sometimes the socket callback to the application that tells it what to wait for on the socket, looked like it would reflect the status of just the single transfer that just changed state. Digging into the code revealed that this was indeed the truth. When multiple transfers are using the same connection, the application did not correctly get the *combined* flags for all transfers which then could make it switch to READ (only) when in fact most transfers wanted to get told when the socket was WRITEABLE. Problem 1b A separate but related regression had also been introduced by me when I cleared connection/transfer association better a while ago, as now the logic couldn't find the connection and see if that was marked as used by more transfers and then it would also prematurely remove the socket from the socket hash table even in times other transfers were still using it! Fix 1 Make sure that each socket stored in the socket hash has a "combined" action field of what to ask the application to wait for, that is potentially the ORed action of multiple parallel transfers. And remove that socket hash entry only if there are no transfers left using it. Problem 2 The socket hash entry stored an association to a single transfer using that socket - and when curl_multi_socket_action() was called to tell libcurl about activities on that specific socket only that transfer was "handled". This was WRONG, as a single socket/connection can be used by numerous parallel transfers and not necessarily a single one. Fix 2 We now store a list of handles in the socket hashtable entry and when libcurl is told there's traffic for a particular socket, it now iterates over all known transfers using that single socket.
* test1561: improve test nameDaniel Stenberg2019-01-091-1/+1
| | | | [skip ci]
* cookies: skip custom cookies when redirecting cross-siteKatsuhiko YOSHIDA2019-01-094-2/+97
| | | | Closes #3417
* THANKS: fixups and a dedupeDaniel Stenberg2019-01-093-6/+6
| | | | [skip ci]
* timediff: fix math for unsigned time_tDaniel Stenberg2019-01-091-3/+3
| | | | | | Bug: https://curl.haxx.se/mail/lib-2018-12/0088.html Closes #3449
* tests: allow tests to pass by 2037-02-12Bernhard M. Wiedemann2019-01-088-23/+23
| | | | | | similar to commit f508d29f3902104018 Closes #3443
* RELEASE-NOTES: syncedDaniel Stenberg2019-01-071-6/+27
|
* curl_multi_remove_handle() don't block terminating c-ares requestsBrad Spencer2019-01-078-21/+225
| | | | | | | | | Added Curl_resolver_kill() for all three resolver modes, which only blocks when necessary, along with test 1592 to confirm curl_multi_remove_handle() doesn't block unless it must. Closes #3428 Fixes #3371
* Revert "http_negotiate: do not close connection until negotiation is completed"Daniel Stenberg2019-01-072-10/+3
| | | | | | | | | This reverts commit 07ebaf837843124ee670e5b8c218b80b92e06e47. This also reopens PR #3275 which brought the change now reverted. Fixes #3384 Closes #3439