Commit Graph

29763 Commits

Author SHA1 Message Date
Daniel Gustafsson
739275a1d9 cookies: fix documentation comment
Commit 4073cd83b2 added the noexpire parameter to Curl_cookie_add but
missed updating the documentation comment at the head of the file.
2022-05-30 13:46:25 +02:00
Marc Hoersken
2d7044a191
tests/data/test1940: use binary mode for expected stdout
The generated stdout data is written in binary mode with [LF]
line endings, therefore we also need to do a binary comparison.

Assisted-by: Jay Satiro
Assisted-by: Daniel Stenberg

Follow up to c9b60f0053
Fixes #8920
Closes #8936
2022-05-30 09:23:41 +02:00
Daniel Stenberg
22eab9d413
CURLINFO_CAINFO/PATH.3: clarify the multiple TLS situation
Spell out the multi-TLS situation.

Reported-by: Dan Fandrich
Fixes #8926
Closes #8932
2022-05-29 17:01:42 +02:00
JustAnotherArchivist
10cd69623a tool_getparam: fix --parallel-max maximum value constraint
- Clamp --parallel-max to MAX_PARALLEL (300) instead of resetting to
  default value.

Previously, --parallel-max 300 would use 300 concurrent transfers, but
--parallel-max 301 would unexpectedly use only 50. This change clamps
higher values to the maximum (ie --parallel-max 301 would use 300).

Closes https://github.com/curl/curl/pull/8930
2022-05-28 03:23:57 -04:00
Daniel Stenberg
f51ffdb35f
curl.1: add a few see also --tls-max
Closes #8929
2022-05-27 23:31:31 +02:00
Viktor Szakats
a77d14d22a
cmake: do not add libcurl.rc to the static libcurl library
Fixes: https://github.com/curl/curl/pull/8918#issuecomment-1138263855

Reviewed-By: Karlson2k@users.noreply.github.com
Closes #8923
2022-05-26 15:54:47 +00:00
Viktor Szakats
435f395f3f
cmake: support adding a suffix to the OS value
CMake automatically uses the `CMAKE_SYSTEM_NAME` value to fill the OS
string appearing in the --version output after the curl version number,
for example:

  'curl 7.83.1 (Windows)'

This patchs adds the ability to pass a suffix that is appended to this
value. It's useful to add CPU info or other platform details,
for example:

  'curl 7.83.1 (Windows-x64)'

Closes #8919
2022-05-26 15:54:20 +00:00
Viktor Szakats
2e769766ea
cmake: enable curl.rc for all Windows targets
Before this patch, it was only enabled for MSVC. This syncs this
configuration with libcurl.rc, which was already included with
every Windows compiler.

Closes #8918
2022-05-26 15:53:19 +00:00
Viktor Szakats
a01e84300e
cmake: fix detecting libidn2
Without this patch, libidn2 detection doesn't even seem to be
attempted. With this patch, cmake can be configured to pick it
up and enable it. Necessary configuration remains manual and
differs from most other dependencies.

If you are aware of a better fix, we're glad hearing about it
in a new Issue.

Closes #8917
2022-05-26 15:52:57 +00:00
Viktor Szakats
d67f41acd3
version: allow stricmp() for sorting the feature list
In CMakeLists.txt there is an attempt to detect `stricmp()`, and in
certain cases, this attempt is the only successful one to detect a
case-insensitive comparison function. `HAVE_STRICMP` is defined as
a result, but this macro wasn't used anywhere in the source. This
patch makes use of it as an alternative when alpha-sorting the
`--version` feature list.

Reviewed-by: Daniel Stenberg
Closes #8916
2022-05-25 15:24:42 +00:00
Daniel Stenberg
ba6a3fd3ee
DISABLED: add six tests that fail with hyper
1117 1274 1940 1941 1942 1943
2022-05-25 13:07:12 +02:00
Daniel Stenberg
b67dcc8ed7
c-hyper: mark status line as status for Curl_client_write()
To make sure the headers API can filter it out as not a regular header.

Reported-by: Gisle Vanem
Fixes #8894
Closes #8914
2022-05-25 13:07:12 +02:00
Marc Hoersken
2d5b8048a5
tests/data/test1501: kill ftp server after slow LIST response
This test is contributing to flakiness on the Windows CI runs.
Killing the ftp server after the test run like other slowness
tests already do may help resolve or reduce the flakiness.

Closes #8907
2022-05-25 12:39:52 +02:00
Daniel Stenberg
5bf1ff002d
headers: fix the unfold realloc to use proper new size
Previously it didn't take the old name length into acount

Follow-up to: c9b60f0053
Closes #8913
2022-05-25 11:56:25 +02:00
Marc Hoersken
498ecdfd64
GHA: align all install, configure and build steps again
First step towards more unified build steps on GitHub Actions.

Closes #8873
2022-05-25 00:16:30 +02:00
Marc Hoersken
519e5e5f65
CI/azure: remove obsolete strategy for single builds
This shortens these CI job names on GitHub even more.
Follow up to #8906 which also increased their timeout.

