]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
3 years agolib: remove support for CURL_DOES_CONVERSIONS
Daniel Stenberg [Thu, 3 Feb 2022 12:04:30 +0000 (13:04 +0100)] 
lib: remove support for CURL_DOES_CONVERSIONS

TPF was the only user and support for that was dropped.

Closes #8378

3 years agoTPF: drop support
Daniel Stenberg [Thu, 3 Feb 2022 09:42:02 +0000 (10:42 +0100)] 
TPF: drop support

There has been no TPF related changes done since September 2010 (commit
7e1a45e224e57) and since this is a platform that is relatively different
than many others (== needs attention), I draw the conclusion that this
build is broken since a long time.

Closes #8378

3 years agoscripts/delta: check the file delta for current branch
Daniel Stenberg [Thu, 3 Feb 2022 22:42:02 +0000 (23:42 +0100)] 
scripts/delta: check the file delta for current branch

... also polish the output style a little bit

3 years agoruntests.pl: tolerate test directories without Makefile.inc
Fabian Keil [Tue, 1 Feb 2022 10:46:53 +0000 (11:46 +0100)] 
runtests.pl: tolerate test directories without Makefile.inc

Silences the following warnings when using a Makefile.inc-free
TESTDIR using the "-o" argument:

   readline() on closed filehandle D at ./runtests.pl line 592.
   Use of uninitialized value $disttests in pattern match (m//) at
   ./runtests.pl line 3602.

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

3 years agosetopt: do bounds-check before strdup
HenrikHolst [Thu, 3 Feb 2022 00:03:42 +0000 (01:03 +0100)] 
setopt: do bounds-check before strdup

Curl_setstropt() allocated memory for the string before checking if the
string was within bounds. The bounds check should be done first.

Closes #8377

3 years agombedtls: enable use of mbedtls without filesystem functions support
MAntoniak [Fri, 28 Jan 2022 13:58:04 +0000 (14:58 +0100)] 
mbedtls: enable use of mbedtls without filesystem functions support

Closes #8376

3 years agoconfigure: support specification of a nghttp2 library path
Bernhard Walle [Fri, 28 Jan 2022 15:31:18 +0000 (16:31 +0100)] 
configure: support specification of a nghttp2 library path

This enables using --with-nghttp2=<dir> on systems without pkg-config.

Closes #8375

3 years agoscripts/release-notes.pl: remove leftover debug output
Daniel Stenberg [Wed, 2 Feb 2022 13:20:23 +0000 (14:20 +0100)] 
scripts/release-notes.pl: remove leftover debug output

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 2 Feb 2022 13:18:29 +0000 (14:18 +0100)] 
RELEASE-NOTES: synced

3 years agoscripts/release-notes.pl: fix number extraction for full URLs
Daniel Stenberg [Wed, 2 Feb 2022 13:14:44 +0000 (14:14 +0100)] 
scripts/release-notes.pl: fix number extraction for full URLs

3 years agoscripts/completion.pl: improve zsh completion
Leah Neukirchen [Mon, 31 Jan 2022 17:28:01 +0000 (18:28 +0100)] 
scripts/completion.pl: improve zsh completion

- Detect all spellings of <file>, <file name> etc as well as <path>.
- Only complete directories for <dir>.
- Complete URLs for <URL>.
- Complete --request and --ftp-method.

Closes #8363

3 years agoconfigure: use correct CFLAGS for threaded resolver with xlC on AIX
Davide Cassioli [Mon, 24 Jan 2022 13:24:45 +0000 (14:24 +0100)] 
configure: use correct CFLAGS for threaded resolver with xlC on AIX

Fixes #8276
Closes #8374

3 years agomailmap: Henrik Holst
Daniel Stenberg [Wed, 2 Feb 2022 12:03:38 +0000 (13:03 +0100)] 
mailmap: Henrik Holst

3 years agobuild: fix ngtcp2 crypto library detection
Jay Satiro [Tue, 1 Feb 2022 22:44:26 +0000 (17:44 -0500)] 
build: fix ngtcp2 crypto library detection

- Change library link check for ngtcp2_crypto_{gnutls,openssl} to
  to use function ngtcp2_crypto_recv_client_initial_cb instead of
  ngtcp2_crypto_ctx_initial.

The latter function is no longer external since two days ago in
ngtcp2/ngtcp2@533451f. curl HTTP/3 CI builds have been failing since
then because they would not link to the ngtcp2 crypto library.

