]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
5 years agotests: Stop referring to server ports when they're not used 5314/head
Dan Fandrich [Thu, 30 Apr 2020 14:00:31 +0000 (16:00 +0200)] 
tests: Stop referring to server ports when they're not used

Several tests referred to specific server ports even when the test
didn't actually use that server or specify that it's needed. In such
cases, the test harness substitutes the text "[not running]" as the port
number which causes many such tests to fail due to the inability to
parse the URL.  These tests are changed to use %NOLISTENPORT which will
always be substituted correctly.

5 years agoGnuTLS: Backend support for CURLINFO_SSL_VERIFYRESULT
Emil Engler [Thu, 23 Apr 2020 19:36:35 +0000 (21:36 +0200)] 
GnuTLS: Backend support for CURLINFO_SSL_VERIFYRESULT

Closes #5287

5 years agoconncache: various concept cleanups
Daniel Stenberg [Sun, 26 Apr 2020 22:33:21 +0000 (00:33 +0200)] 
conncache: various concept cleanups

More connection cache accesses are protected by locks.

CONNCACHE_* is a beter prefix for the connection cache lock macros.

Curl_attach_connnection: now called as soon as there's a connection
struct available and before the connection is added to the connection
cache.

Curl_disconnect: now assumes that the connection is already removed from
the connection cache.

Ref: #4915
Closes #5009

5 years agotests: tests: run stunnel for HTTPS and FTPS on dynamic ports
Daniel Stenberg [Tue, 21 Apr 2020 07:57:22 +0000 (09:57 +0200)] 
tests: tests: run stunnel for HTTPS and FTPS on dynamic ports

As stunnel is an external tool and it has no specific option to export
the actually used port number when asked to listen to 0, runtests
instead iterates over ten randomly picked high number ports and sticks
to the first one stunnel can listen to.

Closes #5267

5 years agotests: pick a random port number for SSH
Daniel Stenberg [Mon, 20 Apr 2020 13:10:24 +0000 (15:10 +0200)] 
tests: pick a random port number for SSH

Since sshd doesn't have such an option by itself, we iterate over a
series of random ports until one works.

Closes #5273

5 years agolibtest/cmake: Remove commented code
Rikard Falkeborn [Tue, 28 Apr 2020 21:43:49 +0000 (23:43 +0200)] 
libtest/cmake: Remove commented code

These were commented out in e9dd0998706a when Makefile.inc was included
instead. 11 years have passed since then and the commented code is of
course very outdated. Remove it to avoid confusion.

Closes #5311

5 years agoschannel: source code reindent
Daniel Stenberg [Mon, 27 Apr 2020 15:09:27 +0000 (17:09 +0200)] 
schannel: source code reindent

White space edits only. Conform better to standard curl source code
indenting style.

Closes #5305

5 years agotest1177: look for curl.h in source directory
Kamil Dudka [Wed, 29 Apr 2020 11:27:20 +0000 (13:27 +0200)] 
test1177: look for curl.h in source directory

If we use a separate build directory, there is no copy of the header.

Closes #5310

5 years agotests: look for preprocessed tests in build directory
Kamil Dudka [Wed, 29 Apr 2020 11:26:14 +0000 (13:26 +0200)] 
tests: look for preprocessed tests in build directory

... which is not always the same directory as source directory

Closes #5310

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 29 Apr 2020 10:21:09 +0000 (12:21 +0200)] 
RELEASE-NOTES: synced

... and bumped curlver.h to 7.70.1

5 years agoRELEASE-NOTES: 7.70.0 curl-7_70_0
Daniel Stenberg [Wed, 29 Apr 2020 06:01:49 +0000 (08:01 +0200)] 
RELEASE-NOTES: 7.70.0

5 years agoTHANKS: synced with the 7.70.0 release
Daniel Stenberg [Wed, 29 Apr 2020 06:01:48 +0000 (08:01 +0200)] 
THANKS: synced with the 7.70.0 release

5 years agoheaders: copyright range fix
Daniel Stenberg [Tue, 28 Apr 2020 16:10:46 +0000 (18:10 +0200)] 
headers: copyright range fix

5 years agodoh: Constify some input pointers
Rikard Falkeborn [Mon, 27 Apr 2020 10:07:34 +0000 (12:07 +0200)] 
doh: Constify some input pointers

Closes #5306

