Commit Graph

27764 Commits

Author SHA1 Message Date
Daniel Stenberg
e514e67c61
RELEASE-NOTES: synced 2021-09-04 11:42:05 +02:00
Daniel Stenberg
8fbdf8331e
test1173: check references to libcurl options
... that they refer to actual existing libcurl options.

Reviewed-by: Daniel Gustafsson
Closes #7656
2021-09-04 11:27:56 +02:00
Daniel Stenberg
7d1bd8a301
CURLOPT_UNIX_SOCKET_PATH.3: remove nginx reference, add see also
Closes #7656
2021-09-04 11:27:51 +02:00
Daniel Stenberg
12a2ed970f
opt-docs: verify man page sections + order
In every libcurl option man page there are now 8 mandatory sections that
must use the right name in the correct order and test 1173 verifies
this. Only 14 man pages needed adjustments.

The sections and the order is as follows:

 - NAME
 - SYNOPSIS
 - DESCRIPTION
 - PROTOCOLS
 - EXAMPLE
 - AVAILABILITY
 - RETURN VALUE
 - SEE ALSO

Reviewed-by: Daniel Gustafsson
Closes #7656
2021-09-04 11:27:46 +02:00
Daniel Stenberg
1731a77989
opt-docs: make sure all man pages have examples
Extended manpage-syntax.pl (run by test 1173) to check that every man
page for a libcurl option has an EXAMPLE section that is more than two
lines. Then fixed all errors it found and added examples.

Reviewed-by: Daniel Gustafsson
Closes #7656
2021-09-04 11:27:04 +02:00
Daniel Stenberg
c8210ef06d
get.d: provide more useful examples
Closes #7668
2021-09-04 00:16:53 +02:00
Daniel Stenberg
d02d8d93ff
page-header: add GOPHERS, simplify wording in the 1st para
Closes #7665
2021-09-03 08:39:48 +02:00
Daniel Stenberg
424051d78b
connect: get local port + ip also when reusing connections
Regression. In d6a37c23a3 (7.75.0) we removed the duplicated storage
(connection + easy handle), so this info needs be extracted again even
for re-used connections.

Add test 435 to verify

Reported-by: Max Dymond
Fixes #7660
Closes #7662
2021-09-02 23:42:18 +02:00
Marcel Raad
1b70748e86
multi: fix compiler warning with CURL_DISABLE_WAKEUP
`use_wakeup` is unused in this case.

Closes https://github.com/curl/curl/pull/7661
2021-09-02 15:52:00 +02:00
Daniel Stenberg
3f4b1b4ee5
tests: adjust the tftpd output to work with hyper mode
By making them look less like http headers, the hyper mode "tweak"
doesn't interfere.

Enable test 2002 and 2003 in hyper builds (and 1280 which is unrelated
but should be enabled).

Closes #7658
2021-09-01 23:40:28 +02:00
Gisle Vanem
3a6d30cfd3 openssl: annotate SSL3_MT_SUPPLEMENTAL_DATA
This adds support for the previously unhandled supplemental data which
in -v output was printed like:

    TLSv1.2 (IN), TLS header, Unknown (23):

These will now be printed with proper annotation:

    TLSv1.2 (OUT), TLS header, Supplemental data (23):

Closes #7652
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2021-09-01 22:46:21 +02:00
Daniel Stenberg
68784d73c3
curl.1: provide examples for each option
The file format for each option now features a "Example:" header that
can provide one or more examples that get rendered appropriately in the
output. All options MUST have at least one example or gen.pl complains
at build-time.

This fix also does a few other minor format and consistency cleanups.

Closes #7654
2021-09-01 14:02:43 +02:00
Daniel Stenberg
c905459e87
progress: make trspeed avoid floats
and compiler warnings for data conversions.

Reported-by: Michał Antoniak
Fixes #7645
Closes #7653
2021-09-01 08:35:31 +02:00
Daniel Stenberg
e8c8775eaa
test365: verify response with chunked AND Content-Length headers 2021-08-31 10:04:03 +02:00
Daniel Stenberg
8a16e54c0c
http: ignore content-length if any transfer-encoding is used
Fixes #7643
Closes #7649
2021-08-31 10:04:03 +02:00
Daniel Stenberg
bde355c484
RELEASE-NOTES: synced 2021-08-31 08:55:45 +02:00
Daniel Stenberg
c364f5f6fa
Revert "http2: skip immediate parsing of payload following protocol switch"
This reverts commit 455a63c66f.