Ref: https://github.com/ngtcp2/ngtcp2/pull/356

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

3 years agourlapi: remove an unnecessary call to strlen
HenrikHolst [Tue, 1 Feb 2022 12:50:21 +0000 (13:50 +0100)] 
urlapi: remove an unnecessary call to strlen

- Use strcpy instead of strlen+memcpy to copy the url path.

Ref: https://curl.se/mail/lib-2022-02/0006.html

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

3 years agoscripts/copyright.pl: fix for handling removed files better
Daniel Stenberg [Tue, 1 Feb 2022 15:21:58 +0000 (16:21 +0100)] 
scripts/copyright.pl: fix for handling removed files better

3 years agovxworks: drop support
Daniel Stenberg [Mon, 31 Jan 2022 16:41:38 +0000 (17:41 +0100)] 
vxworks: drop support

No changes or fixes in vxworks related code since 2009 leads me to
believe that this doesn't work anymore.

Closes #8362

3 years agobase64: remove an unnecessary call to strlen
Henrik Holst [Tue, 1 Feb 2022 12:39:06 +0000 (13:39 +0100)] 
base64: remove an unnecessary call to strlen

Closes #8369

3 years agotool_getparam: initial --json support
Daniel Stenberg [Fri, 21 Jan 2022 08:38:44 +0000 (09:38 +0100)] 
tool_getparam: initial --json support

Adds these test cases:

 383 - simple single command line option
 384 - reading it from stdin
 385 - getting two --json options on command line
 386 - --next works after --json

Closes #8314

3 years agocurl_getdate.3: remove pointless .PP line
Bjarni Ingi Gislason [Tue, 1 Feb 2022 08:43:21 +0000 (09:43 +0100)] 
curl_getdate.3: remove pointless .PP line

mandoc: WARNING: skipping paragraph macro: PP empty

Reported-by: Samuel Henrique
Closes #8365

3 years agomulti: grammar fix in comment
Sebastian Sterk [Mon, 31 Jan 2022 23:05:00 +0000 (00:05 +0100)] 
multi: grammar fix in comment

After 'must', the verb is used without 'to'. Correct: "must" or "have
to"

Closes #8368

3 years agoopenldap: fix compiler warning when built without SSL support
Daniel Stenberg [Mon, 31 Jan 2022 21:47:48 +0000 (22:47 +0100)] 
openldap: fix compiler warning when built without SSL support

openldap.c:841:52: error: unused parameter ‘data’ [-Werror=unused-parameter]

Closes #8367

3 years agoCURLSHOPT_LOCKFUNC.3: fix typo "relased" -> "released"
Samuel Henrique [Mon, 31 Jan 2022 19:44:58 +0000 (19:44 +0000)] 
CURLSHOPT_LOCKFUNC.3: fix typo "relased" -> "released"

Found when packaging 7.81.0 for Debian.

Closes #8364

3 years agonetware: remove support
Daniel Stenberg [Mon, 31 Jan 2022 09:12:28 +0000 (10:12 +0100)] 
netware: remove support

There are no current users and no Netware related changes done in the
code for over 13 years is a clear sign this is abandoned.

Closes #8358

3 years agoCI: move two jobs from Zuul to Circle CI
Daniel Stenberg [Mon, 31 Jan 2022 11:52:29 +0000 (12:52 +0100)] 
CI: move two jobs from Zuul to Circle CI

 - openssl-no-verbose
 - openssl-no-proxy

Closes #8359

3 years agocirlceci: also run a c-ares job on arm with debug enabled
Daniel Stenberg [Mon, 31 Jan 2022 09:03:15 +0000 (10:03 +0100)] 
cirlceci: also run a c-ares job on arm with debug enabled

Closes #8357

3 years agoci: move the OpenSSL + c-ares job from Zuul to Circle CI
Daniel Stenberg [Mon, 31 Jan 2022 08:41:31 +0000 (09:41 +0100)] 
ci: move the OpenSSL + c-ares job from Zuul to Circle CI

Closes #8357

3 years agomailmap: Jan-Piet Mens
Daniel Stenberg [Mon, 31 Jan 2022 08:39:36 +0000 (09:39 +0100)] 
mailmap: Jan-Piet Mens

3 years agomulti: remember connection_id before returning connection to pool
luminixinc on github [Thu, 27 Jan 2022 21:52:26 +0000 (11:52 -1000)] 
multi: remember connection_id before returning connection to pool

