Commit Graph

30931 Commits

Author SHA1 Message Date
Daniel Stenberg
7b4da487d5
TODO: Obey Retry-After in redirects
(remove "Set custom client ip when using haproxy protocol" which was
shipped in 8.2.0)

Mentioned-by: Yair Lenga
Closes #11447
2023-07-21 13:54:13 +02:00
Daniel Stenberg
e9e625e4e0
RELEASE-NOTES: synced 2023-07-21 12:47:47 +02:00
Futaura
6290bdf0ec
amissl: fix AmiSSL v5 detection
Due to changes in the AmiSSL SDK, the detection needed adjusting.

Closes #11477
2023-07-21 12:45:11 +02:00
Alois Klink
849b3fed04
unittest/makefile: remove unneeded unit1621_LDADD
The `unit1621_LDADD` variable has the exact same value as the `LDADD`
flag in `Makefile.am`, except without `@LDFLAGS@ @LIBCURL_LIBS@`.

This was originally added by [98e6629][], but I can't see any reason
why it exists, so we should remove it to clean things up.

[98e6629]: 98e6629154

Closes #11494
2023-07-21 12:08:12 +02:00
Alois Klink
50c819e84d
unittest/makefile: remove unneeded unit1394_LDADD
These custom `unit1394_LDADD` and similar automake overrides are no
longer neded. They were originally added by added by [8dac7be][] for
metalink support, but are no longer after [265b14d][] removed metalink.

[8dac7be]: 8dac7be438
[265b14d]: 265b14d6b3

Closes #11494
2023-07-21 12:08:02 +02:00
Alois Klink
39e7c22bb4
cmake: add libcurlu/libcurltool for unit tests
Add a `libcurlu`/`libcurltool` static library that is compiled only for
unit tests. We use `EXCLUDE_FROM_ALL` to make sure that they're not
built by default, they're only built if unit tests are built.

These libraries allow us to compile every unit test with CMake.

Closes #11446
2023-07-21 12:04:45 +02:00
Daniel Stenberg
c42c6eb245
test979: test -u with redirect to (the same) absolute host
Verifies #11492
2023-07-21 11:59:25 +02:00
Daniel Stenberg
90bdd2533c
transfer: do not clear the credentials on redirect to absolute URL
Makes test 979 work. Regression shipped in 8.2.0 from commit
dd4d1a2695

Fixes #11486
Reported-by: Cloudogu Siebels
Closes #11492
2023-07-21 11:59:20 +02:00
Jon Rumsey
db1203781c
os400: correct EXPECTED_STRING_LASTZEROTERMINATED
Correct EXPECTED_STRING_LASTZEROTERMINATED to account for
CURLOPT_HAPROXY_CLIENT_IP which requires EBCDIC to ASCII conversion when
passed into curl_easy_setopt().

Closes #11476
2023-07-20 23:43:28 +02:00
Futaura
5084ee1b6f
amissl: add missing signal.h include
In some environments, signal.h is already included, but not in others
which cause compilation to fail, so explictly include it.

Closes #11478
2023-07-20 23:41:47 +02:00
Futaura
9ea44fca25
amigaos: fix sys/mbuf.h m_len macro clash
The updated Curl_http_req_make and Curl_http_req_make2 functions spawned
a parameter called m_len. The AmigaOS networking headers, derived from
NetBSD, contain "#define m_len m_hdr.mh_len" which clashes with
this. Since we do not actually use mbuf, force the include file to be
ignored, removing the clash.

Closes #11479
2023-07-20 23:41:00 +02:00
Daniel Stenberg
95301e41f1
socks: print ipv6 address within brackets
Fixes #11483
Closes #11484
2023-07-20 23:38:20 +02:00
MonkeybreadSoftware
dc8c14e782
libcurl-errors.3: add CURLUE_OK
Closes #11488
2023-07-20 23:36:58 +02:00
Futaura
7ad4c9066e
cfilters: rename close/connect functions to avoid clashes
Rename `close` and `connect` in `struct Curl_cftype` for
consistency and to avoid clashes with macros of the same name
(the standard AmigaOS networking connect() function is implemented
via a macro).

Closes #11491
2023-07-20 23:35:33 +02:00
Stefan Eissing
f9314f317f
http2: fix regression on upload EOF handling
- a regression introduced by c9ec851211
  where optimization of small POST bodies leads to a new code path
  for such uploads that did not trigger the "done sending" event
- add triggering this event for early "upload_done" situations

