aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-18tests: introduce preprocessed test casesDaniel Stenberg
The runtests script now always performs variable replacement on the entire test source file before the test gets executed, and saves the updated version in a temporary file (log/test[num]) so that all test case readers/servers can use that version (if present) and thus enjoy the powers of test case variable substitution. This is necessary to allow complete port number freedom. Test 309 is updated to work with a non-fixed port number thanks to this.
2020-04-18tests: make 2006-2010 handle different port number lengthsDaniel Stenberg
2020-04-18tests: run the sws server on "any port"Daniel Stenberg
Makes the test servers for HTTP and Gopher pop up on a currently unused port and runtests adapts to that! Closes #5247
2020-04-18sockfilt: tidy variable naming and data structure in select_wsMarc Hoersken
This commit does not introduce any logical changes to the code. Reviewed-by: Jay Satiro and Marcel Raad Closes #5238
2020-04-17libssh: Use new ECDSA key types to check known hostsAnderson Toshiyuki Sasaki
From libssh 0.9.0, ssh_key_type() returns different key types for ECDSA keys depending on the curve. Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com> Fixes #5252 Closes #5253
2020-04-17appveyor: add Unicode winbuild jobsMarcel Raad
These are cheap as they don't build tests. Closes https://github.com/curl/curl/pull/5063
2020-04-16mqttd: s/errno/SOCKERRNODaniel Stenberg
To behave proper on Windows Reported-by: Gisle Vanem Bug: https://github.com/curl/curl/commit/5e855bbd18f84a02c951be7cac6188276818cdac#r38507132 Closes #5241
2020-04-15buildconf: use find -execdir instead, remove -print and the ares filesDaniel Stenberg
Follow-up to 1e41bec96a6e Suggested-by: Marc Hörsken
2020-04-15buildconf: avoid using tempfile when removing filesAlexander V. Tikhonov
Closes #5213
2020-04-15copyright: bump the copyright year rangeDaniel Stenberg
2020-04-14scripts/release-notes.pl: accept colon after the Fixes/Closes keywordsDaniel Stenberg
2020-04-14docs/MQTT: replace confusing 80 by 75JP Mens
I was a bit surprised by the `80`: first thought: what's HTTP doing here? ;) Closes #5236
2020-04-14cmake: Avoid MSVC C4273 warnings in send/recv checksBrad King
We use `check_c_source_compiles` to check possible send/recv signatures by reproducing the forward declarations from system headers. On Windows the `winsock2.h` header adds dll linkage settings to its forward declaration. If ours does not match the compiler warns: warning C4273: 'recv': inconsistent dll linkage Add `WINSOCK_API_LINKAGE` to our test signatures when it is defined so that our linkage is consistent with that from `winsock2.h`. Fixes #4764 Closes #5232
2020-04-14KNOWN_BUGS: Add entry 'Blocking socket operations'Jay Satiro
- Add threaded resolver cleanup and GSSAPI for FTP to the TODO list of known blocking operations. - New known bugs entry 'Blocking socket operations in non-blocking API' that directs to the TODO's list of known blocking operations. Ref: https://github.com/curl/curl/pull/5214#issuecomment-612488021 Reported-by: Marc Hoersken Closes https://github.com/curl/curl/pull/5216
2020-04-14test2043: use revoked.badssl.com instead of revoked.grc.comMarc Hoersken
The certificate of revoked.grc.com has expired on 2020-04-13. Reviewed-by: Jay Satiro Closes #5233
2020-04-14sockfilt: fix broken pipe on Windows to be ready in select_wsMarc Hoersken
Closes #5228
2020-04-14RELEASE-NOTES: syncedDaniel Stenberg
2020-04-14scripts/release-notes: fix duplicate output headerDaniel Stenberg
2020-04-14github/workflow: enable MQTT in the macOS debug buildDaniel Stenberg
2020-04-14azure: add mqtt support to one of the Windows buildsDaniel Stenberg
2020-04-14travis: add mqtt job on LinuxDaniel Stenberg
2020-04-14tests: add four MQTT tests 1190 - 1193Daniel Stenberg
2020-04-14tests: add the mqtt test server mqttdDaniel Stenberg
2020-04-14tests: support hex encoded data and mqtt serverDaniel Stenberg
The mqtt server is started using a "random" port.
2020-04-14mqtt: add new experimental protocolBjorn Stenberg
Closes #5173
2020-04-14TODO: Consider convenience options for JSON and XML?Daniel Stenberg
Closes #5203
2020-04-14tool: do not declare functions with Curl_ prefixDaniel Stenberg
To avoid collision risks with private libcurl symbols when linked with static versions (or just versions not hiding internal symbols). Reported-by: hydra3333 on github Fixes #5219 Closes #5234
2020-04-13cmake: add aliases so exported target names are available in treeNathaniel R. Lewis
Reviewed-by: Brad King Closes #5206
2020-04-13version: increase buffer space for ssl version outputDaniel Stenberg
To avoid it getting truncated, especially when several SSL backends are built-in. Reported-by: Gisle Vanem Fixes #5222 Closes #5226
2020-04-13cirrus: no longer ignore test 504 which is working againMarc Hoersken
The test is working again, because TCP blackholing is disabled.
2020-04-13appveyor: completely disable tests that fail to timeout earlyMarc Hoersken
The tests changed from ignored to disabled are tests that are about connecting to non-listening socket. On AppVeyor these tests are not reliable, because for some unknown reason the connect is not timing out before the test time limit is reached.
2020-04-13test1908: avoid using fixed port number in test dataDaniel Stenberg
Closes #5225
2020-04-12schannel: Fix blocking timeout logicAndrew Kurushin
- Fix schannel_send for the case when no timeout was set. Prior to this change schannel would error if the socket was not ready to send data and no timeout was set. This commit is similar to parent commit 89dc6e0 which recently made the same change for SOCKS, for the same reason. Basically it was not well understood that when Curl_timeleft returns 0 it is not a timeout of 0 ms but actually means no timeout. Fixes https://github.com/curl/curl/issues/5177 Closes https://github.com/curl/curl/pull/5221
2020-04-12socks: Fix blocking timeout logicJay Satiro
- Document in Curl_timeleft's comment block that returning 0 signals no timeout (ie there's infinite time left). - Fix SOCKS' Curl_blockread_all for the case when no timeout was set. Prior to this change if the timeout had a value of 0 and that was passed to SOCKET_READABLE it would return right away instead of blocking. That was likely because it was not well understood that when Curl_timeleft returns 0 it is not a timeout of 0 ms but actually means no timeout. Ref: https://github.com/curl/curl/pull/5214#issuecomment-612512360 Closes https://github.com/curl/curl/pull/5220
2020-04-12gopher: check remaining time left during write busy loopMarc Hoersken
Prior to this change gopher's blocking code would block forever, ignoring any set timeout value. Assisted-by: Jay Satiro Reviewed-by: Daniel Stenberg Similar to #5220 and #5221 Closes #5214
2020-04-13gnutls: ensure TLS 1.3 when SRP isn't requestedDirkjan Bussink
When SRP is requested in the priority string, GnuTLS will disable support for TLS 1.3. Before this change, curl would always add +SRP to the priority list, effectively always disabling TLS 1.3 support. With this change, +SRP is only added to the priority list when SRP authentication is also requested. This also allows updating the error handling here to not have to retry without SRP. This is because SRP is only added when requested and in that case a retry is not needed. Closes #5223
2020-04-12tests/server: add hidden window to gracefully handle WM_CLOSEMarc Hoersken
Forward Window events as signals to existing signal event handler.
2020-04-12tests/server: add CTRL event handler for Win32 consolesMarc Hoersken
Forward CTRL events as signals to existing signal event handler.
2020-04-12tests/server: move all signal handling routines to util.[ch]Marc Hoersken
Avoid code duplication to prepare for portability enhancements.
2020-04-12compressed.d: stress that the headers are not modifiedDaniel Stenberg
Suggested-by: Michael Osipov Assisted-by: Jay Satiro Bug: https://github.com/curl/curl/issues/5182#issuecomment-611638008 Closes #5217
2020-04-11tests/server/util.c: use curl_off_t instead of long for pidMarc Hoersken
Avoid potential overflow of huge PIDs on Windows. Related to #5188 Assisted-by: Marcel Raad
2020-04-11tests: use Cygwin/msys PIDs for stunnel and sshd on WindowsMarc Hoersken
Since the Windows versions of both programs would write Windows PIDs to their pidfiles which we cannot handle, we need to use our known perl.exe Cygwin/msys PID together with exec() in order to tie the spawned processes to the existance of our perl.exe The perl.exe that is executing secureserver.pl and sshserver.pl has a Cygwin/msys PID, because it is started inside Cygwin/msys. Related to #5188
2020-04-11tests: add Windows compatible pidwait like pidkill and pidtermMarc Hoersken
Related to #5188
2020-04-11tests: fix conflict between Cygwin/msys and Windows PIDsMarc Hoersken
Add 65536 to Windows PIDs to allow Windows specific treatment by having disjunct ranges for Cygwin/msys and Windows PIDs. See also: - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵ h=b5e1003722cb14235c4f166be72c09acdffc62ea - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵ h=448cf5aa4b429d5a9cebf92a0da4ab4b5b6d23fe Replaces #5178 Closes #5188
2020-04-11RELEASE-NOTES: syncedDaniel Stenberg
2020-04-11release-notes.pl: detect the start of the references in cleanup modeDaniel Stenberg
2020-04-11Revert "file: on Windows, refuse paths that start with \\"Daniel Stenberg
This reverts commit 1b71bc532bde8621fd3260843f8197182a467ff2. Reminded-by: Chris Roberts Bug: https://curl.haxx.se/mail/archive-2020-04/0013.html Closes #5215
2020-04-11lib: fix conversion warnings for SOCKET_WRITABLE/READABLEJay Satiro
- If loss of data may occur converting a timediff_t to time_t and the time value is > TIME_T_MAX then treat it as TIME_T_MAX. This is a follow-up to 8843678 which removed the (time_t) typecast from the macros so that conversion warnings could be identified. Closes https://github.com/curl/curl/pull/5199
2020-04-11test1148: tolerate progress updates better (again)Jay Satiro
- Ignore intermediate progress updates. - Support locales that use a character other than period as decimal separator (eg 100,0%). test1148 checks that the progress finishes at 100% and has the right bar width. Prior to this change the test assumed that the only progress reported for such a quick transfer was 100%, however in rare instances (like in the CI where transfer time can slow considerably) there may be intermediate updates. For example, below is stderrlog1148 from a failed CI run with explicit \r and \n added (it is one line; broken up so that it's easier to understand). \r \r################################## 48.3% \r######################################################################## 100.0% \n Closes https://github.com/curl/curl/pull/5194
2020-04-10sshserver.pl: use cached Win32 environment check variableMarc Hoersken