Fix a bug that does not require a new CVE as discussed on hackerone.com.
Previously `connection_id` was accessed after returning connection to
the shared pool.

Bug: https://hackerone.com/reports/1463013
Closes #8355

3 years agowrite-out.d: Fix num_headers formatting
Jay Satiro [Mon, 31 Jan 2022 06:04:19 +0000 (01:04 -0500)] 
write-out.d: Fix num_headers formatting

3 years agodocs: capitalize the name 'Netscape'
Jan-Piet Mens [Sun, 30 Jan 2022 11:57:24 +0000 (12:57 +0100)] 
docs: capitalize the name 'Netscape'

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

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sun, 30 Jan 2022 11:48:27 +0000 (12:48 +0100)] 
RELEASE-NOTES: synced

3 years agodocs: grammar proofread, typo fixes
Antoine Pietri [Thu, 27 Jan 2022 01:12:50 +0000 (02:12 +0100)] 
docs: grammar proofread, typo fixes

(Partially automated) proofread of most of the documentation, leading to
various typo fixes.

Closes #8353

3 years agourldata: CONN_IS_PROXIED replaces bits.close when proxy can be disabled
Daniel Stenberg [Fri, 28 Jan 2022 15:52:24 +0000 (16:52 +0100)] 
urldata: CONN_IS_PROXIED replaces bits.close when proxy can be disabled

To remove run-time checks for such builds.

Closes #8350

3 years agosetopt: fix the TLSAUTH #ifdefs for proxy-disabled builds
Daniel Stenberg [Fri, 28 Jan 2022 15:48:38 +0000 (16:48 +0100)] 
setopt: fix the TLSAUTH #ifdefs for proxy-disabled builds

Closes #8350

3 years agoconncache: make conncache_add_bundle return the pointer
Daniel Stenberg [Sat, 29 Jan 2022 22:06:13 +0000 (23:06 +0100)] 
conncache: make conncache_add_bundle return the pointer

Simplifies the logic a little and avoids a ternary operator.

Ref: #8346
Closes #8349

3 years agomailmap: neutric on github
Daniel Stenberg [Sun, 30 Jan 2022 10:55:49 +0000 (11:55 +0100)] 
mailmap: neutric on github

3 years agodocs/TheArtOfHttpScripting: fix example POST URL
neutric [Sun, 30 Jan 2022 01:46:38 +0000 (02:46 +0100)] 
docs/TheArtOfHttpScripting: fix example POST URL

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

3 years agonss: handshake callback during shutdown has no conn->bundle
Daniel Stenberg [Fri, 28 Jan 2022 07:17:15 +0000 (08:17 +0100)] 
nss: handshake callback during shutdown has no conn->bundle

The callback gets called because of the call to PR_Recv() done to
attempt to avoid RST on the TCP connection. The conn->bundle pointer is
already cleared at this point so avoid dereferencing it.

Reported-by: Eric Musser
Fixes #8341
Closes #8342

3 years agombedtls: remove #include <mbedtls/certs.h>
MAntoniak [Fri, 28 Jan 2022 12:45:30 +0000 (13:45 +0100)] 
mbedtls: remove #include <mbedtls/certs.h>

mbedtls/certs.h file contains only certificates example (all definitions
is beginning by mbedtls_test_*). None of them is used so we can avoid
include the file.

Closes #8343

3 years agombedtls: enable use of mbedtls without CRL support
MAntoniak [Fri, 28 Jan 2022 12:23:26 +0000 (13:23 +0100)] 
mbedtls: enable use of mbedtls without CRL support

Closes #8344

3 years agoconfigure: set CURL_LIBRARY_PATH for nghttp2
Bernhard Walle [Thu, 27 Jan 2022 17:40:28 +0000 (18:40 +0100)] 
configure: set CURL_LIBRARY_PATH for nghttp2

To execute the test program, we might need the library path so that the
lib is found at runtime.

Closes #8340

3 years agoschannel: restore debug message in schannel_connect_step2
Jay Satiro [Thu, 27 Jan 2022 08:32:37 +0000 (03:32 -0500)] 
schannel: restore debug message in schannel_connect_step2

This is a follow-up to recent commit 2218c3a which removed the debug
message to avoid an unused variable warning. The message has been
reworked to avoid the warning.

