aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2019-01-07curl_multi_remove_handle() don't block terminating c-ares requestsBrad Spencer
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
2019-01-07Revert "http_negotiate: do not close connection until negotiation is completed"Daniel Stenberg
This reverts commit 07ebaf837843124ee670e5b8c218b80b92e06e47. This also reopens PR #3275 which brought the change now reverted. Fixes #3384 Closes #3439
2019-01-07curl/urlapi.h: include "curl.h" firstDaniel Stenberg
This allows programs to include curl/urlapi.h directly. Reviewed-by: Daniel Gustafsson Reported-by: Ben Kohler Fixes #3438 Closes #3441
2019-01-06VS projects: fix build warningMarcel Raad
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
2019-01-06schannel: fix compiler warningMarcel Raad
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
2019-01-04printf: introduce CURL_FORMAT_TIMEDIFF_TRikard Falkeborn
2019-01-04printf: fix format specifiersRikard Falkeborn
Closes #3426
2019-01-03libtest/stub_gssapi: use "real" snprintfDaniel Stenberg
... 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
2019-01-03INTERNALS: correct some outdated function namesDaniel Stenberg
Closes #3431
2019-01-03docs/version.d: mention MultiSSLDaniel Stenberg
Reviewed-by: Daniel Gustafsson Closes #3432
2019-01-02examples: Update .gitignoreRikard Falkeborn
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>
2019-01-02THANKS: add more missing namesDaniel Gustafsson
Add Adrian Burcea who made the artwork for the curl://up 2018 event which was held in Stockholm, Sweden.
2019-01-02docs: mention potential leak in curl_slist_appendDaniel Gustafsson
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>
2019-01-01tvnow: silence conversion warningsMarcel Raad
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.
2019-01-01THANKS: dedupe more namesDaniel Stenberg
Researched-by: Tae Wong
2019-01-01ntlm: update selection of type 3 responseMarkus Moeller
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
2018-12-31THANKS: added missing names from year <= 2000Daniel Stenberg
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.
2018-12-30urlapi: fix parsing ipv6 with zone indexDaniel Gustafsson
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>
2018-12-30THANKS: dedupe Guenter KnaufDaniel Stenberg
Reported-by: Tae Wong
2018-12-30THANKS: missing name from the 6.3.1 release!Daniel Stenberg
2018-12-27RELEASE-NOTES: syncedDaniel Gustafsson
2018-12-27hostip: support wildcard hostsClaes Jakobsson
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>
2018-12-27url: fix incorrect indentationDaniel Gustafsson
2018-12-26os400: upgrade ILE/RPG binding.Patrick Monnerat
- Trailer function support. - http 0.9 option. - curl_easy_upkeep.
2018-12-25FAQ: remove mention of sourceforge for githubDaniel Gustafsson
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>
2018-12-25openvms: fix typos in documentationDaniel Gustafsson
2018-12-25openvms: fix OpenSSL discovery on VAXDaniel Gustafsson
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>
2018-12-24cmake: use lowercase for function name like the rest of the codeRuslan Baratov
Reviewed-by: Sergei Nikulov closes #3196
2018-12-23Revert "libssh: no data pointer == nothing to do"Daniel Stenberg
This reverts commit c98ee5f67f497195c9 since commit f3ce38739fa fixed the problem in a more generic way.
2018-12-23disconnect: set conn->data for protocol disconnectDaniel Stenberg
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
2018-12-23timeval: Use high resolution timestamps on WindowsPavel P
- 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
2018-12-22libssh: no data pointer == nothing to doDaniel Stenberg
2018-12-22conncache_unlock: avoid indirection by changing input argument typeDaniel Stenberg
2018-12-22disconnect: separate connections and easy handles betterDaniel Stenberg
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
2018-12-22libssh: free sftp_canonicalize_path() data correctlyDaniel Stenberg
Assisted-by: Harry Sintonen Fixes #3402 Closes #3403
2018-12-21RELEASE-NOTES: syncedDaniel Stenberg
2018-12-21http: added options for allowing HTTP/0.9 responsesDaniel Stenberg
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
2018-12-21if2ip: remove unused function Curl_if_is_interface_nameDaniel Stenberg
Closes #3401
2018-12-20http2: clear pause stream id if it gets closedDaniel Stenberg
Reported-by: Florian Pritz Fixes #3392 Closes #3399
2018-12-20wolfssl: Perform cleanupDavid Garske
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>
2018-12-20mbedtls: follow-up VERIFYHOST fix from f097669248Daniel Stenberg
Fix-by: Eric Rosenquist Fixes #3376 Closes #3390
2018-12-20curlver: bump to 7.64.0 for next releaseDaniel Stenberg