aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-28sigpipe: if mbedTLS is used, ignore SIGPIPEJeremie Rapin
mbedTLS doesn't have a sigpipe management. If a write/read occurs when the remote closes the socket, the signal is raised and kills the application. Use the curl mecanisms fix this behavior. Signed-off-by: Jeremie Rapin <j.rapin@overkiz.com> Closes #3502
2019-01-28unit1653: make it survive torture testsDaniel Stenberg
2019-01-28timeval: Disable MSVC Analyzer GetTickCount warningMichael Kujawa
Compiling with msvc /analyze and a recent Windows SDK warns against using GetTickCount (Suggests to use GetTickCount64 instead.) Since GetTickCount is only being used when GetTickCount64 isn't available, I am disabling that warning. Fixes https://github.com/curl/curl/issues/3437 Closes https://github.com/curl/curl/pull/3440
2019-01-26configure: rewrite --enable-code-coverageDaniel Stenberg
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
2019-01-24setopt: enable CURLOPT_SSH_KNOWNHOSTS and CURLOPT_SSH_KEYFUNCTION for libsshFelix Hädicke
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
2019-01-24libssh: do not let libssh create socketFelix Hädicke
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
2019-01-21RELEASE-NOTES: syncedDaniel Stenberg
2019-01-21schannel: preserve original certificate path parameterArchangel_SDY
Fixes #3480 Closes #3487
2019-01-21KNOWN_BUGS: tests not compatible with python3Daniel Stenberg
Closes #3289 [skip ci]
2019-01-20memcmp: avoid doing single char memcmpDaniel Gustafsson
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>
2019-01-19COPYING: it's 2019Daniel Stenberg
[skip ci]
2019-01-19configure: fix recv/send/select detection on Androidhhb
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
2019-01-19ntlm_sspi: add support for channel bindinggeorgeok
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
2019-01-18schannel: on connection close there might not be a transferDaniel Stenberg
Reported-by: Marcel Raad Fixes #3412 Closes #3483
2019-01-17ssh: log the libssh2 error message when ssh session startup failsJDepooter
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
2019-01-16Fix typo in manpageAlessandro Ghedini
2019-01-16RELEASE-NOTES: syncedDaniel Stenberg
2019-01-16cmake: updated check for HAVE_POLL_FINE to match autotoolsSergei Nikulov
2019-01-16curl-compilers.m4: check for __ibmxl__ to detect xlclangDaniel Stenberg
Follow-up to 2fa0d57e2e3. The __xlc__ symbol is only defined there if a particular flag is used for legacy macros. Fixes #3474 Closes #3479
2019-01-16openssl: fix the SSL_get_tlsext_status_ocsp_resp callDaniel Stenberg
.... 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
2019-01-15curl-compilers.m4: detect xlclangDaniel Stenberg
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
2019-01-15README: add codacy code quality badgeDaniel Stenberg
[skip ci]
2019-01-15extract_if_dead: follow-up to 54b201b48c90aDaniel Stenberg
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
2019-01-15multi: remove "Dead assignment"Daniel Stenberg
Found by scan-build. Follow-up to 4c35574bb785ce. Closes #3471
2019-01-15tests: move objnames-* from lib into testsDaniel Stenberg
Since they're used purely for testing purposes, I think they should rather be stored there. Closes #3470
2019-01-15travis: added cmake build for osxSergei Nikulov
2019-01-14cookie: fix comment typo (url_path_len -> uri_path_len)Frank Gevaerts
Closes #3469
2019-01-14winbuild: conditionally use /DZLIB_WINAPIMarcel Raad
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
2019-01-14src/Makefile: make 'tidy' target work for metalink buildsDaniel Stenberg
2019-01-13extract_if_dead: use a known working transfer when checking connectionsDaniel Stenberg
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
2019-01-13openssl: adapt to 3.0.0, OpenSSL_version_num() is deprecatedDaniel Stenberg
OpenSSL_version() replaces OpenSSL_version_num() Closes #3462
2019-01-11cmake: added checks for HAVE_VARIADIC_MACROS_C99 and HAVE_VARIADIC_MACROS_GCCSergei Nikulov
2019-01-11urldata: rename easy_conn to just connDaniel Stenberg
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
2019-01-11tool_cb_prg: avoid integer overflowDaniel Stenberg
When calculating the progress bar width. Reported-by: Peng Li Fixes #3456 Closes #3458
2019-01-11travis: turn off copyright year checks in checksrcDaniel Gustafsson
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
2019-01-10KNOWN_BUGS: cmake makes unusable tool_hugehelp.c with MinGWDaniel Stenberg
Closes #3125
2019-01-10KNOWN_BUGS: Improve --data-urlencode space encodingDaniel Stenberg
Closes #3229
2019-01-10os400: add a missing closing bracketPatrick Monnerat
See https://github.com/curl/curl/issues/3453#issuecomment-453054458 Reported-by: jonrumsey on github
2019-01-10os400: fix extra parameter syntax error.Patrick Monnerat
Reported-by: jonrumsey on github Closes #3453
2019-01-10test1558: verify CURLINFO_PROTOCOL on file:// transferDaniel Stenberg
Attempt to reproduce issue #3444. Closes #3447
2019-01-10RELEASE-NOTES: syncedDaniel Stenberg
2019-01-10xattr: strip credentials from any URL that is storedDaniel Stenberg
Both user and password are cleared uncondtitionally. Added unit test 1621 to verify. Fixes #3423 Closes #3433
2019-01-10cookies: allow secure override when done over HTTPSDaniel Stenberg
Added test 1562 to verify. Reported-by: Jeroen Ooms Fixes #3445 Closes #3450
2019-01-10multi: multiplexing improvementsDaniel Stenberg
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.
2019-01-09test1561: improve test nameDaniel Stenberg
[skip ci]
2019-01-09cookies: skip custom cookies when redirecting cross-siteKatsuhiko YOSHIDA
Closes #3417
2019-01-09THANKS: fixups and a dedupeDaniel Stenberg
[skip ci]
2019-01-09timediff: fix math for unsigned time_tDaniel Stenberg
Bug: https://curl.haxx.se/mail/lib-2018-12/0088.html Closes #3449
2019-01-08tests: allow tests to pass by 2037-02-12Bernhard M. Wiedemann
similar to commit f508d29f3902104018 Closes #3443
2019-01-07RELEASE-NOTES: syncedDaniel Stenberg