Ref: https://github.com/curl/curl/pull/8320#issuecomment-1022957904

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

3 years agotest3021: disable all msys2 path transformation
Jay Satiro [Tue, 25 Jan 2022 03:53:29 +0000 (22:53 -0500)] 
test3021: disable all msys2 path transformation

- Disable all MSYS2 path transformation in test3021 and test3022.

Prior to this change path transformation in those tests was disabled
only for arguments that start with forward slashes. However arguments
that are in base64 contain forward slashes at any position and caused
unwanted translations.

== Info: Denied establishing ssh session: mismatch sha256 fingerprint.
Remote +/EYG2YDzDGm6yiwepEMSuExgRRMoTi8Di1UN3kixZw= is not equal to
+C:/msys64/EYG2YDzDGm6yiwepEMSuExgRRMoTi8Di1UN3kixZw

In the above example an argument containing a base64 sha256 fingerprint
was passed to curl after MSYS2 translated +/ into +C:/msys64/, and then
the fingerprint didn't match what was expected.

Ref: https://www.msys2.org/wiki/Porting/

Fixes https://github.com/curl/curl/issues/8084
Closes https://github.com/curl/curl/pull/8325

3 years agoCI: move scan-build job from Zuul to Azure Pipelines
Daniel Stenberg [Thu, 27 Jan 2022 13:38:27 +0000 (14:38 +0100)] 
CI: move scan-build job from Zuul to Azure Pipelines

Closes #8338

3 years agoopenssl: fix `ctx_option_t` for OpenSSL v3+
Marcel Raad [Wed, 26 Jan 2022 13:32:57 +0000 (14:32 +0100)] 
openssl: fix `ctx_option_t` for OpenSSL v3+

The options have been changed to `uint64_t` in
https://github.com/openssl/openssl/commit/56bd17830f2d5855b533d923d4e0649d3ed61d11.

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

3 years agoCI: move 'distcheck' job from zuul to azure pipelines
Daniel Stenberg [Wed, 26 Jan 2022 21:57:54 +0000 (22:57 +0100)] 
CI: move 'distcheck' job from zuul to azure pipelines

Assisted-by: Kushal Das
Closes #8334

3 years agovtls: pass on the right SNI name
Daniel Stenberg [Sat, 22 Jan 2022 22:44:00 +0000 (23:44 +0100)] 
vtls: pass on the right SNI name

The TLS backends convert the host name to SNI name and need to use that.
This involves cutting off any trailing dot and lowercasing.

Co-authored-by: Jay Satiro
Closes #8320

3 years agourl: revert the removal of trailing dot from host name
Daniel Stenberg [Sat, 22 Jan 2022 15:56:00 +0000 (16:56 +0100)] 
url: revert the removal of trailing dot from host name

Reverts 5de8d84098db1bd24e (May 2014, shipped in 7.37.0) and the
follow-up changes done afterward.

Keep the dot in names for everything except the SNI to make curl behave
more similar to current browsers. This means 'name' and 'name.' send the
same SNI for different 'Host:' headers.

Updated test 1322 accordingly

Fixes #8290
Reported-by: Charles Cazabon
Closes #8320

3 years agodocs/TheArtOfHttpScripting: fix capitalization
neutric on github [Wed, 26 Jan 2022 14:11:48 +0000 (15:11 +0100)] 
docs/TheArtOfHttpScripting: fix capitalization

Closes #8333

3 years agotests/memanalyze.pl: also count and show "total allocations"
Daniel Stenberg [Wed, 26 Jan 2022 10:05:45 +0000 (11:05 +0100)] 
tests/memanalyze.pl: also count and show "total allocations"

This is the total number of bytes allocated, increasing for new
allocations and never reduced when freed. The existing "Maximum
allocated" is the high water mark.

Closes #8330

3 years agomailmap: spellfix githuh => github
Daniel Stenberg [Tue, 25 Jan 2022 11:05:06 +0000 (12:05 +0100)] 
mailmap: spellfix githuh => github

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 25 Jan 2022 08:27:24 +0000 (09:27 +0100)] 
RELEASE-NOTES: synced

3 years agohostcheck: fixed to not touch used input strings
Daniel Stenberg [Mon, 24 Jan 2022 10:02:55 +0000 (11:02 +0100)] 
hostcheck: fixed to not touch used input strings