5 years agonss: check for PK11_CreateDigestContext() returning NULL
Daniel Stenberg [Mon, 27 Apr 2020 10:21:17 +0000 (12:21 +0200)] 
nss: check for PK11_CreateDigestContext() returning NULL

... to avoid crashes!

Reported-by: Hao Wu
Fixes #5302
Closes #5303

5 years agotravis: bump the wolfssl CI build to use 4.4.0
Daniel Stenberg [Mon, 27 Apr 2020 06:38:52 +0000 (08:38 +0200)] 
travis: bump the wolfssl CI build to use 4.4.0

Closes #5301

5 years agocopyright updates: adjust year ranges
Daniel Stenberg [Sun, 26 Apr 2020 21:59:22 +0000 (23:59 +0200)] 
copyright updates: adjust year ranges

5 years agoCI: do not include */ci branches in PR builds
Marc Hoersken [Sun, 26 Apr 2020 17:24:11 +0000 (19:24 +0200)] 
CI: do not include */ci branches in PR builds

Align Azure Pipelines with GitHub Actions.

5 years agoruntests: check for the disabled tests relative srcdir
Daniel Stenberg [Sat, 25 Apr 2020 14:30:26 +0000 (16:30 +0200)] 
runtests: check for the disabled tests relative srcdir

To make it work correctly for out-of-tree builds.

Follow-up to 75e8feb6fb08b

Bug: https://github.com/curl/curl/pull/5288#issuecomment-619346389
Reported-by: Marcel Raad
Closes #5297

5 years agoruntests: revert commenting out a line I did for debugging
Daniel Stenberg [Sat, 25 Apr 2020 14:23:38 +0000 (16:23 +0200)] 
runtests: revert commenting out a line I did for debugging

Follow-up to 11091cd4d. It was not meant to be pushed!

5 years agosmtp: set auth correctly
Daniel Stenberg [Fri, 24 Apr 2020 22:22:21 +0000 (00:22 +0200)] 
smtp: set auth correctly

Regression since 7.69.0 and 68fb25fa3fcff.

The code wrongly assigned 'from' instead of 'auth' which probably was a
copy and paste mistake from other code, leading to that auth could
remain NULL and later cause an error to be returned.

Assisted-by: Eric Sauvageau
Fixes #5294
Closes #5295

5 years agolib: clean up whitespace
Marcel Raad [Sat, 25 Apr 2020 09:15:49 +0000 (11:15 +0200)] 
lib: clean up whitespace

This fixes CodeFactor warnings.

5 years agolibssh: avoid options override by configuration files
Anderson Toshiyuki Sasaki [Wed, 22 Apr 2020 12:36:31 +0000 (14:36 +0200)] 
libssh: avoid options override by configuration files

Previously, options set explicitly through command line options could be
overridden by the configuration files parsed automatically when
ssh_connect() was called.

By calling ssh_options_parse_config() explicitly, the configuration
files are parsed before setting the options, avoiding the options
override.  Once the configuration files are parsed, the automatic
configuration parsing is not executed.

Fixes #4972
Closes #5283
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
5 years agoruntests: when <killserver> mentions http, kill http/2 too
Daniel Stenberg [Fri, 24 Apr 2020 11:29:48 +0000 (13:29 +0200)] 
runtests: when <killserver> mentions http, kill http/2 too

Since the http2 test server is a mere proxy that needs to know about the
dynamic port the HTTP server is using, it too needs to get restarted
when the http server is killed.

A regression caused by 80d6515.

Fixes #5289
Closes #5291

5 years agodocs: fix two typos
Yuri Slobodyanyuk [Fri, 24 Apr 2020 14:23:22 +0000 (17:23 +0300)] 
docs: fix two typos

Closes #5292

5 years agotests/git: ignore mqttd and port files
Emil Engler [Fri, 24 Apr 2020 10:49:45 +0000 (12:49 +0200)] 
tests/git: ignore mqttd and port files

Closes #5290

5 years agotests: make runtests check that disabled tests exists
Daniel Stenberg [Fri, 24 Apr 2020 09:21:01 +0000 (11:21 +0200)] 
tests: make runtests check that disabled tests exists

... and error out if so. Removed '536' from DISABLED as there is no such
test file.

Closes #5288

5 years agotest1154: set a proper name
Daniel Stenberg [Fri, 24 Apr 2020 06:56:01 +0000 (08:56 +0200)] 
test1154: set a proper name