Fixes #11485
Closes #11487
Reported-by: Aleksander Mazur
2023-07-20 23:33:18 +02:00
Daniel Stenberg
2900c29218
configure: check for nghttp2_session_get_stream_local_window_size
The http2 code uses it now. Introduced in nghttp2 1.15.0 (Sep 2016)

Fixes #11470
Reported-by: Paul Howarth
Closes #11473
2023-07-19 21:05:26 +02:00
Stefan Eissing
f6c8a0e50d
quiche: fix segfault and other things
- refs #11449 where a segfault is reported when IP Eyeballing did
  not immediately connect but made several attempts
- The transfer initiating the eyeballing was initialized  too early,
  leadding to references to the filter instance that was then
  replaced in the subsequent eyeball attempts. That led to a use
  after free in the buffer handling for the transfer
- transfers are initiated now more lazy (like in the ngtcp2 filter),
  when the stream is actually opened
- suppress reporting on quiche event errors for "other" transfers
  than the current one to not fail a transfer due to faults in
  another one.
- revert recent return value handling for quiche_h3_recv_body()
  to not indicate an error but an EAGAIN situation. We wish quiche
  would document what functions return.

Fixes #11449
Closes #11469
Reported-by: ウさん
2023-07-19 16:38:05 +02:00
Daniel Stenberg
ac67d72179
hostip: return IPv6 first for localhost resolves
Fixes #11465
Reported-by: Chilledheart on github
Closes #11466
2023-07-19 16:13:17 +02:00
Harry Sintonen
51ccc7870f
tool: fix tool_seek_cb build when SIZEOF_CURL_OFF_T > SIZEOF_OFF_T
- a variable was renamed, and some use of it wasn't. this fixes the
  build.

Closes #11468
2023-07-19 15:36:41 +02:00
Stefan Eissing
3b4ecdd0a8
quiche: fix lookup of transfer at multi
- refs #11449 where weirdness in quiche multi connection tranfers was
  observed
- fixes lookup of transfer for a quiche event to take the connection
  into account
- formerly, a transfer with the same stream_id, but on another connection
  could be found

Closes #11462
2023-07-19 09:28:57 +02:00
Daniel Stenberg
8edfdf9cf1
RELEASE-NOTES: synced
bump to 8.2.1
2023-07-19 09:26:46 +02:00
John Haugabook
c0d05b2990
ciphers.d: put URL in first column
This makes the URL turn into a link properly when "webified".

Fixes https://github.com/curl/curl-www/issues/270
Closes #11464
2023-07-19 09:20:04 +02:00
Daniel Stenberg
98044e8170
RELEASE-NOTES: synced
8.2.0 release
2023-07-19 08:12:46 +02:00
Daniel Stenberg
8d6818eb68
THANKS-filter: strip out "GitHub" 2023-07-19 08:12:46 +02:00
Daniel Stenberg
69c025f245
THANKS: add contributors from 8.2.0 2023-07-19 08:12:46 +02:00
Daniel Stenberg
f2aac0d108
RELEASE-PROCEDURE.md: adjust the release dates 2023-07-18 12:06:50 +02:00
Stefan Eissing
b105a9fd83
quiche: fix defects found in latest coverity report
Closes #11455
2023-07-17 23:27:55 +02:00
Daniel Stenberg
a141c3c08b
quiche: avoid NULL deref in debug logging
Coverity reported "Dereference after null check"

If stream is NULL and the function exits, the logging must not deref it.

Closes #11454
2023-07-17 23:27:01 +02:00
Stefan Eissing
380fe02cf5
http2: treat initial SETTINGS as a WINDOW_UPDATE
- refs #11426 where spurious stalls on large POST requests
  are reported
- the issue seems to involve the following
  * first stream on connection adds up to 64KB of POST
    data, which is the max default HTTP/2 stream window size
    transfer is set to HOLD
  * initial SETTINGS from server arrive, enlarging the stream
    window. But no WINDOW_UPDATE is received.
  * curl stalls
- the fix un-HOLDs a stream on receiving SETTINGS, not
  relying on a WINDOW_UPDATE from lazy servers

Closes #11450
2023-07-17 23:26:09 +02:00
Daniel Stenberg
0d59aea93f
ngtcp2: assigning timeout, but value is overwritten before used
Reported by Coverity