Avoids the need to clone the strings before check, thus avoiding
mallocs, which for cases where there are many SAN names in a cert could
end up numerous.

Closes #8321

3 years agongtcp2: adapt to changed end of headers callback proto
Daniel Stenberg [Mon, 24 Jan 2022 10:23:08 +0000 (11:23 +0100)] 
ngtcp2: adapt to changed end of headers callback proto

Closes #8322

3 years agoopenssl: check SSL_get_ex_data to prevent potential NULL dereference
xkernel [Wed, 12 Jan 2022 13:06:00 +0000 (21:06 +0800)] 
openssl: check SSL_get_ex_data to prevent potential NULL dereference

Closes #8268

3 years agomd5: check md5_init_func return value
Jay Satiro [Sat, 22 Jan 2022 00:16:09 +0000 (19:16 -0500)] 
md5: check md5_init_func return value

Prior to this change the md5_init_func (my_md5_init) return value was
ignored.

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

3 years agomd5: refactor for standard compliance
Jay Satiro [Fri, 21 Jan 2022 22:09:29 +0000 (17:09 -0500)] 
md5: refactor for standard compliance

- Wrap OpenSSL / wolfSSL MD5 functions instead of taking their function
  addresses during static initialization.

Depending on how curl was built the old way may have used a dllimport
function address during static initialization, which is not standard
compliant, resulting in Visual Studio warning C4232 (nonstandard
extension). Instead the function pointers now point to the wrappers
which call the MD5 functions.

This change only affects OpenSSL and wolfSSL because calls to other SSL
libraries' md5 functions were already wrapped. Also sha256.c already
does this for all SSL libraries.

Ref: https://github.com/curl/curl/pull/8298

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

3 years agodocs: update IETF links to use datatracker
lucas [Fri, 21 Jan 2022 18:52:33 +0000 (18:52 +0000)] 
docs: update IETF links to use datatracker

The tools.ietf.org domain has been deprecated a while now, with the
links being redirected to datatracker.ietf.org.

Rather than make people eat that redirect time, this change switches the
URL to a more canonical source.

Closes #8317

3 years agoCI: test building wolfssl with --enable-opensslextra
Harry Sarson [Fri, 21 Jan 2022 13:31:48 +0000 (13:31 +0000)] 
CI: test building wolfssl with --enable-opensslextra

Closes #8315

3 years agomisc: allow curl to build with wolfssl --enable-opensslextra
Harry Sarson [Fri, 21 Jan 2022 13:32:16 +0000 (13:32 +0000)] 
misc: allow curl to build with wolfssl --enable-opensslextra

put all #include of openssl files behind wolfssl ifdefs so that we can
use the wolfssl/ prefixed include paths. Without these curl only builds
when wolfssl is built with enable-all.

Fixes #8292
Closes #8315

3 years agoquiche: change qlog file extension to `.sqlog`
Lucas Pardue [Fri, 21 Jan 2022 18:38:57 +0000 (18:38 +0000)] 
quiche: change qlog file extension to `.sqlog`

quiche has just switched it's qlog serialization format to JSON-SEQ by
default . The spec says this SHOULD use `.sqlog` extension.

I believe ngtcp2 also supports JSON-SEQ by default as of
https://github.com/ngtcp2/ngtcp2/commit/9baf06fc3f352a1d062b6953ae1de22cae30639d

Let's update curl so that tools know what format we are using!

Closes #8316

3 years agoprojects: Fix Visual Studio wolfSSL configurations
Jay Satiro [Wed, 19 Jan 2022 08:40:46 +0000 (03:40 -0500)] 
projects: Fix Visual Studio wolfSSL configurations

- Change build-wolfssl.bat to disable SSLv3, enable TLSv1.3, enable
  wolfSSL_DES_ecb_encrypt (needed by NTLM) and enable alt cert chains.

- Disable warning C4214 'bit field types other than int'.

- Add include directory wolfssl\wolfssl.

wolfSSL offers OpenSSL API compatibility that libcurl uses, and some
recent change in libcurl included an include file for wolfSSL like
openssl/foo.h, which has a path like wolfssl\wolfssl\openssl\foo.h.

The include directory issue was reported in #8292 but it's currently
unclear whether this type of change is needed for other build systems.

Bug: https://github.com/curl/curl/issues/8292
Reported-by: Harry Sarson
Closes https://github.com/curl/curl/pull/8298

