aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-15connect: happy eyeballs cleanupDaniel Stenberg
Make sure each separate index in connn->tempaddr[] is used for a fixed family (and only that family) during the connection process. If family one takes a long time and family two fails immediately, the previous logic could misbehave and retry the same family two address repeatedly. Reported-by: Paul Vixie Reported-by: Jay Satiro Fixes #5083 Fixes #4954 Closes #5089
2020-03-15ci/tests: fix and align setting TFLAGS for make test-nonflakyMarc Hoersken
2020-03-15ci/tests: install test suite dependencies stunnel and impacketMarc Hoersken
2020-03-15tests: remove python_dependencies for smbserver from our treeMarc Hoersken
Users of the SMB tests will have to install impacket manually. Reasoning: our in-tree version of impacket was quite outdated and only compatible with Python 2 which is already end-of-life. Upgrading to Python 3 and a compatible impacket version would require to import additional Python-only and CPython-extension dependencies. This would have hindered portability enormously. Closes #5094
2020-03-14Makefile.m32: Improve windres parameter compatibilityJay Satiro
- s/COFF/coff/ Some versions of windres do not recognize uppercase COFF as a valid way to specify the COFF output format. Reported-by: Steven Penny Fixes https://github.com/curl/curl/issues/5099 Closes https://github.com/curl/curl/pull/5101
2020-03-14easy: Fix curl_easy_duphandle for builds missing IPv6 that use c-aresJay Satiro
- Ignore CURLE_NOT_BUILT_IN errors returned by c-ares functions in curl_easy_duphandle. Prior to this change if c-ares was used as the resolver backend and either it was too old or libcurl was built without IPv6 support then some of our resolver functions could return CURLE_NOT_BUILT_IN to curl_easy_duphandle causing it to fail. Caused by c8f086b which shipped in 7.69.1. Reported-by: Karl Chen Fixes https://github.com/curl/curl/issues/5097 Closes https://github.com/curl/curl/pull/5100
2020-03-13docs: add warnings about FILE: URLs on WindowsDaniel Stenberg
- --url man page section - libcurl-security.3 gets the full text - CURLOPT_URL.3 Reported-by: Tim Sedlmeyer
2020-03-13server/getpart: make the "XML-parser" stricterDaniel Stenberg
When extracting a <section> <part> and there's no </part> before </section>, this now outputs an error and returns a wrong string to make users spot the mistake. Ref: #5070 Closes #5071
2020-03-13impacket: some more Python 3 code compatibility updatesMarc Hoersken
This makes smbserver load on Python 3, but still not work completely.
2020-03-13smbserver: pin Python version to 2 since we are not yet 3 compatibleMarc Hoersken
Even though the existing code can be fixed to run on Python 3, the tests will fail due to the Unicode transition the protocol is invalid. Follow up to ee63837 Closes #5085
2020-03-12cleanup: fix some text/comment typosViktor Szakats
Closes #5087
2020-03-12smbserver: fix Python version specific ConfigParser importMarc Hoersken
Follow up to ee63837 and 8c7c4a6 Fixes #5077
2020-03-11RELEASE-NOTES: syncedDaniel Stenberg
bumped to 7.69.2
2020-03-11tests/data: Fix some XML formatting issues in test casesDan Fandrich
This allows these test files to pass xmllint.
2020-03-11Makefile: run the cd commands in a subshellMuhammad Herdiansyah
In bmake, if the directory is changed (with cd or anything else), bmake won't return to the "root directory" on the next command (in the same Makefile rule). This commit runs the cd command in a subshell so it would work in bmake. Closes #5073
2020-03-11configure: convert -I to -isystem as a last stepDaniel Stenberg
As all the -I uses in CFLAGS at that point are for system headers and third party libraries this helps us remove/ignore warnings on those! Closes #5060
2020-03-11configure: fix -pedantic-errors for GCC 5 and laterDaniel Stenberg
If --enable-werror is used. Follow-up to d5c0351055d5709da which added it too early in the configure script before $compiler_num was set correctly and thus this option was never used. Reported-by: Stepan Efremov Fixes #5067 Closes #5068
2020-03-11configure: document 'compiler_num' for gccDaniel Stenberg
The CURL_CHECK_COMPILER_GNU_C function sets the number to MAJOR*100 + MINOR and ignores the patch version, and since gcc version 7 it only sets it to MAJOR*100. Reported-by: Stepan Efremov Ref: #5067 Closes #5069
2020-03-11RELEASE-NOTES: 7.69.1Daniel Stenberg
2020-03-11THANKS: from the 7.69.1 releaseDaniel Stenberg
2020-03-10test1129: fix invalid case of closing XML-tag and Content-LengthMarc Hoersken
Fixes #5070 Closes #5072
2020-03-10tests/data: fix static ip instead of dynamic value being usedMarc Hoersken
Follow up to 94ced8e
2020-03-10tests/data: fix static ip:port instead of dynamic values being usedMarc Hoersken
Closes #5065
2020-03-10tests/server: fix missing use of exe_ext helper functionMarc Hoersken
Follow up to 9819984 and 3dce984 Reviewed-By: Daniel Stenberg Closes #5064
2020-03-10runtests: log minimal and maximal used port numbersMarc Hoersken
2020-03-09sftp: fix segfault regression introduced by #4747Jim Fuller
This fix adds a defensive check for the case where the char *name in struct libssh2_knownhost is NULL Fixes #5041 Closes #5062
2020-03-08RELEASE-NOTES: syncedDaniel Stenberg
2020-03-08socks4: fix host resolve regressionDaniel Stenberg
1. The socks4 state machine was broken in the host resolving phase 2. The code now insists on IPv4-only when using SOCKS4 as the protocol only supports that. Regression from #4907 and 4a4b63d, shipped in 7.69.0 Reported-by: amishmm on github Bug: https://github.com/curl/curl/issues/5053#issuecomment-596191594 Closes #5061
2020-03-08silly web server: silent a compilation warningPatrick Monnerat
Recent gcc warns when byte count of strncpy() equals the destination buffer size. Since the destination buffer is previously cleared and the source string is always shorter, reducing the byte count by one silents the warning without affecting the result. Closes #5059
2020-03-08cookie: get_top_domain() sets zero length for null domainsPatrick Monnerat
This silents a compilation warning with gcc -O3.
2020-03-08test 1560: avoid valgrind false positivesPatrick Monnerat
When using maximum code optimization level (-O3), valgrind wrongly detects uses of uninitialized values in strcmp(). Preset buffers with all zeroes to avoid that.
2020-03-08sha256: Added WinCrypt implementationSteve Holme
Closed #5030
2020-03-08sha256: Added SecureTransport implementationSteve Holme
2020-03-07lib1564: reduce number of mid-wait wakeup callsDaniel Stenberg
This test does A LOT of *wakeup() calls and then calls curl_multi_poll() twice. The first *poll() is then expected to return early and the second not - as the first is supposed to drain the socketpair pipe. It turns out however that when given "excessive" amounts of writes to the pipe, some operating systems (the Solaris based are known) will return EAGAIN before the pipe is drained, which in our test case causes the second *poll() call to also abort early. This change attempts to avoid the OS-specific behaviors in the test by reducing the amount of wakeup calls from 1234567 to 10. Reported-by: Andy Fiddaman Fixes #5037 Closes #5058
2020-03-07mime: fix the binary encoder to handle large data properlyPatrick Monnerat
New test 666 checks this is effective. As upload buffer size is significant in this kind of tests, shorten it in similar test 652. Fixes #4860 Closes #4833 Reported-by: RuurdBeerstra on github
2020-03-07mime: do not perform more than one read in a rowPatrick Monnerat
Input buffer filling may delay the data sending if data reads are slow. To overcome this problem, file and callback data reads do not accumulate in buffer anymore. All other data (memory data and mime framing) are considered as fast and still concatenated in buffer. As this may highly impact performance in terms of data overhead, an early end of part data check is added to spare a read call. When encoding a part's data, an encoder may require more bytes than made available by a single read. In this case, the above rule does not apply and reads are performed until the encoder is able to deliver some data. Tests 643, 644, 645, 650 and 654 have been adapted to the output data changes, with test data size reduced to avoid the boredom of long lists of 1-byte chunks in verification data. New test 667 checks mimepost using single-byte read callback with encoder. New test 668 checks the end of part data early detection. Fixes #4826 Reported-by: MrdUkk on github
2020-03-07mime: latch last read callback status.Patrick Monnerat
In case a read callback returns a status (pause, abort, eof, error) instead of a byte count, drain the bytes read so far but remember this status for further processing. Takes care of not losing data when pausing, and properly resume a paused mime structure when requested. New tests 670-673 check unpausing cases, with easy or multi interface and mime or form api. Fixes #4813 Reported-by: MrdUkk on github
2020-03-07runtests: fix missing use of exe_ext helper functionMarc Hoersken
2020-03-07ares: store dns parameters for duphandleErnst Sjöstrand
With c-ares the dns parameters lives in ares_channel. Store them in the curl handle and set them again in easy_duphandle. Regression introduced in #3228 (6765e6d), shipped in curl 7.63.0. Fixes #4893 Closes #5020 Signed-off-by: Ernst Sjöstrand <ernst.sjostrand@verisure.com>
2020-03-07version: make curl_version* thread-safe without using global contextDaniel Stenberg
Closes #5010
2020-03-07RELEASE-NOTES: syncedDaniel Stenberg
2020-03-07tests: use native Sleep function as fallback on WindowsMarc Hoersken
Reviewed-By: Daniel Stenberg Closes #5054
2020-03-07perl: align order and completeness of Windows OS checksMarc Hoersken
2020-03-07tool_cb_see: set correct copyright year rangeDaniel Stenberg
Follow-up to a39e5bfb9
2020-03-07seek: fix fallback for missing ftruncate on WindowsMarc Hoersken
This fixes test 198 on versions of MinGW-w64 without ftruncate Reviewed-By: Daniel Stenberg Reviewed-By: Marcel Raad Closes #5055
2020-03-07config-win32: Windows does not have ftruncateMarc Hoersken
2020-03-07pause: force a connection (re-)check after unpausingDaniel Stenberg
There might be data available that was already read off the socket, for example in the TLS layer. Reported-by: Anders Berg Fixes #4966 Closes #5049
2020-03-07socks5: switch state properly when the resolve is doneDaniel Stenberg
Regression from 4a4b63d (and #4907) Reported-by: vitaha85 on github Fixes #5053 Closes #5056
2020-03-07libssh: Fix matching user-specified MD5 hex keyJay Satiro
Prior to this change a match would never be successful because it was mistakenly coded to compare binary data from libssh to a user-specified hex string (ie CURLOPT_SSH_HOST_PUBLIC_KEY_MD5). Reported-by: fds242@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4971 Closes https://github.com/curl/curl/pull/4974
2020-03-06pause: bail out on bad inputDaniel Stenberg
A NULL easy handle or an easy handle without an associated connection cannot be paused or unpaused. Closes #5050