5 years agoselect: make Curl_socket_check take timediff_t timeout
Daniel Stenberg [Wed, 15 Apr 2020 08:27:20 +0000 (10:27 +0200)] 
select: make Curl_socket_check take timediff_t timeout

Coverity found CID 1461718:

Integer handling issues (CONSTANT_EXPRESSION_RESULT) "timeout_ms >
9223372036854775807L" is always false regardless of the values of its
operands. This occurs as the logical second operand of "||".

Closes #5240

5 years agolibcurl-multi.3: added missing full stop
i-ky [Thu, 23 Apr 2020 11:13:35 +0000 (14:13 +0300)] 
libcurl-multi.3: added missing full stop

Closes #5285

5 years agotransfer: Switch PUT to GET/HEAD on 303 redirect
Jay Satiro [Thu, 16 Apr 2020 18:15:34 +0000 (14:15 -0400)] 
transfer: Switch PUT to GET/HEAD on 303 redirect

Prior to this change if there was a 303 reply to a PUT request then
the subsequent request to respond to that redirect would also be a PUT.
It was determined that was most likely incorrect based on the language
of the RFCs. Basically 303 means "see other" resource, which implies it
is most likely not the same resource, therefore we should not try to PUT
to that different resource.

Refer to the discussions in #5237 and #5248 for more information.

Fixes https://github.com/curl/curl/issues/5237
Closes https://github.com/curl/curl/pull/5248

5 years agolib/mk-ca-bundle: skip empty certs
Daniel Stenberg [Wed, 22 Apr 2020 06:13:23 +0000 (08:13 +0200)] 
lib/mk-ca-bundle: skip empty certs

Reviewed-by: Emil Engler
Reported-by: Ashwin Metpalli
Fixes #5278
Closes #5280

5 years agoversion: skip idn2_check_version() check and add precaution
Daniel Stenberg [Wed, 22 Apr 2020 09:21:24 +0000 (11:21 +0200)] 
version: skip idn2_check_version() check and add precaution

A gcc-10's -fanalyze complaint made me spot and do these improvements.

Closes #5281

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 22 Apr 2020 06:22:30 +0000 (08:22 +0200)] 
RELEASE-NOTES: synced

5 years agocurl.h: update comment typo
Brian Bergeron [Wed, 22 Apr 2020 05:08:23 +0000 (22:08 -0700)] 
curl.h: update comment typo

"routines with be invoked" -> "routines will be invoked"

Closes #5279

5 years agoGnuTLS: Don't skip really long certificate fields
Emil Engler [Mon, 20 Apr 2020 10:11:54 +0000 (12:11 +0200)] 
GnuTLS: Don't skip really long certificate fields

Closes #5271

5 years agognutls: bump lowest supported version to 3.1.10
Daniel Stenberg [Mon, 20 Apr 2020 20:23:48 +0000 (22:23 +0200)] 
gnutls: bump lowest supported version to 3.1.10

GnuTLS 3.1.10 added new functions we want to use. That version was
released on Mar 22, 2013. Removing support for older versions also
greatly simplifies the code.

Ref: #5271
Closes #5276

5 years agomqtt: make NOSTATE get within the debug name array
Daniel Stenberg [Mon, 20 Apr 2020 21:27:04 +0000 (23:27 +0200)] 
mqtt: make NOSTATE get within the debug name array

5 years agotests: run the RTSP test server on a dynamic port number
Daniel Stenberg [Mon, 20 Apr 2020 12:53:50 +0000 (14:53 +0200)] 
tests: run the RTSP test server on a dynamic port number

To avoid port collisions.

Closes #5272

5 years agotests: add %NOLISTENPORT and use it
Daniel Stenberg [Mon, 20 Apr 2020 08:21:57 +0000 (10:21 +0200)] 
tests: add %NOLISTENPORT and use it

The purpose with this variable is to provide a port number that is
reasonably likely to not have a listener on the local host so that tests
can try connect failures against it. It uses port 47 - "reserved"
according to IANA.

Updated six tests to use it instead of the previous different ports.

Assisted-by: Emil Engler
Closes #5270

5 years agomqtt: remove code with no purpose
Daniel Stenberg [Mon, 20 Apr 2020 15:06:55 +0000 (17:06 +0200)] 
mqtt: remove code with no purpose

Detected by Coverity. CID 1462319.

"The same code is executed when the condition result is true or false,
because the code in the if-then branch and after the if statement is
identical."

Closes #5275