3 years agoopenssl: return error if TLS 1.3 is requested when not supported
Daniel Stenberg [Thu, 20 Jan 2022 16:21:38 +0000 (17:21 +0100)] 
openssl: return error if TLS 1.3 is requested when not supported

Previously curl would just silently ignore it if the necessary defines
are not present at build-time.

Reported-by: Stefan Eissing
Fixes #8309
Closes #8310

3 years agoTODO: Passing NOTIFY option to CURLOPT_MAIL_RCPT
Daniel Stenberg [Thu, 20 Jan 2022 10:29:43 +0000 (11:29 +0100)] 
TODO: Passing NOTIFY option to CURLOPT_MAIL_RCPT

Closes #8232

3 years agoworkflows/wolfssl: install impacket
pheiduck on githuh [Thu, 20 Jan 2022 08:29:12 +0000 (09:29 +0100)] 
workflows/wolfssl: install impacket

needed Python Package for SMB tests

Closes #8307

3 years agourl: make Curl_disconnect return void
Daniel Stenberg [Wed, 19 Jan 2022 12:57:30 +0000 (13:57 +0100)] 
url: make Curl_disconnect return void

 1. The function would only ever return CURLE_OK anyway
 2. Only one caller actually used the return code
 3. Most callers did (void)Curl_disconnect()

Closes #8303

3 years agodocs: document HTTP/2 not insisting on TLS 1.2
Daniel Stenberg [Wed, 19 Jan 2022 10:42:27 +0000 (11:42 +0100)] 
docs: document HTTP/2 not insisting on TLS 1.2

Both for --http2 and CURLOPT_HTTP_VERSION.

Reported-by: jhoyla on github
Fixes #8235
Closes #8300

3 years agocmdline-opts/gen.pl: fix option matching to improve references
Daniel Stenberg [Wed, 19 Jan 2022 10:38:50 +0000 (11:38 +0100)] 
cmdline-opts/gen.pl: fix option matching to improve references

Previously it could mistakenly match partial names when there are
options that start with the same prefix, leading to the wrong references
used.

Closes #8299

3 years agoTODO: Less memory massaging with Schannel
Daniel Stenberg [Wed, 19 Jan 2022 10:59:53 +0000 (11:59 +0100)] 
TODO: Less memory massaging with Schannel

3 years agoruntests.pl: disable debuginfod
Patrick Monnerat [Mon, 17 Jan 2022 16:26:34 +0000 (17:26 +0100)] 
runtests.pl: disable debuginfod

Valgrind and gdb implement this feature: as this highly slows down tests,
disable it.

Closes #8291

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 17 Jan 2022 15:49:00 +0000 (16:49 +0100)] 
RELEASE-NOTES: synced

3 years agoCURLMOPT_TIMERFUNCTION/DATA.3: fix the examples
Daniel Stenberg [Mon, 17 Jan 2022 07:38:15 +0000 (08:38 +0100)] 
CURLMOPT_TIMERFUNCTION/DATA.3: fix the examples

... to not call libcurl recursively back.

Closes #8286

3 years agomulti: set in_callback for multi interface callbacks
Daniel Stenberg [Sun, 16 Jan 2022 22:00:09 +0000 (23:00 +0100)] 
multi: set in_callback for multi interface callbacks

This makes most libcurl functions return error if called from within a
callback using the same multi handle. For example timer or socket
callbacks calling curl_multi_socket_action.

Reported-by: updatede on github
Fixes #8282
Closes #8286

3 years agodocs/HISTORY.md: mention alt-svc and HSTS
Daniel Stenberg [Mon, 17 Jan 2022 14:56:41 +0000 (15:56 +0100)] 
docs/HISTORY.md: mention alt-svc and HSTS

3 years agomisc: remove the final watcom references
Daniel Stenberg [Sun, 16 Jan 2022 22:10:22 +0000 (23:10 +0100)] 
misc: remove the final watcom references

Follow-up to bbf8cae44dedc495e6

We removed support for the watcom builds files back in September
2020. This removes all remaining watcom references and ifdefs.

Closes #8287

3 years agomisc: remove BeOS code and references
Daniel Stenberg [Sun, 16 Jan 2022 22:35:00 +0000 (23:35 +0100)] 
misc: remove BeOS code and references

There has not been a mention of this OS in any commit since December
2004 (58f4af7973e3d2). The OS is also long gone.

Closes #8288

