summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* cmake: define HAVE_VARIADIC_MACROS_C99bagder/cmake-variadic-macrosDaniel Stenberg2019-01-101-1/+5
| | | | | | | | This should ideally *check* what variadic macros that actually work. This is mostlu to improve the current situation where no define at all is set for this. Fixes #3142
* 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
* curl/urlapi.h: include "curl.h" firstDaniel Stenberg2019-01-071-1/+3
| | | | | | | | | This allows programs to include curl/urlapi.h directly. Reviewed-by: Daniel Gustafsson Reported-by: Ben Kohler Fixes #3438 Closes #3441
* VS projects: fix build warningMarcel Raad2019-01-061-28/+0
| | | | | | | | | | | | Starting with Visual Studio 2017 Update 9, Visual Studio doesn't like the MinimalRebuild option anymore and warns: cl : Command line warning D9035: option 'Gm' has been deprecated and will be removed in a future release The option can be safely removed so that the default is used. Closes https://github.com/curl/curl/pull/3425
* schannel: fix compiler warningMarcel Raad2019-01-061-3/+3
| | | | | | | | | When building with Unicode on MSVC, the compiler warns about freeing a pointer to const in Curl_unicodefree. Fix this by declaring it as non-const and casting the argument to Curl_convert_UTF8_to_tchar to non-const too, like we do in all other places. Closes https://github.com/curl/curl/pull/3435
* printf: introduce CURL_FORMAT_TIMEDIFF_TRikard Falkeborn2019-01-043-12/+17
|
* printf: fix format specifiersRikard Falkeborn2019-01-047-20/+19
| | | | Closes #3426
* libtest/stub_gssapi: use "real" snprintfDaniel Stenberg2019-01-031-7/+6
| | | | | | | | | | | | | ... since it doesn't link with libcurl. Reverts the commit dcd6f81025 changes from this file. Bug: https://curl.haxx.se/mail/lib-2019-01/0000.html Reported-by: Shlomi Fish Reviewed-by: Daniel Gustafsson Reviewed-by: Kamil Dudka Closes #3434
* INTERNALS: correct some outdated function namesDaniel Stenberg2019-01-031-14/+10
| | | | Closes #3431
* docs/version.d: mention MultiSSLDaniel Stenberg2019-01-031-0/+2
| | | | | Reviewed-by: Daniel Gustafsson Closes #3432
* examples: Update .gitignoreRikard Falkeborn2019-01-021-0/+3
| | | | | | | | Add a few missing examples to make `make examples` not leave the workspace in a dirty state. Closes #3427 Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
* THANKS: add more missing namesDaniel Gustafsson2019-01-021-0/+1
| | | | | Add Adrian Burcea who made the artwork for the curl://up 2018 event which was held in Stockholm, Sweden.
* docs: mention potential leak in curl_slist_appendDaniel Gustafsson2019-01-021-2/+14
| | | | | | | | | | | | | When a non-empty list is appended to, and used as the returnvalue, the list pointer can leak in case of an allocation failure in the curl_slist_append() call. This is correctly handled in curl code usage but we weren't explicitly pointing it out in the API call documentation. Fix by extending the RETURNVALUE manpage section and example code. Closes #3424 Reported-by: dnivras on github Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* tvnow: silence conversion warningsMarcel Raad2019-01-012-2/+2
| | | | | | MinGW-w64 defaults to targeting Windows 7 now, so GetTickCount64 is used and the milliseconds are represented as unsigned long long, leading to a compiler warning when implicitly converting them to long.
* THANKS: dedupe more namesDaniel Stenberg2019-01-012-16/+17
| | | | Researched-by: Tae Wong
* ntlm: update selection of type 3 responseMarkus Moeller2019-01-0138-148/+150
| | | | | | | | | | | NTLM2 did not work i.e. no NTLMv2 response was created. Changing the check seems to work. Ref: https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-NLMP/[MS-NLMP].pdf Fixes https://github.com/curl/curl/issues/3286 Closes https://github.com/curl/curl/pull/3287 Closes https://github.com/curl/curl/pull/3415
* THANKS: added missing names from year <= 2000Daniel Stenberg2018-12-311-0/+59
| | | | | Due to a report of a missing name in THANKS I manually went through an old CHANGES.0 file and added many previously missing names here.
* urlapi: fix parsing ipv6 with zone indexDaniel Gustafsson2018-12-302-2/+13
| | | | | | | | | | | | | | The previous fix for parsing IPv6 URLs with a zone index was a paddle short for URLs without an explicit port. This patch fixes that case and adds a unit test case. This bug was highlighted by issue #3408, and while it's not the full fix for the problem there it is an isolated bug that should be fixed regardless. Closes #3411 Reported-by: GitYuanQu on github Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* THANKS: dedupe Guenter KnaufDaniel Stenberg2018-12-302-1/+1
| | | | Reported-by: Tae Wong
* THANKS: missing name from the 6.3.1 release!Daniel Stenberg2018-12-301-0/+1
|
* RELEASE-NOTES: syncedDaniel Gustafsson2018-12-271-4/+24
|
* hostip: support wildcard hostsClaes Jakobsson2018-12-275-1/+94
| | | | | | | | | | | | | | | | | This adds support for wildcard hosts in CURLOPT_RESOLVE. These are try-last so any non-wildcard entry is resolved first. If specified, any host not matched by another CURLOPT_RESOLVE config will use this as fallback. Example send a.com to 10.0.0.1 and everything else to 10.0.0.2: curl --resolve *:443:10.0.0.2 --resolve a.com:443:10.0.0.1 \ https://a.com https://b.com This is probably quite similar to using: --connect-to a.com:443:10.0.0.1:443 --connect-to :443:10.0.0.2:443 Closes #3406 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* url: fix incorrect indentationDaniel Gustafsson2018-12-271-1/+1
|
* os400: upgrade ILE/RPG binding.Patrick Monnerat2018-12-261-5/+18
| | | | | | - Trailer function support. - http 0.9 option. - curl_easy_upkeep.
* FAQ: remove mention of sourceforge for githubDaniel Gustafsson2018-12-251-5/+4
| | | | | | | | The project bug tracker is no longer hosted at sourceforge but is now hosted on the curl Github page. Update the FAQ to reflect. Closes #3410 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* openvms: fix typos in documentationDaniel Gustafsson2018-12-252-2/+2
|
* openvms: fix OpenSSL discovery on VAXDaniel Gustafsson2018-12-251-1/+1
| | | | | | | | The DCL code had a typo in one of the commands which would make the OpenSSL discovery on VAX fail. The correct syntax is F$ENVIRONMENT. Closes #3407 Reviewed-by: Viktor Szakats <commit@vszakats.net>
* cmake: use lowercase for function name like the rest of the codeRuslan Baratov2018-12-241-1/+1
| | | | | | Reviewed-by: Sergei Nikulov closes #3196
* Revert "libssh: no data pointer == nothing to do"Daniel Stenberg2018-12-231-10/+1
| | | | | This reverts commit c98ee5f67f497195c9 since commit f3ce38739fa fixed the problem in a more generic way.
* disconnect: set conn->data for protocol disconnectDaniel Stenberg2018-12-231-0/+3
| | | | | | | | Follow-up to fb445a1e18d: Set conn->data explicitly to point out the current transfer when invoking the protocol-specific disconnect function so that it can work correctly. Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12173
* timeval: Use high resolution timestamps on WindowsPavel P2018-12-231-17/+24
| | | | | | | | | | | | | | | - Use QueryPerformanceCounter on Windows Vista+ There is confusing info floating around that QueryPerformanceCounter can leap etc, which might have been true long time ago, but no longer the case nowadays (perhaps starting from WinXP?). Also, boost and std::chrono::steady_clock use QueryPerformanceCounter in a similar way. Prior to this change GetTickCount or GetTickCount64 was used, which has lower resolution. That is still the case for <= XP. Fixes https://github.com/curl/curl/issues/3309 Closes https://github.com/curl/curl/pull/3318
* libssh: no data pointer == nothing to dobagder/connection-easy-detachDaniel Stenberg2018-12-221-1/+10
|
* conncache_unlock: avoid indirection by changing input argument typeDaniel Stenberg2018-12-223-8/+8
|
* disconnect: separate connections and easy handles betterDaniel Stenberg2018-12-224-13/+13
| | | | | | | | | | | | Do not assume/store assocation between a given easy handle and the connection if it can be avoided. Long-term, the 'conn->data' pointer should probably be removed as it is a little too error-prone. Still used very widely though. Reported-by: masbug on github Fixes #3391 Closes #3400
* libssh: free sftp_canonicalize_path() data correctlyDaniel Stenberg2018-12-221-6/+10
| | | | | | | Assisted-by: Harry Sintonen Fixes #3402 Closes #3403
* RELEASE-NOTES: syncedDaniel Stenberg2018-12-211-6/+26
|
* http: added options for allowing HTTP/0.9 responsesDaniel Stenberg2018-12-2136-59/+396
| | | | | | | | | | | | Added CURLOPT_HTTP09_ALLOWED and --http0.9 for this purpose. For now, both the tool and library allow HTTP/0.9 by default. docs/DEPRECATE.md lays out the plan for when to reverse that default: 6 months after the 7.64.0 release. The options are added already now so that applications/scripts can start using them already now. Fixes #2873 Closes #3383
* if2ip: remove unused function Curl_if_is_interface_nameDaniel Stenberg2018-12-212-37/+1
| | | | Closes #3401
* http2: clear pause stream id if it gets closedDaniel Stenberg2018-12-201-0/+4
| | | | | | | Reported-by: Florian Pritz Fixes #3392 Closes #3399
* wolfssl: Perform cleanupDavid Garske2018-12-201-1/+7
| | | | | | | | | This adds a cleanup callback for cyassl. Resolves possible memory leak when using ECC fixed point cache. Closes #3395 Reviewed-by: Daniel Stenberg <daniel@haxx.se> Reviewed-by: Daniel Gustafsson <daniel@yesql.se>