5 years agomqtt: fix Curl_read() error handling while reading remaining length
Daniel Stenberg [Mon, 20 Apr 2020 15:03:18 +0000 (17:03 +0200)] 
mqtt: fix Curl_read()  error handling while reading remaining length

Detected by Coverity. CID 1462320.

Closes #5274

5 years agoserver/tftpd: fix compiler warning
Daniel Stenberg [Mon, 20 Apr 2020 20:21:07 +0000 (22:21 +0200)] 
server/tftpd: fix compiler warning

Follow-up from 369ce38ac1d
Reported-by: Marc Hörsken
5 years agohttp: free memory when Alt-Used header creation fails due to OOM
Daniel Stenberg [Mon, 20 Apr 2020 07:02:47 +0000 (09:02 +0200)] 
http: free memory when Alt-Used header creation fails due to OOM

Reported-by: James Fuller
Fixes #5268
Closes #5269

5 years agolib: fix typos in comments and errormessages
Daniel Gustafsson [Mon, 20 Apr 2020 08:05:28 +0000 (10:05 +0200)] 
lib: fix typos in comments and errormessages

This fixes a few randomly spotted typos in recently merged code, most
notably one in a userfacing errormessage the schannel code.

5 years agotests: run the SOCKS test server on a dynamic port number
Daniel Stenberg [Sun, 19 Apr 2020 21:45:15 +0000 (23:45 +0200)] 
tests: run the SOCKS test server on a dynamic port number

Closes #5266

5 years agomulti-ssl: reset the SSL backend on `Curl_global_cleanup()`
Johannes Schindelin [Fri, 17 Apr 2020 21:04:14 +0000 (23:04 +0200)] 
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>
5 years agotests: run the TFTP test server on a dynamic port number
Daniel Stenberg [Sun, 19 Apr 2020 21:29:21 +0000 (23:29 +0200)] 
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

5 years agomqtt: improve the state machine
Daniel Stenberg [Thu, 16 Apr 2020 11:20:52 +0000 (13:20 +0200)] 
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

5 years agoruntests: always put test number in servercmd file
Daniel Stenberg [Thu, 16 Apr 2020 12:16:22 +0000 (14:16 +0200)] 
runtests: always put test number in servercmd file

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 20 Apr 2020 06:07:28 +0000 (08:07 +0200)] 
RELEASE-NOTES: synced

5 years agorelease-notes.pl: fix parsing typo
Daniel Stenberg [Mon, 20 Apr 2020 06:03:24 +0000 (08:03 +0200)] 
release-notes.pl: fix parsing typo

5 years agoensure all references to ports are replaced by vars
xquery [Sun, 19 Apr 2020 19:04:52 +0000 (21:04 +0200)] 
ensure all references to ports are replaced by vars

5 years agoadd more alt-svc test coverage
xquery [Sun, 19 Apr 2020 17:12:28 +0000 (19:12 +0200)] 
add more alt-svc test coverage

5 years agotest1247: use http server to get the port number set
Daniel Stenberg [Sun, 19 Apr 2020 22:53:08 +0000 (00:53 +0200)] 
test1247: use http server to get the port number set

Follow-up to 0f5db7b263f

5 years agoruntests: use a unix domain socket path with the pid in the name
Daniel Stenberg [Sun, 19 Apr 2020 18:48:48 +0000 (20:48 +0200)] 
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

5 years agosrc: Remove C99 constructs to ensure C89 compliance
Tom [Fri, 17 Apr 2020 14:53:40 +0000 (17:53 +0300)] 
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>
5 years agoruntests: dummy init the ports variables to avoid warnings
Daniel Stenberg [Sun, 19 Apr 2020 19:01:52 +0000 (21:01 +0200)] 
runtests: dummy init the ports variables to avoid warnings

... and generate something that can help debug test cases.

5 years agomime: properly check Content-Type even if it has parameters
Patrick Monnerat [Sat, 18 Apr 2020 14:50:20 +0000 (16:50 +0200)] 
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
5 years agotests/FILEFORMAT: converted to markdown and extended
Daniel Stenberg [Sun, 19 Apr 2020 16:10:41 +0000 (18:10 +0200)] 
tests/FILEFORMAT: converted to markdown and extended

Closes #5261

5 years agotest1245: make it work with dynamic FTP server port 5247/head
Daniel Stenberg [Sat, 18 Apr 2020 21:48:43 +0000 (23:48 +0200)] 
test1245: make it work with dynamic FTP server port