3 years agotool_getparam: DNS options that need c-ares now fail without it
Daniel Stenberg [Sun, 16 Jan 2022 21:41:16 +0000 (22:41 +0100)] 
tool_getparam: DNS options that need c-ares now fail without it

Just silently accepting the options and then not having any effect is
not good.

Ref: #8283
Closes #8285

3 years agocurl: remove "separators" (when using globbed URLs)
Daniel Stenberg [Fri, 14 Jan 2022 07:30:26 +0000 (08:30 +0100)] 
curl: remove "separators" (when using globbed URLs)

Unless muted (with -s) When doing globbing, curl would output mime-like
separators between the separate transfers. This is not documented
anywhere, surprises users and clobbers the output. Gone now.

Updated test 18 and 1235

Reported-by: jonny112 on github
Bug: https://github.com/curl/curl/discussions/8257
Closes #8278

3 years agombedtls: fix CURLOPT_SSLCERT_BLOB (again)
Niels Martignène [Tue, 11 Jan 2022 08:25:00 +0000 (03:25 -0500)] 
mbedtls: fix CURLOPT_SSLCERT_BLOB (again)

- Increase the buffer length passed to mbedtls_x509_crt_parse to account
  for the null byte appended to the temporary blob.

Follow-up to 867ad1c which uses a null terminated copy of the
certificate blob, because mbedtls_x509_crt_parse requires PEM data
to be null terminated.

Ref: https://github.com/curl/curl/commit/867ad1c#r63439893
Ref: https://github.com/curl/curl/pull/8146

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

3 years agoquiche: verify the server cert on connect
Alessandro Ghedini [Thu, 13 Jan 2022 13:43:20 +0000 (13:43 +0000)] 
quiche: verify the server cert on connect

Similarly to c148f0f551f9bea0e3d0, make quiche correctly acknowledge
`CURLOPT_SSL_VERIFYPEER` and `CURLOPT_SSL_VERIFYHOST`.

Fixes #8173
Closes #8275

3 years agochecksrc: fix typo in comment
Ikko Ashimine [Sat, 15 Jan 2022 06:56:27 +0000 (15:56 +0900)] 
checksrc: fix typo in comment

enfore -> enforce

Closes #8281

3 years agocurl-openssl: remove the OpenSSL headers and library versions check
Daniel Stenberg [Fri, 14 Jan 2022 17:09:28 +0000 (18:09 +0100)] 
curl-openssl: remove the OpenSSL headers and library versions check

It is more work to maintain that check than the (any?) benefit it
brings.

Fixes #8279
Reported-by: Satadru Pramanik
Closes #8280

3 years agomqtt: free any leftover when done
Daniel Stenberg [Thu, 13 Jan 2022 13:27:06 +0000 (14:27 +0100)] 
mqtt: free any leftover when done

Oss-fuzz found an issue when the "sendleftovers" pointer could leak memory.
Fix this by always freeing it (if still assigned) in the done function.

Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43515
Closes #8274

3 years agoformdata: avoid size_t => long typecast overflows
Daniel Stenberg [Sun, 9 Jan 2022 16:00:43 +0000 (17:00 +0100)] 
formdata: avoid size_t => long typecast overflows

Typically a problem for platforms with 32 bit long and 64 bit size_t

Reported-by: Fabian Yamaguchi
Bug: https://hackerone.com/reports/1444539
Closes #8272

3 years agoRELEASE-NOTES: synced
Daniel Stenberg [Thu, 13 Jan 2022 21:21:16 +0000 (22:21 +0100)] 
RELEASE-NOTES: synced

bump next release to become 7.82.0

3 years agobuild: enable -Warith-conversion
Marcel Raad [Wed, 5 Jan 2022 16:20:16 +0000 (17:20 +0100)] 
build: enable -Warith-conversion

This makes the behavior consistent between GCC 10 and earlier versions.

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

3 years agobuild: fix -Wenum-conversion handling
Marcel Raad [Wed, 5 Jan 2022 15:59:27 +0000 (16:59 +0100)] 
build: fix -Wenum-conversion handling

Don't enable that warning when warnings are disabled.
Also add it to CMake.

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

3 years agoappveyor: use VS 2017 image for the autotools builds
Marcel Raad [Mon, 10 Jan 2022 13:28:41 +0000 (14:28 +0100)] 
appveyor: use VS 2017 image for the autotools builds

The newer images don't have all required MSYS2 packages.