Reported-by: Tk Xiong
Fixes #7633
Closes #7648
2021-08-30 17:57:32 +02:00
Daniel Stenberg
a4f337a9c2
KNOWN_BUGS: HTTP/3 doesn't support client certs
Closes #7625
2021-08-30 13:23:24 +02:00
Daniel Stenberg
d4d53d99b1
mailing lists: move from cool.haxx.se to lists.haxx.se 2021-08-30 09:51:07 +02:00
Daniel Stenberg
4fee6c644f
http_proxy: only wait for writable socket while sending request
Otherwise it would wait socket writability even after the entire CONNECT
request has sent and make curl basically busy-loop while waiting for a
response to come back.

The previous fix attempt in #7484 (c27a70a591) was inadequate.

Reported-by: zloi-user on github
Reported-by: Oleguer Llopart
Fixes #7589
Closes #7647
2021-08-27 23:34:37 +02:00
Daniel Stenberg
5dc594e44f
http: disallow >3-digit response codes
Make the built-in HTTP parser behave similar to hyper and reject any
HTTP response using more than 3 digits for the response code.

Updated test 1432 accordingly.
Enabled test 1432 in the hyper builds.

Closes #7641
2021-08-26 22:43:38 +02:00
Tatsuhiro Tsujikawa
14da6eb4e5
ngtcp2: stop buffering crypto data
Stop buffering crypto data because libngtcp2 now buffers submitted
crypto data.

Closes #7637
2021-08-26 16:31:59 +02:00
Daniel Stenberg
9df52bf17a
test1280: CRLFify the response to please hyper
Closes #7639
2021-08-26 16:17:10 +02:00
Daniel Stenberg
9a30ac0957
tests: enable test 1129 for hyper builds
Closes #7638
2021-08-26 16:15:48 +02:00
Daniel Stenberg
e8e656c845
curl: better error message when -O fails to get a good name
Due to how this currently works internally, it needs a working initial
file name to store contents in, so it may still fail even with -J is
used (and thus accepting a name from content-disposition:) if the file
name part of the URL isn't "good enough".

Fixes #7628
Closes #7635
2021-08-26 10:41:15 +02:00
Daniel Stenberg
1a042be270
curl_easy_setopt: tweak the string copy wording
Reported-by: Yaobin Wen
Fixes #7632
Closes #7634
2021-08-26 09:18:42 +02:00
Daniel Stenberg
92f2a0a06b
RELEASE-NOTES: synced 2021-08-25 13:13:49 +02:00
Don
62dbfa30ba
cmake: sync CURL_DISABLE options
Adds the full listing of CURL_DISABLE options to the CMake build. Moves
all option code, except for CURL_DISABLE_OPENSSL_AUTO_LOA_CONFIG which
resides near OpenSSL configuration, to the same block of code. Also
sorts the options here and in the cmake config header.

Additionally sorted the CURL-DISABLE listing and fixed the
CURL_DISABLE_POP3 option.

Closes #7624
2021-08-25 13:05:50 +02:00
Jay Satiro
1e67c73b5a KNOWN_BUGS: FTPS upload data loss with TLS 1.3
Bug: https://github.com/curl/curl/issues/6149
Reported-by: Bylon2@users.noreply.github.com

Closes https://github.com/curl/curl/pull/7623
2021-08-25 03:37:37 -04:00
Daniel Stenberg
825911be58
cmake: avoid poll() on macOS
... like we do in configure builds. Since poll() on macOS is not
reliable enough.

Reported-by: marc-groundctl
Fixes #7595
Closes #7619
2021-08-24 17:44:29 +02:00
Daniel Stenberg
e5d77dc2ca
c-hyper: handle HTTP/1.1 => HTTP/1.0 downgrade on reused connection
Enable test 1074

Closes #7617
2021-08-23 16:12:33 +02:00
Daniel Stenberg
38941ad6f3
c-hyper: deal with Expect: 100-continue combined with POSTFIELDS
Enable test 1130 and 1131

Closes #7616
2021-08-23 16:10:15 +02:00
a1346054
ec91b5a690
tests: be explicit about using 'python3' instead of 'python'
This fixes running tests in virtualenvs (or on distros) that no longer
have a symlink from python to python2 or python3.

Closes #7602
2021-08-23 15:59:43 +02:00
a1346054
5458e6bd18
scripts: invoke interpreters through /usr/bin/env
Closes #7602
2021-08-23 15:59:34 +02:00
Daniel Stenberg
473b893c7e
DISABLED: enable 11 more tests for hyper builds
Closes #7612
2021-08-23 11:24:25 +02:00
Daniel Stenberg
46d4373ea7
setopt: enable CURLOPT_IGNORE_CONTENT_LENGTH for hyper
Since this option is also used for FTP, it needs to work to set for
applications even if hyper doesn't support it for HTTP. Verified by test
1137.