Closes #8911
2022-05-25 00:12:03 +02:00
Marc Hoersken
945c4bb701
CI/azure: shorten names of Windows CI jobs
Suggested-by: Daniel Stenberg
Closes #8906
2022-05-24 23:46:33 +02:00
Daniel Stenberg
c9b60f0053
http: restore header folding behavior
Folded header lines will now get passed through like before. The headers
API is adapted and will provide the content unfolded.

Added test 1274 and extended test 1940 to verify.

Reported-by: Petr Pisar
Fixes #8844
Closes #8899
2022-05-24 23:33:47 +02:00
Viktor Szakats
16a58e9f93
Makefile.m32: delete obsolete options, improve -On [ci skip]
- `-D_AMD64_` has not been necessary for mingw-w64 builds for a long time now.
- `-fno-strict-aliasing` is mentioned for Intel C compiler in autotools, and
  I used this with VxWorks in another project, but otherwise this isn't
  necessary anymore as a default. If a target still needs it, it can be
  added with `CURL_CFLAG_EXTRAS=-fno-strict-aliasing`
- bump up default optimization level to `-O3` (from `-O2`), and also rearrange
  option order so the default can now be overridden via
  `CURL_CFLAG_EXTRAS`.
- delete `-g` (generate debug info) from `CFLAGS` and `-s` from `LDFLAGS`
  (strip debug info). They were working against each other. Now, if someone
  needs debug info, it can be enabled via `CURL_CFLAG_EXTRAS=-g`

Closes #8904
2022-05-24 17:04:38 +00:00
Daniel Gustafsson
a8a1b666c4 ntlm: fix one more hostname test fallout
This fixup was missed in commit 5a41abef6d.

Closes: #8901
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2022-05-24 12:51:28 +02:00
Daniel Gustafsson
e70928b091 doh: remove UNITTEST macro definition
The UNITTEST macro is defined by curl_setup.h so there is no use in
carry a local copy of the logic.

Closes: #8902
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2022-05-24 12:46:22 +02:00
Daniel Stenberg
dcaae6bb5b
cookie: fix false positive "potentially uninitialized local variable"
Reviewed-by: Daniel Gustafsson
Closes #8903
2022-05-24 12:16:08 +02:00
Daniel Stenberg
8f48b5d783
curl: add --rate to set max request rate per time unit
--rate "12/m" - for 12 per minute or
--rate "5/h" - for 5 per hour

Removed from TODO

Closes #8671
2022-05-23 17:59:56 +02:00
Jay Satiro
64641d2170
max-time.d: clarify max-time sets max transfer time
Prior to this change the doc said --max-time set the maximum time of the
'whole operation' which is not accurate. The option maps to
CURLOPT_TIMEOUT_MS which sets maximum transfer time.

For example, the maximum time on a transfer is reset if the transfer is
retried (--retry).

Reported-by: Nuru@users.noreply.github.com

Fixes https://github.com/curl/curl/issues/8877
Closes #8879
2022-05-23 17:14:57 +02:00
Daniel Stenberg
e41a090b80
GHA/hyper: enable debug in the build 2022-05-23 16:47:22 +02:00
Daniel Stenberg
5a4dbb8ae3
hyper: use 'alt-used'
Makes test 412+413 work

Closes #8898
2022-05-23 16:47:17 +02:00
Daniel Stenberg
6e489e00a5
RELEASE-NOTES: synced 2022-05-23 09:11:32 +02:00
Daniel Stenberg
7bc785387d
CURLINFO_CAPATH/CAINFO: get the default CA paths from libcurl
Closes #8888
2022-05-23 08:44:29 +02:00
Daniel Stenberg
3c8b969de6
links: update dead links
The wiki pages are gone, remove and link to more long-living docs.

Closes #8897
2022-05-23 08:40:13 +02:00
Daniel Stenberg
216636a4ce
ntlm: (void) typecast msnprintf() where we ignore return code
Follow-up to 5a41abef6, to please Coverity
2022-05-23 08:13:48 +02:00
Daniel Gustafsson
5a41abef6d ntlm: copy NTLM_HOSTNAME to host buffer
Commit 709ae2454f added a fake hostname to avoid leaking the local
hostname, but omitted copying it to the host buffer.  Fix by copying
and adjust the test fallout.

Closes: #8895
Fixes: #8893
Reported-by: Patrick Monnerat <patrick@monnerat.net>
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2022-05-22 23:26:24 +02:00
Daniel Gustafsson
5b9770e5fc configure: use the SED value to invoke sed
Rather than assuming sed in PATH, use the resolved $SED variable
like in all other invocations of sed in configure.

Closes: #8891
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
2022-05-21 15:34:24 +02:00
Tatsuhiro Tsujikawa
8ea851b29d
ngtcp2: Allow curl to send larger UDP datagrams
Allow curl to send larger UDP datagram if Path MTU Discovery finds the
availability of larger path MTU.  To make it work and not to send
fragmented packet, we need to set DF bit.  That makes send(2) fail with
EMSGSIZE if UDP datagram is too large.  In that case, just let it be
lost.  This patch enables DF bit for Linux only.

