Commit Graph

25631 Commits

Author SHA1 Message Date
Johannes Schindelin
ff7a3107ed
multi-ssl: reset the SSL backend on Curl_global_cleanup()
When cURL is compiled with support for multiple SSL backends, it is
possible to configure an SSL backend via `curl_global_sslset()`, but
only *before* `curl_global_init()` was called.

If another SSL backend should be used after that, a user might be
tempted to call `curl_global_cleanup()` to start over. However, we did
not foresee that use case and forgot to reset the SSL backend in that
cleanup.

Let's allow that use case.

Fixes #5255
Closes #5257
Reported-by: davidedec on github
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2020-04-20 09:15:47 +02:00
Daniel Stenberg
369ce38ac1
tests: run the TFTP test server on a dynamic port number
Picking a dynamic unused port is better than a fixed to avoid the
collision risk.

Closes #5265
2020-04-20 09:13:20 +02:00
Daniel Stenberg
5811beba39
mqtt: improve the state machine
To handle PUBLISH before SUBACK and more.

Updated the existing tests and added three new ones.

Reported-by: Christoph Krey
Bug: https://curl.haxx.se/mail/lib-2020-04/0021.html
Closes #5246
2020-04-20 08:09:33 +02:00
Daniel Stenberg
d1a2816b41
runtests: always put test number in servercmd file 2020-04-20 08:09:33 +02:00
Daniel Stenberg
8dea78205e
RELEASE-NOTES: synced 2020-04-20 08:07:28 +02:00
Daniel Stenberg
3c77e280ce
release-notes.pl: fix parsing typo 2020-04-20 08:03:24 +02:00
xquery
4d925eee0e ensure all references to ports are replaced by vars 2020-04-20 06:16:54 +02:00
xquery
aa98c66e50 add more alt-svc test coverage 2020-04-20 06:16:54 +02:00
Daniel Stenberg
d2969c7aee
test1247: use http server to get the port number set
Follow-up to 0f5db7b263
2020-04-20 00:53:08 +02:00
Daniel Stenberg
ebb07f3c58
runtests: use a unix domain socket path with the pid in the name
To make it impossible for test cases to access the file name without
using the proper variable for the purpose.

Closes #5264
2020-04-19 23:33:03 +02:00
Tom
207a6cbb90 src: Remove C99 constructs to ensure C89 compliance
This fixes the error: 'for' loop initial declaration used outside C99
mode by declaring the loop increment variable in the beginning of the
block instead of inside the for loop.

Fixes #5254
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
2020-04-19 21:56:52 +02:00
Daniel Stenberg
0f5db7b263
runtests: dummy init the ports variables to avoid warnings
... and generate something that can help debug test cases.
2020-04-19 21:01:52 +02:00
Patrick Monnerat
d7471c1369
mime: properly check Content-Type even if it has parameters
New test 669 checks this fix is effective.

Fixes #5256
Closes #5258
Reported-by: thanhchungbtc on github
2020-04-19 20:52:48 +02:00
Daniel Stenberg
7e53974603
tests/FILEFORMAT: converted to markdown and extended
Closes #5261
2020-04-19 20:43:50 +02:00
Daniel Stenberg
003a7b5269
test1245: make it work with dynamic FTP server port 2020-04-18 23:57:57 +02:00
Daniel Stenberg
b1c7073a77
test1055: make it work with dynamic FTP port 2020-04-18 23:57:57 +02:00
Daniel Stenberg
85e727d434
test1028: make it run on dynamic FTP server port 2020-04-18 23:57:56 +02:00
Daniel Stenberg
7e359bccd2
tests: move pingpong server to dynamic listening port
FTP, IMAP, POP3, SMTP and their IPv6 versions are now all on dynamic
ports

Test 842-845 are unfortunately a bit hard to move over to this concept
right now and require "default port" still...
2020-04-18 23:57:22 +02:00
Daniel Stenberg
f99b007cd8
test1056: work with dynamic HTTP ipv6 port 2020-04-18 22:48:24 +02:00
Daniel Stenberg
721f24d6fc
test1448: work with dynamic HTTP server port 2020-04-18 22:48:24 +02:00
Daniel Stenberg
d009bc2e56
tests: introduce preprocessed test cases
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-18 22:46:04 +02:00
Daniel Stenberg
5e2f4a33fe
tests: make 2006-2010 handle different port number lengths 2020-04-18 22:45:40 +02:00
Daniel Stenberg
80d6515415
tests: run the sws server on "any port"
Makes the test servers for HTTP and Gopher pop up on a currently unused
port and runtests adapts to that!

Closes #5247
2020-04-18 22:45:28 +02:00
Marc Hoersken
e917492048
sockfilt: tidy variable naming and data structure in select_ws
This commit does not introduce any logical changes to the code.