5 years agotest1055: make it work with dynamic FTP port
Daniel Stenberg [Sat, 18 Apr 2020 21:47:49 +0000 (23:47 +0200)] 
test1055: make it work with dynamic FTP port

5 years agotest1028: make it run on dynamic FTP server port
Daniel Stenberg [Sat, 18 Apr 2020 21:46:29 +0000 (23:46 +0200)] 
test1028: make it run on dynamic FTP server port

5 years agotests: move pingpong server to dynamic listening port
Daniel Stenberg [Sat, 18 Apr 2020 21:41:07 +0000 (23:41 +0200)] 
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...

5 years agotest1056: work with dynamic HTTP ipv6 port
Daniel Stenberg [Fri, 17 Apr 2020 09:42:49 +0000 (11:42 +0200)] 
test1056: work with dynamic HTTP ipv6 port

5 years agotest1448: work with dynamic HTTP server port
Daniel Stenberg [Fri, 17 Apr 2020 09:28:38 +0000 (11:28 +0200)] 
test1448: work with dynamic HTTP server port

5 years agotests: introduce preprocessed test cases
Daniel Stenberg [Fri, 17 Apr 2020 07:58:42 +0000 (09:58 +0200)] 
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.

5 years agotests: make 2006-2010 handle different port number lengths
Daniel Stenberg [Thu, 16 Apr 2020 22:00:45 +0000 (00:00 +0200)] 
tests: make 2006-2010 handle different port number lengths

5 years agotests: run the sws server on "any port"
Daniel Stenberg [Thu, 16 Apr 2020 15:52:24 +0000 (17:52 +0200)] 
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

5 years agosockfilt: tidy variable naming and data structure in select_ws
Marc Hoersken [Thu, 16 Apr 2020 20:28:44 +0000 (22:28 +0200)] 
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

5 years agolibssh: Use new ECDSA key types to check known hosts
Anderson Toshiyuki Sasaki [Thu, 16 Apr 2020 17:26:06 +0000 (19:26 +0200)] 
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

5 years agoappveyor: add Unicode winbuild jobs
Marcel Raad [Fri, 3 Jan 2020 00:59:58 +0000 (01:59 +0100)] 
appveyor: add Unicode winbuild jobs

These are cheap as they don't build tests.

Closes https://github.com/curl/curl/pull/5063

5 years agomqttd: s/errno/SOCKERRNO
Daniel Stenberg [Wed, 15 Apr 2020 13:48:38 +0000 (15:48 +0200)] 
mqttd: s/errno/SOCKERRNO

To behave proper on Windows
Reported-by: Gisle Vanem
Bug: https://github.com/curl/curl/commit/5e855bbd18f84a02c951be7cac6188276818cdac#r38507132
Closes #5241

5 years agobuildconf: use find -execdir instead, remove -print and the ares files
Daniel Stenberg [Wed, 15 Apr 2020 12:53:53 +0000 (14:53 +0200)] 
buildconf: use find -execdir instead, remove -print and the ares files

Follow-up to 1e41bec96a6e

Suggested-by: Marc Hörsken
5 years agobuildconf: avoid using tempfile when removing files
Alexander V. Tikhonov [Fri, 8 Nov 2019 12:08:04 +0000 (15:08 +0300)] 
buildconf: avoid using tempfile when removing files

Closes #5213

5 years agocopyright: bump the copyright year range
Daniel Stenberg [Wed, 15 Apr 2020 07:24:49 +0000 (09:24 +0200)] 
copyright: bump the copyright year range

5 years agoscripts/release-notes.pl: accept colon after the Fixes/Closes keywords
Daniel Stenberg [Tue, 14 Apr 2020 21:36:37 +0000 (23:36 +0200)] 
scripts/release-notes.pl: accept colon after the Fixes/Closes keywords

5 years agodocs/MQTT: replace confusing 80 by 75
JP Mens [Tue, 14 Apr 2020 17:07:08 +0000 (19:07 +0200)] 
docs/MQTT: replace confusing 80 by 75

I was a bit surprised by the `80`: first thought: what's HTTP doing
here? ;)

Closes #5236

5 years agocmake: Avoid MSVC C4273 warnings in send/recv checks
Brad King [Mon, 13 Apr 2020 13:20:36 +0000 (09:20 -0400)] 
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

5 years agoKNOWN_BUGS: Add entry 'Blocking socket operations'
Jay Satiro [Sat, 11 Apr 2020 20:05:18 +0000 (16:05 -0400)] 
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