Closes #8883
2022-05-20 17:50:38 +02:00
Daniel Stenberg
7f2e1d345a
libcurl-security.3: add "Secrets in memory"
Closes #8881
2022-05-20 17:36:25 +02:00
Daniel Stenberg
cb41a0169c
tests: update NTLM tests to use new host name
Also drop the debug requirement, remove the setenv sections, remove
prechecks and add NTLM to the top keywords.

Closes #8889
2022-05-20 16:24:13 +02:00
Daniel Stenberg
709ae2454f
ntlm: provide a fixed fake host name
The NTLM protocol includes providing the local host name, but apparently
other implementations already provide a fixed fake name instead to avoid
leaking the real local name.

The exact name used is 'WORKSTATION', because Firefox uses that.

The change is written to allow someone to "back-pedal" fairly easy in
case of need.

Reported-by: Carlo Alberto
Fixes #8859
Closes #8889
2022-05-20 16:24:13 +02:00
Daniel Gustafsson
c92c650413 KNOWN_BUGS: fix typo in problem description
s/TSL/TLS/
2022-05-20 13:43:35 +02:00
Daniel Gustafsson
93fe8a0476 FEATURES: remove yassl as TLS library for NTLM
yassl was added in commit 9d904ee41b but is no longer available
and is thus not a library to use for NTLM. This aligns the FEATURES
doc with the FAQ.

Closes: #8886
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2022-05-20 13:43:12 +02:00
Daniel Gustafsson
3022c5a946 FEATURES: reorder footnotes
The empty left-behind footnote confused the website rendering into
creating a nested emoty list, making the resulting page look quite
odd.  Remove and re-order the remaining ones to avoid a gap in the
sequence.

Closes: #8886
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2022-05-20 13:42:45 +02:00
Daniel Gustafsson
7652310e98 FAQ: remove opinionated sentence on NTLM
curl is a tool that support many different things, and it doesn't
really seem like our job to tell other what to use (as they might
not have much say in the matter even).  Also tidy up wording.

Closes: #8886
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2022-05-20 13:40:12 +02:00
Viktor Szakats
fde1cb9247
log2changes: do not indent empty lines [ci skip]
This will omit two spaces of indentation from lines with no content,
thus avoiding 'spaces @ EOL'.

Reviewed-by: Daniel Stenberg <daniel@haxx.se>
Closes #8887
2022-05-20 05:58:05 +00:00
Daniel Stenberg
a7a18d7589
wolfssl: correct the failf() message when a handle can't be made
Closes #8885
2022-05-19 19:05:17 +02:00
Viktor Szakats
a820c55a72
Makefile.m32: delete two obsolete OpenSSL options [ci skip]
- -DOPENSSL_NO_KRB5: No longer used by OpenSSL 1.1.x, 3.x, or
  LibreSSL 3.5.x, yet it collides with the latter, which defines
  it unconditionally, resulting in this warning:
    ../../libressl/include/openssl/opensslfeatures.h:14:9: warning: 'OPENSSL_NO_KRB5' macro redefined [-Wmacro-redefined]
  It was originally added to curl in 2004.

- -DHAVE_OPENSSL_PKCS12_H: No longer used by OpenSSL 1.1.x, 3.x, or
  LibreSSL back to at least 2.5.5. Originally added in the same
  commit as the above, in 2004.

Closes #8884
2022-05-19 16:47:54 +00:00
Daniel Stenberg
d2c31ef3fb
RELEASE-NOTES: synced
bump to 7.84.0
2022-05-19 17:59:45 +02:00
Christian Weisgerber via curl-library
46f11a4cef
Makefile.am: fix portability issues
Commit a04f0b9613 made me notice that
there is a portability issue in curl's top-level Makefile.am.

$< can only be used in rules that deal with .SUFFIXES.  Its use
for general prerequisites is a GNU make extension.

$< could be replaced by $?, but I think in an autotools context,
something like this is better:

Bug: https://curl.se/mail/lib-2022-05/0024.html
Closes #8861
2022-05-19 15:45:26 +02:00
Balakrishnan Balasubramanian
dfa84a0450
socks: support unix sockets for socks proxy
Usage:
  curl -x "socks5h://localhost/run/tor/socks" "https://example.com"

Updated runtests.pl to run a socksd server listening on unix socket

Added tests test1467 test1468

Added documentation for proxy command line option and socks proxy
options

Closes #8668
2022-05-19 15:35:03 +02:00
Vincent Torri
ee52bead4d
cmake: add libpsl support
Fixes #8865
Closes #8867
2022-05-19 15:29:55 +02:00
Tatsuhiro Tsujikawa
9accb9a5be
ngtcp2: extend QUIC transport parameters buffer
Extend QUIC transport parameters buffer because 64 bytes are too
short for the ever increasing parameters.

Closes #8872
2022-05-19 14:56:50 +02:00
Tatsuhiro Tsujikawa
136ab928c8
ngtcp2: handle error from ngtcp2_conn_submit_crypto_data
Closes #8871
2022-05-19 14:55:37 +02:00
Tatsuhiro Tsujikawa
fe1d00e71b
ngtcp2: send appropriate connection close error code
Closes #8870
2022-05-19 14:54:46 +02:00