Updated docs to specify that the option doesn't work for HTTP when using
the hyper backend.

Closes #7614
2021-08-23 11:23:17 +02:00
Daniel Stenberg
0854781c18
test1138: remove trailing space to make work with hyper
Closes #7613
2021-08-23 11:21:38 +02:00
Daniel Stenberg
b9183e6e72
libcurl-errors.3: clarify two CURLUcode errors
CURLUE_BAD_HANDLE and CURLUE_BAD_PARTPOINTER should be for "bad" or
wrong pointers in a generic sense, not just for NULL pointers.

Reviewed-by: Jay Satiro

Ref: #7605
Closes #7611
2021-08-23 09:01:34 +02:00
Jay Satiro
d5a27064a0 symbols-in-versions: fix CURLSSLBACKEND_QSOSSL last used version
... and also change the 'Removed' column name to 'Last' since that
column is for the last version to contain the symbol.

Closes https://github.com/curl/curl/pull/7609
2021-08-23 02:59:38 -04:00
Daniel Stenberg
98e6db24c4
urlapi.c:seturl: assert URL instead of using if-check
There's no code flow possible where this can happen. The assert makes
sure it also won't be introduced undetected in the future.

Closes #7610
2021-08-23 08:50:58 +02:00
Daniel Stenberg
f09030b638
curl-openssl.m4: show correct output for OpenSSL v3
Using 3.0.0 versions configure should now show this:

checking for OpenSSL headers version... 3.0.0 - 0x300
checking for OpenSSL library version... 3.0.0
checking for OpenSSL headers and library versions matching... yes

This output doesn't actually change what configure generates but is only
"cosmetic".

Reported-by: Randall S. Becker
Fixes #7606
Closes #7608
2021-08-22 12:29:55 +02:00
Jay Satiro
9cb395dcc9 mksymbolsmanpage.pl: Fix showing symbol's last used version
Prior to this change the symbol's deprecated version was erroneously
shown as its last used version.

Bug: https://github.com/curl/curl/commit/4e53b94#commitcomment-55239509
Reported-by: i-ky@users.noreply.github.com
2021-08-22 01:12:26 -04:00
Daniel Stenberg
342f92763e
mksymbolsmanpage.pl: match symbols case insenitively
Follow-up to 4e53b9430c which made this bug show.

Reported-by: i-ky
Bug: 4e53b9430c (commitcomment-55239253)
Closes #7607
2021-08-21 23:40:11 +02:00
Daniel Stenberg
378e331e92
asyn-ares: call ares_freeaddrinfo() to clean up addrinfo results
As this leaks memory otherwise

Follow-up to ba904db070

Closes #7599
2021-08-21 17:14:14 +02:00
Ehren Bendler
797bacf9c5
wolfssl: clean up wolfcrypt error queue
If wolfSSL is built in certain ways (OPENSSL_EXTRA or Debug), the error
queue gets added on to for each session and never freed. Fix it by
calling ERR_clear_error() like in vtls/openssl when needed. This func is
a no-op in wolfcrypt if the error queue is not enabled.

Closes #7594
2021-08-21 17:05:14 +02:00
Daniel Stenberg
4e53b9430c
man pages: remove trailing whitespaces
Extended test 1173 (via the manpage-syntax.pl script) to detect and warn
for them.

Ref: #7602
Reported-by: a1346054 on github
Closes #7604
2021-08-21 16:44:03 +02:00
Daniel Stenberg
77c739909b
mailmap: add Gleb Ivanovsky 2021-08-21 16:38:06 +02:00
Daniel Stenberg
75d379a46f
config.d: escape the backslash properly
Closes #7603
2021-08-21 15:49:37 +02:00
Don
4886962fb1
curl_setup.h: sync values for HTTP_ONLY
The values for HTTP_ONLY differed between CMakeLists.txt and
curl_setup.h. Sync them and sort the values in curl_setup.h to make it
easier to spot differences.

Closes #7601
2021-08-21 15:44:17 +02:00
Jay Satiro
37f1c21cb9 configure: set classic mingw minimum OS version to XP
- If the user has not specified a minimum OS version (via WINVER or
  _WIN32_WINNT macros) then set it to Windows XP.

Prior to this change classic MinGW defaulted the minimum OS version
to Windows NT 4.0 which is way too old. At least Windows XP is needed
for getaddrinfo (which resolves hostnames to IPv6 addresses).

Ref: https://github.com/curl/curl/issues/7483#issuecomment-891597034

Closes https://github.com/curl/curl/pull/7581
2021-08-21 03:06:10 -04:00