Fixes https://github.com/curl/curl/issues/8248
Closes https://github.com/curl/curl/pull/8265

3 years agoappveyor: update images from VS 2019 to 2022
Marcel Raad [Mon, 10 Jan 2022 12:57:44 +0000 (13:57 +0100)] 
appveyor: update images from VS 2019 to 2022

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

3 years agombedtls: return CURLcode result instead of a mbedtls error code
MAntoniak [Tue, 11 Jan 2022 18:09:06 +0000 (19:09 +0100)] 
mbedtls: return CURLcode result instead of a mbedtls error code

... when a certificate fails to be loaded from a blob

Closes #8266

3 years agocurl_multi_socket.3: remove callback and typical usage descriptions
Daniel Stenberg [Tue, 11 Jan 2022 10:28:16 +0000 (11:28 +0100)] 
curl_multi_socket.3: remove callback and typical usage descriptions

1. The callback is better described in the option for setting it. Having
it in a single place reduces the risk that one of them is wrong.

2. The "typical usage" is wrong since the functions described in this
man page are both deprecated so they cannot be used in any "typical" way
anymore.

Closes #8262

3 years agocurl-functions.m4: revert DYLD_LIBRARY_PATH tricks in CURL_RUN_IFELSE
Daniel Stenberg [Sat, 8 Jan 2022 14:40:04 +0000 (15:40 +0100)] 
curl-functions.m4: revert DYLD_LIBRARY_PATH tricks in CURL_RUN_IFELSE

Mostly reverts ba0657c343f, but now instead just run the plain macro on
darwin. The approach as used on other platforms is simply not necessary
on macOS.

Fixes #8229
Reported-by: Ryan Schmidt
Closes #8247

3 years agoopenldap: implement SASL authentication
Patrick Monnerat [Mon, 10 Jan 2022 10:57:02 +0000 (11:57 +0100)] 
openldap: implement SASL authentication

As credentials can be quite different depending on the mechanism used,
there are no default mechanisms for LDAP and simple bind with a DN is
then used.

The caller has to provide mechanism(s) using CURLOPT_LOGIN_OPTIONS to
enable SASL authentication and disable simple bind.

Closes #8152

3 years agoCURLOPT_RESOLVE.3: change example port to 443
Cameron Will [Tue, 11 Jan 2022 02:39:42 +0000 (21:39 -0500)] 
CURLOPT_RESOLVE.3: change example port to 443

83cc966 changed documentation from using http to https. However,
CURLOPT_RESOLVE being set to port 80 in the documentation means that it
isn't valid for the new URL. Update to 443.

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

3 years agotest374: gif data without new line at the end
Fabian Keil [Fri, 7 Jan 2022 10:15:13 +0000 (11:15 +0100)] 
test374: gif data without new line at the end

Closes #8239

3 years agoruntests.pl: support the nonewline attribute for the data part
Fabian Keil [Tue, 9 Feb 2021 13:04:32 +0000 (14:04 +0100)] 
runtests.pl: support the nonewline attribute for the data part

Added to FILEFORMAT

Closes #8239

3 years agocurl tool: erase some more sensitive command line arguments
Patrick Monnerat [Mon, 10 Jan 2022 10:51:16 +0000 (11:51 +0100)] 
curl tool: erase some more sensitive command line arguments

As the ps command may reveal sensitive command line info, obfuscate
options --tlsuser, --tlspasswd, --proxy-tlsuser, --proxy-tlspassword and
--oauth2-bearer arguments.

Reported-by: Stephen Boost <s.booth@epcc.ed.ac.uk>
Closes #7964

3 years agomesalink: remove support
Daniel Stenberg [Sun, 9 Jan 2022 21:28:48 +0000 (22:28 +0100)] 
mesalink: remove support

Mesalink has ceased development. We can no longer encourage use of it.
It seems to be continued under the name TabbySSL, but no attempts have
(yet) been to make curl support it.

Fixes #8188
Closes #8191

3 years agoldap: return CURLE_URL_MALFORMAT for bad URL
Daniel Stenberg [Sun, 9 Jan 2022 21:38:22 +0000 (22:38 +0100)] 
ldap: return CURLE_URL_MALFORMAT for bad URL

For consistency, use the same return code for URL malformats,
independently of what scheme that is used. Previously this would return
CURLE_LDAP_INVALID_URL, but starting now that error cannot be returned.

Closes #8170