Reviewed-by: Jay Satiro and Marcel Raad
Closes #5238
2020-04-18 20:46:54 +02:00
Anderson Toshiyuki Sasaki
14bf7eb6e5
libssh: Use new ECDSA key types to check known hosts
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-17 23:22:26 +02:00
Marcel Raad
9c703ead36
appveyor: add Unicode winbuild jobs
These are cheap as they don't build tests.

Closes https://github.com/curl/curl/pull/5063
2020-04-17 21:50:34 +02:00
Daniel Stenberg
de2126b182
mqttd: s/errno/SOCKERRNO
To behave proper on Windows
Reported-by: Gisle Vanem
Bug: 5e855bbd18 (r38507132)
Closes #5241
2020-04-16 16:41:21 +02:00
Daniel Stenberg
c712009838
buildconf: use find -execdir instead, remove -print and the ares files
Follow-up to 1e41bec96a

Suggested-by: Marc Hörsken
2020-04-15 14:54:42 +02:00
Alexander V. Tikhonov
1e41bec96a
buildconf: avoid using tempfile when removing files
Closes #5213
2020-04-15 12:53:53 +02:00
Daniel Stenberg
4cd239fbf6
copyright: bump the copyright year range 2020-04-15 09:24:49 +02:00
Daniel Stenberg
d1479716b5
scripts/release-notes.pl: accept colon after the Fixes/Closes keywords 2020-04-14 23:36:37 +02:00
JP Mens
19ec94d944
docs/MQTT: replace confusing 80 by 75
I was a bit surprised by the `80`: first thought: what's HTTP doing
here? ;)

Closes #5236
2020-04-14 23:08:43 +02:00
Brad King
89f1e639f6
cmake: Avoid MSVC C4273 warnings in send/recv checks
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-14 23:07:18 +02:00
Jay Satiro
42e18528f6 KNOWN_BUGS: Add entry 'Blocking socket operations'
- 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-14 14:46:13 -04:00
Marc Hoersken
a6f7b2f2a4
test2043: use revoked.badssl.com instead of revoked.grc.com
The certificate of revoked.grc.com has expired on 2020-04-13.

Reviewed-by: Jay Satiro

Closes #5233
2020-04-14 17:51:31 +02:00
Marc Hoersken
8a2038a3ad
sockfilt: fix broken pipe on Windows to be ready in select_ws
Closes #5228
2020-04-14 17:50:38 +02:00
Daniel Stenberg
7bade50b63
RELEASE-NOTES: synced 2020-04-14 15:02:01 +02:00
Daniel Stenberg
66212a3024
scripts/release-notes: fix duplicate output header 2020-04-14 14:57:46 +02:00
Daniel Stenberg
23a3ab9dd5
github/workflow: enable MQTT in the macOS debug build 2020-04-14 13:04:10 +02:00
Daniel Stenberg
f80dfd2256
azure: add mqtt support to one of the Windows builds 2020-04-14 13:04:10 +02:00
Daniel Stenberg
42ff0d9bd2
travis: add mqtt job on Linux 2020-04-14 13:04:10 +02:00
Daniel Stenberg
41f5b66a02
tests: add four MQTT tests 1190 - 1193 2020-04-14 13:04:10 +02:00
Daniel Stenberg
5e855bbd18
tests: add the mqtt test server mqttd 2020-04-14 13:04:10 +02:00
Daniel Stenberg
675f5fb66f
tests: support hex encoded data and mqtt server
The mqtt server is started using a "random" port.
2020-04-14 13:04:10 +02:00
Bjorn Stenberg
2522903b79
mqtt: add new experimental protocol
Closes #5173
2020-04-14 13:03:40 +02:00
Daniel Stenberg
8909865191
TODO: Consider convenience options for JSON and XML?
Closes #5203
2020-04-14 08:58:38 +02:00
Daniel Stenberg
878214df44
tool: do not declare functions with Curl_ prefix
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-14 08:12:27 +02:00
Nathaniel R. Lewis
7fa1578471
cmake: add aliases so exported target names are available in tree
Reviewed-by: Brad King
Closes #5206
2020-04-13 23:27:35 +02:00
Daniel Stenberg
f62bd9db90
version: increase buffer space for ssl version output
To avoid it getting truncated, especially when several SSL backends are
built-in.

Reported-by: Gisle Vanem
Fixes #5222
Closes #5226
2020-04-13 22:26:53 +02:00
Marc Hoersken
50842c1b32
cirrus: no longer ignore test 504 which is working again
The test is working again, because TCP blackholing is disabled.
2020-04-13 20:27:00 +02:00