Closes #11453
2023-07-17 21:02:56 +02:00
Daniel Stenberg
4aa64e67e2
krb5: add typecast to please Coverity 2023-07-17 20:10:38 +02:00
Derzsi Dániel
ebd83bfbae
wolfssl: support setting CA certificates as blob
Closes #11445
2023-07-16 23:37:14 +02:00
Derzsi Dániel
eccf896df8
wolfssl: detect when TLS 1.2 support is not built into wolfssl
Closes #11444
2023-07-16 23:28:57 +02:00
Graham Campbell
cbe0b0e18b
CI: bump nghttp2 from 1.55.0 to 1.55.1
Closes #11442
2023-07-15 23:27:22 +02:00
Daniel Stenberg
8d7cda1f92
curl: return error when asked to use an unsupported HTTP version
When one of the following options are used but the libcurl in use does
not support it:

--http2
--http2-prior-knowledge
--proxy-http2

Closes #11440
2023-07-15 19:02:20 +02:00
Chris Paulson-Ellis
a70d97c46c
cf-socket: don't bypass fclosesocket callback if cancelled before connect
After upgrading to 8.1.2 from 7.84.0, I found that sockets were being
closed without calling the fclosesocket callback if a request was
cancelled after the associated socket was created, but before the socket
was connected. This lead to an imbalance of fopensocket & fclosesocket
callbacks, causing problems with a custom event loop integration using
the multi-API.

This was caused by cf_socket_close() calling sclose() directly instead
of calling socket_close() if the socket was not active. For regular TCP
client connections, the socket is activated by cf_socket_active(), which
is only called when the socket completes the connect.

As far as I can tell, this issue has existed since 7.88.0. That is,
since the code in question was introduced by:
    commit 71b7e01610
    Author: Stefan Eissing <stefan@eissing.org>
    Date:   Fri Dec 30 09:14:55 2022 +0100

        lib: connect/h2/h3 refactor

Closes #11439
2023-07-14 22:44:19 +02:00
Daniel Stenberg
e53df4cf08
tool_parsecfg: accept line lengths up to 10M
Bumped from 100K set in 47dd957daf

Reported-by: Antoine du Hamel
Fixes #11431
Closes #11435
2023-07-13 15:16:41 +02:00
Stefan Eissing
5c07439ba3
CI: brew fix for openssl in default path
If brew install/update links openssl into /usr/local, it will be found
before anything we add with `-isystem path` to CPP/LDLFAGS.  Get rid of
that by unlinking the keg.

Fixes #11413
Closes #11436
2023-07-13 15:15:44 +02:00
Daniel Stenberg
d0104fbe87
RELEASE-NOTES: synced 2023-07-13 14:58:59 +02:00
Ondřej Koláček
9630fb9f2a
sectransp: fix EOF handling
Regression since the large refactor from 2022

Closes #11427
2023-07-13 14:35:21 +02:00
Daniel Stenberg
b87e0921e0
checksrc: quote the file name to work with "funny" letters
Closes #11437
2023-07-13 14:25:18 +02:00
Karthikdasari0423
049e96da94
HTTP3.md: ngtcp2 updated to v0.17.0 and nghttp3 to v0.13.0
Follow-up to e0093b4b73

Closes #11433
2023-07-13 08:56:41 +02:00
Daniel Stenberg
d80c1008f6
CURLOPT_MIMEPOST.3: clarify what setting to NULL means
Follow-up to e08382a208

Closes #11430
2023-07-13 08:54:48 +02:00
Tatsuhiro Tsujikawa
e0093b4b73
ngtcp2: build with 0.17.0 and nghttp3 0.13.0
- ngtcp2_crypto_openssl was renamed to ngtcp2_crypto_quictls.

Closes #11428
2023-07-12 14:43:37 +02:00
Tatsuhiro Tsujikawa
993b14900a
CI: Bump ngtcp2, nghttp3, and nghttp2
Closes #11428
2023-07-12 14:43:30 +02:00
James Fuller
97394caa20
example/maxconnects: set maxconnect example
Closes #11343
2023-07-11 20:13:25 +02:00
Pontakorn Prasertsuk
c9ec851211
http2: send HEADER & DATA together if possible
Closes #11420
2023-07-11 20:09:55 +02:00
Daniel Stenberg
9946410861
CI: use wolfSSL 5.6.3 in builds
No using master anymore

Closes #11424
2023-07-11 20:07:22 +02:00
SaltyMilk
0c667188e0
fopen: optimize
Closes #11419
2023-07-11 19:43:51 +02:00
Daniel Stenberg
3b0eb3cd5c
cmake: make use of snprintf
Follow-up to 935b1bd454

Closes #11423
2023-07-11 19:42:47 +02:00