5 years agotest2043: use revoked.badssl.com instead of revoked.grc.com
Marc Hoersken [Mon, 13 Apr 2020 18:38:14 +0000 (20:38 +0200)] 
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

5 years agosockfilt: fix broken pipe on Windows to be ready in select_ws
Marc Hoersken [Mon, 13 Apr 2020 17:18:15 +0000 (19:18 +0200)] 
sockfilt: fix broken pipe on Windows to be ready in select_ws

Closes #5228

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 14 Apr 2020 13:02:01 +0000 (15:02 +0200)] 
RELEASE-NOTES: synced

5 years agoscripts/release-notes: fix duplicate output header
Daniel Stenberg [Tue, 14 Apr 2020 12:57:46 +0000 (14:57 +0200)] 
scripts/release-notes: fix duplicate output header

5 years agogithub/workflow: enable MQTT in the macOS debug build
Daniel Stenberg [Tue, 14 Apr 2020 09:19:13 +0000 (11:19 +0200)] 
github/workflow: enable MQTT in the macOS debug build

5 years agoazure: add mqtt support to one of the Windows builds
Daniel Stenberg [Tue, 14 Apr 2020 09:19:13 +0000 (11:19 +0200)] 
azure: add mqtt support to one of the Windows builds

5 years agotravis: add mqtt job on Linux
Daniel Stenberg [Tue, 14 Apr 2020 09:19:12 +0000 (11:19 +0200)] 
travis: add mqtt job on Linux

5 years agotests: add four MQTT tests 1190 - 1193
Daniel Stenberg [Tue, 14 Apr 2020 09:19:12 +0000 (11:19 +0200)] 
tests: add four MQTT tests 1190 - 1193

5 years agotests: add the mqtt test server mqttd
Daniel Stenberg [Tue, 14 Apr 2020 09:19:12 +0000 (11:19 +0200)] 
tests: add the mqtt test server mqttd

5 years agotests: support hex encoded data and mqtt server
Daniel Stenberg [Tue, 14 Apr 2020 09:19:12 +0000 (11:19 +0200)] 
tests: support hex encoded data and mqtt server

The mqtt server is started using a "random" port.

5 years agomqtt: add new experimental protocol
Bjorn Stenberg [Tue, 14 Apr 2020 09:19:12 +0000 (11:19 +0200)] 
mqtt: add new experimental protocol

Closes #5173

5 years agoTODO: Consider convenience options for JSON and XML?
Daniel Stenberg [Tue, 14 Apr 2020 06:58:38 +0000 (08:58 +0200)] 
TODO: Consider convenience options for JSON and XML?

Closes #5203

5 years agotool: do not declare functions with Curl_ prefix
Daniel Stenberg [Mon, 13 Apr 2020 21:46:18 +0000 (23:46 +0200)] 
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

5 years agocmake: add aliases so exported target names are available in tree
Nathaniel R. Lewis [Thu, 9 Apr 2020 20:42:22 +0000 (13:42 -0700)] 
cmake: add aliases so exported target names are available in tree

Reviewed-by: Brad King
Closes #5206

5 years agoversion: increase buffer space for ssl version output
Daniel Stenberg [Sun, 12 Apr 2020 21:56:33 +0000 (23:56 +0200)] 
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

5 years agocirrus: no longer ignore test 504 which is working again
Marc Hoersken [Mon, 13 Apr 2020 18:27:00 +0000 (20:27 +0200)] 
cirrus: no longer ignore test 504 which is working again

The test is working again, because TCP blackholing is disabled.

5 years agoappveyor: completely disable tests that fail to timeout early
Marc Hoersken [Mon, 13 Apr 2020 17:35:30 +0000 (19:35 +0200)] 
appveyor: completely disable tests that fail to timeout early

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.

5 years agotest1908: avoid using fixed port number in test data
Daniel Stenberg [Sun, 12 Apr 2020 21:51:55 +0000 (23:51 +0200)] 
test1908: avoid using fixed port number in test data

Closes #5225

5 years agoschannel: Fix blocking timeout logic
Andrew Kurushin [Sun, 12 Apr 2020 10:07:51 +0000 (13:07 +0300)] 
schannel: Fix blocking timeout logic

- 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

5 years agosocks: Fix blocking timeout logic
Jay Satiro [Sun, 12 Apr 2020 03:19:55 +0000 (23:19 -0400)] 
socks: Fix blocking timeout logic

- 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