xref: /third_party/curl/CHANGES (revision 13498266)
113498266Sopenharmony_ci                                  _   _ ____  _
213498266Sopenharmony_ci                              ___| | | |  _ \| |
313498266Sopenharmony_ci                             / __| | | | |_) | |
413498266Sopenharmony_ci                            | (__| |_| |  _ <| |___
513498266Sopenharmony_ci                             \___|\___/|_| \_\_____|
613498266Sopenharmony_ci
713498266Sopenharmony_ci                                  Changelog
813498266Sopenharmony_ci
913498266Sopenharmony_ciVersion 8.6.0 (31 Jan 2024)
1013498266Sopenharmony_ci
1113498266Sopenharmony_ciDaniel Stenberg (31 Jan 2024)
1213498266Sopenharmony_ci
1313498266Sopenharmony_ci- RELEASE-NOTES: synced
1413498266Sopenharmony_ci
1513498266Sopenharmony_ci  curl 8.6.0
1613498266Sopenharmony_ci
1713498266Sopenharmony_ci- THANKS: new contributors from 8.5.0
1813498266Sopenharmony_ci
1913498266Sopenharmony_ciJay Satiro (31 Jan 2024)
2013498266Sopenharmony_ci
2113498266Sopenharmony_ci- cd2nroff: use perl 'strict' and 'warnings'
2213498266Sopenharmony_ci
2313498266Sopenharmony_ci  - Use strict and warnings pragmas.
2413498266Sopenharmony_ci
2513498266Sopenharmony_ci  - If open() fails then show the reason.
2613498266Sopenharmony_ci
2713498266Sopenharmony_ci  - Set STDIN io layer :crlf so that input is properly read on Windows.
2813498266Sopenharmony_ci
2913498266Sopenharmony_ci  - When STDIN is used as input, the filename $f is now set to "STDIN".
3013498266Sopenharmony_ci
3113498266Sopenharmony_ci  Various error messages in single() use $f for the filename and this way
3213498266Sopenharmony_ci  it is not undefined when STDIN.
3313498266Sopenharmony_ci
3413498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12819
3513498266Sopenharmony_ci
3613498266Sopenharmony_ciDaniel Stenberg (30 Jan 2024)
3713498266Sopenharmony_ci
3813498266Sopenharmony_ci- cd2nroff: fix duplicate output issue
3913498266Sopenharmony_ci
4013498266Sopenharmony_ci  Assisted-by: Jay Satiro
4113498266Sopenharmony_ci  Fixes https://github.com/curl/curl-www/issues/321
4213498266Sopenharmony_ci  Closes #12818
4313498266Sopenharmony_ci
4413498266Sopenharmony_ci- lib: error out on multissl + http3
4513498266Sopenharmony_ci
4613498266Sopenharmony_ci  Since the QUIC/h3 code has no knowledge or handling of multissl it might
4713498266Sopenharmony_ci  bring unintended consequences if we allow it.
4813498266Sopenharmony_ci
4913498266Sopenharmony_ci  configure, cmake and curl_setup.h all now reject this combination.
5013498266Sopenharmony_ci
5113498266Sopenharmony_ci  Assisted-by: Viktor Szakats
5213498266Sopenharmony_ci  Assisted-by: Gisle Vanem
5313498266Sopenharmony_ci  Ref: #12806
5413498266Sopenharmony_ci  Closes #12807
5513498266Sopenharmony_ci
5613498266Sopenharmony_ciPatrick Monnerat (29 Jan 2024)
5713498266Sopenharmony_ci
5813498266Sopenharmony_ci- OS400: sync ILE/RPG binding
5913498266Sopenharmony_ci
6013498266Sopenharmony_ci  Also do not force git CRLF line endings on *.cmd files for OS400.
6113498266Sopenharmony_ci
6213498266Sopenharmony_ci  Closes #12815
6313498266Sopenharmony_ci
6413498266Sopenharmony_ciViktor Szakats (28 Jan 2024)
6513498266Sopenharmony_ci
6613498266Sopenharmony_ci- build: delete/replace 3 more clang warning pragmas
6713498266Sopenharmony_ci
6813498266Sopenharmony_ci  - tool_msgs: delete redundant `-Wformat-nonliteral` suppression pragma.
6913498266Sopenharmony_ci
7013498266Sopenharmony_ci  - whitespace formatting in `mprintf.h`, lib518, lib537.
7113498266Sopenharmony_ci
7213498266Sopenharmony_ci  - lib518: fix wrong variable in `sizeof()`.
7313498266Sopenharmony_ci
7413498266Sopenharmony_ci  - lib518: bump variables to `rlim_t`.
7513498266Sopenharmony_ci    Follow-up to e2b394106d543c4615a60795b7fdce04bd4e5090 #1469
7613498266Sopenharmony_ci
7713498266Sopenharmony_ci  - lib518: sync error message with lib537
7813498266Sopenharmony_ci    Follow-up to 365322b8bcf9efb6a361473d227b70f2032212ce
7913498266Sopenharmony_ci
8013498266Sopenharmony_ci  - lib518, lib537: replace `-Wformat-nonliteral` suppression pragmas
8113498266Sopenharmony_ci    by reworking test code.
8213498266Sopenharmony_ci
8313498266Sopenharmony_ci  Follow-up to 5b286c250829e06a135a6ba998e80beb7f43a734 #12812
8413498266Sopenharmony_ci  Follow-up to aee4ebe59161d0a5281743f96e7738ad97fe1cd4 #12803
8513498266Sopenharmony_ci  Follow-up to 09230127589eccc7e01c1a7217787ef8e64f3328 #12540
8613498266Sopenharmony_ci  Follow-up to 3829759bd042c03225ae862062560f568ba1a231 #12489
8713498266Sopenharmony_ci
8813498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
8913498266Sopenharmony_ci  Closes #12814
9013498266Sopenharmony_ci
9113498266Sopenharmony_ciRichard Levitte (27 Jan 2024)
9213498266Sopenharmony_ci
9313498266Sopenharmony_ci- cmake: freshen up docs/INSTALL.cmake
9413498266Sopenharmony_ci
9513498266Sopenharmony_ci  - Turn docs/INSTALL.cmake into a proper markdown file,
9613498266Sopenharmony_ci    docs/INSTALL-CMAKE.md
9713498266Sopenharmony_ci  - Move things around to divide the description into configuration,
9813498266Sopenharmony_ci    building and installing sections
9913498266Sopenharmony_ci  - Mention the more modern cmake options to configure, build and install,
10013498266Sopenharmony_ci    but also retain the older variants as fallbacks
10113498266Sopenharmony_ci
10213498266Sopenharmony_ci  Closes #12772
10313498266Sopenharmony_ci
10413498266Sopenharmony_ciViktor Szakats (27 Jan 2024)
10513498266Sopenharmony_ci
10613498266Sopenharmony_ci- build: delete/replace clang warning pragmas
10713498266Sopenharmony_ci
10813498266Sopenharmony_ci  - delete redundant warning suppressions for `-Wformat-nonliteral`.
10913498266Sopenharmony_ci    This now relies on `CURL_PRINTF()` and it's theoratically possible
11013498266Sopenharmony_ci    that this macro isn't active but the warning is. We're ignoring this
11113498266Sopenharmony_ci    as a corner-case here.
11213498266Sopenharmony_ci
11313498266Sopenharmony_ci  - replace two pragmas with code changes to avoid the warnings.
11413498266Sopenharmony_ci
11513498266Sopenharmony_ci  Follow-up to aee4ebe59161d0a5281743f96e7738ad97fe1cd4 #12803
11613498266Sopenharmony_ci  Follow-up to 09230127589eccc7e01c1a7217787ef8e64f3328 #12540
11713498266Sopenharmony_ci  Follow-up to 3829759bd042c03225ae862062560f568ba1a231 #12489
11813498266Sopenharmony_ci
11913498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
12013498266Sopenharmony_ci  Closes #12812
12113498266Sopenharmony_ci
12213498266Sopenharmony_ciDaniel Stenberg (27 Jan 2024)
12313498266Sopenharmony_ci
12413498266Sopenharmony_ci- RELEASE-NOTES: synced
12513498266Sopenharmony_ci
12613498266Sopenharmony_ci- http: only act on 101 responses when they are HTTP/1.1
12713498266Sopenharmony_ci
12813498266Sopenharmony_ci  For 101 responses claiming to be any other protocol, bail out. This
12913498266Sopenharmony_ci  would previously trigger an assert.
13013498266Sopenharmony_ci
13113498266Sopenharmony_ci  Add test 1704 to verify.
13213498266Sopenharmony_ci
13313498266Sopenharmony_ci  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66184
13413498266Sopenharmony_ci  Closes #12811
13513498266Sopenharmony_ci
13613498266Sopenharmony_ciScarlett McAllister (27 Jan 2024)
13713498266Sopenharmony_ci
13813498266Sopenharmony_ci- _VARIABLES.md: add missing 'be' into the sentence
13913498266Sopenharmony_ci
14013498266Sopenharmony_ci  Closes #12809
14113498266Sopenharmony_ci
14213498266Sopenharmony_ciStefan Eissing (27 Jan 2024)
14313498266Sopenharmony_ci
14413498266Sopenharmony_ci- mqtt, remove remaining use of data->state.buffer
14513498266Sopenharmony_ci
14613498266Sopenharmony_ci  Closes #12799
14713498266Sopenharmony_ci
14813498266Sopenharmony_ciDaniel Stenberg (27 Jan 2024)
14913498266Sopenharmony_ci
15013498266Sopenharmony_ci- x509asn1: switch from malloc to dynbuf
15113498266Sopenharmony_ci
15213498266Sopenharmony_ci  Closes #12808
15313498266Sopenharmony_ci
15413498266Sopenharmony_ci- x509asn1: make utf8asn1str() use dynbuf instead of malloc + memcpy
15513498266Sopenharmony_ci
15613498266Sopenharmony_ci  Closes #12808
15713498266Sopenharmony_ci
15813498266Sopenharmony_ci- x509asn1: reduce malloc in Curl_extract_certinfo
15913498266Sopenharmony_ci
16013498266Sopenharmony_ci  Using dynbuf
16113498266Sopenharmony_ci
16213498266Sopenharmony_ci  Closes #12808
16313498266Sopenharmony_ci
16413498266Sopenharmony_ciJay Satiro (27 Jan 2024)
16513498266Sopenharmony_ci
16613498266Sopenharmony_ci- THANKS: add Alexander Bartel and Brennan Kinney
16713498266Sopenharmony_ci
16813498266Sopenharmony_ci  They reported and investigated #10259 which was fixed by 7b2d98df.
16913498266Sopenharmony_ci
17013498266Sopenharmony_ci  Ref: https://github.com/curl/curl/issues/10259
17113498266Sopenharmony_ci
17213498266Sopenharmony_ciDaniel Stenberg (26 Jan 2024)
17313498266Sopenharmony_ci
17413498266Sopenharmony_ci- krb5: add prototype to silence clang warnings on mvsnprintf()
17513498266Sopenharmony_ci
17613498266Sopenharmony_ci  "error: format string is not a string literal"
17713498266Sopenharmony_ci
17813498266Sopenharmony_ci  Follow-up to 09230127589eccc7 which made the warning appear
17913498266Sopenharmony_ci
18013498266Sopenharmony_ci  Assisted-by: Viktor Szakats
18113498266Sopenharmony_ci  Closes #12803
18213498266Sopenharmony_ci
18313498266Sopenharmony_ci- x509asn1: remove code for WANT_VERIFYHOST
18413498266Sopenharmony_ci
18513498266Sopenharmony_ci  No code ever sets this anymore since we dropped gskit
18613498266Sopenharmony_ci
18713498266Sopenharmony_ci  Follow-up to 78d6232f1f326b9ab4d
18813498266Sopenharmony_ci
18913498266Sopenharmony_ci  Closes #12804
19013498266Sopenharmony_ci
19113498266Sopenharmony_ci- socks: reduce the buffer size to 600 (from 8K)
19213498266Sopenharmony_ci
19313498266Sopenharmony_ci  This is malloc'ed memory and it does not more. Test 742 helps us verify
19413498266Sopenharmony_ci  this.
19513498266Sopenharmony_ci
19613498266Sopenharmony_ci  Closes #12789
19713498266Sopenharmony_ci
19813498266Sopenharmony_ciStefan Eissing (26 Jan 2024)
19913498266Sopenharmony_ci
20013498266Sopenharmony_ci- file+ftp: use stack buffers instead of data->state.buffer
20113498266Sopenharmony_ci
20213498266Sopenharmony_ci  Closes #12789
20313498266Sopenharmony_ci
20413498266Sopenharmony_ci- vtls: receive max buffer
20513498266Sopenharmony_ci
20613498266Sopenharmony_ci  - do not only receive one TLS record, but try to fill
20713498266Sopenharmony_ci    the passed buffer
20813498266Sopenharmony_ci  - consider <4K remaning space is "filled".
20913498266Sopenharmony_ci
21013498266Sopenharmony_ci  Closes #12801
21113498266Sopenharmony_ci
21213498266Sopenharmony_ciDaniel Stenberg (26 Jan 2024)
21313498266Sopenharmony_ci
21413498266Sopenharmony_ci- docs: do not start lines/sentences with So, But nor And
21513498266Sopenharmony_ci
21613498266Sopenharmony_ci  Closes #12802
21713498266Sopenharmony_ci
21813498266Sopenharmony_ci- docs: remove spurious ampersands from markdown
21913498266Sopenharmony_ci
22013498266Sopenharmony_ci  They were leftovers from the nroff conversion.
22113498266Sopenharmony_ci
22213498266Sopenharmony_ci  Follow-up to eefcc1bda4bccd800f5a5
22313498266Sopenharmony_ci
22413498266Sopenharmony_ci  Closes #12800
22513498266Sopenharmony_ci
22613498266Sopenharmony_ciPatrick Monnerat (26 Jan 2024)
22713498266Sopenharmony_ci
22813498266Sopenharmony_ci- sasl: make login option string override http auth
22913498266Sopenharmony_ci
23013498266Sopenharmony_ci  - Use http authentication mechanisms as a default, not a preset.
23113498266Sopenharmony_ci
23213498266Sopenharmony_ci  Consider http authentication options which are mapped to SASL options as
23313498266Sopenharmony_ci  a default (overriding the hardcoded default mask for the protocol) that
23413498266Sopenharmony_ci  is ignored if a login option string is given.
23513498266Sopenharmony_ci
23613498266Sopenharmony_ci  Prior to this change, if some HTTP auth options were given, sasl mapped
23713498266Sopenharmony_ci  http authentication options to sasl ones but merged them with the login
23813498266Sopenharmony_ci  options.
23913498266Sopenharmony_ci
24013498266Sopenharmony_ci  That caused problems with the cli tool that sets the http login option
24113498266Sopenharmony_ci  CURLAUTH_BEARER as a side-effect of --oauth2-bearer, because this flag
24213498266Sopenharmony_ci  maps to more than one sasl mechanisms and the latter cannot be cleared
24313498266Sopenharmony_ci  individually by the login options string.
24413498266Sopenharmony_ci
24513498266Sopenharmony_ci  New test 992 checks this.
24613498266Sopenharmony_ci
24713498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/10259
24813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12790
24913498266Sopenharmony_ci
25013498266Sopenharmony_ciStefan Eissing (26 Jan 2024)
25113498266Sopenharmony_ci
25213498266Sopenharmony_ci- socks: use own buffer instead of data->state.buffer
25313498266Sopenharmony_ci
25413498266Sopenharmony_ci  Closes #12788
25513498266Sopenharmony_ci
25613498266Sopenharmony_ciDaniel Stenberg (26 Jan 2024)
25713498266Sopenharmony_ci
25813498266Sopenharmony_ci- socks: fix generic output string to say SOCKS instead of SOCKS4
25913498266Sopenharmony_ci
26013498266Sopenharmony_ci  ... since it was also logged for SOCKS5.
26113498266Sopenharmony_ci
26213498266Sopenharmony_ci  Closes #12797
26313498266Sopenharmony_ci
26413498266Sopenharmony_ci- test742: test SOCKS5 with max length user, password and hostname
26513498266Sopenharmony_ci
26613498266Sopenharmony_ci  Adjusted the socksd server accordingly to allow for configuring that
26713498266Sopenharmony_ci  long user name and password.
26813498266Sopenharmony_ci
26913498266Sopenharmony_ci  Closes #12797
27013498266Sopenharmony_ci
27113498266Sopenharmony_ciStefan Eissing (25 Jan 2024)
27213498266Sopenharmony_ci
27313498266Sopenharmony_ci- ssh: use stack scratch buffer for seeks
27413498266Sopenharmony_ci
27513498266Sopenharmony_ci  - instead of data->state.buffer
27613498266Sopenharmony_ci
27713498266Sopenharmony_ci  Closes #12794
27813498266Sopenharmony_ci
27913498266Sopenharmony_ciDaniel Stenberg (25 Jan 2024)
28013498266Sopenharmony_ci
28113498266Sopenharmony_ci- krb5: access the response buffer correctly
28213498266Sopenharmony_ci
28313498266Sopenharmony_ci  As the pingpong code no longer uses the download buffer.
28413498266Sopenharmony_ci
28513498266Sopenharmony_ci  Folllow-up to c2d973627bab12ab
28613498266Sopenharmony_ci  Pointed-out-by: Stefan Eissing
28713498266Sopenharmony_ci  Closes #12796
28813498266Sopenharmony_ci
28913498266Sopenharmony_ciStefan Eissing (25 Jan 2024)
29013498266Sopenharmony_ci
29113498266Sopenharmony_ci- mqtt: use stack scratch buffer for recv+publish
29213498266Sopenharmony_ci
29313498266Sopenharmony_ci  - instead of data->state.buffer
29413498266Sopenharmony_ci
29513498266Sopenharmony_ci  Closes #12792
29613498266Sopenharmony_ci
29713498266Sopenharmony_ci- telnet, use stack scratch buffer for do
29813498266Sopenharmony_ci
29913498266Sopenharmony_ci  - instead of data->state.buffer
30013498266Sopenharmony_ci
30113498266Sopenharmony_ci  Closes #12793
30213498266Sopenharmony_ci
30313498266Sopenharmony_ci- http, use stack scratch buffer
30413498266Sopenharmony_ci
30513498266Sopenharmony_ci  - instead of data->state.buffer
30613498266Sopenharmony_ci
30713498266Sopenharmony_ci  Closes #12791
30813498266Sopenharmony_ci
30913498266Sopenharmony_ci- ntlm_wb: do not use data->state.buf any longer
31013498266Sopenharmony_ci
31113498266Sopenharmony_ci  Closes #12787
31213498266Sopenharmony_ci
31313498266Sopenharmony_ci- gitignore: the generated `libcurl-symbols.md`
31413498266Sopenharmony_ci
31513498266Sopenharmony_ci  Closes #12795
31613498266Sopenharmony_ci
31713498266Sopenharmony_ciDaniel Stenberg (25 Jan 2024)
31813498266Sopenharmony_ci
31913498266Sopenharmony_ci- tool: fix the listhelp generation command
32013498266Sopenharmony_ci
32113498266Sopenharmony_ci  The previous command line to generate the tool_listhelp.c source file
32213498266Sopenharmony_ci  broke with 2494b8dd5175cee7.
32313498266Sopenharmony_ci
32413498266Sopenharmony_ci  Make 'make listhelp' invoked in src/ generate it. Also update the
32513498266Sopenharmony_ci  comment in the file to mention the right procedure.
32613498266Sopenharmony_ci
32713498266Sopenharmony_ci  Closes #12786
32813498266Sopenharmony_ci
32913498266Sopenharmony_ci- http: check for "Host:" case insensitively
33013498266Sopenharmony_ci
33113498266Sopenharmony_ci  When checking if the user wants to replace the header, the check should
33213498266Sopenharmony_ci  be case insensitive.
33313498266Sopenharmony_ci
33413498266Sopenharmony_ci  Adding test 461 to verify
33513498266Sopenharmony_ci
33613498266Sopenharmony_ci  Found-by: Dan Fandrich
33713498266Sopenharmony_ci  Ref: #12782
33813498266Sopenharmony_ci  Closes #12784
33913498266Sopenharmony_ci
34013498266Sopenharmony_ciTatsuhiro Tsujikawa (25 Jan 2024)
34113498266Sopenharmony_ci
34213498266Sopenharmony_ci- configure: add libngtcp2_crypto_boringssl detection
34313498266Sopenharmony_ci
34413498266Sopenharmony_ci  If OpenSSL is found to be BoringSSL or AWS-LC, and ngtcp2 is requested,
34513498266Sopenharmony_ci  try to detect libngtcp2_crypto_boringssl.
34613498266Sopenharmony_ci
34713498266Sopenharmony_ci  Reported-by: ウさん
34813498266Sopenharmony_ci  Fixes #12724
34913498266Sopenharmony_ci  Closes #12769
35013498266Sopenharmony_ci
35113498266Sopenharmony_ciDaniel Stenberg (25 Jan 2024)
35213498266Sopenharmony_ci
35313498266Sopenharmony_ci- http: remove comment reference to a removed solution
35413498266Sopenharmony_ci
35513498266Sopenharmony_ci  Follow-up to 58974d25d
35613498266Sopenharmony_ci
35713498266Sopenharmony_ci  Closes #12785
35813498266Sopenharmony_ci
35913498266Sopenharmony_ciStefan Eissing (25 Jan 2024)
36013498266Sopenharmony_ci
36113498266Sopenharmony_ci- pytest: Scorecard tracking CPU and RSS
36213498266Sopenharmony_ci
36313498266Sopenharmony_ci  Closes #12765
36413498266Sopenharmony_ci
36513498266Sopenharmony_ciGraham Campbell (25 Jan 2024)
36613498266Sopenharmony_ci
36713498266Sopenharmony_ci- GHA: bump ngtcp2, gnutls, mod_h2, quiche
36813498266Sopenharmony_ci
36913498266Sopenharmony_ci  - ngtcp2 to v1.2.0
37013498266Sopenharmony_ci  - gnutls to 3.8.3
37113498266Sopenharmony_ci  - mod_h2 to 2.0.26
37213498266Sopenharmony_ci  - quiche to 0.20.0
37313498266Sopenharmony_ci
37413498266Sopenharmony_ci  Closes #12778
37513498266Sopenharmony_ci  Closes #12779
37613498266Sopenharmony_ci  Closes #12780
37713498266Sopenharmony_ci  Closes #12781
37813498266Sopenharmony_ci
37913498266Sopenharmony_ciDaniel Stenberg (25 Jan 2024)
38013498266Sopenharmony_ci
38113498266Sopenharmony_ci- ftpserver.pl: send 213 SIZE response without spurious newline
38213498266Sopenharmony_ci
38313498266Sopenharmony_ci- pingpong: stop using the download buffer
38413498266Sopenharmony_ci
38513498266Sopenharmony_ci  The pingpong logic now uses its own dynbuf for receiving command
38613498266Sopenharmony_ci  response data.
38713498266Sopenharmony_ci
38813498266Sopenharmony_ci  When the "final" response header for a commanad has been received, that
38913498266Sopenharmony_ci  final line is left first in the recvbuf for the protocols to parse at
39013498266Sopenharmony_ci  will. If there is additional data behind the final response line, the
39113498266Sopenharmony_ci  'overflow' counter is indicate how many bytes.
39213498266Sopenharmony_ci
39313498266Sopenharmony_ci  Closes #12757
39413498266Sopenharmony_ci
39513498266Sopenharmony_ci- gen.pl: remove bold from .IP used for ##
39613498266Sopenharmony_ci
39713498266Sopenharmony_ci  Reported-by: Viktor Szakats
39813498266Sopenharmony_ci  Fixes #12776
39913498266Sopenharmony_ci  Closes #12777
40013498266Sopenharmony_ci
40113498266Sopenharmony_ciViktor Szakats (24 Jan 2024)
40213498266Sopenharmony_ci
40313498266Sopenharmony_ci- cmake: rework options to enable curl and libcurl docs
40413498266Sopenharmony_ci
40513498266Sopenharmony_ci  Rework CMake options for building/using curl tool and libcurl manuals.
40613498266Sopenharmony_ci
40713498266Sopenharmony_ci  - rename `ENABLE_MANUAL` to `ENABLE_CURL_MANUAL`, meaning:
40813498266Sopenharmony_ci    to build man page and built-in manual for curl tool.
40913498266Sopenharmony_ci
41013498266Sopenharmony_ci  - rename `BUILD_DOCS` to `BUILD_LIBCURL_DOCS`, meaning:
41113498266Sopenharmony_ci    to build man pages for libcurl.
41213498266Sopenharmony_ci
41313498266Sopenharmony_ci  - `BUILD_LIBCURL_DOCS` now works without having to enable
41413498266Sopenharmony_ci    `ENABLE_CURL_MANUAL` too.
41513498266Sopenharmony_ci
41613498266Sopenharmony_ci  - drop support for existing CMake-level `USE_MANUAL` option to avoid
41713498266Sopenharmony_ci    confusion. (It used to work with the effect of current
41813498266Sopenharmony_ci    `ENABLE_CURL_MANUAL`, but only by accident.)
41913498266Sopenharmony_ci
42013498266Sopenharmony_ci  Assisted-by: Richard Levitte
42113498266Sopenharmony_ci  Ref: #12771
42213498266Sopenharmony_ci  Closes #12773
42313498266Sopenharmony_ci
42413498266Sopenharmony_ciDaniel Stenberg (24 Jan 2024)
42513498266Sopenharmony_ci
42613498266Sopenharmony_ci- urlapi: remove assert
42713498266Sopenharmony_ci
42813498266Sopenharmony_ci  This assert triggers wrongly when CURLU_GUESS_SCHEME and
42913498266Sopenharmony_ci  CURLU_NO_AUTHORITY are both set and the URL is a single path.
43013498266Sopenharmony_ci
43113498266Sopenharmony_ci  I think this assert has played out its role. It was introduced in a
43213498266Sopenharmony_ci  rather big refactor.
43313498266Sopenharmony_ci
43413498266Sopenharmony_ci  Follow-up to 4cfa5bcc9a
43513498266Sopenharmony_ci
43613498266Sopenharmony_ci  Reported-by: promptfuzz_ on hackerone
43713498266Sopenharmony_ci  Closes #12775
43813498266Sopenharmony_ci
43913498266Sopenharmony_ciPatrick Monnerat (24 Jan 2024)
44013498266Sopenharmony_ci
44113498266Sopenharmony_ci- tests: avoid int/size_t conversion size/sign warnings
44213498266Sopenharmony_ci
44313498266Sopenharmony_ci  Closes #12768
44413498266Sopenharmony_ci
44513498266Sopenharmony_ciDaniel Stenberg (24 Jan 2024)
44613498266Sopenharmony_ci
44713498266Sopenharmony_ci- GHA: add a job scanning for "bad words" in markdown
44813498266Sopenharmony_ci
44913498266Sopenharmony_ci  This means words, phrases or things we have decided not to use - words that
45013498266Sopenharmony_ci  are spelled right according to the dictionary but we want to avoid. In the
45113498266Sopenharmony_ci  name of consistency and better documentation.
45213498266Sopenharmony_ci
45313498266Sopenharmony_ci  Closes #12764
45413498266Sopenharmony_ci
45513498266Sopenharmony_ciViktor Szakats (23 Jan 2024)
45613498266Sopenharmony_ci
45713498266Sopenharmony_ci- cmake: speed up curldown processing, enable by default
45813498266Sopenharmony_ci
45913498266Sopenharmony_ci  - cmake: enable `BUILD_DOCS` by default (this controls converting and
46013498266Sopenharmony_ci    installing `.3` files from `.md` sources)
46113498266Sopenharmony_ci
46213498266Sopenharmony_ci  - cmake: speed up generating `.3` files by using a single command per
46313498266Sopenharmony_ci    directory, instead of a single command per file. This reduces external
46413498266Sopenharmony_ci    commands by about a thousand. (There remains some CMake logic kicking
46513498266Sopenharmony_ci    in resulting in 500 -one per file- external `-E touch_nocreate` calls.)
46613498266Sopenharmony_ci
46713498266Sopenharmony_ci  - cd2nroff: add ability to process multiple input files.
46813498266Sopenharmony_ci
46913498266Sopenharmony_ci  - cd2nroff: add `-k` option to use the source filename to form the
47013498266Sopenharmony_ci    output filename. (instead of the default in-file `Title:` line.)
47113498266Sopenharmony_ci
47213498266Sopenharmony_ci  Follow-up to 3f08d80b2244524646ce86915c585509ac54fb4c
47313498266Sopenharmony_ci  Follow-up to ea0b575dab86a3c44dd1d547dc500276266aa382 #12753
47413498266Sopenharmony_ci  Follow-up to eefcc1bda4bccd800f5a56a0fe17a2f44a96e88b #12730
47513498266Sopenharmony_ci
47613498266Sopenharmony_ci  Closes #12762
47713498266Sopenharmony_ci
47813498266Sopenharmony_ciRichard Levitte (23 Jan 2024)
47913498266Sopenharmony_ci
48013498266Sopenharmony_ci- docs: install curl.1 with cmake as well
48113498266Sopenharmony_ci
48213498266Sopenharmony_ci  Closes #12759
48313498266Sopenharmony_ci
48413498266Sopenharmony_ciDaniel Stenberg (23 Jan 2024)
48513498266Sopenharmony_ci
48613498266Sopenharmony_ci- osslq: remove the TLS library from the version output
48713498266Sopenharmony_ci
48813498266Sopenharmony_ci  Since we only support using a single TLS library at any one time, we
48913498266Sopenharmony_ci  know that the TLS library for QUIC is the same that is also shown for
49013498266Sopenharmony_ci  regular TLS.
49113498266Sopenharmony_ci
49213498266Sopenharmony_ci  Fixes #12763
49313498266Sopenharmony_ci  Reported-by: Viktor Szakats
49413498266Sopenharmony_ci  Closes #12767
49513498266Sopenharmony_ci
49613498266Sopenharmony_ciStefan Eissing (23 Jan 2024)
49713498266Sopenharmony_ci
49813498266Sopenharmony_ci- CI: remove unnecessary OpenSSL 3 option `enable-tls1_3`
49913498266Sopenharmony_ci
50013498266Sopenharmony_ci  .. and switch OpenSSL 3 libdir from lib64 to lib for consistency.
50113498266Sopenharmony_ci
50213498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12758
50313498266Sopenharmony_ci
50413498266Sopenharmony_ci- GHA: bump nghttp2 version to v1.59.0
50513498266Sopenharmony_ci
50613498266Sopenharmony_ci  - Switch to v1.59.0 for GHA CI jobs that use a specific nghttp2-version.
50713498266Sopenharmony_ci
50813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12766
50913498266Sopenharmony_ci
51013498266Sopenharmony_ciDaniel Stenberg (23 Jan 2024)
51113498266Sopenharmony_ci
51213498266Sopenharmony_ci- RELEASE-NOTES: synced
51313498266Sopenharmony_ci
51413498266Sopenharmony_ci- docs/cmdline: change to .md for cmdline docs
51513498266Sopenharmony_ci
51613498266Sopenharmony_ci   - switch all invidual files documenting command line options into .md,
51713498266Sopenharmony_ci     as the documentation is now markdown-looking.
51813498266Sopenharmony_ci
51913498266Sopenharmony_ci   - made the parser treat 4-space indents as quotes
52013498266Sopenharmony_ci
52113498266Sopenharmony_ci   - switch to building the curl.1 manpage using the "mainpage.idx" file,
52213498266Sopenharmony_ci     which lists the files to include to generate it, instead of using the
52313498266Sopenharmony_ci     previous page-footer/headers. Also, those files are now also .md
52413498266Sopenharmony_ci     ones, using the same format. I gave them underscore prefixes to make
52513498266Sopenharmony_ci     them sort separately:
52613498266Sopenharmony_ci     _NAME.md, _SYNOPSIS.md, _DESCRIPTION.md, _URL.md, _GLOBBING.md,
52713498266Sopenharmony_ci     _VARIABLES.md, _OUTPUT.md, _PROTOCOLS.md, _PROGRESS.md, _VERSION.md,
52813498266Sopenharmony_ci     _OPTIONS.md, _FILES.md, _ENVIRONMENT.md, _PROXYPREFIX.md,
52913498266Sopenharmony_ci     _EXITCODES.md, _BUGS.md, _AUTHORS.md, _WWW.md, _SEEALSO.md
53013498266Sopenharmony_ci
53113498266Sopenharmony_ci   - updated test cases accordingly
53213498266Sopenharmony_ci
53313498266Sopenharmony_ci  Closes #12751
53413498266Sopenharmony_ci
53513498266Sopenharmony_cidependabot[bot] (23 Jan 2024)
53613498266Sopenharmony_ci
53713498266Sopenharmony_ci- CI: bump actions/cache from 3 to 4
53813498266Sopenharmony_ci
53913498266Sopenharmony_ci  Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
54013498266Sopenharmony_ci  - [Release notes](https://github.com/actions/cache/releases)
54113498266Sopenharmony_ci  - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
54213498266Sopenharmony_ci  - [Commits](https://github.com/actions/cache/compare/v3...v4)
54313498266Sopenharmony_ci
54413498266Sopenharmony_ci  ---
54513498266Sopenharmony_ci  updated-dependencies:
54613498266Sopenharmony_ci  - dependency-name: actions/cache
54713498266Sopenharmony_ci    dependency-type: direct:production
54813498266Sopenharmony_ci    update-type: version-update:semver-major
54913498266Sopenharmony_ci  ...
55013498266Sopenharmony_ci
55113498266Sopenharmony_ci  Signed-off-by: dependabot[bot] <support@github.com>
55213498266Sopenharmony_ci  Closes #12756
55313498266Sopenharmony_ci
55413498266Sopenharmony_ciDaniel Stenberg (23 Jan 2024)
55513498266Sopenharmony_ci
55613498266Sopenharmony_ci- openssl: when verifystatus fails, remove session id from cache
55713498266Sopenharmony_ci
55813498266Sopenharmony_ci  To prevent that it gets used in a subsequent transfer that skips the
55913498266Sopenharmony_ci  verifystatus check since that check can't be done when the session id is
56013498266Sopenharmony_ci  reused.
56113498266Sopenharmony_ci
56213498266Sopenharmony_ci  Reported-by: Hiroki Kurosawa
56313498266Sopenharmony_ci  Closes #12760
56413498266Sopenharmony_ci
56513498266Sopenharmony_ciViktor Szakats (23 Jan 2024)
56613498266Sopenharmony_ci
56713498266Sopenharmony_ci- cmake: add option to disable building docs
56813498266Sopenharmony_ci
56913498266Sopenharmony_ciRichard Levitte (23 Jan 2024)
57013498266Sopenharmony_ci
57113498266Sopenharmony_ci- cmake: use curldown to build man pages
57213498266Sopenharmony_ci
57313498266Sopenharmony_ci  This throws away the previous HTML and PDF producers, to mimic what
57413498266Sopenharmony_ci  Makefile.am does as faithfully as possible.
57513498266Sopenharmony_ci
57613498266Sopenharmony_ci  Closes #12753
57713498266Sopenharmony_ci
57813498266Sopenharmony_ciDaniel Stenberg (23 Jan 2024)
57913498266Sopenharmony_ci
58013498266Sopenharmony_ci- mksymbolsmanpage.pl: provide references to where the symbol is used
58113498266Sopenharmony_ci
58213498266Sopenharmony_ci- docs: introduce "curldown" for libcurl man page format
58313498266Sopenharmony_ci
58413498266Sopenharmony_ci  curldown is this new file format for libcurl man pages. It is markdown
58513498266Sopenharmony_ci  inspired with differences:
58613498266Sopenharmony_ci
58713498266Sopenharmony_ci  - Each file has a set of leading headers with meta-data
58813498266Sopenharmony_ci  - Supports a small subset of markdown
58913498266Sopenharmony_ci  - Uses .md file extensions for editors/IDE/GitHub to treat them nicely
59013498266Sopenharmony_ci  - Generates man pages very similar to the previous ones
59113498266Sopenharmony_ci  - Generates man pages that still convert nicely to HTML on the website
59213498266Sopenharmony_ci  - Detects and highlights mentions of curl symbols automatically (when
59313498266Sopenharmony_ci    their man page section is specified)
59413498266Sopenharmony_ci
59513498266Sopenharmony_ci  tools:
59613498266Sopenharmony_ci
59713498266Sopenharmony_ci  - cd2nroff: converts from curldown to nroff man page
59813498266Sopenharmony_ci  - nroff2cd: convert an (old) nroff man page to curldown
59913498266Sopenharmony_ci  - cdall: convert many nroff pages to curldown versions
60013498266Sopenharmony_ci  - cd2cd: verifies and updates a curldown to latest curldown
60113498266Sopenharmony_ci
60213498266Sopenharmony_ci  This setup generates .3 versions of all the curldown versions at build time.
60313498266Sopenharmony_ci
60413498266Sopenharmony_ci  CI:
60513498266Sopenharmony_ci
60613498266Sopenharmony_ci  Since the documentation is now technically markdown in the eyes of many
60713498266Sopenharmony_ci  things, the CI runs many more tests and checks on this documentation,
60813498266Sopenharmony_ci  including proselint, link checkers and tests that make sure we capitalize the
60913498266Sopenharmony_ci  first letter after a period...
61013498266Sopenharmony_ci
61113498266Sopenharmony_ci  Closes #12730
61213498266Sopenharmony_ci
61313498266Sopenharmony_ciViktor Szakats (22 Jan 2024)
61413498266Sopenharmony_ci
61513498266Sopenharmony_ci- libssh2: use `libssh2_session_callback_set2()` with v1.11.1
61613498266Sopenharmony_ci
61713498266Sopenharmony_ci  To avoid a local hack to pass function pointers and to avoid
61813498266Sopenharmony_ci  deprecation warnings when building with libssh2 v1.11.1 or newer:
61913498266Sopenharmony_ci  ```
62013498266Sopenharmony_ci  lib/vssh/libssh2.c:3324:5: warning: 'libssh2_session_callback_set' is depreca
62113498266Sopenharmony_ci  ted: since libssh2 1.11.1. Use libssh2_session_callback_set2() [-Wdeprecated-
62213498266Sopenharmony_ci  declarations]
62313498266Sopenharmony_ci  lib/vssh/libssh2.c:3326:5: warning: 'libssh2_session_callback_set' is depreca
62413498266Sopenharmony_ci  ted: since libssh2 1.11.1. Use libssh2_session_callback_set2() [-Wdeprecated-
62513498266Sopenharmony_ci  declarations]
62613498266Sopenharmony_ci  ```
62713498266Sopenharmony_ci  Ref: https://github.com/curl/curl-for-win/actions/runs/7609484879/job/2072082
62813498266Sopenharmony_ci  1100#step:3:4982
62913498266Sopenharmony_ci
63013498266Sopenharmony_ci  Ref: https://github.com/libssh2/libssh2/pull/1285
63113498266Sopenharmony_ci  Ref: https://github.com/libssh2/libssh2/commit/c0f69548be902147ce014ffa40b8db
63213498266Sopenharmony_ci  3cf1d4b0b4
63313498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
63413498266Sopenharmony_ci  Closes #12754
63513498266Sopenharmony_ci
63613498266Sopenharmony_ciDaniel Stenberg (22 Jan 2024)
63713498266Sopenharmony_ci
63813498266Sopenharmony_ci- transfer: make the select_bits_paused condition check both directions
63913498266Sopenharmony_ci
64013498266Sopenharmony_ci  If there is activity in a direction that is not paused, return false.
64113498266Sopenharmony_ci
64213498266Sopenharmony_ci  Reported-by: Sergey Bronnikov
64313498266Sopenharmony_ci  Bug: https://curl.se/mail/lib-2024-01/0049.html
64413498266Sopenharmony_ci  Closes #12740
64513498266Sopenharmony_ci
64613498266Sopenharmony_ciStefan Eissing (22 Jan 2024)
64713498266Sopenharmony_ci
64813498266Sopenharmony_ci- http3: initial support for OpenSSL 3.2 QUIC stack
64913498266Sopenharmony_ci
65013498266Sopenharmony_ci  - HTTP/3 for curl using OpenSSL's own QUIC stack together
65113498266Sopenharmony_ci    with nghttp3
65213498266Sopenharmony_ci  - configure with `--with-openssl-quic` to enable curl to
65313498266Sopenharmony_ci    build this. This requires the nghttp3 library
65413498266Sopenharmony_ci  - implementation with the following restrictions:
65513498266Sopenharmony_ci    * macOS has to use an unconnected UDP socket due to an
65613498266Sopenharmony_ci      issue in OpenSSL's datagram implementation
65713498266Sopenharmony_ci      See https://github.com/openssl/openssl/issues/23251
65813498266Sopenharmony_ci      This makes connections to non-reponsive servers hang.
65913498266Sopenharmony_ci    * GET requests will send the indicator that they have
66013498266Sopenharmony_ci      no body in a separate QUIC packet. This may result
66113498266Sopenharmony_ci      in processing delays or Transfer-Encodings on proxied
66213498266Sopenharmony_ci      requests
66313498266Sopenharmony_ci    * uploads that encounter blocks will use 100% cpu as
66413498266Sopenharmony_ci      detection of these flow control issue is not working
66513498266Sopenharmony_ci      (we have not figured out to pry that from OpenSSL).
66613498266Sopenharmony_ci
66713498266Sopenharmony_ci  Closes #12734
66813498266Sopenharmony_ci
66913498266Sopenharmony_ciViktor Szakats (22 Jan 2024)
67013498266Sopenharmony_ci
67113498266Sopenharmony_ci- cmake: fix `ENABLE_MANUAL` option
67213498266Sopenharmony_ci
67313498266Sopenharmony_ci  Fix the `ENABLE_MANUAL` option. Set it to default to `OFF`.
67413498266Sopenharmony_ci
67513498266Sopenharmony_ci  Before this patch `ENABLE_MANUAL=ON` was a no-op, even though it was the
67613498266Sopenharmony_ci  option designed to enable building and using the built-in curl manual.
67713498266Sopenharmony_ci  (`USE_MANUAL=ON` option worked for this instead, by accident).
67813498266Sopenharmony_ci
67913498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/12730#issuecomment-1902572409
68013498266Sopenharmony_ci  Closes #12749
68113498266Sopenharmony_ci
68213498266Sopenharmony_ciMohammadreza Hendiani (19 Jan 2024)
68313498266Sopenharmony_ci
68413498266Sopenharmony_ci- TODO: update broken link to ratelimit-headers draft
68513498266Sopenharmony_ci
68613498266Sopenharmony_ci  Closes #12741
68713498266Sopenharmony_ci
68813498266Sopenharmony_ciDaniel Stenberg (19 Jan 2024)
68913498266Sopenharmony_ci
69013498266Sopenharmony_ci- cmake: when USE_MANUAL=YES, build the curl.1 man page
69113498266Sopenharmony_ci
69213498266Sopenharmony_ci  Fixes KNOWN_BUG 15.4
69313498266Sopenharmony_ci
69413498266Sopenharmony_ci  Closes #12742
69513498266Sopenharmony_ci
69613498266Sopenharmony_ci- cmdline-opts/write-out.d: remove spurious double quotes
69713498266Sopenharmony_ci
69813498266Sopenharmony_ciStefan Eissing (19 Jan 2024)
69913498266Sopenharmony_ci
70013498266Sopenharmony_ci- rtsp: Convert assertion into debug log
70113498266Sopenharmony_ci
70213498266Sopenharmony_ci  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65934
70313498266Sopenharmony_ci
70413498266Sopenharmony_ci  - write excess bytes to the client where the standard excess bytes
70513498266Sopenharmony_ci    checks will report any wrongness and fail the transfer
70613498266Sopenharmony_ci
70713498266Sopenharmony_ci  Fixes #12738
70813498266Sopenharmony_ci  Closes #12739
70913498266Sopenharmony_ci
71013498266Sopenharmony_ciDaniel Stenberg (19 Jan 2024)
71113498266Sopenharmony_ci
71213498266Sopenharmony_ci- headers: remove assert from Curl_headers_push
71313498266Sopenharmony_ci
71413498266Sopenharmony_ci  The fuzzer managed to reach the function without a terminating CR or LF
71513498266Sopenharmony_ci  so let's handle it normally. While there, remove the goto.
71613498266Sopenharmony_ci
71713498266Sopenharmony_ci  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65839
71813498266Sopenharmony_ci
71913498266Sopenharmony_ci  Closes #12721
72013498266Sopenharmony_ci
72113498266Sopenharmony_ci- curl_easy_getinfo.3: remove the wrong time value count
72213498266Sopenharmony_ci
72313498266Sopenharmony_ci  It said "six" time values but they are eight by now. Remove the mention
72413498266Sopenharmony_ci  of the amount.
72513498266Sopenharmony_ci
72613498266Sopenharmony_ci  Closes #12727
72713498266Sopenharmony_ci
72813498266Sopenharmony_ciViktor Szakats (18 Jan 2024)
72913498266Sopenharmony_ci
73013498266Sopenharmony_ci- mbedtls: fix `-Wnull-dereference` and `-Wredundant-decls`
73113498266Sopenharmony_ci
73213498266Sopenharmony_ci  - Silence warning in mbedTLS v3.5.1 public headers:
73313498266Sopenharmony_ci    ```
73413498266Sopenharmony_ci    ./mbedtls/_x64-linux-musl/usr/include/psa/crypto_extra.h:489:14: warning: r
73513498266Sopenharmony_ci  edundant redeclaration of 'psa_set_key_domain_parameters' [-Wredundant-decls]
73613498266Sopenharmony_ci    ./mbedtls/_x64-linux-musl/usr/include/psa/crypto_struct.h:354:14: note: pre
73713498266Sopenharmony_ci  vious declaration of 'psa_set_key_domain_parameters' was here
73813498266Sopenharmony_ci    ```
73913498266Sopenharmony_ci    Ref: https://github.com/libssh2/libssh2/commit/ecec68a2c13a9c63fe8c2dc457ae
74013498266Sopenharmony_ci  785a513e157c
74113498266Sopenharmony_ci    Ref: https://github.com/libssh2/libssh2/pull/1226
74213498266Sopenharmony_ci
74313498266Sopenharmony_ci  - Fix compiler warnings seen with gcc 9.2.0 + cmake unity:
74413498266Sopenharmony_ci    ```
74513498266Sopenharmony_ci    ./curl/lib/vtls/mbedtls.c: In function 'mbedtls_bio_cf_read':
74613498266Sopenharmony_ci    ./curl/lib/vtls/mbedtls.c:189:11: warning: null pointer dereference [-Wnull
74713498266Sopenharmony_ci  -dereference]
74813498266Sopenharmony_ci      189 |   nread = Curl_conn_cf_recv(cf->next, data, (char *)buf, blen, &res
74913498266Sopenharmony_ci  ult);
75013498266Sopenharmony_ci          |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75113498266Sopenharmony_ci  ~~~~
75213498266Sopenharmony_ci    ./curl/lib/vtls/mbedtls.c: In function 'mbedtls_bio_cf_write':
75313498266Sopenharmony_ci    ./curl/lib/vtls/mbedtls.c:168:14: warning: null pointer dereference [-Wnull
75413498266Sopenharmony_ci  -dereference]
75513498266Sopenharmony_ci      168 |   nwritten = Curl_conn_cf_send(cf->next, data, (char *)buf, blen, &
75613498266Sopenharmony_ci  result);
75713498266Sopenharmony_ci          |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75813498266Sopenharmony_ci  ~~~~~~~
75913498266Sopenharmony_ci    ```
76013498266Sopenharmony_ci
76113498266Sopenharmony_ci  - delete stray `#else`.
76213498266Sopenharmony_ci
76313498266Sopenharmony_ci  Closes #12720
76413498266Sopenharmony_ci
76513498266Sopenharmony_ciDaniel Stenberg (17 Jan 2024)
76613498266Sopenharmony_ci
76713498266Sopenharmony_ci- docs: cleanup nroff format use
76813498266Sopenharmony_ci
76913498266Sopenharmony_ci  - remove use of .BI for code snippet
77013498266Sopenharmony_ci  - stop using .br, just do a blank line
77113498266Sopenharmony_ci  - remove use of .PP
77213498266Sopenharmony_ci  - remove use for .sp
77313498266Sopenharmony_ci  - remove backslash in .IP
77413498266Sopenharmony_ci  - use .IP instead of .TP
77513498266Sopenharmony_ci
77613498266Sopenharmony_ci  Closes #12731
77713498266Sopenharmony_ci
77813498266Sopenharmony_ciStefan Eissing (17 Jan 2024)
77913498266Sopenharmony_ci
78013498266Sopenharmony_ci- test2307: fix expected failure code after ws refactoring
78113498266Sopenharmony_ci
78213498266Sopenharmony_ci  Fixes #12722
78313498266Sopenharmony_ci  Closes #12728
78413498266Sopenharmony_ci
78513498266Sopenharmony_ciJay Satiro (17 Jan 2024)
78613498266Sopenharmony_ci
78713498266Sopenharmony_ci- cf-socket: show errno in tcpkeepalive error messages
78813498266Sopenharmony_ci
78913498266Sopenharmony_ci  - If the socket keepalive options (TCP_KEEPIDLE, etc) cannot be set
79013498266Sopenharmony_ci    then show the errno in the verbose error messages.
79113498266Sopenharmony_ci
79213498266Sopenharmony_ci  Ref: https://github.com/curl/curl/discussions/12715#discussioncomment-8151652
79313498266Sopenharmony_ci
79413498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12726
79513498266Sopenharmony_ci
79613498266Sopenharmony_ci- tool_getparam: stop supporting `@filename` style for --cookie
79713498266Sopenharmony_ci
79813498266Sopenharmony_ci  The `@filename` style was never documented for --cookie <data|filename>
79913498266Sopenharmony_ci  but prior to this change curl would accept it anyway and always treat a
80013498266Sopenharmony_ci  @ prefixed string as a filename.
80113498266Sopenharmony_ci
80213498266Sopenharmony_ci  That's a problem if the string also contains a = sign because then it is
80313498266Sopenharmony_ci  documented to be interpreted as a cookie string and not a filename.
80413498266Sopenharmony_ci
80513498266Sopenharmony_ci  Example:
80613498266Sopenharmony_ci
80713498266Sopenharmony_ci  `--cookie @foo=bar`
80813498266Sopenharmony_ci
80913498266Sopenharmony_ci  Before: Interpreted as load cookies from filename foo=bar.
81013498266Sopenharmony_ci
81113498266Sopenharmony_ci  After: Interpreted as cookie `@foo=bar` (name `@foo` and value `bar`).
81213498266Sopenharmony_ci
81313498266Sopenharmony_ci  Other curl options with a data/filename option-value use the `@filename`
81413498266Sopenharmony_ci  to distinguish filenames which is probably how this happened. The
81513498266Sopenharmony_ci  --cookie option has never been documented that way.
81613498266Sopenharmony_ci
81713498266Sopenharmony_ci  Ref: https://curl.se/docs/manpage.html#-b
81813498266Sopenharmony_ci
81913498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12645
82013498266Sopenharmony_ci
82113498266Sopenharmony_ciStefan Eissing (16 Jan 2024)
82213498266Sopenharmony_ci
82313498266Sopenharmony_ci- websockets: refactor decode chain
82413498266Sopenharmony_ci
82513498266Sopenharmony_ci  - use client writer stack for decoding frames
82613498266Sopenharmony_ci  - move websocket protocol handler to ws.c
82713498266Sopenharmony_ci
82813498266Sopenharmony_ci  Closes #12713
82913498266Sopenharmony_ci
83013498266Sopenharmony_ci- websockets: check for negative payload lengths
83113498266Sopenharmony_ci
83213498266Sopenharmony_ci  - in en- and decoding, check the websocket frame payload lengths for
83313498266Sopenharmony_ci    negative values (from curl_off_t) and error the operation in that case
83413498266Sopenharmony_ci  - add test 2307 to verify
83513498266Sopenharmony_ci
83613498266Sopenharmony_ci  Closes #12707
83713498266Sopenharmony_ci
83813498266Sopenharmony_ciDaniel Stenberg (16 Jan 2024)
83913498266Sopenharmony_ci
84013498266Sopenharmony_ci- docs: mention env vars not used by schannel
84113498266Sopenharmony_ci
84213498266Sopenharmony_ci  Ref: #12704
84313498266Sopenharmony_ci
84413498266Sopenharmony_ci  Co-authored-by: Jay Satiro <raysatiro@yahoo.com>
84513498266Sopenharmony_ci
84613498266Sopenharmony_ci  Closes #12711
84713498266Sopenharmony_ci
84813498266Sopenharmony_ci- tool_operate: make --remove-on-error only remove "real" files
84913498266Sopenharmony_ci
85013498266Sopenharmony_ci  Reported-by: Harry Sintonen
85113498266Sopenharmony_ci  Assisted-by: Dan Fandrich
85213498266Sopenharmony_ci
85313498266Sopenharmony_ci  Closes #12710
85413498266Sopenharmony_ci
85513498266Sopenharmony_ciJay Wu (16 Jan 2024)
85613498266Sopenharmony_ci
85713498266Sopenharmony_ci- url: don't set default CA paths for Secure Transport backend
85813498266Sopenharmony_ci
85913498266Sopenharmony_ci  As the default for this backend is the native CA store.
86013498266Sopenharmony_ci
86113498266Sopenharmony_ci  Closes #12704
86213498266Sopenharmony_ci
86313498266Sopenharmony_ciLin Sun (16 Jan 2024)
86413498266Sopenharmony_ci
86513498266Sopenharmony_ci- asyn-ares: with modern c-ares, use its default timeout
86613498266Sopenharmony_ci
86713498266Sopenharmony_ci  Closes #12703
86813498266Sopenharmony_ci
86913498266Sopenharmony_ciDaniel Stenberg (15 Jan 2024)
87013498266Sopenharmony_ci
87113498266Sopenharmony_ci- tool_operate: stop setting the file comment on Amiga
87213498266Sopenharmony_ci
87313498266Sopenharmony_ci  - the URL is capped at 80 cols, which ruins it if longer
87413498266Sopenharmony_ci  - it does not strip off URL credentials
87513498266Sopenharmony_ci  - it is done unconditonally, not on --xattr
87613498266Sopenharmony_ci  - we don't have Amiga in the CI which makes fixing it blindly fragile
87713498266Sopenharmony_ci
87813498266Sopenharmony_ci  Someone who builds and tests on Amiga can add it back correctly in a
87913498266Sopenharmony_ci  future if there is a desire.
88013498266Sopenharmony_ci
88113498266Sopenharmony_ci  Reported-by: Harry Sintonen
88213498266Sopenharmony_ci  Closes #12709
88313498266Sopenharmony_ci
88413498266Sopenharmony_ciStefan Eissing (15 Jan 2024)
88513498266Sopenharmony_ci
88613498266Sopenharmony_ci- rtsp: deal with borked server responses
88713498266Sopenharmony_ci
88813498266Sopenharmony_ci  - enforce a response body length of 0, if the
88913498266Sopenharmony_ci    response has no Content-lenght. This is according
89013498266Sopenharmony_ci    to the RTSP spec.
89113498266Sopenharmony_ci  - excess bytes in a response body are forwarded to
89213498266Sopenharmony_ci    the client writers which will report and fail the
89313498266Sopenharmony_ci    transfer
89413498266Sopenharmony_ci
89513498266Sopenharmony_ci  Follow-up to d7b6ce6
89613498266Sopenharmony_ci  Fixes #12701
89713498266Sopenharmony_ci  Closes #12706
89813498266Sopenharmony_ci
89913498266Sopenharmony_ciDaniel Stenberg (14 Jan 2024)
90013498266Sopenharmony_ci
90113498266Sopenharmony_ci- version: show only the libpsl version, not its dependencies
90213498266Sopenharmony_ci
90313498266Sopenharmony_ci  The libpsl version output otherwise also includes version number for its
90413498266Sopenharmony_ci  dependencies, like IDN lib, but since libcurl does not use libpsl's IDN
90513498266Sopenharmony_ci  functionality those components are not important.
90613498266Sopenharmony_ci
90713498266Sopenharmony_ci  Ref: https://github.com/curl/curl-for-win/issues/63
90813498266Sopenharmony_ci  Closes #12700
90913498266Sopenharmony_ci
91013498266Sopenharmony_ciBrad Harder (14 Jan 2024)
91113498266Sopenharmony_ci
91213498266Sopenharmony_ci- curl.h: CURLOPT_DNS_SERVERS is only available with c-ares
91313498266Sopenharmony_ci
91413498266Sopenharmony_ci  Closes #12695
91513498266Sopenharmony_ci
91613498266Sopenharmony_ciDaniel Stenberg (14 Jan 2024)
91713498266Sopenharmony_ci
91813498266Sopenharmony_ci- cmdline-opts/gen.pl: error on initital blank line
91913498266Sopenharmony_ci
92013498266Sopenharmony_ci  After the "---" separator, there should be no blank line and this script
92113498266Sopenharmony_ci  now errors out if one is detected.
92213498266Sopenharmony_ci
92313498266Sopenharmony_ci  Ref: #12696
92413498266Sopenharmony_ci  Closes #12698
92513498266Sopenharmony_ci
92613498266Sopenharmony_ci- cf-h1-proxy: no CURLOPT_USERAGENT in CONNECT with hyper
92713498266Sopenharmony_ci
92813498266Sopenharmony_ci  Follow-up to 693cd1679361828a which was incomplete
92913498266Sopenharmony_ci
93013498266Sopenharmony_ci  Ref #12680
93113498266Sopenharmony_ci  Closes #12697
93213498266Sopenharmony_ci
93313498266Sopenharmony_ci- curl_multi_fdset.3: remove mention of null pointer support
93413498266Sopenharmony_ci
93513498266Sopenharmony_ci  ... since this funtion has not supported null pointer fd_set arguments since
93613498266Sopenharmony_ci  at least 2006. (That's when I stopped my git blame journey)
93713498266Sopenharmony_ci
93813498266Sopenharmony_ci  Fixes #12691
93913498266Sopenharmony_ci  Reported-by: sfan5 on github
94013498266Sopenharmony_ci  Closes #12692
94113498266Sopenharmony_ci
94213498266Sopenharmony_ciMark Huang (14 Jan 2024)
94313498266Sopenharmony_ci
94413498266Sopenharmony_ci- docs/cmdline: remove unnecessary line breaks
94513498266Sopenharmony_ci
94613498266Sopenharmony_ci  Closes #12696
94713498266Sopenharmony_ci
94813498266Sopenharmony_ciDaniel Stenberg (14 Jan 2024)
94913498266Sopenharmony_ci
95013498266Sopenharmony_ci- transfer: remove warning: Value stored to 'blen' is never read
95113498266Sopenharmony_ci
95213498266Sopenharmony_ci  Detected by scan-build
95313498266Sopenharmony_ci
95413498266Sopenharmony_ci  Follow-up from 1cd2f0072f
95513498266Sopenharmony_ci
95613498266Sopenharmony_ci  Closes #12693
95713498266Sopenharmony_ci
95813498266Sopenharmony_ciStefan Eissing (13 Jan 2024)
95913498266Sopenharmony_ci
96013498266Sopenharmony_ci- lib: replace readwrite with write_resp
96113498266Sopenharmony_ci
96213498266Sopenharmony_ci  This clarifies the handling of server responses by folding the code for
96313498266Sopenharmony_ci  the complicated protocols into their protocol handlers. This concerns
96413498266Sopenharmony_ci  mainly HTTP and its bastard sibling RTSP.
96513498266Sopenharmony_ci
96613498266Sopenharmony_ci  The terms "read" and "write" are often used without clear context if
96713498266Sopenharmony_ci  they refer to the connect or the client/application side of a
96813498266Sopenharmony_ci  transfer. This PR uses "read/write" for operations on the client side
96913498266Sopenharmony_ci  and "send/receive" for the connection, e.g. server side. If this is
97013498266Sopenharmony_ci  considered useful, we can revisit renaming of further methods in another
97113498266Sopenharmony_ci  PR.
97213498266Sopenharmony_ci
97313498266Sopenharmony_ci  Curl's protocol handler `readwrite()` method been changed:
97413498266Sopenharmony_ci
97513498266Sopenharmony_ci  ```diff
97613498266Sopenharmony_ci  -  CURLcode (*readwrite)(struct Curl_easy *data, struct connectdata *conn,
97713498266Sopenharmony_ci  -                        const char *buf, size_t blen,
97813498266Sopenharmony_ci  -                        size_t *pconsumed, bool *readmore);
97913498266Sopenharmony_ci  +  CURLcode (*write_resp)(struct Curl_easy *data, const char *buf, size_t ble
98013498266Sopenharmony_ci  n,
98113498266Sopenharmony_ci  +                         bool is_eos, bool *done);
98213498266Sopenharmony_ci  ```
98313498266Sopenharmony_ci
98413498266Sopenharmony_ci  The name was changed to clarify that this writes reponse data to the
98513498266Sopenharmony_ci  client side. The parameter changes are:
98613498266Sopenharmony_ci
98713498266Sopenharmony_ci  * `conn` removed as it always operates on `data->conn`
98813498266Sopenharmony_ci  * `pconsumed` removed as the method needs to handle all data on success
98913498266Sopenharmony_ci  * `readmore` removed as no longer necessary
99013498266Sopenharmony_ci  * `is_eos` as indicator that this is the last call for the transfer
99113498266Sopenharmony_ci    response (end-of-stream).
99213498266Sopenharmony_ci  * `done` TRUE on return iff the transfer response is to be treated as
99313498266Sopenharmony_ci    finished
99413498266Sopenharmony_ci
99513498266Sopenharmony_ci  This change affects many files only because of updated comments in
99613498266Sopenharmony_ci  handlers that provide no implementation. The real change is that the
99713498266Sopenharmony_ci  HTTP protocol handlers now provide an implementation.
99813498266Sopenharmony_ci
99913498266Sopenharmony_ci  The HTTP protocol handlers `write_resp()` implementation will get passed
100013498266Sopenharmony_ci  **all** raw data of a server response for the transfer. The HTTP/1.x
100113498266Sopenharmony_ci  formatted status and headers, as well as the undecoded response
100213498266Sopenharmony_ci  body. `Curl_http_write_resp_hds()` is used internally to parse the
100313498266Sopenharmony_ci  response headers and pass them on. This method is public as the RTSP
100413498266Sopenharmony_ci  protocol handler also uses it.
100513498266Sopenharmony_ci
100613498266Sopenharmony_ci  HTTP/1.1 "chunked" transport encoding is now part of the general
100713498266Sopenharmony_ci  *content encoding* writer stack, just like other encodings. A new flag
100813498266Sopenharmony_ci  `CLIENTWRITE_EOS` was added for the last client write. This allows
100913498266Sopenharmony_ci  writers to verify that they are in a valid end state. The chunked
101013498266Sopenharmony_ci  decoder will check if it indeed has seen the last chunk.
101113498266Sopenharmony_ci
101213498266Sopenharmony_ci  The general response handling in `transfer.c:466` happens in function
101313498266Sopenharmony_ci  `readwrite_data()`. This mainly operates now like:
101413498266Sopenharmony_ci
101513498266Sopenharmony_ci  ```
101613498266Sopenharmony_ci  static CURLcode readwrite_data(data, ...)
101713498266Sopenharmony_ci  {
101813498266Sopenharmony_ci    do {
101913498266Sopenharmony_ci      Curl_xfer_recv_resp(data, buf)
102013498266Sopenharmony_ci      ...
102113498266Sopenharmony_ci      Curl_xfer_write_resp(data, buf)
102213498266Sopenharmony_ci      ...
102313498266Sopenharmony_ci    } while(interested);
102413498266Sopenharmony_ci    ...
102513498266Sopenharmony_ci  }
102613498266Sopenharmony_ci  ```
102713498266Sopenharmony_ci
102813498266Sopenharmony_ci  All the response data handling is implemented in
102913498266Sopenharmony_ci  `Curl_xfer_write_resp()`. It calls the protocol handler's `write_resp()`
103013498266Sopenharmony_ci  implementation if available, or does the default behaviour.
103113498266Sopenharmony_ci
103213498266Sopenharmony_ci  All raw response data needs to pass through this function. Which also
103313498266Sopenharmony_ci  means that anyone in possession of such data may call
103413498266Sopenharmony_ci  `Curl_xfer_write_resp()`.
103513498266Sopenharmony_ci
103613498266Sopenharmony_ci  Closes #12480
103713498266Sopenharmony_ci
103813498266Sopenharmony_ciDaniel Stenberg (13 Jan 2024)
103913498266Sopenharmony_ci
104013498266Sopenharmony_ci- RELEASE-NOTES: synced
104113498266Sopenharmony_ci
104213498266Sopenharmony_ci- TODO: TFTP doesn't convert LF to CRLF for mode=netascii
104313498266Sopenharmony_ci
104413498266Sopenharmony_ci  Closes #12655
104513498266Sopenharmony_ci  Closes #12690
104613498266Sopenharmony_ci
104713498266Sopenharmony_ci- gen: do italics/bold for a range of letters, not just single word
104813498266Sopenharmony_ci
104913498266Sopenharmony_ci  Previously it would match only on a sequence of non-space, which made it
105013498266Sopenharmony_ci  miss to highlight for example "public suffix list".
105113498266Sopenharmony_ci
105213498266Sopenharmony_ci  Updated the recent cookie.d edit from 5da57193b732 to use bold instead
105313498266Sopenharmony_ci  of italics.
105413498266Sopenharmony_ci
105513498266Sopenharmony_ci  Closes #12689
105613498266Sopenharmony_ci
105713498266Sopenharmony_ci- docs: describe and highlight super cookies
105813498266Sopenharmony_ci
105913498266Sopenharmony_ci  Reported-by: Yadhu Krishna M
106013498266Sopenharmony_ci
106113498266Sopenharmony_ci  Closes #12687
106213498266Sopenharmony_ci
106313498266Sopenharmony_ci- configure: when enabling QUIC, check that TLS supports QUIC
106413498266Sopenharmony_ci
106513498266Sopenharmony_ci  Most importantly perhaps is when using OpenSSL that the used
106613498266Sopenharmony_ci  build/flavor has the QUIC API: the vanilla OpenSSL does not, only
106713498266Sopenharmony_ci  BoringSSL, libressl, AWS-LC and quictls do.
106813498266Sopenharmony_ci
106913498266Sopenharmony_ci  Ref: https://github.com/curl/curl/commit/5d044ad9480a9f556f4b6a252d7533b1ba7f
107013498266Sopenharmony_ci  e57e#r136780413
107113498266Sopenharmony_ci
107213498266Sopenharmony_ci  Closes #12683
107313498266Sopenharmony_ci
107413498266Sopenharmony_ciStefan Eissing (11 Jan 2024)
107513498266Sopenharmony_ci
107613498266Sopenharmony_ci- vquic: extract TLS setup into own source
107713498266Sopenharmony_ci
107813498266Sopenharmony_ci  - separate ngtcp2 specific parts out
107913498266Sopenharmony_ci  - provide callback during init to allow ngtcp2 to apply its defaults
108013498266Sopenharmony_ci
108113498266Sopenharmony_ci  Closes #12678
108213498266Sopenharmony_ci
108313498266Sopenharmony_ciSergey Markelov (11 Jan 2024)
108413498266Sopenharmony_ci
108513498266Sopenharmony_ci- multi: remove total timer reset in file_do() while fetching file://
108613498266Sopenharmony_ci
108713498266Sopenharmony_ci  The total timer is properly reset in MSTATE_INIT.  MSTATE_CONNECT starts
108813498266Sopenharmony_ci  with resetting the timer that is a start point for further multi states.
108913498266Sopenharmony_ci  If file://, MSTATE_DO calls file_do() that should not reset the total
109013498266Sopenharmony_ci  timer.  Otherwise, the total time is always less than the pre-transfer
109113498266Sopenharmony_ci  and the start transfer times.
109213498266Sopenharmony_ci
109313498266Sopenharmony_ci  Closes #12682
109413498266Sopenharmony_ci
109513498266Sopenharmony_ciDaniel Stenberg (11 Jan 2024)
109613498266Sopenharmony_ci
109713498266Sopenharmony_ci- http_proxy: a blank CURLOPT_USERAGENT should not be used in CONNECT
109813498266Sopenharmony_ci
109913498266Sopenharmony_ci  Extended test 80 to verify this.
110013498266Sopenharmony_ci
110113498266Sopenharmony_ci  Reported-by: Stefan Eissing
110213498266Sopenharmony_ci  Fixes #12680
110313498266Sopenharmony_ci  Closes #12681
110413498266Sopenharmony_ci
110513498266Sopenharmony_ci- sectransp: do verify_cert without memdup for blobs
110613498266Sopenharmony_ci
110713498266Sopenharmony_ci  Since the information is then already stored in memory, this can avoid
110813498266Sopenharmony_ci  an extra set of malloc + free calls.
110913498266Sopenharmony_ci
111013498266Sopenharmony_ci  Closes #12679
111113498266Sopenharmony_ci
111213498266Sopenharmony_ci- hsts: remove assert for zero length domain
111313498266Sopenharmony_ci
111413498266Sopenharmony_ci  A zero length domain can happen if the HSTS parser is given invalid
111513498266Sopenharmony_ci  input data which is not unheard of and is done by the fuzzer.
111613498266Sopenharmony_ci
111713498266Sopenharmony_ci  Follow-up from cfe7902111ae547873
111813498266Sopenharmony_ci
111913498266Sopenharmony_ci  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65661
112013498266Sopenharmony_ci
112113498266Sopenharmony_ci  Closes #12676
112213498266Sopenharmony_ci
112313498266Sopenharmony_ci- headers: make sure the trailing newline is not stored
112413498266Sopenharmony_ci
112513498266Sopenharmony_ci  extended test1940 to verify blank header fields too
112613498266Sopenharmony_ci
112713498266Sopenharmony_ci  Bug: https://curl.se/mail/lib-2024-01/0019.html
112813498266Sopenharmony_ci  Reported-by: Dmitry Karpov
112913498266Sopenharmony_ci  Closes #12675
113013498266Sopenharmony_ci
113113498266Sopenharmony_ci- curl_easy_header.3: tiny language fix
113213498266Sopenharmony_ci
113313498266Sopenharmony_ci  Closes #12672
113413498266Sopenharmony_ci
113513498266Sopenharmony_ci- examples/range.c: add
113613498266Sopenharmony_ci
113713498266Sopenharmony_ci  Closes #12671
113813498266Sopenharmony_ci
113913498266Sopenharmony_ci- examples/netrc.c: add
114013498266Sopenharmony_ci
114113498266Sopenharmony_ci  Closes #12671
114213498266Sopenharmony_ci
114313498266Sopenharmony_ci- examples/ipv6.c: new example showing IPv6-only internet transfer
114413498266Sopenharmony_ci
114513498266Sopenharmony_ci  Closes #12671
114613498266Sopenharmony_ci
114713498266Sopenharmony_ci- examples/address-scope.c: renamed from ipv6.c
114813498266Sopenharmony_ci
114913498266Sopenharmony_ci  It shows address scope use really
115013498266Sopenharmony_ci
115113498266Sopenharmony_ci  Closes #12671
115213498266Sopenharmony_ci
115313498266Sopenharmony_ciStefan Eissing (9 Jan 2024)
115413498266Sopenharmony_ci
115513498266Sopenharmony_ci- multi: pollset adjust, init with FIRSTSOCKET during connect
115613498266Sopenharmony_ci
115713498266Sopenharmony_ci  - `conn->sockfd` is set by `Curl_setup_transfer()`, but that
115813498266Sopenharmony_ci    is called *after* the connection has been established
115913498266Sopenharmony_ci  - use `conn->sock[FIRSTSOCKET]` instead
116013498266Sopenharmony_ci
116113498266Sopenharmony_ci  Follow-up to a0f94800d507de
116213498266Sopenharmony_ci  Closes #12664
116313498266Sopenharmony_ci
116413498266Sopenharmony_ciDaniel Stenberg (9 Jan 2024)
116513498266Sopenharmony_ci
116613498266Sopenharmony_ci- WEBSOCKET.md: remove dead link
116713498266Sopenharmony_ci
116813498266Sopenharmony_ci- CI: spellcheck/appveyor: invoke configure --without-libpsl
116913498266Sopenharmony_ci
117013498266Sopenharmony_ci  Follow-up to 2998874bb61ac6
117113498266Sopenharmony_ci
117213498266Sopenharmony_ci- cmdline/docs/*.d: switch to using ## instead of .IP
117313498266Sopenharmony_ci
117413498266Sopenharmony_ci  To make the editing easier. To write and to read.
117513498266Sopenharmony_ci
117613498266Sopenharmony_ci  Closes #12667
117713498266Sopenharmony_ci
117813498266Sopenharmony_ci- gen.pl: support ## for doing .IP in table-like lists
117913498266Sopenharmony_ci
118013498266Sopenharmony_ci  Warn on use of .RS/.IP/.RE
118113498266Sopenharmony_ci
118213498266Sopenharmony_ci  Closes #12667
118313498266Sopenharmony_ci
118413498266Sopenharmony_ciJay Satiro (9 Jan 2024)
118513498266Sopenharmony_ci
118613498266Sopenharmony_ci- cookie.d: Document use of empty string to enable cookie engine
118713498266Sopenharmony_ci
118813498266Sopenharmony_ci  - Explain that --cookie "" can be used to enable the cookie engine
118913498266Sopenharmony_ci    without reading any initial cookies.
119013498266Sopenharmony_ci
119113498266Sopenharmony_ci  As is documented in CURLOPT_COOKIEFILE.
119213498266Sopenharmony_ci
119313498266Sopenharmony_ci  Ref: https://curl.se/libcurl/c/CURLOPT_COOKIEFILE.html
119413498266Sopenharmony_ci
119513498266Sopenharmony_ci  Bug: https://github.com/curl/curl/issues/12643#issuecomment-1879844420
119613498266Sopenharmony_ci  Reported-by: janko-js@users.noreply.github.com
119713498266Sopenharmony_ci
119813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12646
119913498266Sopenharmony_ci
120013498266Sopenharmony_ciDaniel Stenberg (9 Jan 2024)
120113498266Sopenharmony_ci
120213498266Sopenharmony_ci- setopt: use memdup0 when cloning COPYPOSTFIELDS
120313498266Sopenharmony_ci
120413498266Sopenharmony_ci  Closes #12651
120513498266Sopenharmony_ci
120613498266Sopenharmony_ci- telnet: use dynbuf instad of malloc for escape buffer
120713498266Sopenharmony_ci
120813498266Sopenharmony_ci  Previously, send_telnet_data() would malloc + free a buffer every time
120913498266Sopenharmony_ci  for escaping IAC codes. Now, it reuses a dynbuf for this purpose.
121013498266Sopenharmony_ci
121113498266Sopenharmony_ci  Closes #12652
121213498266Sopenharmony_ci
121313498266Sopenharmony_ci- CI: install libpsl or configure --without-libpsl in builds
121413498266Sopenharmony_ci
121513498266Sopenharmony_ci  As a follow-up to the stricted libpsl check in configure
121613498266Sopenharmony_ci
121713498266Sopenharmony_ci- configure: make libpsl detection failure cause error
121813498266Sopenharmony_ci
121913498266Sopenharmony_ci  To force users to explictily disable it if they really don't want it
122013498266Sopenharmony_ci  used and make it harder to accidentally miss it.
122113498266Sopenharmony_ci
122213498266Sopenharmony_ci  --without-libpsl is the option to use if PSL is not wanted.
122313498266Sopenharmony_ci
122413498266Sopenharmony_ci  Closes #12661
122513498266Sopenharmony_ci
122613498266Sopenharmony_ci- RELEASE-NOTES: synced
122713498266Sopenharmony_ci
122813498266Sopenharmony_ci- pop3: replace calloc + memcpy with memdup0
122913498266Sopenharmony_ci
123013498266Sopenharmony_ci  ... and make sure to return error on out of memory.
123113498266Sopenharmony_ci
123213498266Sopenharmony_ci  Closes #12650
123313498266Sopenharmony_ci
123413498266Sopenharmony_ci- lib: add debug log outputs for CURLE_BAD_FUNCTION_ARGUMENT
123513498266Sopenharmony_ci
123613498266Sopenharmony_ci  Closes #12658
123713498266Sopenharmony_ci
123813498266Sopenharmony_ci- mime: use memdup0 instead of malloc + memcpy
123913498266Sopenharmony_ci
124013498266Sopenharmony_ci  Closes #12649
124113498266Sopenharmony_ci
124213498266Sopenharmony_ci- tool_getparam: move the --rate logic into set_rate()
124313498266Sopenharmony_ci
124413498266Sopenharmony_ci- tool_getparam: switch to an enum for every option
124513498266Sopenharmony_ci
124613498266Sopenharmony_ci  To make the big switch much easier to read/understand and to make it
124713498266Sopenharmony_ci  easier to add new options.
124813498266Sopenharmony_ci
124913498266Sopenharmony_ci- tool_getparam: build post data using dynbuf (more)
125013498266Sopenharmony_ci
125113498266Sopenharmony_ci- tool_getparam: replace malloc + copy by dynbuf for --data
125213498266Sopenharmony_ci
125313498266Sopenharmony_ci- tool_getparam: make data_urlencode avoid direct malloc
125413498266Sopenharmony_ci
125513498266Sopenharmony_ci  use aprintf() instead
125613498266Sopenharmony_ci
125713498266Sopenharmony_ci- tool_getparam: move the --url-query logic into url_query()
125813498266Sopenharmony_ci
125913498266Sopenharmony_ci  This function is not doing post at all so it was always weirdly placed.
126013498266Sopenharmony_ci
126113498266Sopenharmony_ci- tool_getparam: move the --data logic into set_data()
126213498266Sopenharmony_ci
126313498266Sopenharmony_ci- tool_getparam: unify the cmdline switch() into a single one
126413498266Sopenharmony_ci
126513498266Sopenharmony_ci  - easier to follow, easier to modify, easier to extend, possibly slightly
126613498266Sopenharmony_ci    faster
126713498266Sopenharmony_ci
126813498266Sopenharmony_ci  - each case now has the long option as a comment
126913498266Sopenharmony_ci
127013498266Sopenharmony_ci- tool_getparam: bsearch cmdline options
127113498266Sopenharmony_ci
127213498266Sopenharmony_ci  - the option names are now alpha sorted and lookup is a lot faster
127313498266Sopenharmony_ci
127413498266Sopenharmony_ci  - use case sensitive matching. It was previously case insensitive, but that
127513498266Sopenharmony_ci    was not documented nor tested.
127613498266Sopenharmony_ci
127713498266Sopenharmony_ci  - remove "partial match" feature. It was not documented, not tested and
127813498266Sopenharmony_ci    was always fragile as existing use could break when we add a new
127913498266Sopenharmony_ci    option
128013498266Sopenharmony_ci
128113498266Sopenharmony_ci  - lookup short options via a table
128213498266Sopenharmony_ci
128313498266Sopenharmony_ci  Closes #12631
128413498266Sopenharmony_ci
128513498266Sopenharmony_ciGabe (8 Jan 2024)
128613498266Sopenharmony_ci
128713498266Sopenharmony_ci- COPYING: update copyright year
128813498266Sopenharmony_ci
128913498266Sopenharmony_ci  Closes #12654
129013498266Sopenharmony_ci
129113498266Sopenharmony_ciStefan Eissing (8 Jan 2024)
129213498266Sopenharmony_ci
129313498266Sopenharmony_ci- url: init conn->sockfd and writesockfd to CURL_SOCKET_BAD
129413498266Sopenharmony_ci
129513498266Sopenharmony_ci  Also add more tracing to test 19
129613498266Sopenharmony_ci
129713498266Sopenharmony_ci  Follow-up to a0f9480
129813498266Sopenharmony_ci
129913498266Sopenharmony_ci  Fixes #12657
130013498266Sopenharmony_ci  Closes #12659
130113498266Sopenharmony_ci
130213498266Sopenharmony_ciDaniel Stenberg (8 Jan 2024)
130313498266Sopenharmony_ci
130413498266Sopenharmony_ci- connect: remove margin from eyeballer alloc
130513498266Sopenharmony_ci
130613498266Sopenharmony_ci  Presumably leftovers from debugging
130713498266Sopenharmony_ci
130813498266Sopenharmony_ci  Closes #12647
130913498266Sopenharmony_ci
131013498266Sopenharmony_ci- ftp: only consider entry path if it has a length
131113498266Sopenharmony_ci
131213498266Sopenharmony_ci  Follow-up from 8edcfedc1a144f438bd1cdf814a0016cb
131313498266Sopenharmony_ci
131413498266Sopenharmony_ci  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65631
131513498266Sopenharmony_ci
131613498266Sopenharmony_ci  Avoids a NULL pointer deref.
131713498266Sopenharmony_ci
131813498266Sopenharmony_ci  Closes #12648
131913498266Sopenharmony_ci
132013498266Sopenharmony_ciStefan Eissing (7 Jan 2024)
132113498266Sopenharmony_ci
132213498266Sopenharmony_ci- transfer: adjust_pollset improvements
132313498266Sopenharmony_ci
132413498266Sopenharmony_ci  - let `multi_getsock()` initialize the pollset in what the
132513498266Sopenharmony_ci    transfer state requires in regards to SEND/RECV
132613498266Sopenharmony_ci  - change connection filters `adjust_pollset()` implementation
132713498266Sopenharmony_ci    to react on the presence of POLLIN/-OUT in the pollset and
132813498266Sopenharmony_ci    no longer check CURL_WANT_SEND/CURL_WANT_RECV
132913498266Sopenharmony_ci  - cf-socket will no longer add POLLIN on its own
133013498266Sopenharmony_ci  - http2 and http/3 filters will only do adjustments if the
133113498266Sopenharmony_ci    passed pollset wants to POLLIN/OUT for the transfer on
133213498266Sopenharmony_ci    the socket. This is similar to the HTTP/2 proxy filter
133313498266Sopenharmony_ci    and works in stacked filters.
133413498266Sopenharmony_ci
133513498266Sopenharmony_ci  Closes #12640
133613498266Sopenharmony_ci
133713498266Sopenharmony_ciDaniel Stenberg (6 Jan 2024)
133813498266Sopenharmony_ci
133913498266Sopenharmony_ci- ftp: use memdup0 to store the OS from a SYST 215 response
134013498266Sopenharmony_ci
134113498266Sopenharmony_ci  avoid malloc + direct buffer fiddle
134213498266Sopenharmony_ci
134313498266Sopenharmony_ci  Closes #12639
134413498266Sopenharmony_ci
134513498266Sopenharmony_ci- ftp: use dynbuf to store entrypath
134613498266Sopenharmony_ci
134713498266Sopenharmony_ci  avoid direct malloc
134813498266Sopenharmony_ci
134913498266Sopenharmony_ci  Closes #12638
135013498266Sopenharmony_ci
135113498266Sopenharmony_ciLealem Amedie (6 Jan 2024)
135213498266Sopenharmony_ci
135313498266Sopenharmony_ci- wolfssl: load certificate *chain* for PEM client certs
135413498266Sopenharmony_ci
135513498266Sopenharmony_ci  Closes #12634
135613498266Sopenharmony_ci
135713498266Sopenharmony_ciStefan Eissing (4 Jan 2024)
135813498266Sopenharmony_ci
135913498266Sopenharmony_ci- http: adjust_pollset fix
136013498266Sopenharmony_ci
136113498266Sopenharmony_ci  do not add a socket for POLLIN when the transfer does not want to send
136213498266Sopenharmony_ci  (for example is paused).
136313498266Sopenharmony_ci
136413498266Sopenharmony_ci  Follow-up to 47f5b1a
136513498266Sopenharmony_ci
136613498266Sopenharmony_ci  Reported-by: bubbleguuum on github
136713498266Sopenharmony_ci  Fixes #12632
136813498266Sopenharmony_ci  Closes #12633
136913498266Sopenharmony_ci
137013498266Sopenharmony_ciDaniel Stenberg (3 Jan 2024)
137113498266Sopenharmony_ci
137213498266Sopenharmony_ci- tool: make parser reject blank arguments if not supported
137313498266Sopenharmony_ci
137413498266Sopenharmony_ci  Already in the getstr() function that clones the input argument.
137513498266Sopenharmony_ci
137613498266Sopenharmony_ci  Closes #12620
137713498266Sopenharmony_ci
137813498266Sopenharmony_cidependabot[bot] (3 Jan 2024)
137913498266Sopenharmony_ci
138013498266Sopenharmony_ci- build(deps): bump github/codeql-action from 2 to 3
138113498266Sopenharmony_ci
138213498266Sopenharmony_ci  Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 
138313498266Sopenharmony_ci  to 3.
138413498266Sopenharmony_ci  - [Release notes](https://github.com/github/codeql-action/releases)
138513498266Sopenharmony_ci  - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
138613498266Sopenharmony_ci  - [Commits](https://github.com/github/codeql-action/compare/v2...v3)
138713498266Sopenharmony_ci
138813498266Sopenharmony_ci  ---
138913498266Sopenharmony_ci  updated-dependencies:
139013498266Sopenharmony_ci  - dependency-name: github/codeql-action
139113498266Sopenharmony_ci    dependency-type: direct:production
139213498266Sopenharmony_ci    update-type: version-update:semver-major
139313498266Sopenharmony_ci  ...
139413498266Sopenharmony_ci
139513498266Sopenharmony_ci  Signed-off-by: dependabot[bot] <support@github.com>
139613498266Sopenharmony_ci
139713498266Sopenharmony_ci  Closes #12625
139813498266Sopenharmony_ci
139913498266Sopenharmony_ci- build(deps): bump actions/checkout from 3 to 4
140013498266Sopenharmony_ci
140113498266Sopenharmony_ci  Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
140213498266Sopenharmony_ci  - [Release notes](https://github.com/actions/checkout/releases)
140313498266Sopenharmony_ci  - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
140413498266Sopenharmony_ci  - [Commits](https://github.com/actions/checkout/compare/v3...v4)
140513498266Sopenharmony_ci
140613498266Sopenharmony_ci  ---
140713498266Sopenharmony_ci  updated-dependencies:
140813498266Sopenharmony_ci  - dependency-name: actions/checkout
140913498266Sopenharmony_ci    dependency-type: direct:production
141013498266Sopenharmony_ci    update-type: version-update:semver-major
141113498266Sopenharmony_ci  ...
141213498266Sopenharmony_ci
141313498266Sopenharmony_ci  Signed-off-by: dependabot[bot] <support@github.com>
141413498266Sopenharmony_ci
141513498266Sopenharmony_ci  Closes #12624
141613498266Sopenharmony_ci
141713498266Sopenharmony_ci- build(deps): bump actions/upload-artifact from 3 to 4
141813498266Sopenharmony_ci
141913498266Sopenharmony_ci  Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) f
142013498266Sopenharmony_ci  rom 3 to 4.
142113498266Sopenharmony_ci  - [Release notes](https://github.com/actions/upload-artifact/releases)
142213498266Sopenharmony_ci  - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)
142313498266Sopenharmony_ci
142413498266Sopenharmony_ci  ---
142513498266Sopenharmony_ci  updated-dependencies:
142613498266Sopenharmony_ci  - dependency-name: actions/upload-artifact
142713498266Sopenharmony_ci    dependency-type: direct:production
142813498266Sopenharmony_ci    update-type: version-update:semver-major
142913498266Sopenharmony_ci  ...
143013498266Sopenharmony_ci
143113498266Sopenharmony_ci  Signed-off-by: dependabot[bot] <support@github.com>
143213498266Sopenharmony_ci
143313498266Sopenharmony_ci  Closes #12627
143413498266Sopenharmony_ci
143513498266Sopenharmony_ci- build(deps): bump actions/download-artifact from 3 to 4
143613498266Sopenharmony_ci
143713498266Sopenharmony_ci  Bumps [actions/download-artifact](https://github.com/actions/download-artifac
143813498266Sopenharmony_ci  t) from 3 to 4.
143913498266Sopenharmony_ci  - [Release notes](https://github.com/actions/download-artifact/releases)
144013498266Sopenharmony_ci  - [Commits](https://github.com/actions/download-artifact/compare/v3...v4)
144113498266Sopenharmony_ci
144213498266Sopenharmony_ci  ---
144313498266Sopenharmony_ci  updated-dependencies:
144413498266Sopenharmony_ci  - dependency-name: actions/download-artifact
144513498266Sopenharmony_ci    dependency-type: direct:production
144613498266Sopenharmony_ci    update-type: version-update:semver-major
144713498266Sopenharmony_ci  ...
144813498266Sopenharmony_ci
144913498266Sopenharmony_ci  Signed-off-by: dependabot[bot] <support@github.com>
145013498266Sopenharmony_ci
145113498266Sopenharmony_ci  Closes #12626
145213498266Sopenharmony_ci
145313498266Sopenharmony_ciStefan Eissing (3 Jan 2024)
145413498266Sopenharmony_ci
145513498266Sopenharmony_ci- http3/quiche: fix result code on a stream reset
145613498266Sopenharmony_ci
145713498266Sopenharmony_ci  - fixes pytest failures in test 07_22
145813498266Sopenharmony_ci  - aligns CURLcode values on stream reset with ngtcp2
145913498266Sopenharmony_ci
146013498266Sopenharmony_ci  Closes #12629
146113498266Sopenharmony_ci
146213498266Sopenharmony_ciDaniel Stenberg (2 Jan 2024)
146313498266Sopenharmony_ci
146413498266Sopenharmony_ci- setopt: clear mimepost when formp is freed
146513498266Sopenharmony_ci
146613498266Sopenharmony_ci  A precaution to avoid a possibly dangling pointer left behind.
146713498266Sopenharmony_ci
146813498266Sopenharmony_ci  Reported-by: Thomas Ferguson
146913498266Sopenharmony_ci  Fixes #12608
147013498266Sopenharmony_ci  Closes #12621
147113498266Sopenharmony_ci
147213498266Sopenharmony_ciAndy Alt (2 Jan 2024)
147313498266Sopenharmony_ci
147413498266Sopenharmony_ci- CI: Add dependabot.yml
147513498266Sopenharmony_ci
147613498266Sopenharmony_ci  This will cause dependabot to open a PR when various actions are
147713498266Sopenharmony_ci  updated, provided that the action maintainer has issued a release.
147813498266Sopenharmony_ci
147913498266Sopenharmony_ci  Closes #12623
148013498266Sopenharmony_ci
148113498266Sopenharmony_ciGisle Vanem (2 Jan 2024)
148213498266Sopenharmony_ci
148313498266Sopenharmony_ci- content_encoding: change return code to typedef'ed enum
148413498266Sopenharmony_ci
148513498266Sopenharmony_ci  ... to work around a clang ubsan warning.
148613498266Sopenharmony_ci
148713498266Sopenharmony_ci  Fixes #12618
148813498266Sopenharmony_ci  Closes #12622
148913498266Sopenharmony_ci
149013498266Sopenharmony_ciDaniel Stenberg (2 Jan 2024)
149113498266Sopenharmony_ci
149213498266Sopenharmony_ci- tool: prepend output_dir in header callback
149313498266Sopenharmony_ci
149413498266Sopenharmony_ci  When Content-Disposition parsing is used and an output dir is prepended,
149513498266Sopenharmony_ci  make sure to store that new file name correctly so that it can be used
149613498266Sopenharmony_ci  for setting the file timestamp when --remote-time is used.
149713498266Sopenharmony_ci
149813498266Sopenharmony_ci  Extended test 3012 to verify.
149913498266Sopenharmony_ci
150013498266Sopenharmony_ci  Co-Authored-by: Jay Satiro
150113498266Sopenharmony_ci  Reported-by: hgdagon on github
150213498266Sopenharmony_ci  Fixes #12614
150313498266Sopenharmony_ci  Closes #12617
150413498266Sopenharmony_ci
150513498266Sopenharmony_ci- test1254: fix typo in name plus shorten it
150613498266Sopenharmony_ci
150713498266Sopenharmony_ci- RELEASE-NOTES: synced
150813498266Sopenharmony_ci
150913498266Sopenharmony_ciViktor Szakats (2 Jan 2024)
151013498266Sopenharmony_ci
151113498266Sopenharmony_ci- schannel: fix `-Warith-conversion` gcc 13 warning
151213498266Sopenharmony_ci
151313498266Sopenharmony_ci  ```
151413498266Sopenharmony_ci  lib/vtls/schannel.c:1201:22: warning: conversion to 'unsigned int' from 'int'
151513498266Sopenharmony_ci   may change the sign of the result [-Warith-conversion]
151613498266Sopenharmony_ci   1201 |     *extension_len = *list_len +
151713498266Sopenharmony_ci        |                      ^
151813498266Sopenharmony_ci  ```
151913498266Sopenharmony_ci
152013498266Sopenharmony_ci  Closes #12616
152113498266Sopenharmony_ci
152213498266Sopenharmony_ci- asyn-thread: silence `-Wcast-align` warning for Windows
152313498266Sopenharmony_ci
152413498266Sopenharmony_ci  Seen with llvm/clang 17:
152513498266Sopenharmony_ci  ```
152613498266Sopenharmony_ci  lib/asyn-thread.c:310:5: warning: cast from 'PCHAR' (aka 'char *') to 'struct
152713498266Sopenharmony_ci   thread_sync_data *' increases required alignment from 1 to 8 [-Wcast-align]
152813498266Sopenharmony_ci    310 |     CONTAINING_RECORD(overlapped, struct thread_sync_data, w8.overlap
152913498266Sopenharmony_ci  ped);
153013498266Sopenharmony_ci        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
153113498266Sopenharmony_ci  ~~~~
153213498266Sopenharmony_ci  .../llvm-mingw/aarch64-w64-mingw32/include/winnt.h:717:48: note: expanded fro
153313498266Sopenharmony_ci  m macro 'CONTAINING_RECORD'
153413498266Sopenharmony_ci    717 | #define CONTAINING_RECORD(address,type,field) ((type *)((PCHAR)(addre
153513498266Sopenharmony_ci  ss) - (ULONG_PTR)(&((type *)0)->field)))
153613498266Sopenharmony_ci        |                                                ^~~~~~~~~~~~~~~~~~~~~~
153713498266Sopenharmony_ci  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
153813498266Sopenharmony_ci  ```
153913498266Sopenharmony_ci
154013498266Sopenharmony_ci  Follow-up to a6bbc87f9e9ffb46a1801dfb983e7534825ed56b #12482
154113498266Sopenharmony_ci
154213498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/12482#issuecomment-1873017261
154313498266Sopenharmony_ci  Closes #12615
154413498266Sopenharmony_ci
154513498266Sopenharmony_ciDaniel Stenberg (2 Jan 2024)
154613498266Sopenharmony_ci
154713498266Sopenharmony_ci- tool_listhelp: regenerate after recent .d updates
154813498266Sopenharmony_ci
154913498266Sopenharmony_ci  Makes it survive test 1478
155013498266Sopenharmony_ci
155113498266Sopenharmony_ci  Closes #12612
155213498266Sopenharmony_ci
155313498266Sopenharmony_ci- test1478: verify src/tool_listhelp.c
155413498266Sopenharmony_ci
155513498266Sopenharmony_ci  Verify that the source file on disk is identical to the output of gen.pl
155613498266Sopenharmony_ci  listhelp, as otherwise they are out of sync and need attention.
155713498266Sopenharmony_ci
155813498266Sopenharmony_ci  Closes #12612
155913498266Sopenharmony_ci
156013498266Sopenharmony_ci- testutil: make runtests support %include
156113498266Sopenharmony_ci
156213498266Sopenharmony_ci  Using this instruction, a test case can include the contents of a file
156313498266Sopenharmony_ci  into the test during the preprocessing.
156413498266Sopenharmony_ci
156513498266Sopenharmony_ci  Closes #12612
156613498266Sopenharmony_ci
156713498266Sopenharmony_ci- runtests: for mode="text" on <stdout>, fix newlines on both parts
156813498266Sopenharmony_ci
156913498266Sopenharmony_ci  Closes #12612
157013498266Sopenharmony_ci
157113498266Sopenharmony_ciJay Satiro (2 Jan 2024)
157213498266Sopenharmony_ci
157313498266Sopenharmony_ci- quiche: return CURLE_HTTP3 on send to invalid stream
157413498266Sopenharmony_ci
157513498266Sopenharmony_ci  Prior to this change if a send failed on a stream in an invalid state
157613498266Sopenharmony_ci  (according to quiche) and not marked as closed (according to libcurl)
157713498266Sopenharmony_ci  then the send function would return CURLE_SEND_ERROR.
157813498266Sopenharmony_ci
157913498266Sopenharmony_ci  We already have similar code for ngtcp2 to return CURLE_HTTP3 in this
158013498266Sopenharmony_ci  case.
158113498266Sopenharmony_ci
158213498266Sopenharmony_ci  Caught by test test_07_upload.py: test_07_22_upload_parallel_fail.
158313498266Sopenharmony_ci
158413498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12590
158513498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12597
158613498266Sopenharmony_ci
158713498266Sopenharmony_ciDaniel Stenberg (1 Jan 2024)
158813498266Sopenharmony_ci
158913498266Sopenharmony_ci- cmdline-opts: update availability for the *-ca-native options
159013498266Sopenharmony_ci
159113498266Sopenharmony_ci  Closes #12613
159213498266Sopenharmony_ci
159313498266Sopenharmony_ciPatrick Monnerat (31 Dec 2023)
159413498266Sopenharmony_ci
159513498266Sopenharmony_ci- openldap: fix STARTTLS
159613498266Sopenharmony_ci
159713498266Sopenharmony_ci  It was not working anymore since introduction of connection filters.
159813498266Sopenharmony_ci
159913498266Sopenharmony_ci  Also do not attempt to recover from a failing TLS negotiation with
160013498266Sopenharmony_ci  CURLUSESSL_TRY.
160113498266Sopenharmony_ci
160213498266Sopenharmony_ci  Closes #12610
160313498266Sopenharmony_ci
160413498266Sopenharmony_ciDaniel Stenberg (31 Dec 2023)
160513498266Sopenharmony_ci
160613498266Sopenharmony_ci- haproxy-clientip.d: document the arg
160713498266Sopenharmony_ci
160813498266Sopenharmony_ci  The arg keyword was missing and therefore not present in the man page.
160913498266Sopenharmony_ci
161013498266Sopenharmony_ci  Closes #12611
161113498266Sopenharmony_ci
161213498266Sopenharmony_ciannalee (29 Dec 2023)
161313498266Sopenharmony_ci
161413498266Sopenharmony_ci- configure: fix no default int compile error in ipv6 detection
161513498266Sopenharmony_ci
161613498266Sopenharmony_ci  Closes #12607
161713498266Sopenharmony_ci
161813498266Sopenharmony_ciDan Fandrich (28 Dec 2023)
161913498266Sopenharmony_ci
162013498266Sopenharmony_ci- CI: Fix use of any-glob-to-all-files in the labeler
162113498266Sopenharmony_ci
162213498266Sopenharmony_ci  Despite its name, this atom acts like one-glob-to-all-files and a
162313498266Sopenharmony_ci  different syntax with braces must be used to get
162413498266Sopenharmony_ci  any-glob-to-all-files semantics. Unfortunately, this makes the file
162513498266Sopenharmony_ci  completely unreadable.
162613498266Sopenharmony_ci
162713498266Sopenharmony_ci  Ref: https://github.com/actions/labeler/issues/731
162813498266Sopenharmony_ci
162913498266Sopenharmony_ciDaniel Stenberg (29 Dec 2023)
163013498266Sopenharmony_ci
163113498266Sopenharmony_ci- CURLOPT_AUTOREFERER.3: mention CURLINFO_REFERER
163213498266Sopenharmony_ci
163313498266Sopenharmony_ci- CURLINFO_REFERER.3: clarify that it is the *request* header
163413498266Sopenharmony_ci
163513498266Sopenharmony_ci  That libcurl itself sent in the most recent request
163613498266Sopenharmony_ci
163713498266Sopenharmony_ci  Closes #12605
163813498266Sopenharmony_ci
163913498266Sopenharmony_ciJay Satiro (28 Dec 2023)
164013498266Sopenharmony_ci
164113498266Sopenharmony_ci- system_win32: fix a function pointer assignment warning
164213498266Sopenharmony_ci
164313498266Sopenharmony_ci  - Use CURLX_FUNCTION_CAST to suppress a function pointer assignment
164413498266Sopenharmony_ci    warning.
164513498266Sopenharmony_ci
164613498266Sopenharmony_ci  a6bbc87f added lookups of some Windows API functions and then cast them
164713498266Sopenharmony_ci  like `*(FARPROC*)&Curl_funcname = address`. Some versions of gcc warn
164813498266Sopenharmony_ci  about that as breaking strict-aliasing rules so this PR changes those
164913498266Sopenharmony_ci  assignments to use CURLX_FUNCTION_CAST.
165013498266Sopenharmony_ci
165113498266Sopenharmony_ci  Bug: https://github.com/curl/curl/pull/12581#issuecomment-1869804317
165213498266Sopenharmony_ci  Reported-by: Marcel Raad
165313498266Sopenharmony_ci
165413498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12602
165513498266Sopenharmony_ci
165613498266Sopenharmony_ci- verify-examples.pl: fail verification on unescaped backslash
165713498266Sopenharmony_ci
165813498266Sopenharmony_ci  - Check that all backslashes in EXAMPLE are properly escaped.
165913498266Sopenharmony_ci
166013498266Sopenharmony_ci  eg manpage must always use `\\n` never `\n`.
166113498266Sopenharmony_ci
166213498266Sopenharmony_ci  This is because the manpage requires we always double blackslash to show
166313498266Sopenharmony_ci  a single backslash. Prior to this change an erroneous single backslash
166413498266Sopenharmony_ci  would pass through and compile even though it would not show correctly
166513498266Sopenharmony_ci  in the manpage.
166613498266Sopenharmony_ci
166713498266Sopenharmony_ci  Co-authored-by: Daniel Stenberg
166813498266Sopenharmony_ci
166913498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/12588
167013498266Sopenharmony_ci
167113498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12589
167213498266Sopenharmony_ci
167313498266Sopenharmony_ci- vtls: fix missing multissl version info
167413498266Sopenharmony_ci
167513498266Sopenharmony_ci  - Fix erroneous buffer copy logic from ff74cef5.
167613498266Sopenharmony_ci
167713498266Sopenharmony_ci  Prior to this change the MultiSSL version info returned to the user
167813498266Sopenharmony_ci  was empty.
167913498266Sopenharmony_ci
168013498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12599
168113498266Sopenharmony_ci
168213498266Sopenharmony_ciDaniel Stenberg (27 Dec 2023)
168313498266Sopenharmony_ci
168413498266Sopenharmony_ci- KNOWN_BUGS: [RTSP] Some methods do not support response bodies
168513498266Sopenharmony_ci
168613498266Sopenharmony_ci  Closes #12414
168713498266Sopenharmony_ci
168813498266Sopenharmony_ciPatrick Monnerat (27 Dec 2023)
168913498266Sopenharmony_ci
169013498266Sopenharmony_ci- openldap: fix an LDAP crash
169113498266Sopenharmony_ci
169213498266Sopenharmony_ci  Reported-by: Ozan Cansel
169313498266Sopenharmony_ci  Fixes #12593
169413498266Sopenharmony_ci  Closes #12600
169513498266Sopenharmony_ci
169613498266Sopenharmony_ciDaniel Stenberg (27 Dec 2023)
169713498266Sopenharmony_ci
169813498266Sopenharmony_ci- getinfo: CURLINFO_QUEUE_TIME_T
169913498266Sopenharmony_ci
170013498266Sopenharmony_ci  Returns the time, in microseconds, during which this transfer was held
170113498266Sopenharmony_ci  in a waiting queue before it started "for real". A transfer might be put
170213498266Sopenharmony_ci  in a queue if after getting started, it cannot create a new connection
170313498266Sopenharmony_ci  etc due to set conditions and limits imposed by the application.
170413498266Sopenharmony_ci
170513498266Sopenharmony_ci  Ref: #12293
170613498266Sopenharmony_ci  Closes #12368
170713498266Sopenharmony_ci
170813498266Sopenharmony_ci- RELEASE-NOTES: synced
170913498266Sopenharmony_ci
171013498266Sopenharmony_ciJay Satiro (26 Dec 2023)
171113498266Sopenharmony_ci
171213498266Sopenharmony_ci- examples/sendrecv: fix comment line length
171313498266Sopenharmony_ci
171413498266Sopenharmony_ci  Caught by checksrc.
171513498266Sopenharmony_ci
171613498266Sopenharmony_ciHaydar Alaidrus (23 Dec 2023)
171713498266Sopenharmony_ci
171813498266Sopenharmony_ci- CURLOPT_POSTFIELDS.3: fix incorrect C string escape in example
171913498266Sopenharmony_ci
172013498266Sopenharmony_ci  - Escape inner quotes with two backslashes.
172113498266Sopenharmony_ci
172213498266Sopenharmony_ci  Two backslashes escapes the backslash for the man page and will show as
172313498266Sopenharmony_ci  a single backslash.
172413498266Sopenharmony_ci
172513498266Sopenharmony_ci  eg: "{\\"name\\": \\"daniel\\"}" shows as "{\"name\": \"daniel\"}".
172613498266Sopenharmony_ci
172713498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12588
172813498266Sopenharmony_ci
172913498266Sopenharmony_ciViktor Szakats (23 Dec 2023)
173013498266Sopenharmony_ci
173113498266Sopenharmony_ci- appveyor: tidy-ups
173213498266Sopenharmony_ci
173313498266Sopenharmony_ci  - replace two remaining backslashes with forward slashes.
173413498266Sopenharmony_ci  - tidy up the way we form and pass `TFLAGS`.
173513498266Sopenharmony_ci
173613498266Sopenharmony_ci  Follow-up to 2d4d0c1fd32f5cc3f946c407c8eccd5477b287df #12572
173713498266Sopenharmony_ci
173813498266Sopenharmony_ci  Closes #12582
173913498266Sopenharmony_ci
174013498266Sopenharmony_ciStefan Eissing (22 Dec 2023)
174113498266Sopenharmony_ci
174213498266Sopenharmony_ci- transfer: fix upload rate limiting, add test cases
174313498266Sopenharmony_ci
174413498266Sopenharmony_ci  - add test cases for rate limiting uploads for all
174513498266Sopenharmony_ci    http versions
174613498266Sopenharmony_ci  - fix transfer loop handling of limits. Signal a re-receive
174713498266Sopenharmony_ci    attempt only on exhausting maxloops without an EAGAIN
174813498266Sopenharmony_ci  - fix `data->state.selectbits` forcing re-receive to also
174913498266Sopenharmony_ci    set re-sending when transfer is doing this.
175013498266Sopenharmony_ci
175113498266Sopenharmony_ci  Reported-by: Karthikdasari0423 on github
175213498266Sopenharmony_ci  Fixes #12559
175313498266Sopenharmony_ci  Closes #12586
175413498266Sopenharmony_ci
175513498266Sopenharmony_ciDaniel Stenberg (22 Dec 2023)
175613498266Sopenharmony_ci
175713498266Sopenharmony_ci- mbedtls: free the entropy when threaded
175813498266Sopenharmony_ci
175913498266Sopenharmony_ci  The entropy_free was never done for threaded builds, causing a small
176013498266Sopenharmony_ci  (fixed) memory leak.
176113498266Sopenharmony_ci
176213498266Sopenharmony_ci  Reported-by: RevaliQaQ on github
176313498266Sopenharmony_ci  Fixes #12584
176413498266Sopenharmony_ci  Closes #12585
176513498266Sopenharmony_ci
176613498266Sopenharmony_ciStefan Eissing (22 Dec 2023)
176713498266Sopenharmony_ci
176813498266Sopenharmony_ci- http2: improved on_stream_close/data_done handling
176913498266Sopenharmony_ci
177013498266Sopenharmony_ci  - there seems to be a code path that cleans up easy handles without
177113498266Sopenharmony_ci    triggering DONE or DETACH events to the connection filters. This
177213498266Sopenharmony_ci    would explain wh nghttp2 still holds stream user data
177313498266Sopenharmony_ci  - add GOOD check to easy handle used in on_close_callback to
177413498266Sopenharmony_ci    prevent crashes, ASSERTs in debug builds.
177513498266Sopenharmony_ci  - NULL the stream user data early before submitting RST
177613498266Sopenharmony_ci  - add checks in on_stream_close() to identify UNGOOD easy handles
177713498266Sopenharmony_ci
177813498266Sopenharmony_ci  Reported-by: Hans-Christian Egtvedt
177913498266Sopenharmony_ci  Fixes #10936
178013498266Sopenharmony_ci  Closes #12562
178113498266Sopenharmony_ci
178213498266Sopenharmony_ciDaniel Stenberg (22 Dec 2023)
178313498266Sopenharmony_ci
178413498266Sopenharmony_ci- mprintf: overhaul and bugfixes
178513498266Sopenharmony_ci
178613498266Sopenharmony_ci  In a test case using lots of snprintf() calls using many commonly used
178713498266Sopenharmony_ci  %-codes per call, this version is around 30% faster than previous
178813498266Sopenharmony_ci  version.
178913498266Sopenharmony_ci
179013498266Sopenharmony_ci  It also fixes the #12561 bug which made it not behave correctly when
179113498266Sopenharmony_ci  given unknown %-sequences. Fixing that flaw required a different take on
179213498266Sopenharmony_ci  the problem, which resulted in the new two-arrays model.
179313498266Sopenharmony_ci
179413498266Sopenharmony_ci  lib557: extended - Verify the #12561 fix and test more printf features
179513498266Sopenharmony_ci
179613498266Sopenharmony_ci  unit1398: fix test: It used a <num>$ only for one argument, which is not
179713498266Sopenharmony_ci  supported.
179813498266Sopenharmony_ci
179913498266Sopenharmony_ci  Fixes #12561
180013498266Sopenharmony_ci  Closes #12563
180113498266Sopenharmony_ci
180213498266Sopenharmony_ciViktor Szakats (21 Dec 2023)
180313498266Sopenharmony_ci
180413498266Sopenharmony_ci- appveyor: replace PowerShell with bash + parallel autotools
180513498266Sopenharmony_ci
180613498266Sopenharmony_ci  PowerShell works (after a steep development curve), but one property of
180713498266Sopenharmony_ci  it stuck and kept causing unresolvable usability issues: With
180813498266Sopenharmony_ci  `$ErrorActionPreference=Stop`, it does abort on failures, but shows only
180913498266Sopenharmony_ci  the first line of the error message. In `Continue` mode, it shows the
181013498266Sopenharmony_ci  full error message, but doesn't stop on all errors. Another issue is
181113498266Sopenharmony_ci  PowerShell considering any stderr output as if the command failed (this
181213498266Sopenharmony_ci  has been improved in 7.2 (2021-Nov), but fixed versions aren't running
181313498266Sopenharmony_ci  in CI and will not be for a long time in all test images.)
181413498266Sopenharmony_ci
181513498266Sopenharmony_ci  Thus, we're going with bash.
181613498266Sopenharmony_ci
181713498266Sopenharmony_ci  Also:
181813498266Sopenharmony_ci  - use `-j2` with autotools tests, making them finish 5-15 minutes per
181913498266Sopenharmony_ci    job faster.
182013498266Sopenharmony_ci  - omit `POSIX_PATH_PREFIX`.
182113498266Sopenharmony_ci  - use `WINDIR`.
182213498266Sopenharmony_ci  - prefer forward slashes.
182313498266Sopenharmony_ci
182413498266Sopenharmony_ci  Follow-up to: 75078a415d9c769419aed4153d3d525a8eba95af #11999
182513498266Sopenharmony_ci  Ref: #12444
182613498266Sopenharmony_ci
182713498266Sopenharmony_ci  Fixes #12560
182813498266Sopenharmony_ci  Closes #12572
182913498266Sopenharmony_ci
183013498266Sopenharmony_ciPavel Pavlov (21 Dec 2023)
183113498266Sopenharmony_ci
183213498266Sopenharmony_ci- asyn-thread: use GetAddrInfoExW on >= Windows 8
183313498266Sopenharmony_ci
183413498266Sopenharmony_ci  For doing async DNS resolution instead of starting a thread for each
183513498266Sopenharmony_ci  request.
183613498266Sopenharmony_ci
183713498266Sopenharmony_ci  Fixes #12481
183813498266Sopenharmony_ci  Closes #12482
183913498266Sopenharmony_ci
184013498266Sopenharmony_ciDaniel Stenberg (21 Dec 2023)
184113498266Sopenharmony_ci
184213498266Sopenharmony_ci- strerror: repair get_winsock_error()
184313498266Sopenharmony_ci
184413498266Sopenharmony_ci  It would try to read longer than the provided string and crash.
184513498266Sopenharmony_ci
184613498266Sopenharmony_ci  Follow-up to ff74cef5d4a0cf60106517a1c7384
184713498266Sopenharmony_ci  Reported-by: calvin2021y on github
184813498266Sopenharmony_ci  Fixes #12578
184913498266Sopenharmony_ci  Closes #12579
185013498266Sopenharmony_ci
185113498266Sopenharmony_ci- CURLOPT_SSH_*_KEYFILE: clarify
185213498266Sopenharmony_ci
185313498266Sopenharmony_ci  Closes #12554
185413498266Sopenharmony_ci
185513498266Sopenharmony_ciivanfywang (21 Dec 2023)
185613498266Sopenharmony_ci
185713498266Sopenharmony_ci- ngtcp2: put h3 at the front of alpn
185813498266Sopenharmony_ci
185913498266Sopenharmony_ci  Closes #12576
186013498266Sopenharmony_ci
186113498266Sopenharmony_ciDaniel Stenberg (21 Dec 2023)
186213498266Sopenharmony_ci
186313498266Sopenharmony_ci- test460: verify a command line using --expand with no argument
186413498266Sopenharmony_ci
186513498266Sopenharmony_ci  This verifies the fix for #12565
186613498266Sopenharmony_ci
186713498266Sopenharmony_ci- tool_getparam: do not try to expand without an argument
186813498266Sopenharmony_ci
186913498266Sopenharmony_ci  This would lead to a segfault.
187013498266Sopenharmony_ci
187113498266Sopenharmony_ci  Fixes #12565
187213498266Sopenharmony_ci  Reported-by: Geeknik Labs
187313498266Sopenharmony_ci  Closes #12575
187413498266Sopenharmony_ci
187513498266Sopenharmony_ci- RELEASE-NOTES: synced
187613498266Sopenharmony_ci
187713498266Sopenharmony_ci  Bumped version to 8.6.0 because of changes
187813498266Sopenharmony_ci
187913498266Sopenharmony_ci- Makefile.am: fix the MSVC project generation
188013498266Sopenharmony_ci
188113498266Sopenharmony_ci  It made the vcxproj files not get included in dist tarballs.
188213498266Sopenharmony_ci
188313498266Sopenharmony_ci  Regression since 74423b5df4c8117891eb89 (8.5.0)
188413498266Sopenharmony_ci
188513498266Sopenharmony_ci  Reported-by: iAroc on github
188613498266Sopenharmony_ci  Fixes #12564
188713498266Sopenharmony_ci  Closes #12567
188813498266Sopenharmony_ci
188913498266Sopenharmony_cizengwei2000 (21 Dec 2023)
189013498266Sopenharmony_ci
189113498266Sopenharmony_ci- altsvc: free 'as' when returning error
189213498266Sopenharmony_ci
189313498266Sopenharmony_ci  Closes #12570
189413498266Sopenharmony_ci
189513498266Sopenharmony_ci  Signed-off-by: zengwei <zengwei1@uniontech.com>
189613498266Sopenharmony_ci
189713498266Sopenharmony_ciViktor Szakats (20 Dec 2023)
189813498266Sopenharmony_ci
189913498266Sopenharmony_ci- build: fix `-Wconversion`/`-Wsign-conversion` warnings
190013498266Sopenharmony_ci
190113498266Sopenharmony_ci  Fix remaining warnings in examples and tests which are not suppressed
190213498266Sopenharmony_ci  by the pragma in `lib/curl_setup.h`.
190313498266Sopenharmony_ci
190413498266Sopenharmony_ci  Silence a toolchain issue causing warnings in `FD_SET()` calls with
190513498266Sopenharmony_ci  older Cygwin/MSYS2 builds. Likely fixed on 2020-08-03 by:
190613498266Sopenharmony_ci  https://cygwin.com/git/?p=newlib-cygwin.git;a=commitdiff;h=5717262b8ecfed0f7f
190713498266Sopenharmony_ci  ab63e2c09c78991e36f9dd
190813498266Sopenharmony_ci
190913498266Sopenharmony_ci  Follow-up to 2dbe75bd7f3c36837aa06fd87a442bdf3fb7faef #12492
191013498266Sopenharmony_ci
191113498266Sopenharmony_ci  Closes #12557
191213498266Sopenharmony_ci
191313498266Sopenharmony_ci- build: fix some `-Wsign-conversion`/`-Warith-conversion` warnings
191413498266Sopenharmony_ci
191513498266Sopenharmony_ci  - enable `-Wsign-conversion` warnings, but also setting them to not
191613498266Sopenharmony_ci    raise errors.
191713498266Sopenharmony_ci  - fix `-Warith-conversion` warnings seen in CI.
191813498266Sopenharmony_ci    These are triggered by `-Wsign-converion` and causing errors unless
191913498266Sopenharmony_ci    explicitly silenced. It makes more sense to fix them, there just a few
192013498266Sopenharmony_ci    of them.
192113498266Sopenharmony_ci  - fix some `-Wsign-conversion` warnings.
192213498266Sopenharmony_ci  - hide `-Wsign-conversion` warnings with a `#pragma`.
192313498266Sopenharmony_ci  - add macro `CURL_WARN_SIGN_CONVERSION` to unhide them on a per-build
192413498266Sopenharmony_ci    basis.
192513498266Sopenharmony_ci  - update a CI job to unhide them with the above macro:
192613498266Sopenharmony_ci    https://github.com/curl/curl/actions/workflows/linux.yml -> OpenSSL -O3
192713498266Sopenharmony_ci
192813498266Sopenharmony_ci  Closes #12492
192913498266Sopenharmony_ci
193013498266Sopenharmony_ci- cmake: tidy-up `OtherTests.cmake`
193113498266Sopenharmony_ci
193213498266Sopenharmony_ci  - make more obvious which detection uses which prep steps.
193313498266Sopenharmony_ci  - merge and streamline conditions.
193413498266Sopenharmony_ci  - these should not alter detection results.
193513498266Sopenharmony_ci
193613498266Sopenharmony_ci  Also align log output messages from
193713498266Sopenharmony_ci  `Macros.cmake` / `curl_internal_test` with rest of the build.
193813498266Sopenharmony_ci
193913498266Sopenharmony_ci  Closes #12551
194013498266Sopenharmony_ci
194113498266Sopenharmony_ci- appveyor: switch to out-of-tree builds
194213498266Sopenharmony_ci
194313498266Sopenharmony_ci  With cmake and autotools.
194413498266Sopenharmony_ci
194513498266Sopenharmony_ci  Closes #12550
194613498266Sopenharmony_ci
194713498266Sopenharmony_ciDaniel Stenberg (19 Dec 2023)
194813498266Sopenharmony_ci
194913498266Sopenharmony_ci- DEPRECATE.md: mention that NTLM_WB no longer works
195013498266Sopenharmony_ci
195113498266Sopenharmony_ci  Ref: #12479
195213498266Sopenharmony_ci  Closes #12553
195313498266Sopenharmony_ci
195413498266Sopenharmony_ci- CURLOPT_SERVER_RESPONSE_TIMEOUT_MS: add
195513498266Sopenharmony_ci
195613498266Sopenharmony_ci  Proposed-by: Yifei Kong
195713498266Sopenharmony_ci  Ref: https://curl.se/mail/lib-2023-11/0023.html
195813498266Sopenharmony_ci  Closes #12369
195913498266Sopenharmony_ci
196013498266Sopenharmony_ciViktor Szakats (18 Dec 2023)
196113498266Sopenharmony_ci
196213498266Sopenharmony_ci- build: more `-Wformat` fixes
196313498266Sopenharmony_ci
196413498266Sopenharmony_ci  - memdebug: update to not trigger `-Wformat-nonliteral` warnings.
196513498266Sopenharmony_ci  - imap: mark `imap_sendf()` with  `CURL_PRINTF()`.
196613498266Sopenharmony_ci  - tool_msgs: mark static function with `CURL_PRINTF()`.
196713498266Sopenharmony_ci
196813498266Sopenharmony_ci  Follow-up to 3829759bd042c03225ae862062560f568ba1a231 #12489
196913498266Sopenharmony_ci
197013498266Sopenharmony_ci  Closes #12540
197113498266Sopenharmony_ci
197213498266Sopenharmony_ci- windows: delete redundant headers
197313498266Sopenharmony_ci
197413498266Sopenharmony_ci  `winsock2.h` pulls in `windows.h`. `ws2tcpip.h` pulls in `winsock2.h`.
197513498266Sopenharmony_ci  `winsock2.h` and `ws2tcpip.h` are also pulled by `curl/curl.h`.
197613498266Sopenharmony_ci
197713498266Sopenharmony_ci  Keep only those headers that are not already included, or the code under
197813498266Sopenharmony_ci  it uses something from that specific header.
197913498266Sopenharmony_ci
198013498266Sopenharmony_ci  Closes #12539
198113498266Sopenharmony_ci
198213498266Sopenharmony_ci- cmake: prefill/cache `HAVE_STRUCT_SOCKADDR_STORAGE`
198313498266Sopenharmony_ci
198413498266Sopenharmony_ci  Also add missing include to `OtherTests.cmake`. It didn't cause an issue
198513498266Sopenharmony_ci  because the parent already included this earlier by chance.
198613498266Sopenharmony_ci
198713498266Sopenharmony_ci  Closes #12537
198813498266Sopenharmony_ci
198913498266Sopenharmony_ciDaniel Stenberg (18 Dec 2023)
199013498266Sopenharmony_ci
199113498266Sopenharmony_ci- runner.pm: fix perl warning when running tests
199213498266Sopenharmony_ci
199313498266Sopenharmony_ci      Use of uninitialized value $runner::gdbthis in numeric eq (==) at runner.
199413498266Sopenharmony_ci  pm
199513498266Sopenharmony_ci
199613498266Sopenharmony_ci  Follow-up from 3dcf301752a09d9
199713498266Sopenharmony_ci
199813498266Sopenharmony_ci  Closes #12549
199913498266Sopenharmony_ci
200013498266Sopenharmony_ci- runtests: support -gl. Like -g but for lldb.
200113498266Sopenharmony_ci
200213498266Sopenharmony_ci  Follow-up to 63b5748
200313498266Sopenharmony_ci
200413498266Sopenharmony_ci  Invokes the test case via lldb instead of gdb. Since using gdb is such a
200513498266Sopenharmony_ci  pain on mac, using lldb is sometimes less quirky.
200613498266Sopenharmony_ci
200713498266Sopenharmony_ci  Closes #12547
200813498266Sopenharmony_ci
200913498266Sopenharmony_ci- curl.h: add CURLE_TOO_LARGE
201013498266Sopenharmony_ci
201113498266Sopenharmony_ci  A new error code to be used when an internal field grows too large, like
201213498266Sopenharmony_ci  when a dynbuf reaches its maximum. Previously it would return
201313498266Sopenharmony_ci  CURLE_OUT_OF_MEMORY for this, which is highly misleading.
201413498266Sopenharmony_ci
201513498266Sopenharmony_ci  Ref: #12268
201613498266Sopenharmony_ci  Closes #12269
201713498266Sopenharmony_ci
201813498266Sopenharmony_ci- CI/circleci: disable MQTT in the HTTP-only build
201913498266Sopenharmony_ci
202013498266Sopenharmony_ci  And remove the use of configure options that don't actually exist
202113498266Sopenharmony_ci
202213498266Sopenharmony_ci  Closes #12546
202313498266Sopenharmony_ci
202413498266Sopenharmony_ciYedaya Katsman (18 Dec 2023)
202513498266Sopenharmony_ci
202613498266Sopenharmony_ci- tests: respect $TMPDIR when creating unix domain sockets
202713498266Sopenharmony_ci
202813498266Sopenharmony_ci  When running on termux, where $TMPDIR isn't /tmp, running the tests
202913498266Sopenharmony_ci  failed, since the server config tried creating sockets in /tmp, without
203013498266Sopenharmony_ci  checking the temp dir config. Use the TMPDIR variable that makes it find
203113498266Sopenharmony_ci  the correct directory everywhere [0]
203213498266Sopenharmony_ci
203313498266Sopenharmony_ci  [0] https://perldoc.perl.org/File::Temp#tempfile
203413498266Sopenharmony_ci
203513498266Sopenharmony_ci  Closes #12545
203613498266Sopenharmony_ci
203713498266Sopenharmony_ciViktor Szakats (17 Dec 2023)
203813498266Sopenharmony_ci
203913498266Sopenharmony_ci- ssh: fix namespace of two local macros
204013498266Sopenharmony_ci
204113498266Sopenharmony_ci  Avoid using the libssh and libssh2 macro namespaces by prefixing
204213498266Sopenharmony_ci  these local macro names with `CURL_`.
204313498266Sopenharmony_ci
204413498266Sopenharmony_ci  Follow-up to 413a0fedd02c8c6df1d294534b8c6e306fcca7a2 #12346
204513498266Sopenharmony_ci
204613498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
204713498266Sopenharmony_ci  Closes #12544
204813498266Sopenharmony_ci
204913498266Sopenharmony_ci- cmake: whitespace tidy-up in `OtherTests.cmake`
205013498266Sopenharmony_ci
205113498266Sopenharmony_ci  Closes #12538
205213498266Sopenharmony_ci
205313498266Sopenharmony_ciMark Sinkovics (16 Dec 2023)
205413498266Sopenharmony_ci
205513498266Sopenharmony_ci- cmake: fix generation for system name iOS
205613498266Sopenharmony_ci
205713498266Sopenharmony_ci  This PR fixes a problem that happens during CMake configuration when
205813498266Sopenharmony_ci  the `CMAKE_SYSTEM_NAME` set to `iOS` and not `Darwin`. This value is
205913498266Sopenharmony_ci  available (as far as I remember) version 3.14. The final solution
206013498266Sopenharmony_ci  (thanks to @vszakats) is to use `APPLE` which contains all the Apple
206113498266Sopenharmony_ci  platforms https://cmake.org/cmake/help/latest/variable/APPLE.html.
206213498266Sopenharmony_ci
206313498266Sopenharmony_ci  This issue was found when during vcpkg installation. Running command
206413498266Sopenharmony_ci  `vcpkg install curl:arm64-ios` and `vcpkg install curl:x64-ios` failed
206513498266Sopenharmony_ci  with message:
206613498266Sopenharmony_ci  ```
206713498266Sopenharmony_ci  CMake Error: try_run() invoked in cross-compiling mode, please set the follow
206813498266Sopenharmony_ci  ing cache variables appropriately:
206913498266Sopenharmony_ci     HAVE_H_ERRNO_ASSIGNABLE_EXITCODE (advanced)
207013498266Sopenharmony_ci  ```
207113498266Sopenharmony_ci  After this fix, I was able to compile the compile the binary without
207213498266Sopenharmony_ci  any issue.
207313498266Sopenharmony_ci
207413498266Sopenharmony_ci  In addition to that fix, this PR also contains an simplification to
207513498266Sopenharmony_ci  check if the platform is not APPLE.
207613498266Sopenharmony_ci
207713498266Sopenharmony_ci  Co-authored-by: Viktor Szakats
207813498266Sopenharmony_ci  Closes #12515
207913498266Sopenharmony_ci
208013498266Sopenharmony_ciDaniel Stenberg (16 Dec 2023)
208113498266Sopenharmony_ci
208213498266Sopenharmony_ci- RELEASE-NOTES: synced
208313498266Sopenharmony_ci
208413498266Sopenharmony_ciBaruch Siach (16 Dec 2023)
208513498266Sopenharmony_ci
208613498266Sopenharmony_ci- gnutls: fix build with --disable-verbose
208713498266Sopenharmony_ci
208813498266Sopenharmony_ci  infof() parameters must be defined event with --disable-verbose since
208913498266Sopenharmony_ci  commit dac293cfb702 ("lib: apache style infof and trace
209013498266Sopenharmony_ci  macros/functions").
209113498266Sopenharmony_ci
209213498266Sopenharmony_ci  Move also 'ptr' definition under !CURL_DISABLE_VERBOSE_STRINGS.
209313498266Sopenharmony_ci
209413498266Sopenharmony_ci  Fixes the following build failure:
209513498266Sopenharmony_ci
209613498266Sopenharmony_ci  In file included from ../lib/sendf.h:29,
209713498266Sopenharmony_ci                   from vtls/gtls.c:44:
209813498266Sopenharmony_ci  vtls/gtls.c: In function 'Curl_gtls_verifyserver':
209913498266Sopenharmony_ci  vtls/gtls.c:841:34: error: 'version' undeclared (first use in this function);
210013498266Sopenharmony_ci   did you mean 'session'?
210113498266Sopenharmony_ci    841 |         gnutls_protocol_get_name(version), ptr);
210213498266Sopenharmony_ci        |                                  ^~~~~~~
210313498266Sopenharmony_ci
210413498266Sopenharmony_ci  Closes #12505
210513498266Sopenharmony_ci
210613498266Sopenharmony_ciViktor Szakats (16 Dec 2023)
210713498266Sopenharmony_ci
210813498266Sopenharmony_ci- build: delete unused `HAVE_{GSSHEIMDAL,GSSMIT,HEIMDAL}`
210913498266Sopenharmony_ci
211013498266Sopenharmony_ci  Stop setting `HAVE_GSSHEIMDAL`, `HAVE_GSSMIT` and `HAVE_HEIMDAL`.
211113498266Sopenharmony_ci  There was no place in the build system or source code that used them.
211213498266Sopenharmony_ci
211313498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
211413498266Sopenharmony_ci  Closes #12506
211513498266Sopenharmony_ci
211613498266Sopenharmony_ci- build: remove redundant `CURL_PULL_*` settings
211713498266Sopenharmony_ci
211813498266Sopenharmony_ci  These macros were not propagated to the source code from CMake.
211913498266Sopenharmony_ci
212013498266Sopenharmony_ci  autotools set only one of them (`CURL_PULL_SYS_POLL_H`), initially to
212113498266Sopenharmony_ci  address an AIX issue [1]. This later broke when introducing `system.h`
212213498266Sopenharmony_ci  [2] without the logic it enabled. A subsequent fix [3] re-added the
212313498266Sopenharmony_ci  logic, and also enabled it for AIX before its use, directly in
212413498266Sopenharmony_ci  `system.h`.
212513498266Sopenharmony_ci
212613498266Sopenharmony_ci  [1] 2012-11-23: 665adcd4b7bcdb7deb638cdc499fbe71f8d777f2
212713498266Sopenharmony_ci  [2] 2017-03-29: 9506d01ee50d5908138ebad0fd9fbd39b66bd64d #1373
212813498266Sopenharmony_ci  [3] 2017-08-25: 8a84fcc4b59e8b78d2acc6febf44a43d6bc81b59 #1828 #1833
212913498266Sopenharmony_ci
213013498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
213113498266Sopenharmony_ci  Closes #12502
213213498266Sopenharmony_ci
213313498266Sopenharmony_ci- system.h: sync mingw `CURL_TYPEOF_CURL_SOCKLEN_T` with other compilers
213413498266Sopenharmony_ci
213513498266Sopenharmony_ci  Align mingw with the other Windows compilers and use the `int` type for
213613498266Sopenharmony_ci  `CURL_TYPEOF_CURL_SOCKLEN_T` (and thus for `curl_socklent_t`). This
213713498266Sopenharmony_ci  makes it unnecessary to make a mingw-specific trick and pull all Windows
213813498266Sopenharmony_ci  headers early just for this type definition. This type is specific to
213913498266Sopenharmony_ci  Windows, not to the compiler. mingw-w64's Windows header maps it to
214013498266Sopenharmony_ci  `int` too.
214113498266Sopenharmony_ci
214213498266Sopenharmony_ci  With this we also delete all remaining uses of `CURL_PULL_WS2TCPIP_H`.
214313498266Sopenharmony_ci
214413498266Sopenharmony_ci  [ The official solution is to use `socklen_t` for all Windows compilers.
214513498266Sopenharmony_ci  In this case we may want to update `curl/curl.h` to pull in Windows
214613498266Sopenharmony_ci  headers before `system.h`. ]
214713498266Sopenharmony_ci
214813498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
214913498266Sopenharmony_ci  Reviewed-by: Jay Satiro
215013498266Sopenharmony_ci  Closes #12501
215113498266Sopenharmony_ci
215213498266Sopenharmony_ci- windows: simplify detecting and using system headers
215313498266Sopenharmony_ci
215413498266Sopenharmony_ci  - autotools, cmake: assume that if we detect Windows, `windows.h`,
215513498266Sopenharmony_ci    `winsock2.h` and `ws2tcpip.h` do exist.
215613498266Sopenharmony_ci  - lib: fix 3 outlier `#if` conditions to use `USE_WINSOCK` instead of
215713498266Sopenharmony_ci    looking for `winsock2.h`.
215813498266Sopenharmony_ci  - autotools: merge 3 Windows check methods into one.
215913498266Sopenharmony_ci  - move Watt-32 and lwIP socket support to `setup-win32.h` from
216013498266Sopenharmony_ci    `config-win32.h`. It opens up using these with all build tools. Also
216113498266Sopenharmony_ci    merge logic with Windows Sockets.
216213498266Sopenharmony_ci  - fix to assume Windows sockets with the mingw32ce toolchain.
216313498266Sopenharmony_ci    Follow-up to: 2748c64d605b19fb419ae56810ad8da36487a2d4
216413498266Sopenharmony_ci  - cmake: delete unused variable `signature_call_conv` since
216513498266Sopenharmony_ci    eb33ccd5332435fa50f1758e5debb869c6942b7f.
216613498266Sopenharmony_ci  - autotools: simplify `CURL_CHECK_WIN32_LARGEFILE` detection.
216713498266Sopenharmony_ci  - examples/externalsocket: fix header order.
216813498266Sopenharmony_ci  - cmake/OtherTests.cmake: delete Windows-specific `_source_epilogue`
216913498266Sopenharmony_ci    that wasn't used anymore.
217013498266Sopenharmony_ci  - cmake/OtherTests.cmake: set `WIN32_LEAN_AND_MEAN` for test
217113498266Sopenharmony_ci    `SIZEOF_STRUCT_SOCKADDR_STORAGE`.
217213498266Sopenharmony_ci
217313498266Sopenharmony_ci  After this patch curl universally uses `_WIN32` to guard
217413498266Sopenharmony_ci  Windows-specific logic. It guards Windows Sockets-specific logic with
217513498266Sopenharmony_ci  `USE_WINSOCK` (this might need further work).
217613498266Sopenharmony_ci
217713498266Sopenharmony_ci  Reviewed-by: Jay Satiro
217813498266Sopenharmony_ci  Closes #12495
217913498266Sopenharmony_ci
218013498266Sopenharmony_ci- build: enable missing OpenSSF-recommended warnings, with fixes
218113498266Sopenharmony_ci
218213498266Sopenharmony_ci  https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening
218313498266Sopenharmony_ci  -Guide-for-C-and-C++.html
218413498266Sopenharmony_ci  as of 2023-11-29 [1].
218513498266Sopenharmony_ci
218613498266Sopenharmony_ci  Enable new recommended warnings (except `-Wsign-conversion`):
218713498266Sopenharmony_ci
218813498266Sopenharmony_ci  - enable `-Wformat=2` for clang (in both cmake and autotools).
218913498266Sopenharmony_ci  - add `CURL_PRINTF()` internal attribute and mark functions accepting
219013498266Sopenharmony_ci    printf arguments with it. This is a copy of existing
219113498266Sopenharmony_ci    `CURL_TEMP_PRINTF()` but using `__printf__` to make it compatible
219213498266Sopenharmony_ci    with redefinting the `printf` symbol:
219313498266Sopenharmony_ci    https://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_5.html#SEC94
219413498266Sopenharmony_ci  - fix `CURL_PRINTF()` and existing `CURL_TEMP_PRINTF()` for
219513498266Sopenharmony_ci    mingw-w64 and enable it on this platform.
219613498266Sopenharmony_ci  - enable `-Wimplicit-fallthrough`.
219713498266Sopenharmony_ci  - enable `-Wtrampolines`.
219813498266Sopenharmony_ci  - add `-Wsign-conversion` commented with a FIXME.
219913498266Sopenharmony_ci  - cmake: enable `-pedantic-errors` the way we do it with autotools.
220013498266Sopenharmony_ci    Follow-up to d5c0351055d5709da8f3e16c91348092fdb481aa #2747
220113498266Sopenharmony_ci  - lib/curl_trc.h: use `CURL_FORMAT()`, this also fixes it to enable format
220213498266Sopenharmony_ci    checks. Previously it was always disabled due to the internal `printf`
220313498266Sopenharmony_ci    macro.
220413498266Sopenharmony_ci
220513498266Sopenharmony_ci  Fix them:
220613498266Sopenharmony_ci
220713498266Sopenharmony_ci  - fix bug where an `set_ipv6_v6only()` call was missed in builds with
220813498266Sopenharmony_ci    `--disable-verbose` / `CURL_DISABLE_VERBOSE_STRINGS=ON`.
220913498266Sopenharmony_ci  - add internal `FALLTHROUGH()` macro.
221013498266Sopenharmony_ci  - replace obsolete fall-through comments with `FALLTHROUGH()`.
221113498266Sopenharmony_ci  - fix fallthrough markups: Delete redundant ones (showing up as
221213498266Sopenharmony_ci    warnings in most cases). Add missing ones. Fix indentation.
221313498266Sopenharmony_ci  - silence `-Wformat-nonliteral` warnings with llvm/clang.
221413498266Sopenharmony_ci  - fix one `-Wformat-nonliteral` warning.
221513498266Sopenharmony_ci  - fix new `-Wformat` and `-Wformat-security` warnings.
221613498266Sopenharmony_ci  - fix `CURL_FORMAT_SOCKET_T` value for mingw-w64. Also move its
221713498266Sopenharmony_ci    definition to `lib/curl_setup.h` allowing use in `tests/server`.
221813498266Sopenharmony_ci  - lib: fix two wrongly passed string arguments in log outputs.
221913498266Sopenharmony_ci    Co-authored-by: Jay Satiro
222013498266Sopenharmony_ci  - fix new `-Wformat` warnings on mingw-w64.
222113498266Sopenharmony_ci
222213498266Sopenharmony_ci  [1] https://github.com/ossf/wg-best-practices-os-developers/blob/56c0fde3895b
222313498266Sopenharmony_ci  fc55c8a973ef49a2572c507b2ae1/docs/Compiler-Hardening-Guides/Compiler-Options-
222413498266Sopenharmony_ci  Hardening-Guide-for-C-and-C%2B%2B.md
222513498266Sopenharmony_ci
222613498266Sopenharmony_ci  Closes #12489
222713498266Sopenharmony_ci
222813498266Sopenharmony_ci- Makefile.mk: drop Windows support
222913498266Sopenharmony_ci
223013498266Sopenharmony_ci  And DLL-support with it. This leaves `Makefile.mk` for MS-DOS and Amiga.
223113498266Sopenharmony_ci
223213498266Sopenharmony_ci  We recommend CMake instead. With unity mode it's much faster, and about
223313498266Sopenharmony_ci  the same without.
223413498266Sopenharmony_ci
223513498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/12221#issuecomment-1783761806
223613498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
223713498266Sopenharmony_ci  Closes #12224
223813498266Sopenharmony_ci
223913498266Sopenharmony_ciDaniel Stenberg (16 Dec 2023)
224013498266Sopenharmony_ci
224113498266Sopenharmony_ci- cmdline-docs: use .IP consistently
224213498266Sopenharmony_ci
224313498266Sopenharmony_ci  Remove use of .TP and some .B. The idea is to reduce nroff syntax as
224413498266Sopenharmony_ci  much as possible and to use it consistently. Ultimately, we should be
224513498266Sopenharmony_ci  able to introduce our own easier-to-use-and-read syntax/formatting and
224613498266Sopenharmony_ci  convert on generation time.
224713498266Sopenharmony_ci
224813498266Sopenharmony_ci  Closes #12535
224913498266Sopenharmony_ci
225013498266Sopenharmony_ciTatsuhiko Miyagawa (16 Dec 2023)
225113498266Sopenharmony_ci
225213498266Sopenharmony_ci- http: fix off-by-one error in request method length check
225313498266Sopenharmony_ci
225413498266Sopenharmony_ci  It should allow one more byte.
225513498266Sopenharmony_ci
225613498266Sopenharmony_ci  Closes #12534
225713498266Sopenharmony_ci
225813498266Sopenharmony_ciDaniel Stenberg (15 Dec 2023)
225913498266Sopenharmony_ci
226013498266Sopenharmony_ci- curl: show ipfs and ipns as supported "protocols"
226113498266Sopenharmony_ci
226213498266Sopenharmony_ci  They are accepted schemes in URLs passed to curl (the tool, not the
226313498266Sopenharmony_ci  library).
226413498266Sopenharmony_ci
226513498266Sopenharmony_ci  Also makes curl-config show the same list.
226613498266Sopenharmony_ci
226713498266Sopenharmony_ci  Co-Authored-by: Jay Satiro
226813498266Sopenharmony_ci  Reported-by: Chara White
226913498266Sopenharmony_ci  Bug: https://curl.se/mail/archive-2023-12/0026.html
227013498266Sopenharmony_ci  Closes #12508
227113498266Sopenharmony_ci
227213498266Sopenharmony_ci- Revert "urldata: move async resolver state from easy handle to connectdata"
227313498266Sopenharmony_ci
227413498266Sopenharmony_ci  This reverts commit 56a4db2e4e2bcb9a0dcb75b83560a78ef231fcc8 (#12198)
227513498266Sopenharmony_ci
227613498266Sopenharmony_ci  We want the c-ares channel to be held in the easy handle, not per
227713498266Sopenharmony_ci  connection - for performance.
227813498266Sopenharmony_ci
227913498266Sopenharmony_ci  Closes #12524
228013498266Sopenharmony_ci
228113498266Sopenharmony_ciViktor Szakats (15 Dec 2023)
228213498266Sopenharmony_ci
228313498266Sopenharmony_ci- openssl: re-match LibreSSL deinit with init
228413498266Sopenharmony_ci
228513498266Sopenharmony_ci  Earlier we switched to use modern initialization with LibreSSL v2.7.0
228613498266Sopenharmony_ci  and up, but did not touch deinitialization [1]. Fix it in this patch.
228713498266Sopenharmony_ci
228813498266Sopenharmony_ci  Regression from bec0c5bbf34369920598678161d2df8bea0e243b #11611
228913498266Sopenharmony_ci
229013498266Sopenharmony_ci  [1] https://github.com/curl/curl/pull/11611#issuecomment-1668654014
229113498266Sopenharmony_ci
229213498266Sopenharmony_ci  Reported-by: Mike Hommey
229313498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
229413498266Sopenharmony_ci  Fixes #12525
229513498266Sopenharmony_ci  Closes #12526
229613498266Sopenharmony_ci
229713498266Sopenharmony_ciDaniel Stenberg (14 Dec 2023)
229813498266Sopenharmony_ci
229913498266Sopenharmony_ci- libssh: supress warnings without version check
230013498266Sopenharmony_ci
230113498266Sopenharmony_ci  Define unconditionally.
230213498266Sopenharmony_ci
230313498266Sopenharmony_ci  Follow-up from d21bd2190c46ad7fa
230413498266Sopenharmony_ci
230513498266Sopenharmony_ci  Closes #12523
230613498266Sopenharmony_ci
230713498266Sopenharmony_ci- hostip: return error immediately when Curl_ip2addr() fails
230813498266Sopenharmony_ci
230913498266Sopenharmony_ci  Closes #12522
231013498266Sopenharmony_ci
231113498266Sopenharmony_ciTheo (14 Dec 2023)
231213498266Sopenharmony_ci
231313498266Sopenharmony_ci- libssh: improve the deprecation warning dismissal
231413498266Sopenharmony_ci
231513498266Sopenharmony_ci  Previous code was compiler dependant, and dismissed all deprecation warnings
231613498266Sopenharmony_ci  indiscriminately.
231713498266Sopenharmony_ci
231813498266Sopenharmony_ci  libssh provides a way to disable the deprecation warnings for libssh only, an
231913498266Sopenharmony_ci  d
232013498266Sopenharmony_ci  naturally this is the preferred way.
232113498266Sopenharmony_ci
232213498266Sopenharmony_ci  This commit uses that, to prevent the erroneous hiding of potential, unrelate
232313498266Sopenharmony_ci  d
232413498266Sopenharmony_ci  deprecation warnings.
232513498266Sopenharmony_ci
232613498266Sopenharmony_ci  Fixes #12519
232713498266Sopenharmony_ci  Closes #12520
232813498266Sopenharmony_ci
232913498266Sopenharmony_ciDaniel Stenberg (14 Dec 2023)
233013498266Sopenharmony_ci
233113498266Sopenharmony_ci- test1474: removed
233213498266Sopenharmony_ci
233313498266Sopenharmony_ci  The test was already somewhat flaky and disabled on several platforms,
233413498266Sopenharmony_ci  and after 1da640abb688 even more unstable.
233513498266Sopenharmony_ci
233613498266Sopenharmony_ci- readwrite_data: loop less
233713498266Sopenharmony_ci
233813498266Sopenharmony_ci  This function is made to loop in order to drain incoming data
233913498266Sopenharmony_ci  faster. Completely removing the loop has a measerably negative impact on
234013498266Sopenharmony_ci  transfer speeds.
234113498266Sopenharmony_ci
234213498266Sopenharmony_ci  Downsides with the looping include
234313498266Sopenharmony_ci
234413498266Sopenharmony_ci  - it might call the progress callback much more seldom. Especially if
234513498266Sopenharmony_ci    the write callback is slow.
234613498266Sopenharmony_ci
234713498266Sopenharmony_ci  - rate limiting becomes less exact
234813498266Sopenharmony_ci
234913498266Sopenharmony_ci  - a single transfer might "starve out" other parallel transfers
235013498266Sopenharmony_ci
235113498266Sopenharmony_ci  - QUIC timers for other connections can't be maintained correctly
235213498266Sopenharmony_ci
235313498266Sopenharmony_ci  The long term fix should be to remove the loop and optimize coming back
235413498266Sopenharmony_ci  to avoid the transfer speed penalty.
235513498266Sopenharmony_ci
235613498266Sopenharmony_ci  This fix lower the max loop count to reduce the starvation problem, and
235713498266Sopenharmony_ci  avoids the loop completely for when rate-limiting is in progress.
235813498266Sopenharmony_ci
235913498266Sopenharmony_ci  Ref: #12488
236013498266Sopenharmony_ci  Ref: https://curl.se/mail/lib-2023-12/0012.html
236113498266Sopenharmony_ci  Closes #12504
236213498266Sopenharmony_ci
236313498266Sopenharmony_ciStefan Eissing (14 Dec 2023)
236413498266Sopenharmony_ci
236513498266Sopenharmony_ci- lib: eliminate `conn->cselect_bits`
236613498266Sopenharmony_ci
236713498266Sopenharmony_ci  - use `data->state.dselect_bits` everywhere instead
236813498266Sopenharmony_ci  - remove `bool *comeback` parameter as non-zero
236913498266Sopenharmony_ci    `data->state.dselect_bits` will indicate that IO is
237013498266Sopenharmony_ci    incomplete.
237113498266Sopenharmony_ci
237213498266Sopenharmony_ci  Closes #12512
237313498266Sopenharmony_ci
237413498266Sopenharmony_ci- connect: refactor `Curl_timeleft()`
237513498266Sopenharmony_ci
237613498266Sopenharmony_ci  - less local vars, "better" readability
237713498266Sopenharmony_ci  - added documentation
237813498266Sopenharmony_ci
237913498266Sopenharmony_ci  Closes #12518
238013498266Sopenharmony_ci
238113498266Sopenharmony_ciDmitry Karpov (14 Dec 2023)
238213498266Sopenharmony_ci
238313498266Sopenharmony_ci- cookie: avoid fopen with empty file name
238413498266Sopenharmony_ci
238513498266Sopenharmony_ci  Closes #12514
238613498266Sopenharmony_ci
238713498266Sopenharmony_ciViktor Szakats (13 Dec 2023)
238813498266Sopenharmony_ci
238913498266Sopenharmony_ci- tests/server: delete workaround for old-mingw
239013498266Sopenharmony_ci
239113498266Sopenharmony_ci  mingw-w64 1.0 comes with w32api v3.12, thus doesn't need this.
239213498266Sopenharmony_ci
239313498266Sopenharmony_ci  Follow-up to 38029101e2d78ba125732b3bab6ec267b80a0e72 #11625
239413498266Sopenharmony_ci
239513498266Sopenharmony_ci  Reviewed-by: Jay Satiro
239613498266Sopenharmony_ci  Closes #12510
239713498266Sopenharmony_ci
239813498266Sopenharmony_ci- cmake: delete obsolete TODOs more [ci skip]
239913498266Sopenharmony_ci
240013498266Sopenharmony_ci  - manual completed: 898b012a9bf388590c4be7f526815b5ab74feca1 #1288
240113498266Sopenharmony_ci  - soname completed: 5de6848f104d7cb0017080e31216265ac19d0dde #10023
240213498266Sopenharmony_ci  - bunch of others that are completed
240313498266Sopenharmony_ci  - `NTLM_WB_ENABLED` is implemented in a basic form, and now also
240413498266Sopenharmony_ci    scheduled for removal, so a TODO at this point isn't useful.
240513498266Sopenharmony_ci
240613498266Sopenharmony_ci  And this 'to-check' item:
240713498266Sopenharmony_ci
240813498266Sopenharmony_ci  Q: "The cmake build selected to run gcc with -fPIC on my box while the
240913498266Sopenharmony_ci     plain configure script did not."
241013498266Sopenharmony_ci
241113498266Sopenharmony_ci  A: With CMake, since 2ebc74c36a19a1700af394c16855ce144d9878e3 #11546
241213498266Sopenharmony_ci     and fc9bfb14520712672b4784e8b48256fb29204011 #11627, we explicitly
241313498266Sopenharmony_ci     enable PIC for libcurl shared lib. Or when building libcurl for
241413498266Sopenharmony_ci     shared and static lib in a single pass. We do this by default for
241513498266Sopenharmony_ci     Windows or when enabled by the user via `SHARE_LIB_OBJECT`.
241613498266Sopenharmony_ci     Otherwise we don't touch this setting. Meaning the default set by
241713498266Sopenharmony_ci     CMake (if any) or the toolchain is used. On Debian Bookworm, this
241813498266Sopenharmony_ci     means that PIC is disabled for static libs by default. Some platforms
241913498266Sopenharmony_ci     (like macOS), has PIC enabled by default.
242013498266Sopenharmony_ci     autotools supports the double-pass mode only, and in that case
242113498266Sopenharmony_ci     CMake seems to match PIC behaviour now (as tested on Linux with gcc.)
242213498266Sopenharmony_ci
242313498266Sopenharmony_ci  Follow-up to 5d5dfdbd1a6c40bd75e982b66f49e1fa3a7eeae7 #12500
242413498266Sopenharmony_ci
242513498266Sopenharmony_ci  Reviewed-by: Jay Satiro
242613498266Sopenharmony_ci  Closes #12509
242713498266Sopenharmony_ci
242813498266Sopenharmony_ciStefan Eissing (12 Dec 2023)
242913498266Sopenharmony_ci
243013498266Sopenharmony_ci- CLIENT-WRITERS: design and use documentation
243113498266Sopenharmony_ci
243213498266Sopenharmony_ci  Closes #12507
243313498266Sopenharmony_ci
243413498266Sopenharmony_ciViktor Szakats (12 Dec 2023)
243513498266Sopenharmony_ci
243613498266Sopenharmony_ci- cmake: delete obsolete TODO items [ci skip]
243713498266Sopenharmony_ci
243813498266Sopenharmony_ci  There is always room for improvement, but CMake is up to par now with
243913498266Sopenharmony_ci  autotools, so there is no longer a good reason to keep around these
244013498266Sopenharmony_ci  inline TODO items.
244113498266Sopenharmony_ci
244213498266Sopenharmony_ci  Answering one of questions:
244313498266Sopenharmony_ci
244413498266Sopenharmony_ci  Q: "The gcc command line use neither -g nor any -O options. As a
244513498266Sopenharmony_ci     developer, I also treasure our configure scripts's --enable-debug
244613498266Sopenharmony_ci     option that sets a long range of "picky" compiler options."
244713498266Sopenharmony_ci
244813498266Sopenharmony_ci  A: CMake offers the `CMAKE_BUILD_TYPE` variable to control debug info
244913498266Sopenharmony_ci     and optimization level. E.g.:
245013498266Sopenharmony_ci     - `Release`    = `-O3` + no debug info
245113498266Sopenharmony_ci     - `MinSizeRel` = `-Os` + no debug info
245213498266Sopenharmony_ci     - `Debug`      = `-O0` + debug info
245313498266Sopenharmony_ci
245413498266Sopenharmony_ci     https://stackoverflow.com/questions/48754619/what-are-cmake-build-type-deb
245513498266Sopenharmony_ci  ug-release-relwithdebinfo-and-minsizerel/59314670#59314670
245613498266Sopenharmony_ci     https://cmake.org/cmake/help/latest/manual/cmake-buildsystem.7.html#defaul
245713498266Sopenharmony_ci  t-and-custom-configurations
245813498266Sopenharmony_ci
245913498266Sopenharmony_ci     For picky warnings we have the `PICKY_COMPILER` options, enabled by
246013498266Sopenharmony_ci     default.
246113498266Sopenharmony_ci
246213498266Sopenharmony_ci  Closes #12500
246313498266Sopenharmony_ci
246413498266Sopenharmony_ciStefan Eissing (11 Dec 2023)
246513498266Sopenharmony_ci
246613498266Sopenharmony_ci- CONNECTION-FILTERS: update documentation
246713498266Sopenharmony_ci
246813498266Sopenharmony_ci  Closes #12497
246913498266Sopenharmony_ci
247013498266Sopenharmony_ciDaniel Stenberg (11 Dec 2023)
247113498266Sopenharmony_ci
247213498266Sopenharmony_ci- lib: reduce use of strncpy
247313498266Sopenharmony_ci
247413498266Sopenharmony_ci  - bearssl: select cipher without buffer copies
247513498266Sopenharmony_ci  - http_aws_sigv4: avoid strncpy, require exact timestamp length
247613498266Sopenharmony_ci  - http_aws_sigv4: use memcpy isntead of strncpy
247713498266Sopenharmony_ci  - openssl: avoid strncpy calls
247813498266Sopenharmony_ci  - schannel: check for 1.3 algos without buffer copies
247913498266Sopenharmony_ci  - strerror: avoid strncpy calls
248013498266Sopenharmony_ci  - telnet: avoid strncpy, return error on too long inputs
248113498266Sopenharmony_ci  - vtls: avoid strncpy in multissl_version()
248213498266Sopenharmony_ci
248313498266Sopenharmony_ci  Closes #12499
248413498266Sopenharmony_ci
248513498266Sopenharmony_ci- CI/distcheck: run full tests
248613498266Sopenharmony_ci
248713498266Sopenharmony_ci  To be able to detect missing files better, this now runs the full CI
248813498266Sopenharmony_ci  test suite. If done before, it would have detected #12462 before
248913498266Sopenharmony_ci  release.
249013498266Sopenharmony_ci
249113498266Sopenharmony_ci  Closes #12503
249213498266Sopenharmony_ci
249313498266Sopenharmony_ci- docs: clean up Protocols: for cmdline options
249413498266Sopenharmony_ci
249513498266Sopenharmony_ci  ... and some other minor polish.
249613498266Sopenharmony_ci
249713498266Sopenharmony_ci  Closes #12496
249813498266Sopenharmony_ci
249913498266Sopenharmony_ci- cmdline/gen: fix the sorting of the man page options
250013498266Sopenharmony_ci
250113498266Sopenharmony_ci  They were previously sorted based on the file names, which use a .d
250213498266Sopenharmony_ci  extension, making "data" get placed after "data-binary" etc. Making the
250313498266Sopenharmony_ci  sort ignore the extention fixes the ordering.
250413498266Sopenharmony_ci
250513498266Sopenharmony_ci  Reported-by: Boris Verkhovskiy
250613498266Sopenharmony_ci  Bug: https://curl.se/mail/archive-2023-12/0014.html
250713498266Sopenharmony_ci  Closes #12494
250813498266Sopenharmony_ci
250913498266Sopenharmony_ciDaniel Gustafsson (9 Dec 2023)
251013498266Sopenharmony_ci
251113498266Sopenharmony_ci- doh: remove unused local variable
251213498266Sopenharmony_ci
251313498266Sopenharmony_ci  The nurl variable is no longer used during probing following
251413498266Sopenharmony_ci  a refactoring, so remove.
251513498266Sopenharmony_ci
251613498266Sopenharmony_ci  Closes #12491
251713498266Sopenharmony_ci
251813498266Sopenharmony_ciJay Satiro (8 Dec 2023)
251913498266Sopenharmony_ci
252013498266Sopenharmony_ci- build: fix Windows ADDRESS_FAMILY detection
252113498266Sopenharmony_ci
252213498266Sopenharmony_ci  - Include winsock2.h for Windows ADDRESS_FAMILY detection.
252313498266Sopenharmony_ci
252413498266Sopenharmony_ci  Prior to this change cmake detection didn't work because it included
252513498266Sopenharmony_ci  ws2def.h by itself, which is missing needed types from winsock2.h.
252613498266Sopenharmony_ci
252713498266Sopenharmony_ci  Prior to this change autotools detection didn't work because it did not
252813498266Sopenharmony_ci  include any Windows header.
252913498266Sopenharmony_ci
253013498266Sopenharmony_ci  In both cases libcurl would fall back on unsigned short as the address
253113498266Sopenharmony_ci  family type, which is the same as ADDRESS_FAMILY.
253213498266Sopenharmony_ci
253313498266Sopenharmony_ci  Co-authored-by: Viktor Szakats
253413498266Sopenharmony_ci
253513498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12441
253613498266Sopenharmony_ci
253713498266Sopenharmony_ciDaniel Stenberg (8 Dec 2023)
253813498266Sopenharmony_ci
253913498266Sopenharmony_ci- lib: rename Curl_strndup to Curl_memdup0 to avoid misunderstanding
254013498266Sopenharmony_ci
254113498266Sopenharmony_ci  Since the copy does not stop at a null byte, let's not call it anything
254213498266Sopenharmony_ci  that makes you think it works like the common strndup() function.
254313498266Sopenharmony_ci
254413498266Sopenharmony_ci  Based on feedback from Jay Satiro, Stefan Eissing and Patrick Monnerat
254513498266Sopenharmony_ci
254613498266Sopenharmony_ci  Closes #12490
254713498266Sopenharmony_ci
254813498266Sopenharmony_ci- convsrctest.pl: removed: not used, not shipped in tarballs
254913498266Sopenharmony_ci
255013498266Sopenharmony_ci- tests: rename tests scripts to the test number
255113498266Sopenharmony_ci
255213498266Sopenharmony_ci  It is hard to name the scripts sensibly. Lots of them are similarly
255313498266Sopenharmony_ci  named and the name did not tell which test that used them.
255413498266Sopenharmony_ci
255513498266Sopenharmony_ci  The new approach is rather to name them based on the test number that
255613498266Sopenharmony_ci  runs them. Also helps us see which scripts are for individual tests
255713498266Sopenharmony_ci  rather than for general test infra.
255813498266Sopenharmony_ci
255913498266Sopenharmony_ci   - badsymbols.pl -> test1167.pl
256013498266Sopenharmony_ci   - check-deprecated.pl -> test1222.pl
256113498266Sopenharmony_ci   - check-translatable-options.pl -> test1544.pl
256213498266Sopenharmony_ci   - disable-scan.pl -> test1165.pl
256313498266Sopenharmony_ci   - error-codes.pl -> test1175.pl
256413498266Sopenharmony_ci   - errorcodes.pl -> test1477.pl
256513498266Sopenharmony_ci   - extern-scan.pl -> test1135.pl
256613498266Sopenharmony_ci   - manpage-scan.pl -> test1139.pl
256713498266Sopenharmony_ci   - manpage-syntax.pl -> test1173.pl
256813498266Sopenharmony_ci   - markdown-uppercase.pl -> test1275.pl
256913498266Sopenharmony_ci   - mem-include-scan.pl -> test1132.pl
257013498266Sopenharmony_ci   - nroff-scan.pl -> test1140.pl
257113498266Sopenharmony_ci   - option-check.pl -> test1276.pl
257213498266Sopenharmony_ci   - options-scan.pl -> test971.pl
257313498266Sopenharmony_ci   - symbol-scan.pl -> test1119.pl
257413498266Sopenharmony_ci   - version-scan.pl -> test1177.pl
257513498266Sopenharmony_ci
257613498266Sopenharmony_ci  Closes #12487
257713498266Sopenharmony_ci
257813498266Sopenharmony_ciMichał Antoniak (8 Dec 2023)
257913498266Sopenharmony_ci
258013498266Sopenharmony_ci- sendf: fix compiler warning with CURL_DISABLE_HEADERS_API
258113498266Sopenharmony_ci
258213498266Sopenharmony_ci  fix MSVC warning C4189: 'htype': local variable is initialized but not
258313498266Sopenharmony_ci  referenced - when CURL_DISABLE_HEADERS_API is defined.
258413498266Sopenharmony_ci
258513498266Sopenharmony_ci  Closes #12485
258613498266Sopenharmony_ci
258713498266Sopenharmony_ciViktor Szakats (8 Dec 2023)
258813498266Sopenharmony_ci
258913498266Sopenharmony_ci- tidy-up: whitespace
259013498266Sopenharmony_ci
259113498266Sopenharmony_ci  Closes #12484
259213498266Sopenharmony_ci
259313498266Sopenharmony_ciStefan Eissing (7 Dec 2023)
259413498266Sopenharmony_ci
259513498266Sopenharmony_ci- test_02_download: fix paramters to test_02_27
259613498266Sopenharmony_ci
259713498266Sopenharmony_ci  - it is a special client that only ever uses http/2
259813498266Sopenharmony_ci
259913498266Sopenharmony_ci  Closes #12467
260013498266Sopenharmony_ci
260113498266Sopenharmony_ciMichał Antoniak (7 Dec 2023)
260213498266Sopenharmony_ci
260313498266Sopenharmony_ci- vtls: remove the Curl_cft_ssl_proxy object if CURL_DISABLE_PROXY
260413498266Sopenharmony_ci
260513498266Sopenharmony_ci  Closes #12459
260613498266Sopenharmony_ci
260713498266Sopenharmony_ciDaniel Stenberg (7 Dec 2023)
260813498266Sopenharmony_ci
260913498266Sopenharmony_ci- lib: strndup/memdup instead of malloc, memcpy and null-terminate
261013498266Sopenharmony_ci
261113498266Sopenharmony_ci   - bufref: use strndup
261213498266Sopenharmony_ci   - cookie: use strndup
261313498266Sopenharmony_ci   - formdata: use strndup
261413498266Sopenharmony_ci   - ftp: use strndup
261513498266Sopenharmony_ci   - gtls: use aprintf instead of malloc + strcpy * 2
261613498266Sopenharmony_ci   - http: use strndup
261713498266Sopenharmony_ci   - mbedtls: use strndup
261813498266Sopenharmony_ci   - md4: use memdup
261913498266Sopenharmony_ci   - ntlm: use memdup
262013498266Sopenharmony_ci   - ntlm_sspi: use strndup
262113498266Sopenharmony_ci   - pingpong: use memdup
262213498266Sopenharmony_ci   - rtsp: use strndup instead of malloc, memcpy and null-terminate
262313498266Sopenharmony_ci   - sectransp: use strndup
262413498266Sopenharmony_ci   - socks_gssapi.c: use memdup
262513498266Sopenharmony_ci   - vtls: use dynbuf instead of malloc, snprintf and memcpy
262613498266Sopenharmony_ci   - vtls: use strdup instead of malloc + memcpy
262713498266Sopenharmony_ci   - wolfssh: use strndup
262813498266Sopenharmony_ci
262913498266Sopenharmony_ci  Closes #12453
263013498266Sopenharmony_ci
263113498266Sopenharmony_ci- strdup: remove the memchr check from Curl_strndup
263213498266Sopenharmony_ci
263313498266Sopenharmony_ci  It makes it possible to clone a binary chunk of data.
263413498266Sopenharmony_ci
263513498266Sopenharmony_ci  Closes #12453
263613498266Sopenharmony_ci
263713498266Sopenharmony_ci- ftp: handle the PORT parsing without allocation
263813498266Sopenharmony_ci
263913498266Sopenharmony_ci  Also reduces amount of *cpy() calls.
264013498266Sopenharmony_ci
264113498266Sopenharmony_ci  Closes #12456
264213498266Sopenharmony_ci
264313498266Sopenharmony_ci- RELEASE-NOTES: synced
264413498266Sopenharmony_ci
264513498266Sopenharmony_ci  Bumped to 8.5.1
264613498266Sopenharmony_ci
264713498266Sopenharmony_ci- url: for disabled protocols, mention if found in redirect
264813498266Sopenharmony_ci
264913498266Sopenharmony_ci  To help users better understand where the URL (and denied scheme) comes
265013498266Sopenharmony_ci  from. Also removed "in libcurl" from the message, since the disabling
265113498266Sopenharmony_ci  can be done by the application.
265213498266Sopenharmony_ci
265313498266Sopenharmony_ci  The error message now says "not supported" or "disabled" depending on
265413498266Sopenharmony_ci  why it was denied:
265513498266Sopenharmony_ci
265613498266Sopenharmony_ci   Protocol "hej" not supported
265713498266Sopenharmony_ci   Protocol "http" disabled
265813498266Sopenharmony_ci
265913498266Sopenharmony_ci  And in redirects:
266013498266Sopenharmony_ci
266113498266Sopenharmony_ci   Protocol "hej" not supported (in redirect)
266213498266Sopenharmony_ci   Protocol "http" disabled (in redirect)
266313498266Sopenharmony_ci
266413498266Sopenharmony_ci  Reported-by: Mauricio Scheffer
266513498266Sopenharmony_ci  Fixes #12465
266613498266Sopenharmony_ci  Closes #12469
266713498266Sopenharmony_ci
266813498266Sopenharmony_ciStefan Eissing (6 Dec 2023)
266913498266Sopenharmony_ci
267013498266Sopenharmony_ci- sectransp_ make TLSCipherNameForNumber() available in non-verbose config
267113498266Sopenharmony_ci
267213498266Sopenharmony_ci  Reported-by: Cajus Pollmeier
267313498266Sopenharmony_ci  Closes #12476
267413498266Sopenharmony_ci  Fixes #12474
267513498266Sopenharmony_ci
267613498266Sopenharmony_ciYX Hao (6 Dec 2023)
267713498266Sopenharmony_ci
267813498266Sopenharmony_ci- lib: fix variable undeclared error caused by `infof` changes
267913498266Sopenharmony_ci
268013498266Sopenharmony_ci  `--disable-verbose` yields `CURL_DISABLE_VERBOSE_STRINGS` defined.
268113498266Sopenharmony_ci  `infof` isn't `Curl_nop_stmt` anymore: dac293c.
268213498266Sopenharmony_ci
268313498266Sopenharmony_ci  Follow-up to dac293c
268413498266Sopenharmony_ci
268513498266Sopenharmony_ci  Closes #12470
268613498266Sopenharmony_ci
268713498266Sopenharmony_ciViktor Szakats (6 Dec 2023)
268813498266Sopenharmony_ci
268913498266Sopenharmony_ci- tidy-up: fix yamllint whitespace issues in labeler.yml
269013498266Sopenharmony_ci
269113498266Sopenharmony_ci  Follow-up to bda212911457c6fadfbba50be61afc4ca513fa56 #12466
269213498266Sopenharmony_ci
269313498266Sopenharmony_ci  Reviewed-by: Dan Fandrich
269413498266Sopenharmony_ci  Closes #12475
269513498266Sopenharmony_ci
269613498266Sopenharmony_ci- tidy-up: fix yamllint whitespace issues
269713498266Sopenharmony_ci
269813498266Sopenharmony_ci  Closes #12466
269913498266Sopenharmony_ci
270013498266Sopenharmony_ciChris Sauer (6 Dec 2023)
270113498266Sopenharmony_ci
270213498266Sopenharmony_ci- cmake: fix typo
270313498266Sopenharmony_ci
270413498266Sopenharmony_ci  Follow-up to aace27b
270513498266Sopenharmony_ci  Closes #12464
270613498266Sopenharmony_ci
270713498266Sopenharmony_ciDaniel Stenberg (6 Dec 2023)
270813498266Sopenharmony_ci
270913498266Sopenharmony_ci- dist: add tests/errorcodes.pl to the tarball
271013498266Sopenharmony_ci
271113498266Sopenharmony_ci  Used by test 1477
271213498266Sopenharmony_ci
271313498266Sopenharmony_ci  Reported-by: Xi Ruoyao
271413498266Sopenharmony_ci  Follow-up to 0ca3a4ec9a7
271513498266Sopenharmony_ci  Fixes #12462
271613498266Sopenharmony_ci  Closes #12463
271713498266Sopenharmony_ci
271813498266Sopenharmony_ciDan Fandrich (6 Dec 2023)
271913498266Sopenharmony_ci
272013498266Sopenharmony_ci- github/labeler: update a missed key in the v5 upgrade
272113498266Sopenharmony_ci
272213498266Sopenharmony_ci  Follow-up to ce03fe3ba
272313498266Sopenharmony_ci
272413498266Sopenharmony_ciVersion 8.5.0 (6 Dec 2023)
272513498266Sopenharmony_ci
272613498266Sopenharmony_ciDaniel Stenberg (6 Dec 2023)
272713498266Sopenharmony_ci
272813498266Sopenharmony_ci- RELEASE-NOTES: synced
272913498266Sopenharmony_ci
273013498266Sopenharmony_ci  The curl 8.5.0 release.
273113498266Sopenharmony_ci
273213498266Sopenharmony_ciDan Fandrich (5 Dec 2023)
273313498266Sopenharmony_ci
273413498266Sopenharmony_ci- github/labeler: switch from the beta to labeler v5
273513498266Sopenharmony_ci
273613498266Sopenharmony_ci  Some keys were renamed and the dot option was made default.
273713498266Sopenharmony_ci
273813498266Sopenharmony_ci  Closes #12458
273913498266Sopenharmony_ci
274013498266Sopenharmony_ciDaniel Stenberg (5 Dec 2023)
274113498266Sopenharmony_ci
274213498266Sopenharmony_ci- DEPRECATE: remove NTLM_WB in June 2024
274313498266Sopenharmony_ci
274413498266Sopenharmony_ci  Ref: https://curl.se/mail/lib-2023-12/0010.html
274513498266Sopenharmony_ci
274613498266Sopenharmony_ci  Closes #12451
274713498266Sopenharmony_ci
274813498266Sopenharmony_ciJacob Hoffman-Andrews (4 Dec 2023)
274913498266Sopenharmony_ci
275013498266Sopenharmony_ci- rustls: implement connect_blocking
275113498266Sopenharmony_ci
275213498266Sopenharmony_ci  Closes #11647
275313498266Sopenharmony_ci
275413498266Sopenharmony_ciDaniel Stenberg (4 Dec 2023)
275513498266Sopenharmony_ci
275613498266Sopenharmony_ci- examples/rtsp-options.c: add
275713498266Sopenharmony_ci
275813498266Sopenharmony_ci  Just a bare bones RTSP example using CURLOPT_RTSP_SESSION_ID and
275913498266Sopenharmony_ci  CURLOPT_RTSP_REQUEST set to CURL_RTSPREQ_OPTIONS.
276013498266Sopenharmony_ci
276113498266Sopenharmony_ci  Closes #12452
276213498266Sopenharmony_ci
276313498266Sopenharmony_ciStefan Eissing (4 Dec 2023)
276413498266Sopenharmony_ci
276513498266Sopenharmony_ci- ngtcp2: ignore errors on unknown streams
276613498266Sopenharmony_ci
276713498266Sopenharmony_ci  - expecially in is_alive checks on connections, we might
276813498266Sopenharmony_ci    see incoming packets on streams already forgotten and closed,
276913498266Sopenharmony_ci    leading to errors reported by nghttp3. Ignore those.
277013498266Sopenharmony_ci
277113498266Sopenharmony_ci  Closes #12449
277213498266Sopenharmony_ci
277313498266Sopenharmony_ciDaniel Stenberg (4 Dec 2023)
277413498266Sopenharmony_ci
277513498266Sopenharmony_ci- docs: make all examples in all libcurl man pages compile
277613498266Sopenharmony_ci
277713498266Sopenharmony_ci  Closes #12448
277813498266Sopenharmony_ci
277913498266Sopenharmony_ci- checksrc.pl: support #line instructions
278013498266Sopenharmony_ci
278113498266Sopenharmony_ci  makes it identify the correct source file and line
278213498266Sopenharmony_ci
278313498266Sopenharmony_ci- GHA/man-examples: verify libcurl man page examples
278413498266Sopenharmony_ci
278513498266Sopenharmony_ci- verify-examples.pl: verify that all man page examples compile clean
278613498266Sopenharmony_ci
278713498266Sopenharmony_ci- RELEASE-NOTES: synced
278813498266Sopenharmony_ci
278913498266Sopenharmony_ciGraham Campbell (2 Dec 2023)
279013498266Sopenharmony_ci
279113498266Sopenharmony_ci- http3: bump ngtcp2 and nghttp3 versions
279213498266Sopenharmony_ci
279313498266Sopenharmony_ci  nghttp3 v1.1.0
279413498266Sopenharmony_ci  ngtcp2 v1.1.0
279513498266Sopenharmony_ci
279613498266Sopenharmony_ci  In docs and CI
279713498266Sopenharmony_ci
279813498266Sopenharmony_ci  Closes #12446
279913498266Sopenharmony_ci
280013498266Sopenharmony_ci- CI/quiche: use `3.1.4+quic` consistently in CI workflows
280113498266Sopenharmony_ci
280213498266Sopenharmony_ci  Closes #12447
280313498266Sopenharmony_ci
280413498266Sopenharmony_ciViktor Szakats (2 Dec 2023)
280513498266Sopenharmony_ci
280613498266Sopenharmony_ci- test1545: disable deprecation warnings
280713498266Sopenharmony_ci
280813498266Sopenharmony_ci  Fixes:
280913498266Sopenharmony_ci  https://ci.appveyor.com/project/curlorg/curl/builds/48631551/job/bhx74e0i66yr
281013498266Sopenharmony_ci  p6pk#L1205
281113498266Sopenharmony_ci
281213498266Sopenharmony_ci  Same with details:
281313498266Sopenharmony_ci  https://ci.appveyor.com/project/curlorg/curl/builds/48662893/job/ol8a78q9gmil
281413498266Sopenharmony_ci  b6wt#L1263
281513498266Sopenharmony_ci  ```
281613498266Sopenharmony_ci  tests/libtest/lib1545.c:38:3: error: 'curl_formadd' is deprecated: since 7.56
281713498266Sopenharmony_ci  .0. Use curl_mime_init() [-Werror=deprecated-declarations]
281813498266Sopenharmony_ci     38 |   curl_formadd(&m_formpost, &lastptr, CURLFORM_COPYNAME, "file",
281913498266Sopenharmony_ci        |   ^~~~~~~~~~~~
282013498266Sopenharmony_ci  [...]
282113498266Sopenharmony_ci  ```
282213498266Sopenharmony_ci
282313498266Sopenharmony_ci  Follow-up to 07a3cd83e0456ca17dfd8c3104af7cf45b7a1ff5 #12421
282413498266Sopenharmony_ci
282513498266Sopenharmony_ci  Fixes #12445
282613498266Sopenharmony_ci  Closes #12444
282713498266Sopenharmony_ci
282813498266Sopenharmony_ciDaniel Stenberg (2 Dec 2023)
282913498266Sopenharmony_ci
283013498266Sopenharmony_ci- INSTALL: update list of ports and CPU archs
283113498266Sopenharmony_ci
283213498266Sopenharmony_ci- symbols-in-versions: the CLOSEPOLICY options are deprecated
283313498266Sopenharmony_ci
283413498266Sopenharmony_ci  The were used with the CURLOPT_CLOSEPOLICY option, which *never* worked.
283513498266Sopenharmony_ci
283613498266Sopenharmony_ciz2_ (1 Dec 2023)
283713498266Sopenharmony_ci
283813498266Sopenharmony_ci- build: fix builds that disable protocols but not digest auth
283913498266Sopenharmony_ci
284013498266Sopenharmony_ci  - Build base64 functions if digest auth is not disabled.
284113498266Sopenharmony_ci
284213498266Sopenharmony_ci  Prior to this change if some protocols were disabled but not digest auth
284313498266Sopenharmony_ci  then a build error would occur due to missing base64 functions.
284413498266Sopenharmony_ci
284513498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12440
284613498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12442
284713498266Sopenharmony_ci
284813498266Sopenharmony_ciMichał Antoniak (1 Dec 2023)
284913498266Sopenharmony_ci
285013498266Sopenharmony_ci- connect: reduce number of transportation providers
285113498266Sopenharmony_ci
285213498266Sopenharmony_ci  Use only the ones necessary - the ones that are built-in. Saves a few
285313498266Sopenharmony_ci  bytes in the resulting code.
285413498266Sopenharmony_ci
285513498266Sopenharmony_ci  Closes #12438
285613498266Sopenharmony_ci
285713498266Sopenharmony_ciDavid Benjamin (1 Dec 2023)
285813498266Sopenharmony_ci
285913498266Sopenharmony_ci- vtls: consistently use typedef names for OpenSSL structs
286013498266Sopenharmony_ci
286113498266Sopenharmony_ci  The foo_st names don't appear in OpenSSL public API documentation. The
286213498266Sopenharmony_ci  FOO typedefs are more common. This header was already referencing
286313498266Sopenharmony_ci  SSL_CTX via <openssl/ssl.h>. There is a comment about avoiding
286413498266Sopenharmony_ci  <openssl/x509v3.h>, but OpenSSL actually declares all the typedefs in
286513498266Sopenharmony_ci  <openssl/ossl_typ.h>, which is already included by <openssl/ssl.h> (and
286613498266Sopenharmony_ci  every other OpenSSL header), so just use that. Though I've included it
286713498266Sopenharmony_ci  just to be explicit.
286813498266Sopenharmony_ci
286913498266Sopenharmony_ci  (I'm also fairly sure including <openssl/ssl.h> already triggers the
287013498266Sopenharmony_ci  Schannel conflicts anyway. The comment was probably just out of date.)
287113498266Sopenharmony_ci
287213498266Sopenharmony_ci  Closes #12439
287313498266Sopenharmony_ci
287413498266Sopenharmony_ciLau (1 Dec 2023)
287513498266Sopenharmony_ci
287613498266Sopenharmony_ci- libcurl-security.3: fix typo
287713498266Sopenharmony_ci
287813498266Sopenharmony_ci  Fixed minimal typo.
287913498266Sopenharmony_ci
288013498266Sopenharmony_ci  Closes #12437
288113498266Sopenharmony_ci
288213498266Sopenharmony_ciStefan Eissing (1 Dec 2023)
288313498266Sopenharmony_ci
288413498266Sopenharmony_ci- ngtcp2: fix races in stream handling
288513498266Sopenharmony_ci
288613498266Sopenharmony_ci  - fix cases where ngtcp2 invokes callbacks on streams that
288713498266Sopenharmony_ci    nghttp3 has already forgotten. Ignore the NGHTTP3_ERR_STREAM_NOT_FOUND
288813498266Sopenharmony_ci    in these cases as it is normal behaviour.
288913498266Sopenharmony_ci
289013498266Sopenharmony_ci  Closes #12435
289113498266Sopenharmony_ci
289213498266Sopenharmony_ciEmanuele Torre (1 Dec 2023)
289313498266Sopenharmony_ci
289413498266Sopenharmony_ci- tool_writeout_json: fix JSON encoding of non-ascii bytes
289513498266Sopenharmony_ci
289613498266Sopenharmony_ci  char variables if unspecified can be either signed or unsigned depending
289713498266Sopenharmony_ci  on the platform according to the C standard; in most platforms, they are
289813498266Sopenharmony_ci  signed.
289913498266Sopenharmony_ci
290013498266Sopenharmony_ci  This meant that the  *i<32  waas always true for bytes with the top bit
290113498266Sopenharmony_ci  set. So they were always getting encoded as \uXXXX, and then since they
290213498266Sopenharmony_ci  were also signed negative, they were getting extended with 1s causing
290313498266Sopenharmony_ci  '\xe2' to be expanded to \uffffffe2, for example:
290413498266Sopenharmony_ci
290513498266Sopenharmony_ci    $ curl --variable 'v=“' --expand-write-out '{{v:json}}\n' file:///dev/nul
290613498266Sopenharmony_ci  l
290713498266Sopenharmony_ci    \uffffffe2\uffffff80\uffffff9c
290813498266Sopenharmony_ci
290913498266Sopenharmony_ci  I fixed this bug by making the code use explicitly unsigned char*
291013498266Sopenharmony_ci  variables instead of char* variables.
291113498266Sopenharmony_ci
291213498266Sopenharmony_ci  Test 268 verifies
291313498266Sopenharmony_ci
291413498266Sopenharmony_ci  Reported-by: iconoclasthero
291513498266Sopenharmony_ci  Closes #12434
291613498266Sopenharmony_ci
291713498266Sopenharmony_ciStefan Eissing (1 Dec 2023)
291813498266Sopenharmony_ci
291913498266Sopenharmony_ci- cf-socket: TCP trace output local address used in connect
292013498266Sopenharmony_ci
292113498266Sopenharmony_ci  Closes #12427
292213498266Sopenharmony_ci
292313498266Sopenharmony_ciJay Satiro (1 Dec 2023)
292413498266Sopenharmony_ci
292513498266Sopenharmony_ci- CURLINFO_PRETRANSFER_TIME_T.3: fix time explanation
292613498266Sopenharmony_ci
292713498266Sopenharmony_ci  - Change CURLINFO_PRETRANSFER_TIME_T explanation to say that it
292813498266Sopenharmony_ci    includes protocol-specific instructions that trigger a transfer.
292913498266Sopenharmony_ci
293013498266Sopenharmony_ci  Prior to this change it explicitly said that it did not include those
293113498266Sopenharmony_ci  instructions in the time, but that is incorrect.
293213498266Sopenharmony_ci
293313498266Sopenharmony_ci  The change is a copy of the fixed explanation already in
293413498266Sopenharmony_ci  CURLINFO_PRETRANSFER_TIME, fixed by ec8dcd7b.
293513498266Sopenharmony_ci
293613498266Sopenharmony_ci  Reported-by: eeverettrbx@users.noreply.github.com
293713498266Sopenharmony_ci
293813498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12431
293913498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12432
294013498266Sopenharmony_ci
294113498266Sopenharmony_ciDaniel Stenberg (30 Nov 2023)
294213498266Sopenharmony_ci
294313498266Sopenharmony_ci- multi: during ratelimit multi_getsock should return no sockets
294413498266Sopenharmony_ci
294513498266Sopenharmony_ci  ... as there is nothing to wait for then, it just waits. Otherwise, this
294613498266Sopenharmony_ci  causes much more CPU work and updates than necessary during ratelimit
294713498266Sopenharmony_ci  periods.
294813498266Sopenharmony_ci
294913498266Sopenharmony_ci  Ref: https://curl.se/mail/lib-2023-11/0056.html
295013498266Sopenharmony_ci  Closes #12430
295113498266Sopenharmony_ci
295213498266Sopenharmony_ciDmitry Karpov (30 Nov 2023)
295313498266Sopenharmony_ci
295413498266Sopenharmony_ci- transfer: abort pause send when connection is marked for closing
295513498266Sopenharmony_ci
295613498266Sopenharmony_ci  This handles cases of some bi-directional "upgrade" scenarios
295713498266Sopenharmony_ci  (i.e. WebSockets) where sending is paused until some "upgrade" handshake
295813498266Sopenharmony_ci  is completed, but server rejects the handshake and closes the
295913498266Sopenharmony_ci  connection.
296013498266Sopenharmony_ci
296113498266Sopenharmony_ci  Closes #12428
296213498266Sopenharmony_ci
296313498266Sopenharmony_ciDaniel Stenberg (28 Nov 2023)
296413498266Sopenharmony_ci
296513498266Sopenharmony_ci- RELEASE-NOTES: synced
296613498266Sopenharmony_ci
296713498266Sopenharmony_ci- openssl: when a session-ID is reused, skip OCSP stapling
296813498266Sopenharmony_ci
296913498266Sopenharmony_ci  Fixes #12399
297013498266Sopenharmony_ci  Reported-by: Alexey Larikov
297113498266Sopenharmony_ci  Closes #12418
297213498266Sopenharmony_ci
297313498266Sopenharmony_ci- test1545: test doing curl_formadd twice with missing file
297413498266Sopenharmony_ci
297513498266Sopenharmony_ci  Reproduces #12410
297613498266Sopenharmony_ci  Verifies the fix
297713498266Sopenharmony_ci  Closes #12421
297813498266Sopenharmony_ci
297913498266Sopenharmony_ci- Curl_http_body: cleanup properly when Curl_getformdata errors
298013498266Sopenharmony_ci
298113498266Sopenharmony_ci  Reported-by: yushicheng7788 on github
298213498266Sopenharmony_ci  Based-on-work-by: yushicheng7788 on github
298313498266Sopenharmony_ci  Fixes #12410
298413498266Sopenharmony_ci  Closes #12421
298513498266Sopenharmony_ci
298613498266Sopenharmony_ci- test1477: verify that libcurl-errors.3 and public headers are synced
298713498266Sopenharmony_ci
298813498266Sopenharmony_ci  The script errorcodes.pl extracts all error codes from all headers and
298913498266Sopenharmony_ci  checks that they are all documented, then checks that all documented
299013498266Sopenharmony_ci  error codes are also specified in a header file.
299113498266Sopenharmony_ci
299213498266Sopenharmony_ci  Closes #12424
299313498266Sopenharmony_ci
299413498266Sopenharmony_ci- libcurl-errors.3: sync with current public headers
299513498266Sopenharmony_ci
299613498266Sopenharmony_ci  Closes #12424
299713498266Sopenharmony_ci
299813498266Sopenharmony_ciStefan Eissing (28 Nov 2023)
299913498266Sopenharmony_ci
300013498266Sopenharmony_ci- test459: fix for parallel runs
300113498266Sopenharmony_ci
300213498266Sopenharmony_ci  - change warniing message to work better with varying filename
300313498266Sopenharmony_ci    length.
300413498266Sopenharmony_ci  - adapt test output check to new formatting
300513498266Sopenharmony_ci
300613498266Sopenharmony_ci  Follow-up to 97ccc4479f77ba3191c6
300713498266Sopenharmony_ci  Closes #12423
300813498266Sopenharmony_ci
300913498266Sopenharmony_ciDaniel Stenberg (27 Nov 2023)
301013498266Sopenharmony_ci
301113498266Sopenharmony_ci- tool_cb_prg: make the carriage return fit for wide progress bars
301213498266Sopenharmony_ci
301313498266Sopenharmony_ci  When the progress bar was made max width (256 columns), the fly()
301413498266Sopenharmony_ci  function attempted to generate its output buffer too long so that the
301513498266Sopenharmony_ci  trailing carriage return would not fit and then the output would show
301613498266Sopenharmony_ci  wrongly. The fly function is called when the expected total transfer is
301713498266Sopenharmony_ci  unknown, which could be one or more progress calls before the actual
301813498266Sopenharmony_ci  progress meter get shown when the expected transfer size is provided.
301913498266Sopenharmony_ci
302013498266Sopenharmony_ci  This new take also replaces the msnprintf() call with a much simpler
302113498266Sopenharmony_ci  memset() for speed.
302213498266Sopenharmony_ci
302313498266Sopenharmony_ci  Reported-by: Tim Hill
302413498266Sopenharmony_ci  Fixes #12407
302513498266Sopenharmony_ci  Closes #12415
302613498266Sopenharmony_ci
302713498266Sopenharmony_ci- tool_parsecfg: make warning output propose double-quoting
302813498266Sopenharmony_ci
302913498266Sopenharmony_ci  When the config file parser detects a word that *probably* should be
303013498266Sopenharmony_ci  quoted, mention double-quotes as a possible remedy.
303113498266Sopenharmony_ci
303213498266Sopenharmony_ci  Test 459 verifies.
303313498266Sopenharmony_ci
303413498266Sopenharmony_ci  Proposed-by: Jiehong on github
303513498266Sopenharmony_ci  Fixes #12409
303613498266Sopenharmony_ci  Closes #12412
303713498266Sopenharmony_ci
303813498266Sopenharmony_ciJay Satiro (26 Nov 2023)
303913498266Sopenharmony_ci
304013498266Sopenharmony_ci- curl.rc: switch out the copyright symbol for plain ASCII
304113498266Sopenharmony_ci
304213498266Sopenharmony_ci  .. like we already do for libcurl.rc.
304313498266Sopenharmony_ci
304413498266Sopenharmony_ci  libcurl.rc copyright symbol used to cause a "non-ascii 8-bit codepoint"
304513498266Sopenharmony_ci  warning so it was switched to ascii.
304613498266Sopenharmony_ci
304713498266Sopenharmony_ci  Ref: https://github.com/curl/curl/commit/1ca62bb5#commitcomment-133474972
304813498266Sopenharmony_ci
304913498266Sopenharmony_ci  Suggested-by: Robert Southee
305013498266Sopenharmony_ci
305113498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12403
305213498266Sopenharmony_ci
305313498266Sopenharmony_ciDaniel Stenberg (26 Nov 2023)
305413498266Sopenharmony_ci
305513498266Sopenharmony_ci- conncache: use the closure handle when disconnecting surplus connections
305613498266Sopenharmony_ci
305713498266Sopenharmony_ci  Use the closure handle for disconnecting connection cache entries so
305813498266Sopenharmony_ci  that anything that happens during the disconnect is not stored and
305913498266Sopenharmony_ci  associated with the 'data' handle which already just finished a transfer
306013498266Sopenharmony_ci  and it is important that details from the unrelated disconnect does not
306113498266Sopenharmony_ci  taint meta-data in the data handle.
306213498266Sopenharmony_ci
306313498266Sopenharmony_ci  Like storing the response code.
306413498266Sopenharmony_ci
306513498266Sopenharmony_ci  This also adjust test 1506. Unfortunately it also removes a key part of
306613498266Sopenharmony_ci  the test that verifies that a connection is closed since when this
306713498266Sopenharmony_ci  output vanishes (because the closure handle is used), we don't know
306813498266Sopenharmony_ci  exactly that the connection actually gets closed in this test...
306913498266Sopenharmony_ci
307013498266Sopenharmony_ci  Reported-by: ohyeaah on github
307113498266Sopenharmony_ci  Fixes #12367
307213498266Sopenharmony_ci  Closes #12405
307313498266Sopenharmony_ci
307413498266Sopenharmony_ci- RELEASE-NOTES: synced
307513498266Sopenharmony_ci
307613498266Sopenharmony_ciStefan Eissing (24 Nov 2023)
307713498266Sopenharmony_ci
307813498266Sopenharmony_ci- quic: make eyeballers connect retries stop at weird replies
307913498266Sopenharmony_ci
308013498266Sopenharmony_ci  - when a connect immediately goes into DRAINING state, do
308113498266Sopenharmony_ci    not attempt retries in the QUIC connection filter. Instead,
308213498266Sopenharmony_ci    return CURLE_WEIRD_SERVER_REPLY
308313498266Sopenharmony_ci  - When eyeballing, interpret CURLE_WEIRD_SERVER_REPLY as an
308413498266Sopenharmony_ci    inconclusive answer. When all addresses have been attempted,
308513498266Sopenharmony_ci    rewind the address list once on an inconclusive answer.
308613498266Sopenharmony_ci  - refs #11832 where connects were retried indefinitely until
308713498266Sopenharmony_ci    the overall timeout fired
308813498266Sopenharmony_ci
308913498266Sopenharmony_ci  Closes #12400
309013498266Sopenharmony_ci
309113498266Sopenharmony_ciDaniel Stenberg (24 Nov 2023)
309213498266Sopenharmony_ci
309313498266Sopenharmony_ci- CI: verify libcurl function SYNPOSIS sections
309413498266Sopenharmony_ci
309513498266Sopenharmony_ci  With the .github/scripits/verify-synopsis.pl script
309613498266Sopenharmony_ci
309713498266Sopenharmony_ci  Closes #12402
309813498266Sopenharmony_ci
309913498266Sopenharmony_ci- docs/libcurl: SYNSOPSIS cleanup
310013498266Sopenharmony_ci
310113498266Sopenharmony_ci  - use the correct include file
310213498266Sopenharmony_ci  - make sure they are declared as in the header file
310313498266Sopenharmony_ci  - fix minor nroff syntax mistakes (missing .fi)
310413498266Sopenharmony_ci
310513498266Sopenharmony_ci  These are verified by verify-synopsis.pl, which extracts the SYNPOSIS
310613498266Sopenharmony_ci  code and runs it through gcc.
310713498266Sopenharmony_ci
310813498266Sopenharmony_ci  Closes #12402
310913498266Sopenharmony_ci
311013498266Sopenharmony_ci- sendf: fix comment typo
311113498266Sopenharmony_ci
311213498266Sopenharmony_ci- fopen: allocate the dir after fopen
311313498266Sopenharmony_ci
311413498266Sopenharmony_ci  Move the allocation of the directory name down to after the fopen() call
311513498266Sopenharmony_ci  to allow that shortcut code path to avoid a superfluous malloc+free
311613498266Sopenharmony_ci  cycle.
311713498266Sopenharmony_ci
311813498266Sopenharmony_ci  Follow-up to 73b65e94f35311
311913498266Sopenharmony_ci
312013498266Sopenharmony_ci  Closes #12398
312113498266Sopenharmony_ci
312213498266Sopenharmony_ciStefan Eissing (24 Nov 2023)
312313498266Sopenharmony_ci
312413498266Sopenharmony_ci- transfer: cleanup done+excess handling
312513498266Sopenharmony_ci
312613498266Sopenharmony_ci  - add `SingleRequest->download_done` as indicator that
312713498266Sopenharmony_ci    all download bytes have been received
312813498266Sopenharmony_ci  - remove `stop_reading` bool from readwrite functions
312913498266Sopenharmony_ci  - move excess body handling into client download writer
313013498266Sopenharmony_ci
313113498266Sopenharmony_ci  Closes #12371
313213498266Sopenharmony_ci
313313498266Sopenharmony_ciDaniel Stenberg (23 Nov 2023)
313413498266Sopenharmony_ci
313513498266Sopenharmony_ci- fopen: create new file using old file's mode
313613498266Sopenharmony_ci
313713498266Sopenharmony_ci  Because the function renames the temp file to the target name as a last
313813498266Sopenharmony_ci  step, if the file was previously owned by a different user, not ORing
313913498266Sopenharmony_ci  the old mode could otherwise end up creating a file that was no longer
314013498266Sopenharmony_ci  readable by the original owner after save.
314113498266Sopenharmony_ci
314213498266Sopenharmony_ci  Reported-by: Loïc Yhuel
314313498266Sopenharmony_ci  Fixes #12299
314413498266Sopenharmony_ci  Closes #12395
314513498266Sopenharmony_ci
314613498266Sopenharmony_ci- test1476: require proxy
314713498266Sopenharmony_ci
314813498266Sopenharmony_ci  Follow-up from 323df4261c3542
314913498266Sopenharmony_ci
315013498266Sopenharmony_ci  Closes #12394
315113498266Sopenharmony_ci
315213498266Sopenharmony_ci- fopen: create short(er) temporary file name
315313498266Sopenharmony_ci
315413498266Sopenharmony_ci  Only using random letters in the name plus a ".tmp" extension. Not by
315513498266Sopenharmony_ci  appending characters to the final file name.
315613498266Sopenharmony_ci
315713498266Sopenharmony_ci  Reported-by: Maksymilian Arciemowicz
315813498266Sopenharmony_ci
315913498266Sopenharmony_ci  Closes #12388
316013498266Sopenharmony_ci
316113498266Sopenharmony_ciStefan Eissing (23 Nov 2023)
316213498266Sopenharmony_ci
316313498266Sopenharmony_ci- tests: git ignore generated second-hsts.txt file
316413498266Sopenharmony_ci
316513498266Sopenharmony_ci  File is generated in test lib1900
316613498266Sopenharmony_ci
316713498266Sopenharmony_ci  Follow-up to 7cb03229d9e9c5
316813498266Sopenharmony_ci
316913498266Sopenharmony_ci  Closes #12393
317013498266Sopenharmony_ci
317113498266Sopenharmony_ciViktor Szakats (23 Nov 2023)
317213498266Sopenharmony_ci
317313498266Sopenharmony_ci- openssl: enable `infof_certstack` for 1.1 and LibreSSL 3.6
317413498266Sopenharmony_ci
317513498266Sopenharmony_ci  Lower the barrier to enable `infof_certstack()` from OpenSSL 3 to
317613498266Sopenharmony_ci  OpenSSL 1.1.x, and LibreSSL 3.6 or upper.
317713498266Sopenharmony_ci
317813498266Sopenharmony_ci  With the caveat, that "group name" and "type name" are missing from
317913498266Sopenharmony_ci  the log output with these TLS backends.
318013498266Sopenharmony_ci
318113498266Sopenharmony_ci  Follow-up to b6e6d4ff8f253c8b8055bab9d4d6a10f9be109f3 #12030
318213498266Sopenharmony_ci
318313498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
318413498266Sopenharmony_ci  Closes #12385
318513498266Sopenharmony_ci
318613498266Sopenharmony_ciDaniel Stenberg (23 Nov 2023)
318713498266Sopenharmony_ci
318813498266Sopenharmony_ci- urldata: fix typo in comment
318913498266Sopenharmony_ci
319013498266Sopenharmony_ci- CI: codespell
319113498266Sopenharmony_ci
319213498266Sopenharmony_ci  The list of words to ignore is in the file
319313498266Sopenharmony_ci  .github/scripts/codespell-ignore.txt
319413498266Sopenharmony_ci
319513498266Sopenharmony_ci  Closes #12390
319613498266Sopenharmony_ci
319713498266Sopenharmony_ci- lib: fix comment typos
319813498266Sopenharmony_ci
319913498266Sopenharmony_ci  Five separate ones, found by codespell
320013498266Sopenharmony_ci
320113498266Sopenharmony_ci  Closes #12390
320213498266Sopenharmony_ci
320313498266Sopenharmony_ci- test1476: verify cookie PSL mixed case
320413498266Sopenharmony_ci
320513498266Sopenharmony_ci- cookie: lowercase the domain names before PSL checks
320613498266Sopenharmony_ci
320713498266Sopenharmony_ci  Reported-by: Harry Sintonen
320813498266Sopenharmony_ci
320913498266Sopenharmony_ci  Closes #12387
321013498266Sopenharmony_ci
321113498266Sopenharmony_ciViktor Szakats (23 Nov 2023)
321213498266Sopenharmony_ci
321313498266Sopenharmony_ci- openssl: fix building with v3 `no-deprecated` + add CI test
321413498266Sopenharmony_ci
321513498266Sopenharmony_ci  - build quictls with `no-deprecated` in CI to have test coverage for
321613498266Sopenharmony_ci    this OpenSSL 3 configuration.
321713498266Sopenharmony_ci
321813498266Sopenharmony_ci  - don't call `OpenSSL_add_all_algorithms()`, `OpenSSL_add_all_digests()`.
321913498266Sopenharmony_ci    The caller code is meant for OpenSSL 3, while these two functions were
322013498266Sopenharmony_ci    only necessary before OpenSSL 1.1.0. They are missing from OpenSSL 3
322113498266Sopenharmony_ci    if built with option `no-deprecated`, causing build errors:
322213498266Sopenharmony_ci    ```
322313498266Sopenharmony_ci    vtls/openssl.c:4097:3: error: call to undeclared function 'OpenSSL_add_all_
322413498266Sopenharmony_ci  algorithms'; ISO C99 and later do not   support implicit function declaration
322513498266Sopenharmony_ci  s [-Wimplicit-function-declaration]
322613498266Sopenharmony_ci    vtls/openssl.c:4098:3: error: call to undeclared function 'OpenSSL_add_all_
322713498266Sopenharmony_ci  digests'; ISO C99 and later do not   support implicit function declarations [
322813498266Sopenharmony_ci  -Wimplicit-function-declaration]
322913498266Sopenharmony_ci    ```
323013498266Sopenharmony_ci    Ref: https://ci.appveyor.com/project/curlorg/curl-for-win/builds/48587418?f
323113498266Sopenharmony_ci  ullLog=true#L7667
323213498266Sopenharmony_ci
323313498266Sopenharmony_ci    Regression from b6e6d4ff8f253c8b8055bab9d4d6a10f9be109f3 #12030
323413498266Sopenharmony_ci    Bug: https://github.com/curl/curl/issues/12380#issuecomment-1822944669
323513498266Sopenharmony_ci    Reviewed-by: Alex Bozarth
323613498266Sopenharmony_ci
323713498266Sopenharmony_ci  - vquic/curl_ngtcp2: fix using `SSL_get_peer_certificate` with
323813498266Sopenharmony_ci    `no-deprecated` quictls 3 builds.
323913498266Sopenharmony_ci    Do it by moving an existing solution for this from `vtls/openssl.c`
324013498266Sopenharmony_ci    to `vtls/openssl.h` and adjusting caller code.
324113498266Sopenharmony_ci    ```
324213498266Sopenharmony_ci    vquic/curl_ngtcp2.c:1950:19: error: implicit declaration of function 'SSL_g
324313498266Sopenharmony_ci  et_peer_certificate'; did you mean   'SSL_get1_peer_certificate'? [-Wimplicit
324413498266Sopenharmony_ci  -function-declaration]
324513498266Sopenharmony_ci    ```
324613498266Sopenharmony_ci    Ref: https://github.com/curl/curl/actions/runs/6960723097/job/18940818625#s
324713498266Sopenharmony_ci  tep:24:1178
324813498266Sopenharmony_ci
324913498266Sopenharmony_ci  - curl_ntlm_core: fix `-Wunused-parameter`, `-Wunused-variable` and
325013498266Sopenharmony_ci    `-Wunused-function` when trying to build curl with NTLM enabled but
325113498266Sopenharmony_ci    without the necessary TLS backend (with DES) support.
325213498266Sopenharmony_ci
325313498266Sopenharmony_ci  Closes #12384
325413498266Sopenharmony_ci
325513498266Sopenharmony_ci- curl.h: delete Symbian OS references
325613498266Sopenharmony_ci
325713498266Sopenharmony_ci  curl deprecated Symbian OS in 3d64031fa7a80ac4ae3fd09a5939196268b92f81
325813498266Sopenharmony_ci  via #5989. Delete references to it from public headers, because there
325913498266Sopenharmony_ci  is no fresh release to use those headers with.
326013498266Sopenharmony_ci
326113498266Sopenharmony_ci  Reviewed-by: Dan Fandrich
326213498266Sopenharmony_ci  Reviewed-by: Jay Satiro
326313498266Sopenharmony_ci  Closes #12378
326413498266Sopenharmony_ci
326513498266Sopenharmony_ci- windows: use built-in `_WIN32` macro to detect Windows
326613498266Sopenharmony_ci
326713498266Sopenharmony_ci  Windows compilers define `_WIN32` automatically. Windows SDK headers
326813498266Sopenharmony_ci  or build env defines `WIN32`, or we have to take care of it. The
326913498266Sopenharmony_ci  agreement seems to be that `_WIN32` is the preferred practice here.
327013498266Sopenharmony_ci  Make the source code rely on that to detect we're building for Windows.
327113498266Sopenharmony_ci
327213498266Sopenharmony_ci  Public `curl.h` was using `WIN32`, `__WIN32__` and `CURL_WIN32` for
327313498266Sopenharmony_ci  Windows detection, next to the official `_WIN32`. After this patch it
327413498266Sopenharmony_ci  only uses `_WIN32` for this. Also, make it stop defining `CURL_WIN32`.
327513498266Sopenharmony_ci
327613498266Sopenharmony_ci  There is a slight chance these break compatibility with Windows
327713498266Sopenharmony_ci  compilers that fail to define `_WIN32`. I'm not aware of any obsolete
327813498266Sopenharmony_ci  or modern compiler affected, but in case there is one, one possible
327913498266Sopenharmony_ci  solution is to define this macro manually.
328013498266Sopenharmony_ci
328113498266Sopenharmony_ci  grepping for `WIN32` remains useful to discover Windows-specific code.
328213498266Sopenharmony_ci
328313498266Sopenharmony_ci  Also:
328413498266Sopenharmony_ci
328513498266Sopenharmony_ci  - extend `checksrc` to ensure we're not using `WIN32` anymore.
328613498266Sopenharmony_ci
328713498266Sopenharmony_ci  - apply minor formatting here and there.
328813498266Sopenharmony_ci
328913498266Sopenharmony_ci  - delete unnecessary checks for `!MSDOS` when `_WIN32` is present.
329013498266Sopenharmony_ci
329113498266Sopenharmony_ci  Co-authored-by: Jay Satiro
329213498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
329313498266Sopenharmony_ci
329413498266Sopenharmony_ci  Closes #12376
329513498266Sopenharmony_ci
329613498266Sopenharmony_ciStefan Eissing (22 Nov 2023)
329713498266Sopenharmony_ci
329813498266Sopenharmony_ci- url: ConnectionExists revisited
329913498266Sopenharmony_ci
330013498266Sopenharmony_ci  - have common pattern of `if not match, continue`
330113498266Sopenharmony_ci  - revert pages long if()s to return early
330213498266Sopenharmony_ci  - move dead connection check to later since it may
330313498266Sopenharmony_ci    be relatively expensive
330413498266Sopenharmony_ci  - check multiuse also when NOT building with NGHTTP2
330513498266Sopenharmony_ci  - for MULTIUSE bundles, verify that the inspected
330613498266Sopenharmony_ci    connection indeed supports multiplexing when in use
330713498266Sopenharmony_ci    (bundles may contain a mix of connection, afaict)
330813498266Sopenharmony_ci
330913498266Sopenharmony_ci  Closes #12373
331013498266Sopenharmony_ci
331113498266Sopenharmony_ciDaniel Stenberg (22 Nov 2023)
331213498266Sopenharmony_ci
331313498266Sopenharmony_ci- CURLMOPT_MAX_CONCURRENT_STREAMS: make sure the set value is within range
331413498266Sopenharmony_ci
331513498266Sopenharmony_ci  ... or use the default value.
331613498266Sopenharmony_ci
331713498266Sopenharmony_ci  Also clarify the documentation language somewhat.
331813498266Sopenharmony_ci
331913498266Sopenharmony_ci  Closes #12382
332013498266Sopenharmony_ci
332113498266Sopenharmony_ci- urldata: make maxconnects a 32 bit value
332213498266Sopenharmony_ci
332313498266Sopenharmony_ci  "2^32 idle connections ought to be enough for anybody"
332413498266Sopenharmony_ci
332513498266Sopenharmony_ci  Closes #12375
332613498266Sopenharmony_ci
332713498266Sopenharmony_ci- FEATURES: update the URL phrasing
332813498266Sopenharmony_ci
332913498266Sopenharmony_ci  The URL is length limited since a while back so "no limit" simply is not
333013498266Sopenharmony_ci  true anymore. Mention the URL RFC standard used instead.
333113498266Sopenharmony_ci
333213498266Sopenharmony_ci  Closes #12383
333313498266Sopenharmony_ci
333413498266Sopenharmony_ci- wolfssh: remove redundant static prototypes
333513498266Sopenharmony_ci
333613498266Sopenharmony_ci  vssh/wolfssh.c:346:18: error: redundant redeclaration of ‘wscp_recv’ [-We
333713498266Sopenharmony_ci  rror=redundant-decls]
333813498266Sopenharmony_ci
333913498266Sopenharmony_ci  Closes #12381
334013498266Sopenharmony_ci
334113498266Sopenharmony_ci- setopt: remove superfluous use of ternary expressions
334213498266Sopenharmony_ci
334313498266Sopenharmony_ci  Closes #12374
334413498266Sopenharmony_ci
334513498266Sopenharmony_ci- mime: store "form escape" as a single bit
334613498266Sopenharmony_ci
334713498266Sopenharmony_ci  Closes #12374
334813498266Sopenharmony_ci
334913498266Sopenharmony_ci- setopt: check CURLOPT_TFTP_BLKSIZE range on set
335013498266Sopenharmony_ci
335113498266Sopenharmony_ci  ... instead of later when the transfer is about to happen.
335213498266Sopenharmony_ci
335313498266Sopenharmony_ci  Closes #12374
335413498266Sopenharmony_ci
335513498266Sopenharmony_ciViktor Szakats (21 Nov 2023)
335613498266Sopenharmony_ci
335713498266Sopenharmony_ci- build: add more picky warnings and fix them
335813498266Sopenharmony_ci
335913498266Sopenharmony_ci  Enable more picky compiler warnings. I've found these options in the
336013498266Sopenharmony_ci  nghttp3 project when implementing the CMake quick picky warning
336113498266Sopenharmony_ci  functionality for it [1].
336213498266Sopenharmony_ci
336313498266Sopenharmony_ci  `-Wunused-macros` was too noisy to keep around, but fixed a few issues
336413498266Sopenharmony_ci  it revealed while testing.
336513498266Sopenharmony_ci
336613498266Sopenharmony_ci  - autotools: reflect the more precisely-versioned clang warnings.
336713498266Sopenharmony_ci    Follow-up to 033f8e2a08eb1d3102f08c4d8c8e85470f8b460e #12324
336813498266Sopenharmony_ci  - autotools: sync between clang and gcc the way we set `no-multichar`.
336913498266Sopenharmony_ci  - autotools: avoid setting `-Wstrict-aliasing=3` twice.
337013498266Sopenharmony_ci  - autotools: disable `-Wmissing-noreturn` for MSYS gcc targets [2].
337113498266Sopenharmony_ci    It triggers in libtool-generated stub code.
337213498266Sopenharmony_ci
337313498266Sopenharmony_ci  - lib/timeval: delete a redundant `!MSDOS` guard from a `WIN32` branch.
337413498266Sopenharmony_ci
337513498266Sopenharmony_ci  - lib/curl_setup.h: delete duplicate declaration for `fileno`.
337613498266Sopenharmony_ci    Added in initial commit ae1912cb0d494b48d514d937826c9fe83ec96c4d
337713498266Sopenharmony_ci    (1999-12-29). This suggests this may not be needed anymore, but if
337813498266Sopenharmony_ci    it does, we may restore this for those specific (non-Windows) systems.
337913498266Sopenharmony_ci  - lib: delete unused macro `FTP_BUFFER_ALLOCSIZE` since
338013498266Sopenharmony_ci    c1d6fe2aaa5a26e49a69a4f2495b3cc7a24d9394.
338113498266Sopenharmony_ci  - lib: delete unused macro `isxdigit_ascii` since
338213498266Sopenharmony_ci    f65f750742068f579f4ee6d8539ed9d5f0afcb85.
338313498266Sopenharmony_ci  - lib/mqtt: delete unused macro `MQTT_HEADER_LEN`.
338413498266Sopenharmony_ci  - lib/multi: delete unused macro `SH_READ`/`SH_WRITE`.
338513498266Sopenharmony_ci  - lib/hostip: add `noreturn` function attribute via new `CURL_NORETURN`
338613498266Sopenharmony_ci    macro.
338713498266Sopenharmony_ci  - lib/mprintf: delete duplicate declaration for `Curl_dyn_vprintf`.
338813498266Sopenharmony_ci  - lib/rand: fix `-Wunreachable-code` and related fallouts [3].
338913498266Sopenharmony_ci  - lib/setopt: fix `-Wunreachable-code-break`.
339013498266Sopenharmony_ci  - lib/system_win32 and lib/timeval: fix double declarations for
339113498266Sopenharmony_ci    `Curl_freq` and `Curl_isVistaOrGreater` in CMake UNITY mode [4].
339213498266Sopenharmony_ci  - lib/warnless: fix double declarations in CMake UNITY mode [5].
339313498266Sopenharmony_ci    This was due to force-disabling the header guard of `warnless.h` to
339413498266Sopenharmony_ci    to reapply it to source code coming after `warnless.c` in UNITY
339513498266Sopenharmony_ci    builds. This reapplied declarations too, causing the warnings.
339613498266Sopenharmony_ci    Solved by adding a header guard for the lines that actually need
339713498266Sopenharmony_ci    to be reapplied.
339813498266Sopenharmony_ci  - lib/vauth/digest: fix `-Wunreachable-code-break` [6].
339913498266Sopenharmony_ci  - lib/vssh/libssh2: fix `-Wunreachable-code-break` and delete redundant
340013498266Sopenharmony_ci    block.
340113498266Sopenharmony_ci  - lib/vtls/sectransp: fix `-Wunreachable-code-break` [7].
340213498266Sopenharmony_ci  - lib/vtls/sectransp: suppress `-Wunreachable-code`.
340313498266Sopenharmony_ci    Detected in `else` branches of dynamic feature checks, with results
340413498266Sopenharmony_ci    known at compile-time, e.g.
340513498266Sopenharmony_ci    ```c
340613498266Sopenharmony_ci    if(SecCertificateCopySubjectSummary)  /* -> true */
340713498266Sopenharmony_ci    ```
340813498266Sopenharmony_ci    Likely fixable as a separate micro-project, but given SecureTransport
340913498266Sopenharmony_ci    is deprecated anyway, let's just silence these locally.
341013498266Sopenharmony_ci  - src/tool_help: delete duplicate declaration for `helptext`.
341113498266Sopenharmony_ci  - src/tool_xattr: fix `-Wunreachable-code`.
341213498266Sopenharmony_ci  - tests: delete duplicate declaration for `unitfail` [8].
341313498266Sopenharmony_ci  - tests: delete duplicate declaration for `strncasecompare`.
341413498266Sopenharmony_ci  - tests/libtest: delete duplicate declaration for `gethostname`.
341513498266Sopenharmony_ci    Originally added in 687df5c8c39c370a59999b9afc0917d808d978b7
341613498266Sopenharmony_ci    (2010-08-02).
341713498266Sopenharmony_ci    Got complicated later: c49e9683b85ba9d12cbb6eebc4ab2c8dba68fbdc
341813498266Sopenharmony_ci    If there are still systems around with warnings, we may restore the
341913498266Sopenharmony_ci    prototype, but limited for those systems.
342013498266Sopenharmony_ci  - tests/lib2305: delete duplicate declaration for
342113498266Sopenharmony_ci    `libtest_debug_config`.
342213498266Sopenharmony_ci  - tests/h2-download: fix `-Wunreachable-code-break`.
342313498266Sopenharmony_ci
342413498266Sopenharmony_ci  [1] https://github.com/ngtcp2/nghttp3/blob/a70edb08e954d690e8fb2c1df999b5a056
342513498266Sopenharmony_ci  f8bf9f/cmake/PickyWarningsC.cmake
342613498266Sopenharmony_ci  [2] https://ci.appveyor.com/project/curlorg/curl/builds/48553586/job/3qkgjaui
342713498266Sopenharmony_ci  qla5fj45?fullLog=true#L1675
342813498266Sopenharmony_ci  [3] https://github.com/curl/curl/actions/runs/6880886309/job/18716044703?pr=1
342913498266Sopenharmony_ci  2331#step:7:72
343013498266Sopenharmony_ci      https://github.com/curl/curl/actions/runs/6883016087/job/18722707368?pr=1
343113498266Sopenharmony_ci  2331#step:7:109
343213498266Sopenharmony_ci  [4] https://ci.appveyor.com/project/curlorg/curl/builds/48555101/job/9g15qkrr
343313498266Sopenharmony_ci  iklpf1ut#L204
343413498266Sopenharmony_ci  [5] https://ci.appveyor.com/project/curlorg/curl/builds/48555101/job/9g15qkrr
343513498266Sopenharmony_ci  iklpf1ut#L218
343613498266Sopenharmony_ci  [6] https://github.com/curl/curl/actions/runs/6880886309/job/18716042927?pr=1
343713498266Sopenharmony_ci  2331#step:7:290
343813498266Sopenharmony_ci  [7] https://github.com/curl/curl/actions/runs/6891484996/job/18746659406?pr=1
343913498266Sopenharmony_ci  2331#step:9:1193
344013498266Sopenharmony_ci  [8] https://github.com/curl/curl/actions/runs/6882803986/job/18722082562?pr=1
344113498266Sopenharmony_ci  2331#step:33:1870
344213498266Sopenharmony_ci
344313498266Sopenharmony_ci  Closes #12331
344413498266Sopenharmony_ci
344513498266Sopenharmony_ciDaniel Stenberg (21 Nov 2023)
344613498266Sopenharmony_ci
344713498266Sopenharmony_ci- transfer: avoid unreachable expression
344813498266Sopenharmony_ci
344913498266Sopenharmony_ci  If curl_off_t and size_t have the same size (which is common on modern
345013498266Sopenharmony_ci  64 bit systems), a condition cannot occur which Coverity pointed
345113498266Sopenharmony_ci  out. Avoid the warning by having the code conditionally only used if
345213498266Sopenharmony_ci  curl_off_t actually is larger.
345313498266Sopenharmony_ci
345413498266Sopenharmony_ci  Follow-up to 1cd2f0072fa482e25baa2
345513498266Sopenharmony_ci
345613498266Sopenharmony_ci  Closes #12370
345713498266Sopenharmony_ci
345813498266Sopenharmony_ciStefan Eissing (21 Nov 2023)
345913498266Sopenharmony_ci
346013498266Sopenharmony_ci- transfer: readwrite improvements
346113498266Sopenharmony_ci
346213498266Sopenharmony_ci  - changed header/chunk/handler->readwrite prototypes to accept `buf`,
346313498266Sopenharmony_ci    `blen` and a `pconsumed` pointer. They now get the buffer to work on
346413498266Sopenharmony_ci    and report back how many bytes they consumed
346513498266Sopenharmony_ci  - eliminated `k->str` in SingleRequest
346613498266Sopenharmony_ci  - improved excess data handling to properly calculate with any body data
346713498266Sopenharmony_ci    left in the headerb buffer
346813498266Sopenharmony_ci  - eliminated `k->badheader` enum to only be a bool
346913498266Sopenharmony_ci
347013498266Sopenharmony_ci  Closes #12283
347113498266Sopenharmony_ci
347213498266Sopenharmony_ciDaniel Stenberg (21 Nov 2023)
347313498266Sopenharmony_ci
347413498266Sopenharmony_ci- RELEASE-NOTES: synced
347513498266Sopenharmony_ci
347613498266Sopenharmony_ciJiří Hruška (21 Nov 2023)
347713498266Sopenharmony_ci
347813498266Sopenharmony_ci- transfer: avoid calling the read callback again after EOF
347913498266Sopenharmony_ci
348013498266Sopenharmony_ci  Regression since 7f43f3dc5994d01b12 (7.84.0)
348113498266Sopenharmony_ci
348213498266Sopenharmony_ci  Bug: https://curl.se/mail/lib-2023-11/0017.html
348313498266Sopenharmony_ci
348413498266Sopenharmony_ci  Closes #12363
348513498266Sopenharmony_ci
348613498266Sopenharmony_ciDaniel Stenberg (21 Nov 2023)
348713498266Sopenharmony_ci
348813498266Sopenharmony_ci- doh: provide better return code for responses w/o addresses
348913498266Sopenharmony_ci
349013498266Sopenharmony_ci  Previously it was wrongly returning CURLE_OUT_OF_MEMORY when the
349113498266Sopenharmony_ci  response did not contain any addresses. Now it more accurately returns
349213498266Sopenharmony_ci  CURLE_COULDNT_RESOLVE_HOST.
349313498266Sopenharmony_ci
349413498266Sopenharmony_ci  Reported-by: lRoccoon on github
349513498266Sopenharmony_ci
349613498266Sopenharmony_ci  Fixes #12365
349713498266Sopenharmony_ci  Closes #12366
349813498266Sopenharmony_ci
349913498266Sopenharmony_ciStefan Eissing (21 Nov 2023)
350013498266Sopenharmony_ci
350113498266Sopenharmony_ci- HTTP/2, HTTP/3: handle detach of onoing transfers
350213498266Sopenharmony_ci
350313498266Sopenharmony_ci  - refs #12356 where a UAF is reported when closing a connection
350413498266Sopenharmony_ci    with a stream whose easy handle was cleaned up already
350513498266Sopenharmony_ci  - handle DETACH events same as DONE events in h2/h3 filters
350613498266Sopenharmony_ci
350713498266Sopenharmony_ci  Fixes #12356
350813498266Sopenharmony_ci  Reported-by: Paweł Wegner
350913498266Sopenharmony_ci  Closes #12364
351013498266Sopenharmony_ci
351113498266Sopenharmony_ciViktor Szakats (20 Nov 2023)
351213498266Sopenharmony_ci
351313498266Sopenharmony_ci- autotools: stop setting `-std=gnu89` with `--enable-warnings`
351413498266Sopenharmony_ci
351513498266Sopenharmony_ci  Do not alter the C standard when building with `--enable-warnings` when
351613498266Sopenharmony_ci  building with gcc.
351713498266Sopenharmony_ci
351813498266Sopenharmony_ci  On one hand this alters warning results compared to a default build.
351913498266Sopenharmony_ci  On the other, it may produce different binaries, which is unexpected.
352013498266Sopenharmony_ci
352113498266Sopenharmony_ci  Also fix new warnings that appeared after removing `-std=gnu89`:
352213498266Sopenharmony_ci
352313498266Sopenharmony_ci  - include: fix public curl headers to use the correct printf mask for
352413498266Sopenharmony_ci    `CURL_FORMAT_CURL_OFF_T` and `CURL_FORMAT_CURL_OFF_TU` with mingw-w64
352513498266Sopenharmony_ci    and Visual Studio 2013 and newer. This fixes the printf mask warnings
352613498266Sopenharmony_ci    in examples and tests. E.g. [1]
352713498266Sopenharmony_ci
352813498266Sopenharmony_ci  - conncache: fix printf format string [2].
352913498266Sopenharmony_ci
353013498266Sopenharmony_ci  - http2: fix potential null pointer dereference [3].
353113498266Sopenharmony_ci    (seen on Slackware with gcc 11.)
353213498266Sopenharmony_ci
353313498266Sopenharmony_ci  - libssh: fix printf format string in SFTP code [4].
353413498266Sopenharmony_ci    Also make MSVC builds compatible with old CRT versions.
353513498266Sopenharmony_ci
353613498266Sopenharmony_ci  - libssh2: fix printf format string in SFTP code for MSVC.
353713498266Sopenharmony_ci    Applying the same fix as for libssh above.
353813498266Sopenharmony_ci
353913498266Sopenharmony_ci  - unit1395: fix `argument is null` and related issues [5]:
354013498266Sopenharmony_ci    - stop calling `strcmp()` with NULL to avoid undefined behaviour.
354113498266Sopenharmony_ci    - fix checking results if some of them were NULL.
354213498266Sopenharmony_ci    - do not pass NULL to printf `%s`.
354313498266Sopenharmony_ci
354413498266Sopenharmony_ci  - ci: keep a build job with `-std=gnu89` to continue testing for
354513498266Sopenharmony_ci    C89-compliance. We can apply this to other gcc jobs as needed.
354613498266Sopenharmony_ci    Ref: b23ce2cee7329bbf425f18b49973b7a5f23dfcb4 (2022-09-23) #9542
354713498266Sopenharmony_ci
354813498266Sopenharmony_ci  [1] https://dev.azure.com/daniel0244/curl/_build/results?buildId=18581&view=l
354913498266Sopenharmony_ci  ogs&jobId=ccf9cc6d-2ef1-5cf2-2c09-30f0c14f923b
355013498266Sopenharmony_ci  [2] https://github.com/curl/curl/actions/runs/6896854263/job/18763831142?pr=1
355113498266Sopenharmony_ci  2346#step:6:67
355213498266Sopenharmony_ci  [3] https://github.com/curl/curl/actions/runs/6896854253/job/18763839238?pr=1
355313498266Sopenharmony_ci  2346#step:30:214
355413498266Sopenharmony_ci  [4] https://github.com/curl/curl/actions/runs/6896854253/job/18763838007?pr=1
355513498266Sopenharmony_ci  2346#step:29:895
355613498266Sopenharmony_ci  [5] https://github.com/curl/curl/actions/runs/6896854253/job/18763836775?pr=1
355713498266Sopenharmony_ci  2346#step:33:1689
355813498266Sopenharmony_ci
355913498266Sopenharmony_ci  Closes #12346
356013498266Sopenharmony_ci
356113498266Sopenharmony_ci- autotools: fix/improve gcc and Apple clang version detection
356213498266Sopenharmony_ci
356313498266Sopenharmony_ci  - Before this patch we expected `n.n` `-dumpversion` output, but Ubuntu
356413498266Sopenharmony_ci    may return `n-win32` (also with `-dumpfullversion`). Causing these
356513498266Sopenharmony_ci    errors and failing to enable picky warnings:
356613498266Sopenharmony_ci    ```
356713498266Sopenharmony_ci    ../configure: line 23845: test: : integer expression expected
356813498266Sopenharmony_ci    ```
356913498266Sopenharmony_ci    Ref: https://github.com/libssh2/libssh2/actions/runs/6263453828/job/1700789
357013498266Sopenharmony_ci  3718#step:5:143
357113498266Sopenharmony_ci
357213498266Sopenharmony_ci    Fix that by stripping any dash-suffix and handling a dotless (major-only)
357313498266Sopenharmony_ci    version number by assuming `.0` in that case.
357413498266Sopenharmony_ci
357513498266Sopenharmony_ci    `9.3-posix`, `9.3-win32`, `6`, `9.3.0`, `11`, `11.2`, `11.2.0`
357613498266Sopenharmony_ci    Ref: https://github.com/mamedev/mame/pull/9767
357713498266Sopenharmony_ci
357813498266Sopenharmony_ci  - fix Apple clang version detection for releases between
357913498266Sopenharmony_ci    'Apple LLVM version 7.3.0' and 'Apple LLVM version 10.0.1' where the
358013498266Sopenharmony_ci    version was under-detected as 3.7 llvm/clang equivalent.
358113498266Sopenharmony_ci
358213498266Sopenharmony_ci  - fix Apple clang version detection for 'Apple clang version 11.0.0'
358313498266Sopenharmony_ci    and newer where the Apple clang version was detected, instead of its
358413498266Sopenharmony_ci    llvm/clang equivalent.
358513498266Sopenharmony_ci
358613498266Sopenharmony_ci  - display detected clang/gcc/icc compiler version.
358713498266Sopenharmony_ci
358813498266Sopenharmony_ci  Via libssh2:
358913498266Sopenharmony_ci  - https://github.com/libssh2/libssh2/commit/00a3b88c51cdb407fbbb347a2e38c5c7d
359013498266Sopenharmony_ci  89875ad
359113498266Sopenharmony_ci    https://github.com/libssh2/libssh2/pull/1187
359213498266Sopenharmony_ci  - https://github.com/libssh2/libssh2/commit/89ccc83c7da73e7ca3a112e3500081319
359313498266Sopenharmony_ci  42b592e
359413498266Sopenharmony_ci    https://github.com/libssh2/libssh2/pull/1232
359513498266Sopenharmony_ci
359613498266Sopenharmony_ci  Closes #12362
359713498266Sopenharmony_ci
359813498266Sopenharmony_ci- autotools: delete LCC compiler support bits
359913498266Sopenharmony_ci
360013498266Sopenharmony_ci  Follow-up to fd7ef00f4305a2919e6950def1cf83d0110a4acd #12222
360113498266Sopenharmony_ci
360213498266Sopenharmony_ci  Closes #12357
360313498266Sopenharmony_ci
360413498266Sopenharmony_ci- cmake: add test for `DISABLE` options, add `CURL_DISABLE_HEADERS_API`
360513498266Sopenharmony_ci
360613498266Sopenharmony_ci  - tests: verify CMake `DISABLE` options.
360713498266Sopenharmony_ci
360813498266Sopenharmony_ci    Make an exception for 2 CMake-only ones, and one more that's
360913498266Sopenharmony_ci    using a different naming scheme, also in autotools and source.
361013498266Sopenharmony_ci
361113498266Sopenharmony_ci  - cmake: add support for `CURL_DISABLE_HEADERS_API`.
361213498266Sopenharmony_ci
361313498266Sopenharmony_ci  Suggested-by: Daniel Stenberg
361413498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/12345#pullrequestreview-1736238641
361513498266Sopenharmony_ci
361613498266Sopenharmony_ci  Closes #12353
361713498266Sopenharmony_ci
361813498266Sopenharmony_ciJacob Hoffman-Andrews (20 Nov 2023)
361913498266Sopenharmony_ci
362013498266Sopenharmony_ci- hyper: temporarily remove HTTP/2 support
362113498266Sopenharmony_ci
362213498266Sopenharmony_ci  The current design of the Hyper integration requires rebuilding the
362313498266Sopenharmony_ci  Hyper clientconn for each request. However, building the clientconn
362413498266Sopenharmony_ci  requires resending the HTTP/2 connection preface, which is incorrect
362513498266Sopenharmony_ci  from a protocol perspective. That in turn causes servers to send GOAWAY
362613498266Sopenharmony_ci  frames, effectively degrading performance to "no connection reuse" in
362713498266Sopenharmony_ci  the best case. It may also be triggering some bugs where requests get
362813498266Sopenharmony_ci  dropped entirely and reconnects take too long.
362913498266Sopenharmony_ci
363013498266Sopenharmony_ci  This doesn't rule out HTTP/2 support with Hyper, but it may take a
363113498266Sopenharmony_ci  redesign of the Hyper integration in order to make things work.
363213498266Sopenharmony_ci
363313498266Sopenharmony_ci  Closes #12191
363413498266Sopenharmony_ci
363513498266Sopenharmony_ciJay Satiro (20 Nov 2023)
363613498266Sopenharmony_ci
363713498266Sopenharmony_ci- schannel: fix unused variable warning
363813498266Sopenharmony_ci
363913498266Sopenharmony_ci  Bug: https://github.com/curl/curl/pull/12349#issuecomment-1818000846
364013498266Sopenharmony_ci  Reported-by: Viktor Szakats
364113498266Sopenharmony_ci
364213498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12361
364313498266Sopenharmony_ci
364413498266Sopenharmony_ciDaniel Stenberg (19 Nov 2023)
364513498266Sopenharmony_ci
364613498266Sopenharmony_ci- url: find scheme with a "perfect hash"
364713498266Sopenharmony_ci
364813498266Sopenharmony_ci  Instead of a loop to scan over the potentially 30+ scheme names, this
364913498266Sopenharmony_ci  uses a "perfect hash" table. This works fine because the set of schemes
365013498266Sopenharmony_ci  is known and cannot change in a build. The hash algorithm and table size
365113498266Sopenharmony_ci  is made to only make a single scheme index per table entry.
365213498266Sopenharmony_ci
365313498266Sopenharmony_ci  The perfect hash is generated by a separate tool (scripts/schemetable.c)
365413498266Sopenharmony_ci
365513498266Sopenharmony_ci  Closes #12347
365613498266Sopenharmony_ci
365713498266Sopenharmony_ci- scripts: add schemetable.c
365813498266Sopenharmony_ci
365913498266Sopenharmony_ci  This tool generates a scheme-matching table.
366013498266Sopenharmony_ci
366113498266Sopenharmony_ci  It iterates over a number of different initial and shift values in order
366213498266Sopenharmony_ci  to find the hash algorithm that needs the smallest possible table.
366313498266Sopenharmony_ci
366413498266Sopenharmony_ci  The generated hash function, table and table size then needs to be used
366513498266Sopenharmony_ci  by the url.c:Curl_getn_scheme_handler() function.
366613498266Sopenharmony_ci
366713498266Sopenharmony_ciStefan Eissing (19 Nov 2023)
366813498266Sopenharmony_ci
366913498266Sopenharmony_ci- vtls/vquic, keep peer name information together
367013498266Sopenharmony_ci
367113498266Sopenharmony_ci  - add `struct ssl_peer` to keep hostname, dispname and sni
367213498266Sopenharmony_ci    for a filter
367313498266Sopenharmony_ci  - allocate `sni` for use in VTLS backend
367413498266Sopenharmony_ci  - eliminate `Curl_ssl_snihost()` and its use of the download buffer
367513498266Sopenharmony_ci  - use ssl_peer in SSL and QUIC filters
367613498266Sopenharmony_ci
367713498266Sopenharmony_ci  Closes #12349
367813498266Sopenharmony_ci
367913498266Sopenharmony_ciViktor Szakats (18 Nov 2023)
368013498266Sopenharmony_ci
368113498266Sopenharmony_ci- build: always revert `#pragma GCC diagnostic` after use
368213498266Sopenharmony_ci
368313498266Sopenharmony_ci  Before this patch some source files were overriding gcc warning options,
368413498266Sopenharmony_ci  but without restoring them at the end of the file. In CMake UNITY builds
368513498266Sopenharmony_ci  these options spilled over to the remainder of the source code,
368613498266Sopenharmony_ci  effecitvely disabling them for a larger portion of the codebase than
368713498266Sopenharmony_ci  intended.
368813498266Sopenharmony_ci
368913498266Sopenharmony_ci  `#pragma clang diagnostic` didn't have such issue in the codebase.
369013498266Sopenharmony_ci
369113498266Sopenharmony_ci  Reviewed-by: Marcel Raad
369213498266Sopenharmony_ci  Closes #12352
369313498266Sopenharmony_ci
369413498266Sopenharmony_ci- tidy-up: casing typos, delete unused Windows version aliases
369513498266Sopenharmony_ci
369613498266Sopenharmony_ci  - cmake: fix casing of `UnixSockets` to match the rest of the codebase.
369713498266Sopenharmony_ci
369813498266Sopenharmony_ci  - curl-compilers.m4: fix casing in a comment.
369913498266Sopenharmony_ci
370013498266Sopenharmony_ci  - setup-win32: delete unused Windows version constant aliases.
370113498266Sopenharmony_ci
370213498266Sopenharmony_ci  Reviewed-by: Marcel Raad
370313498266Sopenharmony_ci  Closes #12351
370413498266Sopenharmony_ci
370513498266Sopenharmony_ci- keylog: disable if unused
370613498266Sopenharmony_ci
370713498266Sopenharmony_ci  Fully disable keylog code if there is no TLS or QUIC subsystem using it.
370813498266Sopenharmony_ci
370913498266Sopenharmony_ci  Closes #12350
371013498266Sopenharmony_ci
371113498266Sopenharmony_ci- cmake: add `CURL_DISABLE_BINDLOCAL` option
371213498266Sopenharmony_ci
371313498266Sopenharmony_ci  To match similar autotools option.
371413498266Sopenharmony_ci
371513498266Sopenharmony_ci  Default is `ON`.
371613498266Sopenharmony_ci
371713498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
371813498266Sopenharmony_ci  Closes #12345
371913498266Sopenharmony_ci
372013498266Sopenharmony_ci- url: fix `-Wzero-length-array` with no protocols
372113498266Sopenharmony_ci
372213498266Sopenharmony_ci  Fixes:
372313498266Sopenharmony_ci  ```
372413498266Sopenharmony_ci  ./lib/url.c:178:56: warning: use of an empty initializer is a C2x extension [
372513498266Sopenharmony_ci  -Wc2x-extensions]
372613498266Sopenharmony_ci    178 | static const struct Curl_handler * const protocols[] = {
372713498266Sopenharmony_ci        |                                                        ^
372813498266Sopenharmony_ci  ./lib/url.c:178:56: warning: zero size arrays are an extension [-Wzero-length
372913498266Sopenharmony_ci  -array]
373013498266Sopenharmony_ci  ```
373113498266Sopenharmony_ci
373213498266Sopenharmony_ci  Closes #12344
373313498266Sopenharmony_ci
373413498266Sopenharmony_ci- url: fix builds with `CURL_DISABLE_HTTP`
373513498266Sopenharmony_ci
373613498266Sopenharmony_ci  Fixes:
373713498266Sopenharmony_ci  ```
373813498266Sopenharmony_ci  ./lib/url.c:456:35: error: no member named 'formp' in 'struct UrlState'
373913498266Sopenharmony_ci    456 |   Curl_mime_cleanpart(data->state.formp);
374013498266Sopenharmony_ci        |                       ~~~~~~~~~~~ ^
374113498266Sopenharmony_ci  ```
374213498266Sopenharmony_ci
374313498266Sopenharmony_ci  Regression from 74b87a8af13a155c659227f5acfa78243a8b2aa6 #11682
374413498266Sopenharmony_ci
374513498266Sopenharmony_ci  Closes #12343
374613498266Sopenharmony_ci
374713498266Sopenharmony_ci- http: fix `-Wunused-parameter` with no auth and no proxy
374813498266Sopenharmony_ci
374913498266Sopenharmony_ci  ```
375013498266Sopenharmony_ci  lib/http.c:734:26: warning: unused parameter 'proxy' [-Wunused-parameter]
375113498266Sopenharmony_ci                      bool proxy)
375213498266Sopenharmony_ci                           ^
375313498266Sopenharmony_ci  ```
375413498266Sopenharmony_ci
375513498266Sopenharmony_ci  Reviewed-by: Marcel Raad
375613498266Sopenharmony_ci  Closes #12338
375713498266Sopenharmony_ci
375813498266Sopenharmony_ciDaniel Stenberg (16 Nov 2023)
375913498266Sopenharmony_ci
376013498266Sopenharmony_ci- TODO: Some TLS options are not offered for HTTPS proxies
376113498266Sopenharmony_ci
376213498266Sopenharmony_ci  Closes #12286
376313498266Sopenharmony_ci  Closes #12342
376413498266Sopenharmony_ci
376513498266Sopenharmony_ci- RELEASE-NOTES: synced
376613498266Sopenharmony_ci
376713498266Sopenharmony_ci- duphandle: make dupset() not return with pointers to old alloced data
376813498266Sopenharmony_ci
376913498266Sopenharmony_ci  As the blob pointers are to be duplicated, the function must not return
377013498266Sopenharmony_ci  mid-function with lingering pointers to the old handle's allocated data,
377113498266Sopenharmony_ci  as that would lead to double-free in OOM situations.
377213498266Sopenharmony_ci
377313498266Sopenharmony_ci  Make sure to clear all destination pointers first to avoid this risk.
377413498266Sopenharmony_ci
377513498266Sopenharmony_ci  Closes #12337
377613498266Sopenharmony_ci
377713498266Sopenharmony_ciViktor Szakats (16 Nov 2023)
377813498266Sopenharmony_ci
377913498266Sopenharmony_ci- http: fix `-Wunused-variable` compiler warning
378013498266Sopenharmony_ci
378113498266Sopenharmony_ci  Fix compiler warnings in builds with disabled auths, NTLM and SPNEGO.
378213498266Sopenharmony_ci
378313498266Sopenharmony_ci  E.g. with `CURL_DISABLE_BASIC_AUTH` + `CURL_DISABLE_BEARER_AUTH` +
378413498266Sopenharmony_ci  `CURL_DISABLE_DIGEST_AUTH` + `CURL_DISABLE_NEGOTIATE_AUTH` +
378513498266Sopenharmony_ci  `CURL_DISABLE_NTLM` on non-Windows.
378613498266Sopenharmony_ci
378713498266Sopenharmony_ci  ```
378813498266Sopenharmony_ci  ./curl/lib/http.c:737:12: warning: unused variable 'result' [-Wunused-variabl
378913498266Sopenharmony_ci  e]
379013498266Sopenharmony_ci    CURLcode result = CURLE_OK;
379113498266Sopenharmony_ci             ^
379213498266Sopenharmony_ci  ./curl/lib/http.c:995:18: warning: variable 'availp' set but not used [-Wunus
379313498266Sopenharmony_ci  ed-but-set-variable]
379413498266Sopenharmony_ci    unsigned long *availp;
379513498266Sopenharmony_ci                   ^
379613498266Sopenharmony_ci  ./curl/lib/http.c:996:16: warning: variable 'authp' set but not used [-Wunuse
379713498266Sopenharmony_ci  d-but-set-variable]
379813498266Sopenharmony_ci    struct auth *authp;
379913498266Sopenharmony_ci                 ^
380013498266Sopenharmony_ci  ```
380113498266Sopenharmony_ci
380213498266Sopenharmony_ci  Regression from e92edfbef64448ef461117769881f3ed776dec4e #11490
380313498266Sopenharmony_ci
380413498266Sopenharmony_ci  Fixes #12228
380513498266Sopenharmony_ci  Closes #12335
380613498266Sopenharmony_ci
380713498266Sopenharmony_ciJay Satiro (16 Nov 2023)
380813498266Sopenharmony_ci
380913498266Sopenharmony_ci- tool: support bold headers in Windows
381013498266Sopenharmony_ci
381113498266Sopenharmony_ci  - If virtual terminal processing is enabled in Windows then use ANSI
381213498266Sopenharmony_ci    escape codes Esc[1m and Esc[22m to turn bold on and off.
381313498266Sopenharmony_ci
381413498266Sopenharmony_ci  Suggested-by: Gisle Vanem
381513498266Sopenharmony_ci
381613498266Sopenharmony_ci  Ref: https://github.com/curl/curl/discussions/11770
381713498266Sopenharmony_ci
381813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12321
381913498266Sopenharmony_ci
382013498266Sopenharmony_ciViktor Szakats (15 Nov 2023)
382113498266Sopenharmony_ci
382213498266Sopenharmony_ci- build: fix libssh2 + `CURL_DISABLE_DIGEST_AUTH` + `CURL_DISABLE_AWS`
382313498266Sopenharmony_ci
382413498266Sopenharmony_ci  Builds with libssh2 + `-DCURL_DISABLE_DIGEST_AUTH=ON` +
382513498266Sopenharmony_ci  `-DCURL_DISABLE_AWS=ON` in combination with either Schannel on Windows,
382613498266Sopenharmony_ci  or `-DCURL_DISABLE_NTLM=ON` on other operating systems failed while
382713498266Sopenharmony_ci  compiling due to a missing HMAC declaration.
382813498266Sopenharmony_ci
382913498266Sopenharmony_ci  The reason is that HMAC is required by `lib/sha256.c` which publishes
383013498266Sopenharmony_ci  `Curl_sha256it()` which is required by `lib/vssh/libssh2.c` when
383113498266Sopenharmony_ci  building for libssh2 v1.8.2 (2019-05-25) or older.
383213498266Sopenharmony_ci
383313498266Sopenharmony_ci  Make sure to compile the HMAC bits for a successful build.
383413498266Sopenharmony_ci
383513498266Sopenharmony_ci  Both HMAC and `Curl_sha256it()` rely on the same internals, so splitting
383613498266Sopenharmony_ci  them into separate sources isn't practical.
383713498266Sopenharmony_ci
383813498266Sopenharmony_ci  Fixes:
383913498266Sopenharmony_ci  ```
384013498266Sopenharmony_ci  [...]
384113498266Sopenharmony_ci  In file included from ./curl/_x64-win-ucrt-cmake-llvm-bld/lib/CMakeFiles/libc
384213498266Sopenharmony_ci  url_object.dir/Unity/unity_0_c.c:310:
384313498266Sopenharmony_ci  ./curl/lib/sha256.c:527:42: error: array has incomplete element type 'const s
384413498266Sopenharmony_ci  truct HMAC_params'
384513498266Sopenharmony_ci    527 | const struct HMAC_params Curl_HMAC_SHA256[] = {
384613498266Sopenharmony_ci        |                                          ^
384713498266Sopenharmony_ci  ./curl/lib/curl_sha256.h:34:21: note: forward declaration of 'struct HMAC_par
384813498266Sopenharmony_ci  ams'
384913498266Sopenharmony_ci  [...]
385013498266Sopenharmony_ci  ```
385113498266Sopenharmony_ci
385213498266Sopenharmony_ci  Regression from e92edfbef64448ef461117769881f3ed776dec4e #11490
385313498266Sopenharmony_ci
385413498266Sopenharmony_ci  Fixes #12273
385513498266Sopenharmony_ci  Closes #12332
385613498266Sopenharmony_ci
385713498266Sopenharmony_ciDaniel Stenberg (15 Nov 2023)
385813498266Sopenharmony_ci
385913498266Sopenharmony_ci- duphandle: also free 'outcurl->cookies' in error path
386013498266Sopenharmony_ci
386113498266Sopenharmony_ci  Fixes memory-leak when OOM mid-function
386213498266Sopenharmony_ci
386313498266Sopenharmony_ci  Use plain free instead of safefree, since the entire struct is
386413498266Sopenharmony_ci  freed below.
386513498266Sopenharmony_ci
386613498266Sopenharmony_ci  Remove some free calls that is already freed in Curl_freeset()
386713498266Sopenharmony_ci
386813498266Sopenharmony_ci  Closes #12329
386913498266Sopenharmony_ci
387013498266Sopenharmony_ciViktor Szakats (15 Nov 2023)
387113498266Sopenharmony_ci
387213498266Sopenharmony_ci- config-win32: set `HAVE_SNPRINTF` for mingw-w64
387313498266Sopenharmony_ci
387413498266Sopenharmony_ci  It's available in all mingw-w64 releases. We already pre-fill this
387513498266Sopenharmony_ci  detection in CMake.
387613498266Sopenharmony_ci
387713498266Sopenharmony_ci  Closes #12325
387813498266Sopenharmony_ci
387913498266Sopenharmony_ci- sasl: fix `-Wunused-function` compiler warning
388013498266Sopenharmony_ci
388113498266Sopenharmony_ci  In builds with disabled auths.
388213498266Sopenharmony_ci
388313498266Sopenharmony_ci  ```
388413498266Sopenharmony_ci  lib/curl_sasl.c:266:17: warning: unused function 'get_server_message' [-Wunus
388513498266Sopenharmony_ci  ed-function]
388613498266Sopenharmony_ci  static CURLcode get_server_message(struct SASL *sasl, struct Curl_easy *data,
388713498266Sopenharmony_ci                  ^
388813498266Sopenharmony_ci  1 warning generated.
388913498266Sopenharmony_ci  ```
389013498266Sopenharmony_ci  Ref: https://github.com/curl/trurl/actions/runs/6871732122/job/18689066151#st
389113498266Sopenharmony_ci  ep:3:3822
389213498266Sopenharmony_ci
389313498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
389413498266Sopenharmony_ci  Closes #12326
389513498266Sopenharmony_ci
389613498266Sopenharmony_ci- build: picky warning updates
389713498266Sopenharmony_ci
389813498266Sopenharmony_ci  - cmake: sync some picky gcc warnings with autotools.
389913498266Sopenharmony_ci  - cmake, autotools: add `-Wold-style-definition` for clang too.
390013498266Sopenharmony_ci  - cmake: more precise version info for old clang options.
390113498266Sopenharmony_ci  - cmake: use `IN LISTS` syntax in `foreach()`.
390213498266Sopenharmony_ci
390313498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
390413498266Sopenharmony_ci  Reviewed-by: Marcel Raad
390513498266Sopenharmony_ci  Closes #12324
390613498266Sopenharmony_ci
390713498266Sopenharmony_ciDaniel Stenberg (15 Nov 2023)
390813498266Sopenharmony_ci
390913498266Sopenharmony_ci- urldata: move cookielist from UserDefined to UrlState
391013498266Sopenharmony_ci
391113498266Sopenharmony_ci  1. Because the value is not strictly set with a setopt option.
391213498266Sopenharmony_ci
391313498266Sopenharmony_ci  2. Because otherwise when duping a handle when all the set.* fields are
391413498266Sopenharmony_ci     first copied and an error happens (think out of memory mid-function),
391513498266Sopenharmony_ci     the function would easily free the list *before* it was deep-copied,
391613498266Sopenharmony_ci     which could lead to a double-free.
391713498266Sopenharmony_ci
391813498266Sopenharmony_ci  Closes #12323
391913498266Sopenharmony_ci
392013498266Sopenharmony_ciViktor Szakats (14 Nov 2023)
392113498266Sopenharmony_ci
392213498266Sopenharmony_ci- autotools: avoid passing `LDFLAGS` twice to libcurl
392313498266Sopenharmony_ci
392413498266Sopenharmony_ci  autotools passes `LDFLAGS` automatically linker commands. curl's
392513498266Sopenharmony_ci  `lib/Makefile.am` customizes libcurl linker flags. In that
392613498266Sopenharmony_ci  customization, it added `LDFLAGS` to the custom flags. This resulted in
392713498266Sopenharmony_ci  passing `LDFLAGS` _twice_ to the `libtool` command.
392813498266Sopenharmony_ci
392913498266Sopenharmony_ci  Most of the time this is benign, but some `LDFLAGS` options can break
393013498266Sopenharmony_ci  the build when passed twice. One such example is passing `.o` files,
393113498266Sopenharmony_ci  e.g. `crt*.o` files necessary when customizing the C runtime, e.g. for
393213498266Sopenharmony_ci  MUSL builds.
393313498266Sopenharmony_ci
393413498266Sopenharmony_ci  Passing them twice resulted in duplicate symbol errors:
393513498266Sopenharmony_ci  ```
393613498266Sopenharmony_ci  libtool: link:  clang-15 --target=aarch64-unknown-linux-musl [...] /usr/lib/a
393713498266Sopenharmony_ci  arch64-linux-musl/crt1.o [...] /usr/lib/aarch64-linux-musl/crt1.o [...]
393813498266Sopenharmony_ci  ld.lld-15: error: duplicate symbol: _start
393913498266Sopenharmony_ci  >>> defined at crt1.c
394013498266Sopenharmony_ci  >>>            /usr/lib/aarch64-linux-musl/crt1.o:(.text+0x0)
394113498266Sopenharmony_ci  >>> defined at crt1.c
394213498266Sopenharmony_ci  >>>            /usr/lib/aarch64-linux-musl/crt1.o:(.text+0x0)
394313498266Sopenharmony_ci  [...]
394413498266Sopenharmony_ci  clang: error: linker command failed with exit code 1 (use -v to see invocatio
394513498266Sopenharmony_ci  n)
394613498266Sopenharmony_ci  ```
394713498266Sopenharmony_ci
394813498266Sopenharmony_ci  This behaviour came with commit 1a593191c2769a47b8c3e4d9715ec9f6dddf5e36
394913498266Sopenharmony_ci  (2013-07-23) as a fix for bug https://curl.haxx.se/bug/view.cgi?id=1217.
395013498266Sopenharmony_ci  The patch was a works-for-me hack that ended up merged in curl:
395113498266Sopenharmony_ci  https://sourceforge.net/p/curl/bugs/1217/#06ef
395213498266Sopenharmony_ci  With the root cause remaining unclear.
395313498266Sopenharmony_ci
395413498266Sopenharmony_ci  Perhaps the SUNPro 12 linker was sensitive to `-L` `-l` order, requiring
395513498266Sopenharmony_ci  `-L` first? This would be unusual and suggests a bug in either the
395613498266Sopenharmony_ci  linker or in `libtool`.
395713498266Sopenharmony_ci
395813498266Sopenharmony_ci  The curl build does pass the list of detected libs via its own
395913498266Sopenharmony_ci  `LIBCURL_LIBS` variable, which ends up before `LDFLAGS` on the `libtool`
396013498266Sopenharmony_ci  command line, but it's the job of `libtool` to ensure that even
396113498266Sopenharmony_ci  a peculiar linker gets the options in the expected order. Also because
396213498266Sopenharmony_ci  autotools passes `LDFLAGS` last, making it hardly possible to pass
396313498266Sopenharmony_ci  anything after it.
396413498266Sopenharmony_ci
396513498266Sopenharmony_ci  Perhaps in the 10 years since this issue, this already got a fix
396613498266Sopenharmony_ci  upstream.
396713498266Sopenharmony_ci
396813498266Sopenharmony_ci  This patch deletes `LDFLAGS` from our customized libcurl options,
396913498266Sopenharmony_ci  leaving a single copy of them as passed by autotools automatically.
397013498266Sopenharmony_ci
397113498266Sopenharmony_ci  Reverts 1a593191c2769a47b8c3e4d9715ec9f6dddf5e36
397213498266Sopenharmony_ci  Closes #12310
397313498266Sopenharmony_ci
397413498266Sopenharmony_ci- autotools: accept linker flags via `CURL_LDFLAGS_{LIB,BIN}`
397513498266Sopenharmony_ci
397613498266Sopenharmony_ci  To allow passing `LDFLAGS` specific to libcurl (`CURL_LDFLAGS_LIB`) and
397713498266Sopenharmony_ci  curl tool (`CURL_LDFLAGS_BIN`).
397813498266Sopenharmony_ci
397913498266Sopenharmony_ci  This makes it possible to build libcurl and curl with a single
398013498266Sopenharmony_ci  invocation with lib- and tool-specific custom linker flags.
398113498266Sopenharmony_ci
398213498266Sopenharmony_ci  Such flag can be enabling `.map` files, a `.def` file for libcurl DLL,
398313498266Sopenharmony_ci  controlling static/shared, incl. requesting a static curl tool (with
398413498266Sopenharmony_ci  `-static-libtool-libs`) while building both shared and static libcurl.
398513498266Sopenharmony_ci
398613498266Sopenharmony_ci  curl-for-win uses the above and some more.
398713498266Sopenharmony_ci
398813498266Sopenharmony_ci  These options are already supported in `Makefile.mk`. CMake has built-in
398913498266Sopenharmony_ci  variables for this.
399013498266Sopenharmony_ci
399113498266Sopenharmony_ci  Closes #12312
399213498266Sopenharmony_ci
399313498266Sopenharmony_ciJay Satiro (14 Nov 2023)
399413498266Sopenharmony_ci
399513498266Sopenharmony_ci- tool_cb_hdr: add an additional parsing check
399613498266Sopenharmony_ci
399713498266Sopenharmony_ci  - Don't dereference the past-the-end element when parsing the server's
399813498266Sopenharmony_ci    Content-disposition header.
399913498266Sopenharmony_ci
400013498266Sopenharmony_ci  As 'p' is advanced it can point to the past-the-end element and prior
400113498266Sopenharmony_ci  to this change 'p' could be dereferenced in that case.
400213498266Sopenharmony_ci
400313498266Sopenharmony_ci  Technically the past-the-end element is not out of bounds because dynbuf
400413498266Sopenharmony_ci  (which manages the header line) automatically adds a null terminator to
400513498266Sopenharmony_ci  every buffer and that is not included in the buffer length passed to
400613498266Sopenharmony_ci  the header callback.
400713498266Sopenharmony_ci
400813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12320
400913498266Sopenharmony_ci
401013498266Sopenharmony_ciPhilip Heiduck (14 Nov 2023)
401113498266Sopenharmony_ci
401213498266Sopenharmony_ci- .cirrus.yml: freebsd 14
401313498266Sopenharmony_ci
401413498266Sopenharmony_ci  ensure curl works on latest freebsd version
401513498266Sopenharmony_ci
401613498266Sopenharmony_ci  Closes #12053
401713498266Sopenharmony_ci
401813498266Sopenharmony_ciDaniel Stenberg (13 Nov 2023)
401913498266Sopenharmony_ci
402013498266Sopenharmony_ci- easy: in duphandle, init the cookies for the new handle
402113498266Sopenharmony_ci
402213498266Sopenharmony_ci  ... not the source handle.
402313498266Sopenharmony_ci
402413498266Sopenharmony_ci  Closes #12318
402513498266Sopenharmony_ci
402613498266Sopenharmony_ci- duphandle: use strdup to clone *COPYPOSTFIELDS if size is not set
402713498266Sopenharmony_ci
402813498266Sopenharmony_ci  Previously it would unconditionally use the size, which is set to -1
402913498266Sopenharmony_ci  when strlen is requested.
403013498266Sopenharmony_ci
403113498266Sopenharmony_ci  Updated test 544 to verify.
403213498266Sopenharmony_ci
403313498266Sopenharmony_ci  Closes #12317
403413498266Sopenharmony_ci
403513498266Sopenharmony_ci- RELEASE-NOTES: synced
403613498266Sopenharmony_ci
403713498266Sopenharmony_ci- curl_easy_duphandle.3: clarify how HSTS and alt-svc are duped
403813498266Sopenharmony_ci
403913498266Sopenharmony_ci  Closes #12315
404013498266Sopenharmony_ci
404113498266Sopenharmony_ci- urldata: move hstslist from 'set' to 'state'
404213498266Sopenharmony_ci
404313498266Sopenharmony_ci  To make it work properly with curl_easy_duphandle(). This, because
404413498266Sopenharmony_ci  duphandle duplicates the entire 'UserDefined' struct by plain copy while
404513498266Sopenharmony_ci  'hstslist' is a linked curl_list of file names. This would lead to a
404613498266Sopenharmony_ci  double-free when the second of the two involved easy handles were
404713498266Sopenharmony_ci  closed.
404813498266Sopenharmony_ci
404913498266Sopenharmony_ci  Closes #12315
405013498266Sopenharmony_ci
405113498266Sopenharmony_ci- test1900: verify duphandle with HSTS using multiple files
405213498266Sopenharmony_ci
405313498266Sopenharmony_ci  Closes #12315
405413498266Sopenharmony_ci
405513498266Sopenharmony_ciGoro FUJI (13 Nov 2023)
405613498266Sopenharmony_ci
405713498266Sopenharmony_ci- http: allow longer HTTP/2 request method names
405813498266Sopenharmony_ci
405913498266Sopenharmony_ci  - Increase the maximum request method name length from 11 to 23.
406013498266Sopenharmony_ci
406113498266Sopenharmony_ci  For HTTP/1.1 and earlier there's not a specific limit in libcurl for
406213498266Sopenharmony_ci  method length except that it is limited by the initial HTTP request
406313498266Sopenharmony_ci  limit (DYN_HTTP_REQUEST). Prior to fc2f1e54 HTTP/2 was treated the same
406413498266Sopenharmony_ci  and there was no specific limit.
406513498266Sopenharmony_ci
406613498266Sopenharmony_ci  According to Internet Assigned Numbers Authority (IANA) the longest
406713498266Sopenharmony_ci  registered method is UPDATEREDIRECTREF which is 17 characters.
406813498266Sopenharmony_ci
406913498266Sopenharmony_ci  Also there are unregistered methods used by some companies that are
407013498266Sopenharmony_ci  longer than 11 characters.
407113498266Sopenharmony_ci
407213498266Sopenharmony_ci  The limit was originally added by 61f52a97 but not used until fc2f1e54.
407313498266Sopenharmony_ci
407413498266Sopenharmony_ci  Ref: https://www.iana.org/assignments/http-methods/http-methods.xhtml
407513498266Sopenharmony_ci
407613498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12311
407713498266Sopenharmony_ci
407813498266Sopenharmony_ciJay Satiro (12 Nov 2023)
407913498266Sopenharmony_ci
408013498266Sopenharmony_ci- CURLOPT_CAINFO_BLOB.3: explain what CURL_BLOB_COPY does
408113498266Sopenharmony_ci
408213498266Sopenharmony_ci  - Add an explanation of the CURL_BLOB_COPY flag to CURLOPT_CAINFO_BLOB
408313498266Sopenharmony_ci    and CURLOPT_PROXY_CAINFO_BLOB docs.
408413498266Sopenharmony_ci
408513498266Sopenharmony_ci  All the other _BLOB option docs already have the same explanation.
408613498266Sopenharmony_ci
408713498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12277
408813498266Sopenharmony_ci
408913498266Sopenharmony_ciViktor Szakats (11 Nov 2023)
409013498266Sopenharmony_ci
409113498266Sopenharmony_ci- tidy-up: dedupe Windows system libs in cmake
409213498266Sopenharmony_ci
409313498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
409413498266Sopenharmony_ci  Closes #12307
409513498266Sopenharmony_ci
409613498266Sopenharmony_ciJunho Choi (11 Nov 2023)
409713498266Sopenharmony_ci
409813498266Sopenharmony_ci- ci: test with latest quiche release (0.19.0)
409913498266Sopenharmony_ci
410013498266Sopenharmony_ci  Closes #12180
410113498266Sopenharmony_ci
410213498266Sopenharmony_ci- quiche: use quiche_conn_peer_transport_params()
410313498266Sopenharmony_ci
410413498266Sopenharmony_ci  In recent quiche, transport parameter API is separated
410513498266Sopenharmony_ci  with quiche_conn_peer_transport_params().
410613498266Sopenharmony_ci  (https://github.com/cloudflare/quiche/pull/1575)
410713498266Sopenharmony_ci  It breaks with bulding with latest(post 0.18.0) quiche.
410813498266Sopenharmony_ci
410913498266Sopenharmony_ci  Closes #12180
411013498266Sopenharmony_ci
411113498266Sopenharmony_ciDaniel Stenberg (11 Nov 2023)
411213498266Sopenharmony_ci
411313498266Sopenharmony_ci- Makefile: generate the VC 14.20 project files at dist-time
411413498266Sopenharmony_ci
411513498266Sopenharmony_ci  Follow-up to 28287092cc5a6d6ef8 (#12282)
411613498266Sopenharmony_ci
411713498266Sopenharmony_ci  Closes #12290
411813498266Sopenharmony_ci
411913498266Sopenharmony_ciSam James (11 Nov 2023)
412013498266Sopenharmony_ci
412113498266Sopenharmony_ci- misc: fix -Walloc-size warnings
412213498266Sopenharmony_ci
412313498266Sopenharmony_ci  GCC 14 introduces a new -Walloc-size included in -Wextra which gives:
412413498266Sopenharmony_ci
412513498266Sopenharmony_ci  ```
412613498266Sopenharmony_ci  src/tool_operate.c: In function ‘add_per_transfer’:
412713498266Sopenharmony_ci  src/tool_operate.c:213:5: warning: allocation of insufficient size ‘1’ fo
412813498266Sopenharmony_ci  r type ‘struct per_transfer’ with size ‘480’ [-Walloc-size]
412913498266Sopenharmony_ci    213 |   p = calloc(sizeof(struct per_transfer), 1);
413013498266Sopenharmony_ci        |     ^
413113498266Sopenharmony_ci  src/var.c: In function ‘addvariable’:
413213498266Sopenharmony_ci  src/var.c:361:5: warning: allocation of insufficient size ‘1’ for type �
413313498266Sopenharmony_ci  �struct var’ with size ‘32’ [-Walloc-size]
413413498266Sopenharmony_ci    361 |   p = calloc(sizeof(struct var), 1);
413513498266Sopenharmony_ci        |     ^
413613498266Sopenharmony_ci  ```
413713498266Sopenharmony_ci
413813498266Sopenharmony_ci  The calloc prototype is:
413913498266Sopenharmony_ci  ```
414013498266Sopenharmony_ci  void *calloc(size_t nmemb, size_t size);
414113498266Sopenharmony_ci      ```
414213498266Sopenharmony_ci
414313498266Sopenharmony_ci  So, just swap the number of members and size arguments to match the
414413498266Sopenharmony_ci  prototype, as we're initialising 1 struct of size `sizeof(struct
414513498266Sopenharmony_ci  ...)`. GCC then sees we're not doing anything wrong.
414613498266Sopenharmony_ci
414713498266Sopenharmony_ci  Closes #12292
414813498266Sopenharmony_ci
414913498266Sopenharmony_ciMark Gaiser (11 Nov 2023)
415013498266Sopenharmony_ci
415113498266Sopenharmony_ci- IPFS: bugfixes
415213498266Sopenharmony_ci
415313498266Sopenharmony_ci  - Fixed endianness bug in gateway file parsing
415413498266Sopenharmony_ci  - Use IPFS_PATH in tests where IPFS_DATA was used
415513498266Sopenharmony_ci  - Fixed typos from traling -> trailing
415613498266Sopenharmony_ci  - Fixed broken link in IPFS.md
415713498266Sopenharmony_ci
415813498266Sopenharmony_ci  Follow-up to 859e88f6533f9e
415913498266Sopenharmony_ci
416013498266Sopenharmony_ci  Reported-by: Michael Kaufmann
416113498266Sopenharmony_ci  Bug: https://github.com/curl/curl/pull/12152#issuecomment-1798214137
416213498266Sopenharmony_ci  Closes #12305
416313498266Sopenharmony_ci
416413498266Sopenharmony_ciDaniel Stenberg (11 Nov 2023)
416513498266Sopenharmony_ci
416613498266Sopenharmony_ci- VULN-DISCLOSURE-POLIC: remove broken link to hackerone
416713498266Sopenharmony_ci
416813498266Sopenharmony_ci  It should ideally soon not be done from hackerone anyway
416913498266Sopenharmony_ci
417013498266Sopenharmony_ci  Closes #12308
417113498266Sopenharmony_ci
417213498266Sopenharmony_ciAndrew Kurushin (11 Nov 2023)
417313498266Sopenharmony_ci
417413498266Sopenharmony_ci- schannel: add CA cache support for files and memory blobs
417513498266Sopenharmony_ci
417613498266Sopenharmony_ci  - Support CA bundle and blob caching.
417713498266Sopenharmony_ci
417813498266Sopenharmony_ci  Cache timeout is 24 hours or can be set via CURLOPT_CA_CACHE_TIMEOUT.
417913498266Sopenharmony_ci
418013498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12261
418113498266Sopenharmony_ci
418213498266Sopenharmony_ciDaniel Stenberg (10 Nov 2023)
418313498266Sopenharmony_ci
418413498266Sopenharmony_ci- RELEASE-NOTES: synced
418513498266Sopenharmony_ci
418613498266Sopenharmony_ciCharlie C (10 Nov 2023)
418713498266Sopenharmony_ci
418813498266Sopenharmony_ci- cmake: option to disable install & drop `curlu` target when unused
418913498266Sopenharmony_ci
419013498266Sopenharmony_ci  This patch makes the following changes:
419113498266Sopenharmony_ci  - adds the option `CURL_DISABLE_INSTALL` - to disable 'install' targets.
419213498266Sopenharmony_ci  - Removes the target `curlu` when the option `BUILD_TESTING` is set to
419313498266Sopenharmony_ci    `OFF` - to prevent it from being loaded in Visual Studio.
419413498266Sopenharmony_ci
419513498266Sopenharmony_ci  Closes #12287
419613498266Sopenharmony_ci
419713498266Sopenharmony_ciKai Pastor (10 Nov 2023)
419813498266Sopenharmony_ci
419913498266Sopenharmony_ci- cmake: fix multiple include of CURL package
420013498266Sopenharmony_ci
420113498266Sopenharmony_ci  Fixes errors on second `find_package(CURL)`. This is a frequent case
420213498266Sopenharmony_ci  with transitive dependencies:
420313498266Sopenharmony_ci  ```
420413498266Sopenharmony_ci  CMake Error at ...:
420513498266Sopenharmony_ci    add_library cannot create ALIAS target "CURL::libcurl" because another
420613498266Sopenharmony_ci    target with the same name already exists.
420713498266Sopenharmony_ci  ```
420813498266Sopenharmony_ci
420913498266Sopenharmony_ci  Test to reproduce:
421013498266Sopenharmony_ci  ```cmake
421113498266Sopenharmony_ci  cmake_minimum_required(VERSION 3.27)  # must be 3.18 or higher
421213498266Sopenharmony_ci
421313498266Sopenharmony_ci  project(curl)
421413498266Sopenharmony_ci
421513498266Sopenharmony_ci  set(CURL_DIR "example/lib/cmake/CURL/")
421613498266Sopenharmony_ci  find_package(CURL CONFIG REQUIRED)
421713498266Sopenharmony_ci  find_package(CURL CONFIG REQUIRED)  # fails
421813498266Sopenharmony_ci
421913498266Sopenharmony_ci  add_executable(main main.c)
422013498266Sopenharmony_ci  target_link_libraries(main CURL::libcurl)
422113498266Sopenharmony_ci  ```
422213498266Sopenharmony_ci
422313498266Sopenharmony_ci  Ref: https://cmake.org/cmake/help/latest/release/3.18.html#other-changes
422413498266Sopenharmony_ci  Ref: https://cmake.org/cmake/help/v3.18/policy/CMP0107.html
422513498266Sopenharmony_ci  Ref: #12300
422613498266Sopenharmony_ci  Assisted-by: Harry Mallon
422713498266Sopenharmony_ci  Closes #11913
422813498266Sopenharmony_ci
422913498266Sopenharmony_ciViktor Szakats (8 Nov 2023)
423013498266Sopenharmony_ci
423113498266Sopenharmony_ci- tidy-up: use `OPENSSL_VERSION_NUMBER`
423213498266Sopenharmony_ci
423313498266Sopenharmony_ci  Uniformly use `OPENSSL_VERSION_NUMBER` to check for OpenSSL version.
423413498266Sopenharmony_ci  Before this patch some places used `OPENSSL_VERSION_MAJOR`.
423513498266Sopenharmony_ci
423613498266Sopenharmony_ci  Also fix `lib/md4.c`, which included `opensslconf.h`, but that doesn't
423713498266Sopenharmony_ci  define any version number in these implementations: BoringSSL, AWS-LC,
423813498266Sopenharmony_ci  LibreSSL, wolfSSL. (Only in mainline OpenSSL/quictls). Switch that to
423913498266Sopenharmony_ci  `opensslv.h`. This wasn't causing a deeper problem because the code is
424013498266Sopenharmony_ci  looking for v3, which is only provided by OpenSSL/quictls as of now.
424113498266Sopenharmony_ci
424213498266Sopenharmony_ci  According to https://github.com/openssl/openssl/issues/17517, the macro
424313498266Sopenharmony_ci  `OPENSSL_VERSION_NUMBER` is safe to use and not deprecated.
424413498266Sopenharmony_ci
424513498266Sopenharmony_ci  Reviewed-by: Marcel Raad
424613498266Sopenharmony_ci  Closes #12298
424713498266Sopenharmony_ci
424813498266Sopenharmony_ciDaniel Stenberg (8 Nov 2023)
424913498266Sopenharmony_ci
425013498266Sopenharmony_ci- resolve.d: drop a multi use-sentence
425113498266Sopenharmony_ci
425213498266Sopenharmony_ci  Since the `multi:` keyword adds that message.
425313498266Sopenharmony_ci
425413498266Sopenharmony_ci  Reported-by: 積丹尼 Dan Jacobson
425513498266Sopenharmony_ci  Fixes https://github.com/curl/curl/discussions/12294
425613498266Sopenharmony_ci  Closes #12295
425713498266Sopenharmony_ci
425813498266Sopenharmony_ci- content_encoding: make Curl_all_content_encodings allocless
425913498266Sopenharmony_ci
426013498266Sopenharmony_ci  - Fixes a memory leak pointed out by Coverity
426113498266Sopenharmony_ci  - Also found by OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?
426213498266Sopenharmony_ci  id=63947
426313498266Sopenharmony_ci  - Avoids unncessary allocations
426413498266Sopenharmony_ci
426513498266Sopenharmony_ci  Follow-up ad051e1cbec68b2456a22661b
426613498266Sopenharmony_ci
426713498266Sopenharmony_ci  Closes #12289
426813498266Sopenharmony_ci
426913498266Sopenharmony_ciMichael Kaufmann (7 Nov 2023)
427013498266Sopenharmony_ci
427113498266Sopenharmony_ci- vtls: use ALPN "http/1.1" for HTTP/1.x, including HTTP/1.0
427213498266Sopenharmony_ci
427313498266Sopenharmony_ci  Some servers don't support the ALPN protocol "http/1.0" (e.g. IIS 10),
427413498266Sopenharmony_ci  avoid it and use "http/1.1" instead.
427513498266Sopenharmony_ci
427613498266Sopenharmony_ci  This reverts commit df856cb5c9 (#10183).
427713498266Sopenharmony_ci
427813498266Sopenharmony_ci  Fixes #12259
427913498266Sopenharmony_ci  Closes #12285
428013498266Sopenharmony_ci
428113498266Sopenharmony_ciDaniel Stenberg (7 Nov 2023)
428213498266Sopenharmony_ci
428313498266Sopenharmony_ci- Makefile.am: drop vc10, vc11 and vc12 projects from dist
428413498266Sopenharmony_ci
428513498266Sopenharmony_ci  They are end of life products. Support for generating them remain in the
428613498266Sopenharmony_ci  repo for a while but this change drops them from distribution.
428713498266Sopenharmony_ci
428813498266Sopenharmony_ci  Closes #12288
428913498266Sopenharmony_ci
429013498266Sopenharmony_ciDavid Suter (7 Nov 2023)
429113498266Sopenharmony_ci
429213498266Sopenharmony_ci- projects: add VC14.20 project files
429313498266Sopenharmony_ci
429413498266Sopenharmony_ci  Windows projects included VC14, VC14.10, VC14.30 but not VC14.20.
429513498266Sopenharmony_ci  OpenSSL and Wolf SSL scripts mention VC14.20 so I don't see a reason why
429613498266Sopenharmony_ci  this is missing. Updated the templates to produce a VC14.20 project.
429713498266Sopenharmony_ci  Project opens in Visual Studio 2019 as expected.
429813498266Sopenharmony_ci
429913498266Sopenharmony_ci  Closes #12282
430013498266Sopenharmony_ci
430113498266Sopenharmony_ciDaniel Stenberg (7 Nov 2023)
430213498266Sopenharmony_ci
430313498266Sopenharmony_ci- curl: move IPFS code into src/tool_ipfs.[ch]
430413498266Sopenharmony_ci
430513498266Sopenharmony_ci  - convert ensure_trailing into ensure_trailing_slash
430613498266Sopenharmony_ci  - strdup the URL string to own it proper
430713498266Sopenharmony_ci  - use shorter variable names
430813498266Sopenharmony_ci  - combine some expressions
430913498266Sopenharmony_ci  - simplify error handling in ipfs_gateway()
431013498266Sopenharmony_ci  - add MAX_GATEWAY_URL_LEN + proper bailout if maximum is reached
431113498266Sopenharmony_ci  - ipfs-gateway.d polish and simplification
431213498266Sopenharmony_ci  - shorten ipfs error message + make them "synthetic"
431313498266Sopenharmony_ci
431413498266Sopenharmony_ci  Closes #12281
431513498266Sopenharmony_ci
431613498266Sopenharmony_ciViktor Szakats (6 Nov 2023)
431713498266Sopenharmony_ci
431813498266Sopenharmony_ci- build: delete support bits for obsolete Windows compilers
431913498266Sopenharmony_ci
432013498266Sopenharmony_ci  - Pelles C: Unclear status, failed to obtain a fresh copy a few months
432113498266Sopenharmony_ci    ago. Possible website is HTTP-only. ~10 years ago I left this compiler
432213498266Sopenharmony_ci    dealing with crashes and other issues with no response on the forum
432313498266Sopenharmony_ci    for years. It has seen some activity in curl back in 2021.
432413498266Sopenharmony_ci  - LCC: Last stable release in September 2002.
432513498266Sopenharmony_ci  - Salford C: Misses winsock2 support, possibly abandoned? Last mentioned
432613498266Sopenharmony_ci    in 2006.
432713498266Sopenharmony_ci  - Borland C++: We dropped Borland C++ support in 2018.
432813498266Sopenharmony_ci  - MS Visual C++ 6.0: Released in 1998. curl already requires VS 2010
432913498266Sopenharmony_ci    (or possibly 2008) as a minimum.
433013498266Sopenharmony_ci
433113498266Sopenharmony_ci  Closes #12222
433213498266Sopenharmony_ci
433313498266Sopenharmony_ci- build: delete `HAVE_STDINT_H` and `HAVE_INTTYPES_H`
433413498266Sopenharmony_ci
433513498266Sopenharmony_ci  We use `stdint.h` unconditionally in all places except one. These uses
433613498266Sopenharmony_ci  are imposed by external dependencies / features. nghttp2, quic, wolfSSL
433713498266Sopenharmony_ci  and `HAVE_MACH_ABSOLUTE_TIME` do require this C99 header. It means that
433813498266Sopenharmony_ci  any of these features make curl require a C99 compiler. (In case of
433913498266Sopenharmony_ci  MSVC, this means Visual Studio 2010 or newer.)
434013498266Sopenharmony_ci
434113498266Sopenharmony_ci  This patch changes the single use of `stdint.h` guarded by
434213498266Sopenharmony_ci  `HAVE_STDINT_H` to use `stdint.h` unconditionally. Also stop using
434313498266Sopenharmony_ci  `inttypes.h` as an alternative there. `HAVE_INTTYPES_H` wasn't used
434413498266Sopenharmony_ci  anywhere else, allowing to delete this feature check as well.
434513498266Sopenharmony_ci
434613498266Sopenharmony_ci  Closes #12275
434713498266Sopenharmony_ci
434813498266Sopenharmony_ciDaniel Stenberg (6 Nov 2023)
434913498266Sopenharmony_ci
435013498266Sopenharmony_ci- tool_operate: do not mix memory models
435113498266Sopenharmony_ci
435213498266Sopenharmony_ci  Make sure 'inputpath' only points to memory allocated by libcurl so that
435313498266Sopenharmony_ci  curl_free works correctly.
435413498266Sopenharmony_ci
435513498266Sopenharmony_ci  Pointed out by Coverity
435613498266Sopenharmony_ci
435713498266Sopenharmony_ci  Follow-up to 859e88f6533f9e1f890
435813498266Sopenharmony_ci
435913498266Sopenharmony_ci  Closes #12280
436013498266Sopenharmony_ci
436113498266Sopenharmony_ciStefan Eissing (6 Nov 2023)
436213498266Sopenharmony_ci
436313498266Sopenharmony_ci- lib: client writer, part 2, accounting + logging
436413498266Sopenharmony_ci
436513498266Sopenharmony_ci  This PR has these changes:
436613498266Sopenharmony_ci
436713498266Sopenharmony_ci  Renaming of unencode_* to cwriter, e.g. client writers
436813498266Sopenharmony_ci  - documentation of sendf.h functions
436913498266Sopenharmony_ci  - move max decode stack checks back to content_encoding.c
437013498266Sopenharmony_ci  - define writer phase which was used as order before
437113498266Sopenharmony_ci  - introduce phases for monitoring inbetween decode phases
437213498266Sopenharmony_ci  - offering default implementations for init/write/close
437313498266Sopenharmony_ci
437413498266Sopenharmony_ci  Add type paramter to client writer's do_write()
437513498266Sopenharmony_ci  - always pass all writes through the writer stack
437613498266Sopenharmony_ci  - writers who only care about BODY data will pass other writes unchanged
437713498266Sopenharmony_ci
437813498266Sopenharmony_ci  add RAW and PROTOCOL client writers
437913498266Sopenharmony_ci  - RAW used for Curl_debug() logging of CURLINFO_DATA_IN
438013498266Sopenharmony_ci  - PROTOCOL used for updates to data->req.bytecount, max_filesize checks and
438113498266Sopenharmony_ci    Curl_pgrsSetDownloadCounter()
438213498266Sopenharmony_ci  - remove all updates of data->req.bytecount and calls to
438313498266Sopenharmony_ci    Curl_pgrsSetDownloadCounter() and Curl_debug() from other code
438413498266Sopenharmony_ci  - adjust test457 expected output to no longer see the excess write
438513498266Sopenharmony_ci
438613498266Sopenharmony_ci  Closes #12184
438713498266Sopenharmony_ci
438813498266Sopenharmony_ciDaniel Stenberg (6 Nov 2023)
438913498266Sopenharmony_ci
439013498266Sopenharmony_ci- VULN-DISCLOSURE-POLICY: escape sequences are not a security flaw
439113498266Sopenharmony_ci
439213498266Sopenharmony_ci  Closes #12278
439313498266Sopenharmony_ci
439413498266Sopenharmony_ciViktor Szakats (6 Nov 2023)
439513498266Sopenharmony_ci
439613498266Sopenharmony_ci- rand: fix build error with autotools + LibreSSL
439713498266Sopenharmony_ci
439813498266Sopenharmony_ci  autotools unexpectedly detects `arc4random` because it is also looking
439913498266Sopenharmony_ci  into dependency libs. One dependency, LibreSSL, happens to publish an
440013498266Sopenharmony_ci  `arc4random` function (via its shared lib before v3.7, also via static
440113498266Sopenharmony_ci  lib as of v3.8.2). When trying to use this function in `lib/rand.c`,
440213498266Sopenharmony_ci  its protoype is missing. To fix that, curl included a prototype, but
440313498266Sopenharmony_ci  that used a C99 type without including `stdint.h`, causing:
440413498266Sopenharmony_ci
440513498266Sopenharmony_ci  ```
440613498266Sopenharmony_ci  ../../lib/rand.c:37:1: error: unknown type name 'uint32_t'
440713498266Sopenharmony_ci     37 | uint32_t arc4random(void);
440813498266Sopenharmony_ci        | ^
440913498266Sopenharmony_ci  1 error generated.
441013498266Sopenharmony_ci  ```
441113498266Sopenharmony_ci
441213498266Sopenharmony_ci  This patch improves this by dropping the local prototype and instead
441313498266Sopenharmony_ci  limiting `arc4random` use for non-OpenSSL builds. OpenSSL builds provide
441413498266Sopenharmony_ci  their own random source anyway.
441513498266Sopenharmony_ci
441613498266Sopenharmony_ci  The better fix would be to teach autotools to not link dependency libs
441713498266Sopenharmony_ci  while detecting `arc4random`.
441813498266Sopenharmony_ci
441913498266Sopenharmony_ci  LibreSSL publishing a non-namespaced `arc4random` tracked here:
442013498266Sopenharmony_ci  https://github.com/libressl/portable/issues/928
442113498266Sopenharmony_ci
442213498266Sopenharmony_ci  Regression from 755ddbe901cd0c921fbc3ac5b3775c0dc683bc73 #10672
442313498266Sopenharmony_ci
442413498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
442513498266Sopenharmony_ci  Fixes #12257
442613498266Sopenharmony_ci  Closes #12274
442713498266Sopenharmony_ci
442813498266Sopenharmony_ciDaniel Stenberg (5 Nov 2023)
442913498266Sopenharmony_ci
443013498266Sopenharmony_ci- RELEASE-NOTES: synced
443113498266Sopenharmony_ci
443213498266Sopenharmony_ci- strdup: do Curl_strndup without strncpy
443313498266Sopenharmony_ci
443413498266Sopenharmony_ci  To avoid (false positive) gcc-13 compiler warnings.
443513498266Sopenharmony_ci
443613498266Sopenharmony_ci  Follow-up to 4855debd8a2c1cb
443713498266Sopenharmony_ci
443813498266Sopenharmony_ci  Assisted-by: Jay Satiro
443913498266Sopenharmony_ci  Reported-by: Viktor Szakats
444013498266Sopenharmony_ci  Fixes #12258
444113498266Sopenharmony_ci
444213498266Sopenharmony_ciEnno Boland (5 Nov 2023)
444313498266Sopenharmony_ci
444413498266Sopenharmony_ci- HTTP: fix empty-body warning
444513498266Sopenharmony_ci
444613498266Sopenharmony_ci  This change fixes a compiler warning with gcc-12.2.0 when
444713498266Sopenharmony_ci  `-DCURL_DISABLE_BEARER_AUTH=ON` is used.
444813498266Sopenharmony_ci
444913498266Sopenharmony_ci      /home/tox/src/curl/lib/http.c: In function 'Curl_http_input_auth':
445013498266Sopenharmony_ci      /home/tox/src/curl/lib/http.c:1147:12: warning: suggest braces around emp
445113498266Sopenharmony_ci  ty body in an 'else' statement [-Wempty-body]
445213498266Sopenharmony_ci       1147 |            ;
445313498266Sopenharmony_ci            |            ^
445413498266Sopenharmony_ci
445513498266Sopenharmony_ci  Closes #12262
445613498266Sopenharmony_ci
445713498266Sopenharmony_ciDaniel Stenberg (5 Nov 2023)
445813498266Sopenharmony_ci
445913498266Sopenharmony_ci- openssl: identify the "quictls" backend correctly
446013498266Sopenharmony_ci
446113498266Sopenharmony_ci  Since vanilla OpenSSL does not support the QUIC API I think it helps
446213498266Sopenharmony_ci  users to identify the correct OpenSSL fork in version output. The best
446313498266Sopenharmony_ci  (crude) way to do that right now seems to be to check if ngtcp2 support
446413498266Sopenharmony_ci  is enabled.
446513498266Sopenharmony_ci
446613498266Sopenharmony_ci  Closes #12270
446713498266Sopenharmony_ci
446813498266Sopenharmony_ciMark Gaiser (5 Nov 2023)
446913498266Sopenharmony_ci
447013498266Sopenharmony_ci- curl: improved IPFS and IPNS URL support
447113498266Sopenharmony_ci
447213498266Sopenharmony_ci  Previously just ipfs://<cid> and ipns://<cid> was supported, which is
447313498266Sopenharmony_ci  too strict for some usecases.
447413498266Sopenharmony_ci
447513498266Sopenharmony_ci  This patch allows paths and query arguments to be used too.
447613498266Sopenharmony_ci  Making this work according to normal http semantics:
447713498266Sopenharmony_ci
447813498266Sopenharmony_ci   ipfs://<cid>/foo/bar?key=val
447913498266Sopenharmony_ci   ipns://<cid>/foo/bar?key=val
448013498266Sopenharmony_ci
448113498266Sopenharmony_ci  The gateway url support is changed.
448213498266Sopenharmony_ci  It now only supports gateways in the form of:
448313498266Sopenharmony_ci
448413498266Sopenharmony_ci   http://<gateway>/foo/bar
448513498266Sopenharmony_ci   http://<gateway>
448613498266Sopenharmony_ci
448713498266Sopenharmony_ci  Query arguments here are explicitly not allowed and trigger an intended
448813498266Sopenharmony_ci  malformed url error.
448913498266Sopenharmony_ci
449013498266Sopenharmony_ci  There also was a crash when IPFS_PATH was set with a non trailing
449113498266Sopenharmony_ci  forward slash. This has been fixed.
449213498266Sopenharmony_ci
449313498266Sopenharmony_ci  Lastly, a load of test cases have been added to verify the above.
449413498266Sopenharmony_ci
449513498266Sopenharmony_ci  Reported-by: Steven Allen
449613498266Sopenharmony_ci  Fixes #12148
449713498266Sopenharmony_ci  Closes #12152
449813498266Sopenharmony_ci
449913498266Sopenharmony_ciHarry Mallon (5 Nov 2023)
450013498266Sopenharmony_ci
450113498266Sopenharmony_ci- docs: KNOWN_BUGS cleanup
450213498266Sopenharmony_ci
450313498266Sopenharmony_ci  * Remove other mention of hyper memory-leaks from `KNOWN_BUGS`.
450413498266Sopenharmony_ci    Should have been removed in 629723ecf22a8eae78d64cceec2f3bdae703ec95
450513498266Sopenharmony_ci
450613498266Sopenharmony_ci  * Remove mention of aws-sigv4 sort query string from `KNOWN_BUGS`.
450713498266Sopenharmony_ci    Fixed in #11806
450813498266Sopenharmony_ci
450913498266Sopenharmony_ci  * Remove mention of aws-sigv4 query empty value problems
451013498266Sopenharmony_ci
451113498266Sopenharmony_ci  * Remove mention of aws-sigv4 missing amz-content-sha256
451213498266Sopenharmony_ci    Fixed in #9995
451313498266Sopenharmony_ci
451413498266Sopenharmony_ci- http_aws_sigv4: canonicalise valueless query params
451513498266Sopenharmony_ci
451613498266Sopenharmony_ci  Fixes #8107
451713498266Sopenharmony_ci  Closes #12244
451813498266Sopenharmony_ci
451913498266Sopenharmony_ciMichael Kaufmann (4 Nov 2023)
452013498266Sopenharmony_ci
452113498266Sopenharmony_ci- docs: preserve the modification date when copying the prebuilt man page
452213498266Sopenharmony_ci
452313498266Sopenharmony_ci  The previously built man page "curl.1" must be copied with the original
452413498266Sopenharmony_ci  modification date, otherwise the man page is never updated.
452513498266Sopenharmony_ci
452613498266Sopenharmony_ci  This fixes a bug that has been introduced with commit 2568441cab.
452713498266Sopenharmony_ci
452813498266Sopenharmony_ci  Reviewed-by: Dan Fandrich
452913498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
453013498266Sopenharmony_ci
453113498266Sopenharmony_ci  Closes #12199
453213498266Sopenharmony_ci
453313498266Sopenharmony_ciDaniel Stenberg (4 Nov 2023)
453413498266Sopenharmony_ci
453513498266Sopenharmony_ci- docs: remove bold from some man page SYNOPSIS sections
453613498266Sopenharmony_ci
453713498266Sopenharmony_ci  In the name of consistency
453813498266Sopenharmony_ci
453913498266Sopenharmony_ci  Closes #12267
454013498266Sopenharmony_ci
454113498266Sopenharmony_ci- openssl: two multi pointer checks should probably rather be asserts
454213498266Sopenharmony_ci
454313498266Sopenharmony_ci  ... so add the asserts now and consider removing the dynamic checks in a
454413498266Sopenharmony_ci  future.
454513498266Sopenharmony_ci
454613498266Sopenharmony_ci  Ref: #12261
454713498266Sopenharmony_ci  Closes #12264
454813498266Sopenharmony_ci
454913498266Sopenharmony_ciboilingoden (4 Nov 2023)
455013498266Sopenharmony_ci
455113498266Sopenharmony_ci- docs: add supported version for the json write-out
455213498266Sopenharmony_ci
455313498266Sopenharmony_ci  xref: https://curl.se/changes.html#7_70_0
455413498266Sopenharmony_ci
455513498266Sopenharmony_ci  Closes #12266
455613498266Sopenharmony_ci
455713498266Sopenharmony_ciViktor Szakats (3 Nov 2023)
455813498266Sopenharmony_ci
455913498266Sopenharmony_ci- appveyor: make VS2008-built curl tool runnable
456013498266Sopenharmony_ci
456113498266Sopenharmony_ci  By linking the CRT statically. This avoids the error about missing
456213498266Sopenharmony_ci  runtime DLL `MSVCR90.dll` when running the freshly built `curl.exe`.
456313498266Sopenharmony_ci
456413498266Sopenharmony_ci  Closes #12263
456513498266Sopenharmony_ci
456613498266Sopenharmony_ciStefan Eissing (3 Nov 2023)
456713498266Sopenharmony_ci
456813498266Sopenharmony_ci- url: proxy ssl connection reuse fix
456913498266Sopenharmony_ci
457013498266Sopenharmony_ci  - tunnel https proxy used for http: transfers does
457113498266Sopenharmony_ci    no check if proxy-ssl configuration matches
457213498266Sopenharmony_ci  - test cases added, test_10_12 fails on 8.4.0
457313498266Sopenharmony_ci
457413498266Sopenharmony_ci  Closes #12255
457513498266Sopenharmony_ci
457613498266Sopenharmony_ciJay Satiro (3 Nov 2023)
457713498266Sopenharmony_ci
457813498266Sopenharmony_ci- curl_sspi: support more revocation error names in error messages
457913498266Sopenharmony_ci
458013498266Sopenharmony_ci  - Add these revocation errors to sspi error list:
458113498266Sopenharmony_ci    CRYPT_E_NO_REVOCATION_DLL, CRYPT_E_NO_REVOCATION_CHECK,
458213498266Sopenharmony_ci    CRYPT_E_REVOCATION_OFFLINE and CRYPT_E_NOT_IN_REVOCATION_DATABASE.
458313498266Sopenharmony_ci
458413498266Sopenharmony_ci  Prior to this change those error codes were not matched to their macro
458513498266Sopenharmony_ci  name and instead shown as "unknown error".
458613498266Sopenharmony_ci
458713498266Sopenharmony_ci  Before:
458813498266Sopenharmony_ci
458913498266Sopenharmony_ci  schannel: next InitializeSecurityContext failed:
459013498266Sopenharmony_ci  Unknown error (0x80092013) - The revocation function was
459113498266Sopenharmony_ci  unable to check revocation because the revocation server was offline.
459213498266Sopenharmony_ci
459313498266Sopenharmony_ci  After:
459413498266Sopenharmony_ci
459513498266Sopenharmony_ci  schannel: next InitializeSecurityContext failed:
459613498266Sopenharmony_ci  CRYPT_E_REVOCATION_OFFLINE (0x80092013) - The revocation function was
459713498266Sopenharmony_ci  unable to check revocation because the revocation server was offline.
459813498266Sopenharmony_ci
459913498266Sopenharmony_ci  Bug: https://github.com/curl/curl/issues/12239
460013498266Sopenharmony_ci  Reported-by: Niracler Li
460113498266Sopenharmony_ci
460213498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12241
460313498266Sopenharmony_ci
460413498266Sopenharmony_ci- strdup: don't allow Curl_strndup to read past a null terminator
460513498266Sopenharmony_ci
460613498266Sopenharmony_ci  - Use malloc + strncpy instead of Curl_memdup to dupe the string before
460713498266Sopenharmony_ci    null terminating it.
460813498266Sopenharmony_ci
460913498266Sopenharmony_ci  Prior to this change if Curl_strndup was passed a length longer than
461013498266Sopenharmony_ci  the allocated string then it could copy out of bounds.
461113498266Sopenharmony_ci
461213498266Sopenharmony_ci  This change is for posterity. Curl_strndup was added in the parent
461313498266Sopenharmony_ci  commit and currently none of the calls to it pass a length that would
461413498266Sopenharmony_ci  cause it to read past the allocated length of the input.
461513498266Sopenharmony_ci
461613498266Sopenharmony_ci  Follow-up to d3b3ba35.
461713498266Sopenharmony_ci
461813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12254
461913498266Sopenharmony_ci
462013498266Sopenharmony_ciDaniel Stenberg (2 Nov 2023)
462113498266Sopenharmony_ci
462213498266Sopenharmony_ci- lib: add and use Curl_strndup()
462313498266Sopenharmony_ci
462413498266Sopenharmony_ci  The Curl_strndup() function is similar to memdup(), but copies 'n' bytes
462513498266Sopenharmony_ci  then adds a terminating null byte ('\0').
462613498266Sopenharmony_ci
462713498266Sopenharmony_ci  Closes #12251
462813498266Sopenharmony_ci
462913498266Sopenharmony_ci- CURPOST_POSTFIELDS.3: add CURLOPT_COPYPOSTFIELDS in SEE ALSO
463013498266Sopenharmony_ci
463113498266Sopenharmony_ciStefan Eissing (2 Nov 2023)
463213498266Sopenharmony_ci
463313498266Sopenharmony_ci- pytest: use lower count in repeat tests
463413498266Sopenharmony_ci
463513498266Sopenharmony_ci  - lower large iteration counts in some tests somewhat for
463613498266Sopenharmony_ci    the same coverage with less duration
463713498266Sopenharmony_ci
463813498266Sopenharmony_ci  Closes #12248
463913498266Sopenharmony_ci
464013498266Sopenharmony_ciDaniel Stenberg (2 Nov 2023)
464113498266Sopenharmony_ci
464213498266Sopenharmony_ci- RELEASE-NOTES: synced
464313498266Sopenharmony_ci
464413498266Sopenharmony_ci- docs: clarify that curl passes on input unfiltered
464513498266Sopenharmony_ci
464613498266Sopenharmony_ci  ... for several options.
464713498266Sopenharmony_ci
464813498266Sopenharmony_ci  Reported-by: Ophir Lojkine
464913498266Sopenharmony_ci
465013498266Sopenharmony_ci  Closes #12249
465113498266Sopenharmony_ci
465213498266Sopenharmony_ci- urlapi: when URL encoding the fragment, pass in the right length
465313498266Sopenharmony_ci
465413498266Sopenharmony_ci  A benign bug because it would only add an extra null terminator.
465513498266Sopenharmony_ci
465613498266Sopenharmony_ci  Made lib1560 get a test that runs this code.
465713498266Sopenharmony_ci
465813498266Sopenharmony_ci  Closes #12250
465913498266Sopenharmony_ci
466013498266Sopenharmony_ciStefan Eissing (2 Nov 2023)
466113498266Sopenharmony_ci
466213498266Sopenharmony_ci- vtls: late clone of connection ssl config
466313498266Sopenharmony_ci
466413498266Sopenharmony_ci  - perform connection cache matching against `data->set.ssl.primary`
466513498266Sopenharmony_ci    and proxy counterpart
466613498266Sopenharmony_ci  - fully clone connection ssl config only when connection is used
466713498266Sopenharmony_ci
466813498266Sopenharmony_ci  Closes #12237
466913498266Sopenharmony_ci
467013498266Sopenharmony_ci- msh3: error when built with CURL_DISABLE_SOCKETPAIR set
467113498266Sopenharmony_ci
467213498266Sopenharmony_ci  Reported-by: Gisle Vanem
467313498266Sopenharmony_ci  Closes #12252
467413498266Sopenharmony_ci  Fixes #12213
467513498266Sopenharmony_ci
467613498266Sopenharmony_ciDaniel Stenberg (2 Nov 2023)
467713498266Sopenharmony_ci
467813498266Sopenharmony_ci- hsts: skip single-dot hostname
467913498266Sopenharmony_ci
468013498266Sopenharmony_ci  Reported-by: Maksymilian Arciemowicz
468113498266Sopenharmony_ci
468213498266Sopenharmony_ci  Closes #12247
468313498266Sopenharmony_ci
468413498266Sopenharmony_ci- vtls: fix build without proxy
468513498266Sopenharmony_ci
468613498266Sopenharmony_ci  Follow-up to bf0e278a3c54bc7fee7360da17c
468713498266Sopenharmony_ci
468813498266Sopenharmony_ci  closes #12243
468913498266Sopenharmony_ci
469013498266Sopenharmony_ci- docs/example/keepalive.c: show TCP keep-alive options
469113498266Sopenharmony_ci
469213498266Sopenharmony_ci  Closes #12242
469313498266Sopenharmony_ci
469413498266Sopenharmony_ci- lib1560: verify appending blank URL encoded query string
469513498266Sopenharmony_ci
469613498266Sopenharmony_ci- urlapi: skip appending NULL pointer query
469713498266Sopenharmony_ci
469813498266Sopenharmony_ci  Reported-by: kirbyn17 on hackerone
469913498266Sopenharmony_ci
470013498266Sopenharmony_ci  Closes #12240
470113498266Sopenharmony_ci
470213498266Sopenharmony_ci- lib1560: verify setting host to "" with and without URL encode
470313498266Sopenharmony_ci
470413498266Sopenharmony_ci- urlapi: avoid null deref if setting blank host to url encode
470513498266Sopenharmony_ci
470613498266Sopenharmony_ci  Reported-by: kirbyn17 on hackerone
470713498266Sopenharmony_ci
470813498266Sopenharmony_ci  Closes #12240
470913498266Sopenharmony_ci
471013498266Sopenharmony_ci- dynbuf: assert for NULL pointer inputs
471113498266Sopenharmony_ci
471213498266Sopenharmony_ci  Help us catch more mistakes.
471313498266Sopenharmony_ci
471413498266Sopenharmony_ci  Closes #12238
471513498266Sopenharmony_ci
471613498266Sopenharmony_ci- HTTP3: ngtcp2 builds are no longer experimental
471713498266Sopenharmony_ci
471813498266Sopenharmony_ci  The other HTTP/3 backends are still experimental.
471913498266Sopenharmony_ci
472013498266Sopenharmony_ci  Closes #12235
472113498266Sopenharmony_ci
472213498266Sopenharmony_ciStefan Eissing (31 Oct 2023)
472313498266Sopenharmony_ci
472413498266Sopenharmony_ci- vtls: cleanup SSL config management
472513498266Sopenharmony_ci
472613498266Sopenharmony_ci  - remove `Curl_ssl_get_config()`, no longer needed
472713498266Sopenharmony_ci
472813498266Sopenharmony_ci  Closes #12204
472913498266Sopenharmony_ci
473013498266Sopenharmony_ciDaniel Stenberg (31 Oct 2023)
473113498266Sopenharmony_ci
473213498266Sopenharmony_ci- libcurl-thread.3: simplify the TLS section
473313498266Sopenharmony_ci
473413498266Sopenharmony_ci  All TLS libraries curl can use are threadsafe since OpenSSL 1.1.x, August
473513498266Sopenharmony_ci  2016.
473613498266Sopenharmony_ci
473713498266Sopenharmony_ci  Closes #12233
473813498266Sopenharmony_ci
473913498266Sopenharmony_ci- configure: better --disable-http
474013498266Sopenharmony_ci
474113498266Sopenharmony_ci  - disable HTTPS-proxy as well, since it can't work without HTTP
474213498266Sopenharmony_ci
474313498266Sopenharmony_ci  - curl_setup: when HTTP is disabled, also disable all features that are
474413498266Sopenharmony_ci    HTTP-only
474513498266Sopenharmony_ci
474613498266Sopenharmony_ci  - version: HTTPS-proxy only exists if HTTP support exists
474713498266Sopenharmony_ci
474813498266Sopenharmony_ci  Closes #12223
474913498266Sopenharmony_ci
475013498266Sopenharmony_ci- http: consider resume with CURLOPT_FAILONERRROR and 416 to be fine
475113498266Sopenharmony_ci
475213498266Sopenharmony_ci  Finding a 'Content-Range:' in the response changed the handling.
475313498266Sopenharmony_ci
475413498266Sopenharmony_ci  Add test case 1475 to verify -C - with 416 and Content-Range: header,
475513498266Sopenharmony_ci  which is almost exactly like test 194 which instead uses a fixed -C
475613498266Sopenharmony_ci  offset. Adjusted test 194 to also be considered fine.
475713498266Sopenharmony_ci
475813498266Sopenharmony_ci  Fixes #10521
475913498266Sopenharmony_ci  Reported-by: Smackd0wn
476013498266Sopenharmony_ci  Fixes #12174
476113498266Sopenharmony_ci  Reported-by: Anubhav Rai
476213498266Sopenharmony_ci  Closes #12176
476313498266Sopenharmony_ci
476413498266Sopenharmony_ciStefan Eissing (30 Oct 2023)
476513498266Sopenharmony_ci
476613498266Sopenharmony_ci- GHA: fix checkout of quictls repository to use correct branch name
476713498266Sopenharmony_ci
476813498266Sopenharmony_ci  Follow-up to c868b0e30f10cd0ac7
476913498266Sopenharmony_ci
477013498266Sopenharmony_ci  Closes #12232
477113498266Sopenharmony_ci
477213498266Sopenharmony_ciDaniel Stenberg (30 Oct 2023)
477313498266Sopenharmony_ci
477413498266Sopenharmony_ci- docs/example/localport.c: show off CURLOPT_LOCALPORT
477513498266Sopenharmony_ci
477613498266Sopenharmony_ci  Closes #12230
477713498266Sopenharmony_ci
477813498266Sopenharmony_ci- docs/examples/interface.c: show CURLOPT_INTERFACE use
477913498266Sopenharmony_ci
478013498266Sopenharmony_ci  Although super simple.
478113498266Sopenharmony_ci
478213498266Sopenharmony_ci  Closes #12229
478313498266Sopenharmony_ci
478413498266Sopenharmony_ciViktor Szakats (30 Oct 2023)
478513498266Sopenharmony_ci
478613498266Sopenharmony_ci- build: fix compiler warning with auths disabled
478713498266Sopenharmony_ci
478813498266Sopenharmony_ci  ```
478913498266Sopenharmony_ci  ./curl/lib/http.c:979:12: warning: unused function 'is_valid_auth_separator' 
479013498266Sopenharmony_ci  [-Wunused-function]
479113498266Sopenharmony_ci  static int is_valid_auth_separator(char ch)
479213498266Sopenharmony_ci             ^
479313498266Sopenharmony_ci  5 warnings generated.
479413498266Sopenharmony_ci  ```
479513498266Sopenharmony_ci
479613498266Sopenharmony_ci  Follow-up to e92edfbef64448ef461117769881f3ed776dec4e #11490
479713498266Sopenharmony_ci
479813498266Sopenharmony_ci  Closes #12227
479913498266Sopenharmony_ci
480013498266Sopenharmony_ci- build: require Windows XP or newer
480113498266Sopenharmony_ci
480213498266Sopenharmony_ci  After this patch we assume availability of `getaddrinfo` and
480313498266Sopenharmony_ci  `freeaddrinfo`, first introduced in Windows XP. Meaning curl
480413498266Sopenharmony_ci  now requires building for Windows XP as a minimum.
480513498266Sopenharmony_ci
480613498266Sopenharmony_ci  TODO: assume these also in autotools.
480713498266Sopenharmony_ci
480813498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/12221#issuecomment-1783761806
480913498266Sopenharmony_ci  Closes #12225
481013498266Sopenharmony_ci
481113498266Sopenharmony_ci- appveyor: bump one job to OpenSSL 3.1 (was 1.1.1)
481213498266Sopenharmony_ci
481313498266Sopenharmony_ci  Use 3.1 with the modern runner image.
481413498266Sopenharmony_ci
481513498266Sopenharmony_ci  We still use 1.1.1 in 8 jobs.
481613498266Sopenharmony_ci
481713498266Sopenharmony_ci  1.1.1 is EOL since 2023-09-11:
481813498266Sopenharmony_ci  https://www.openssl.org/blog/blog/2023/03/28/1.1.1-EOL/
481913498266Sopenharmony_ci
482013498266Sopenharmony_ci  Also:
482113498266Sopenharmony_ci  - add missing SSL-backend to job descriptions.
482213498266Sopenharmony_ci  - tidy up CPU in job descriptions.
482313498266Sopenharmony_ci
482413498266Sopenharmony_ci  Closes #12226
482513498266Sopenharmony_ci
482613498266Sopenharmony_ciDaniel Stenberg (30 Oct 2023)
482713498266Sopenharmony_ci
482813498266Sopenharmony_ci- RELEASE-NOTES: synced
482913498266Sopenharmony_ci
483013498266Sopenharmony_ci- GHA: bump ngtcp2, nghttp3, nghttp2 and quictls versions
483113498266Sopenharmony_ci
483213498266Sopenharmony_ci  ngtcp2 1.0.1
483313498266Sopenharmony_ci  nghttp3 1.0.0
483413498266Sopenharmony_ci  nghttp2 1.58.0
483513498266Sopenharmony_ci  quictls 3.1.4+quic
483613498266Sopenharmony_ci
483713498266Sopenharmony_ci  also sync HTTP3.md with these changes
483813498266Sopenharmony_ci
483913498266Sopenharmony_ci  Closes #12132
484013498266Sopenharmony_ci
484113498266Sopenharmony_ciKareem (29 Oct 2023)
484213498266Sopenharmony_ci
484313498266Sopenharmony_ci- wolfssl: add default case for wolfssl_connect_step1 switch
484413498266Sopenharmony_ci
484513498266Sopenharmony_ci  Closes #12218
484613498266Sopenharmony_ci
484713498266Sopenharmony_ciJay Satiro (29 Oct 2023)
484813498266Sopenharmony_ci
484913498266Sopenharmony_ci- curl_setup: disallow Windows IPv6 builds missing getaddrinfo
485013498266Sopenharmony_ci
485113498266Sopenharmony_ci  - On Windows if IPv6 is enabled but getaddrinfo is missing then #error
485213498266Sopenharmony_ci    the build.
485313498266Sopenharmony_ci
485413498266Sopenharmony_ci  curl can be built with IPv6 support (ENABLE_IPV6) but without the
485513498266Sopenharmony_ci  ability to resolve hosts to IPv6 addresses (HAVE_GETADDRINFO). On
485613498266Sopenharmony_ci  Windows this is highly unlikely and should be considered a bad build
485713498266Sopenharmony_ci  configuration.
485813498266Sopenharmony_ci
485913498266Sopenharmony_ci  Such a bad configuration has already given us a bug that was hard to
486013498266Sopenharmony_ci  diagnose. See #12134 and #12136 for discussion.
486113498266Sopenharmony_ci
486213498266Sopenharmony_ci  Ref: https://github.com/curl/curl/issues/12134
486313498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/12136
486413498266Sopenharmony_ci
486513498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12221
486613498266Sopenharmony_ci
486713498266Sopenharmony_ciNico Rieck (29 Oct 2023)
486813498266Sopenharmony_ci
486913498266Sopenharmony_ci- openssl: make CURLSSLOPT_NATIVE_CA import Windows intermediate CAs
487013498266Sopenharmony_ci
487113498266Sopenharmony_ci  - If CURLSSLOPT_NATIVE_CA on Windows then import from intermediate CA
487213498266Sopenharmony_ci    "CA" store after importing from root CA "ROOT" store.
487313498266Sopenharmony_ci
487413498266Sopenharmony_ci  This change allows curl to work in situations where a server does not
487513498266Sopenharmony_ci  send all intermediate certs and they are present in the "CA" store (the
487613498266Sopenharmony_ci  store with intermediate CAs). This is already allowed by the Schannel
487713498266Sopenharmony_ci  backend.
487813498266Sopenharmony_ci
487913498266Sopenharmony_ci  Also this change makes partial chain verification possible for those
488013498266Sopenharmony_ci  certs since we allow partial chain verification by default for OpenSSL
488113498266Sopenharmony_ci  (unless CURLSSLOPT_NO_PARTIALCHAIN). This is not allowed by the Schannel
488213498266Sopenharmony_ci  backend.
488313498266Sopenharmony_ci
488413498266Sopenharmony_ci  Prior to this change CURLSSLOPT_NATIVE_CA only imported "ROOT" certs.
488513498266Sopenharmony_ci
488613498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12155
488713498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12185
488813498266Sopenharmony_ci
488913498266Sopenharmony_ciViktor Szakats (28 Oct 2023)
489013498266Sopenharmony_ci
489113498266Sopenharmony_ci- Makefile.mk: fix `-rtmp` option for non-Windows [ci skip]
489213498266Sopenharmony_ci
489313498266Sopenharmony_ciDaniel Stenberg (28 Oct 2023)
489413498266Sopenharmony_ci
489513498266Sopenharmony_ci- asyn-ares: handle no connection in the addrinfo callback
489613498266Sopenharmony_ci
489713498266Sopenharmony_ci  To avoid crashing.
489813498266Sopenharmony_ci
489913498266Sopenharmony_ci  Follow-up from 56a4db2
490013498266Sopenharmony_ci  Closes #12219
490113498266Sopenharmony_ci
490213498266Sopenharmony_ciJay Satiro (28 Oct 2023)
490313498266Sopenharmony_ci
490413498266Sopenharmony_ci- hostip6: fix DEBUG_ADDRINFO builds
490513498266Sopenharmony_ci
490613498266Sopenharmony_ci  - Removed unused and incorrect parameter from dump_addrinfo().
490713498266Sopenharmony_ci
490813498266Sopenharmony_ci  Bug: https://github.com/curl/curl/commit/56a4db2e#commitcomment-131050442
490913498266Sopenharmony_ci  Reported-by: Gisle Vanem
491013498266Sopenharmony_ci
491113498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12212
491213498266Sopenharmony_ci
491313498266Sopenharmony_ciViktor Szakats (28 Oct 2023)
491413498266Sopenharmony_ci
491513498266Sopenharmony_ci- Makefile.mk: restore `_mingw.h` for default `_WIN32_WINNT`
491613498266Sopenharmony_ci
491713498266Sopenharmony_ci  In 8.4.0 we deleted `_mingw.h` as part of purging old-mingw support.
491813498266Sopenharmony_ci  Turns out `_mingw.h` had the side-effect of setting a default
491913498266Sopenharmony_ci  `_WIN32_WINNT` value expected by `lib/config-win32.h` to enable
492013498266Sopenharmony_ci  `getaddrinfo` support in `Makefile.mk` mingw-w64 builds. This caused
492113498266Sopenharmony_ci  disabling support for this unless specifying the value manually.
492213498266Sopenharmony_ci
492313498266Sopenharmony_ci  Restore this header and update its comment to tell why we continue
492413498266Sopenharmony_ci  to need it.
492513498266Sopenharmony_ci
492613498266Sopenharmony_ci  This triggered a regression in official Windows curl builds starting
492713498266Sopenharmony_ci  with 8.4.0_1. Fixed in 8.4.0_6. (8.5.0 will be using CMake.)
492813498266Sopenharmony_ci
492913498266Sopenharmony_ci  Regression from 38029101e2d78ba125732b3bab6ec267b80a0e72 #11625
493013498266Sopenharmony_ci
493113498266Sopenharmony_ci  Reported-by: zhengqwe on github
493213498266Sopenharmony_ci  Helped-by: Nico Rieck
493313498266Sopenharmony_ci  Fixes #12134
493413498266Sopenharmony_ci  Fixes #12136
493513498266Sopenharmony_ci  Closes #12217
493613498266Sopenharmony_ci
493713498266Sopenharmony_ci- hostip: silence compiler warning `-Wparentheses-equality`
493813498266Sopenharmony_ci
493913498266Sopenharmony_ci  Seen with LLVM 17.
494013498266Sopenharmony_ci
494113498266Sopenharmony_ci  ```
494213498266Sopenharmony_ci  hostip.c:1336:22: warning: equality comparison with extraneous parentheses [-
494313498266Sopenharmony_ci  Wparentheses-equality]
494413498266Sopenharmony_ci   1336 |        (a->ai_family == PF_INET)) {
494513498266Sopenharmony_ci        |         ~~~~~~~~~~~~~^~~~~~~~~~
494613498266Sopenharmony_ci  hostip.c:1336:22: note: remove extraneous parentheses around the comparison t
494713498266Sopenharmony_ci  o silence this warning
494813498266Sopenharmony_ci   1336 |        (a->ai_family == PF_INET)) {
494913498266Sopenharmony_ci        |        ~             ^         ~
495013498266Sopenharmony_ci  hostip.c:1336:22: note: use '=' to turn this equality comparison into an assi
495113498266Sopenharmony_ci  gnment
495213498266Sopenharmony_ci   1336 |        (a->ai_family == PF_INET)) {
495313498266Sopenharmony_ci        |                      ^~
495413498266Sopenharmony_ci        |                      =
495513498266Sopenharmony_ci  1 warning generated.
495613498266Sopenharmony_ci  ```
495713498266Sopenharmony_ci
495813498266Sopenharmony_ci  Follow-up to b651aba0962bb31353f55de4dc35f745952a1b10 #12145
495913498266Sopenharmony_ci
496013498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
496113498266Sopenharmony_ci  Closes #12215
496213498266Sopenharmony_ci
496313498266Sopenharmony_ciStefan Eissing (27 Oct 2023)
496413498266Sopenharmony_ci
496513498266Sopenharmony_ci- doh: use PIPEWAIT when HTTP/2 is attempted
496613498266Sopenharmony_ci
496713498266Sopenharmony_ci  Closes #12214
496813498266Sopenharmony_ci
496913498266Sopenharmony_ciDaniel Stenberg (27 Oct 2023)
497013498266Sopenharmony_ci
497113498266Sopenharmony_ci- setopt: remove outdated cookie comment
497213498266Sopenharmony_ci
497313498266Sopenharmony_ci  Closes #12206
497413498266Sopenharmony_ci
497513498266Sopenharmony_ciStefan Eissing (27 Oct 2023)
497613498266Sopenharmony_ci
497713498266Sopenharmony_ci- cfilter: provide call to tell connection to forget a socket
497813498266Sopenharmony_ci
497913498266Sopenharmony_ci  - fixed libssh.c workaround for a socket being closed by
498013498266Sopenharmony_ci    the library
498113498266Sopenharmony_ci  - eliminate the terrible hack in cf-socket.c to guess when
498213498266Sopenharmony_ci    this happened and try not closing the socket again.
498313498266Sopenharmony_ci  - fixes race in eyeballing when socket could have failed to
498413498266Sopenharmony_ci    be closed for a discarded connect attempt
498513498266Sopenharmony_ci
498613498266Sopenharmony_ci  Closes #12207
498713498266Sopenharmony_ci
498813498266Sopenharmony_ci- url: protocol handler lookup tidy-up
498913498266Sopenharmony_ci
499013498266Sopenharmony_ci  - rename lookup to what it does
499113498266Sopenharmony_ci  - use ARRAYSIZE instead of NULL check for end
499213498266Sopenharmony_ci  - offer alternate lookup for 0-terminated strings
499313498266Sopenharmony_ci
499413498266Sopenharmony_ci  Closes #12216
499513498266Sopenharmony_ci
499613498266Sopenharmony_ciViktor Szakats (27 Oct 2023)
499713498266Sopenharmony_ci
499813498266Sopenharmony_ci- build: variadic macro tidy-ups
499913498266Sopenharmony_ci
500013498266Sopenharmony_ci  - delete unused `HAVE_VARIADIC_MACROS_C99/GCC` feature checks.
500113498266Sopenharmony_ci    (both autotools and CMake.)
500213498266Sopenharmony_ci  - delete duplicate `NULL` check in `Curl_trc_cf_infof()`.
500313498266Sopenharmony_ci  - fix compiler warning in `CURL_DISABLE_VERBOSE_STRINGS` builds.
500413498266Sopenharmony_ci    ```
500513498266Sopenharmony_ci    ./lib/cf-socket.c:122:41: warning: unused parameter 'data' [-Wunused-parame
500613498266Sopenharmony_ci  ter]
500713498266Sopenharmony_ci    static void nosigpipe(struct Curl_easy *data,
500813498266Sopenharmony_ci                                            ^
500913498266Sopenharmony_ci    ```
501013498266Sopenharmony_ci  - fix `#ifdef` comments in `lib/curl_trc.{c,h}`.
501113498266Sopenharmony_ci  - fix indentation in some `infof()` calls.
501213498266Sopenharmony_ci
501313498266Sopenharmony_ci  Follow-up to dac293cfb7026b1ca4175d88b80f1432d3d3c684 #12167
501413498266Sopenharmony_ci
501513498266Sopenharmony_ci  Cherry-picked from #12105
501613498266Sopenharmony_ci  Closes #12210
501713498266Sopenharmony_ci
501813498266Sopenharmony_ci- cmake: speed up threads setup for Windows
501913498266Sopenharmony_ci
502013498266Sopenharmony_ci  Win32 threads are always available. We enabled them unconditionally
502113498266Sopenharmony_ci  (with `ENABLE_THREADED_RESOLVER`). CMake built-in thread detection
502213498266Sopenharmony_ci  logic has this condition hard-coded for Windows as well (since at least
502313498266Sopenharmony_ci  2007).
502413498266Sopenharmony_ci
502513498266Sopenharmony_ci  Instead of doing all the work of detecting pthread combinations on
502613498266Sopenharmony_ci  Windows, then discarding those results, skip these efforts and assume
502713498266Sopenharmony_ci  built-in thread support when building for Windows.
502813498266Sopenharmony_ci
502913498266Sopenharmony_ci  This saves 1-3 slow CMake configuration steps.
503013498266Sopenharmony_ci
503113498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
503213498266Sopenharmony_ci  Closes #12202
503313498266Sopenharmony_ci
503413498266Sopenharmony_ci- cmake: speed up zstd detection
503513498266Sopenharmony_ci
503613498266Sopenharmony_ci  Before this patch we detected the presence of a specific zstd API to
503713498266Sopenharmony_ci  see if we can use the library. zstd published that API in its first
503813498266Sopenharmony_ci  stable release: v1.0.0 (2016-08-31).
503913498266Sopenharmony_ci
504013498266Sopenharmony_ci  Replace that method by detecting the zstd library version instead and
504113498266Sopenharmony_ci  accepting if it's v1.0.0 or newer. Also display this detected version
504213498266Sopenharmony_ci  and display a warning if the zstd found is unfit for curl.
504313498266Sopenharmony_ci
504413498266Sopenharmony_ci  We use the same version detection method as zstd itself, via its public
504513498266Sopenharmony_ci  C header.
504613498266Sopenharmony_ci
504713498266Sopenharmony_ci  This deviates from autotools which keeps using the slow method of
504813498266Sopenharmony_ci  looking for the API by building a test program. The outcome is the same
504913498266Sopenharmony_ci  as long as zstd keeps offering this API.
505013498266Sopenharmony_ci
505113498266Sopenharmony_ci  Ref: https://github.com/facebook/zstd/commit/5a0c8e24395079f8e8cdc90aa1659cd5
505213498266Sopenharmony_ci  ab1b7427 (2016-08-12, committed)
505313498266Sopenharmony_ci  Ref: https://github.com/facebook/zstd/releases/tag/v0.8.1 (2016-08-18, first 
505413498266Sopenharmony_ci  released)
505513498266Sopenharmony_ci  Ref: https://github.com/facebook/zstd/releases/tag/v1.0.0
505613498266Sopenharmony_ci
505713498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
505813498266Sopenharmony_ci  Closes #12200
505913498266Sopenharmony_ci
506013498266Sopenharmony_ciDaniel Stenberg (26 Oct 2023)
506113498266Sopenharmony_ci
506213498266Sopenharmony_ci- openssl: fix infof() to avoid compiler warning for %s with null
506313498266Sopenharmony_ci
506413498266Sopenharmony_ci  vtls/openssl.c: In function ‘ossl_connect_step2’:
506513498266Sopenharmony_ci  ../lib/curl_trc.h:120:10: error: ‘%s’ directive argument is null [-Werror
506613498266Sopenharmony_ci  =format-overflow=]
506713498266Sopenharmony_ci    120 |          Curl_infof(data, __VA_ARGS__); } while(0)
506813498266Sopenharmony_ci        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
506913498266Sopenharmony_ci  vtls/openssl.c:4008:5: note: in expansion of macro ‘infof’
507013498266Sopenharmony_ci   4008 |     infof(data, "SSL connection using %s / %s / %s / %s",
507113498266Sopenharmony_ci        |     ^~~~~
507213498266Sopenharmony_ci  vtls/openssl.c:4008:49: note: format string is defined here
507313498266Sopenharmony_ci   4008 |     infof(data, "SSL connection using %s / %s / %s / %s",
507413498266Sopenharmony_ci        |                                                 ^~
507513498266Sopenharmony_ci
507613498266Sopenharmony_ci  Follow-up to b6e6d4ff8f253c8b8055bab
507713498266Sopenharmony_ci  Closes #12196
507813498266Sopenharmony_ci
507913498266Sopenharmony_ciStefan Eissing (26 Oct 2023)
508013498266Sopenharmony_ci
508113498266Sopenharmony_ci- lib: apache style infof and trace macros/functions
508213498266Sopenharmony_ci
508313498266Sopenharmony_ci  - test for a simplified C99 variadic check
508413498266Sopenharmony_ci  - args to infof() in --disable-verbose are no longer disregarded but
508513498266Sopenharmony_ci    must compile.
508613498266Sopenharmony_ci
508713498266Sopenharmony_ci  Closes #12167
508813498266Sopenharmony_ci  Fixes #12083
508913498266Sopenharmony_ci  Fixes #11880
509013498266Sopenharmony_ci  Fixes #11891
509113498266Sopenharmony_ci
509213498266Sopenharmony_ciDaniel Stenberg (26 Oct 2023)
509313498266Sopenharmony_ci
509413498266Sopenharmony_ci- RELEASE-NOTES: synced
509513498266Sopenharmony_ci
509613498266Sopenharmony_ciStefan Eissing (26 Oct 2023)
509713498266Sopenharmony_ci
509813498266Sopenharmony_ci- urldata: move async resolver state from easy handle to connectdata
509913498266Sopenharmony_ci
510013498266Sopenharmony_ci  - resolving is done for a connection, not for every transfer
510113498266Sopenharmony_ci  - save create/dup/free of a cares channel for each transfer
510213498266Sopenharmony_ci  - check values of setopt calls against a local channel if no
510313498266Sopenharmony_ci    connection has been attached yet, when needed.
510413498266Sopenharmony_ci
510513498266Sopenharmony_ci  Closes #12198
510613498266Sopenharmony_ci
510713498266Sopenharmony_ciDaniel Stenberg (26 Oct 2023)
510813498266Sopenharmony_ci
510913498266Sopenharmony_ci- CURLOPT_WRITEFUNCTION.3: clarify what libcurl returns for CURL_WRITEFUNC_ERRO
511013498266Sopenharmony_ci  R
511113498266Sopenharmony_ci
511213498266Sopenharmony_ci  It returns CURLE_WRITE_ERROR. It was not previously stated clearly.
511313498266Sopenharmony_ci
511413498266Sopenharmony_ci  Reported-by: enWILLYado on github
511513498266Sopenharmony_ci  Fixes #12201
511613498266Sopenharmony_ci  Closes #12203
511713498266Sopenharmony_ci
511813498266Sopenharmony_ciViktor Szakats (25 Oct 2023)
511913498266Sopenharmony_ci
512013498266Sopenharmony_ci- autotools: update references to deleted `crypt-auth` option
512113498266Sopenharmony_ci
512213498266Sopenharmony_ci  Delete leftovers of the `crypt-auth` `./configure` option and
512313498266Sopenharmony_ci  add the new ones that replaced them.
512413498266Sopenharmony_ci
512513498266Sopenharmony_ci  Follow-up to e92edfbef64448ef461117769881f3ed776dec4e #11490
512613498266Sopenharmony_ci
512713498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
512813498266Sopenharmony_ci  Closes #12194
512913498266Sopenharmony_ci
513013498266Sopenharmony_ciStefan Eissing (25 Oct 2023)
513113498266Sopenharmony_ci
513213498266Sopenharmony_ci- lib: introduce struct easy_poll_set for poll information
513313498266Sopenharmony_ci
513413498266Sopenharmony_ci  Connection filter had a `get_select_socks()` method, inspired by the
513513498266Sopenharmony_ci  various `getsocks` functions involved during the lifetime of a
513613498266Sopenharmony_ci  transfer. These, depending on transfer state (CONNECT/DO/DONE/ etc.),
513713498266Sopenharmony_ci  return sockets to monitor and flag if this shall be done for POLLIN
513813498266Sopenharmony_ci  and/or POLLOUT.
513913498266Sopenharmony_ci
514013498266Sopenharmony_ci  Due to this design, sockets and flags could only be added, not
514113498266Sopenharmony_ci  removed. This led to problems in filters like HTTP/2 where flow control
514213498266Sopenharmony_ci  prohibits the sending of data until the peer increases the flow
514313498266Sopenharmony_ci  window. The general transfer loop wants to write, adds POLLOUT, the
514413498266Sopenharmony_ci  socket is writeable but no data can be written.
514513498266Sopenharmony_ci
514613498266Sopenharmony_ci  This leads to cpu busy loops. To prevent that, HTTP/2 did set the
514713498266Sopenharmony_ci  `SEND_HOLD` flag of such a blocked transfer, so the transfer loop cedes
514813498266Sopenharmony_ci  further attempts. This works if only one such filter is involved. If a
514913498266Sopenharmony_ci  HTTP/2 transfer goes through a HTTP/2 proxy, two filters are
515013498266Sopenharmony_ci  setting/clearing this flag and may step on each other's toes.
515113498266Sopenharmony_ci
515213498266Sopenharmony_ci  Connection filters `get_select_socks()` is replaced by
515313498266Sopenharmony_ci  `adjust_pollset()`. They get passed a `struct easy_pollset` that keeps
515413498266Sopenharmony_ci  up to `MAX_SOCKSPEREASYHANDLE` sockets and their `POLLIN|POLLOUT`
515513498266Sopenharmony_ci  flags. This struct is initialized in `multi_getsock()` by calling the
515613498266Sopenharmony_ci  various `getsocks()` implementations based on transfer state, as before.
515713498266Sopenharmony_ci
515813498266Sopenharmony_ci  After protocol handlers/transfer loop have set the sockets and flags
515913498266Sopenharmony_ci  they want, the `easy_pollset` is *always* passed to the filters. Filters
516013498266Sopenharmony_ci  "higher" in the chain are called first, starting at the first
516113498266Sopenharmony_ci  not-yet-connection one. Each filter may add sockets and/or change
516213498266Sopenharmony_ci  flags. When all flags are removed, the socket itself is removed from the
516313498266Sopenharmony_ci  pollset.
516413498266Sopenharmony_ci
516513498266Sopenharmony_ci  Example:
516613498266Sopenharmony_ci
516713498266Sopenharmony_ci   * transfer wants to send, adds POLLOUT
516813498266Sopenharmony_ci   * http/2 filter has a flow control block, removes POLLOUT and adds
516913498266Sopenharmony_ci     POLLIN (it is waiting on a WINDOW_UPDATE from the server)
517013498266Sopenharmony_ci   * TLS filter is connected and changes nothing
517113498266Sopenharmony_ci   * h2-proxy filter also has a flow control block on its tunnel stream,
517213498266Sopenharmony_ci     removes POLLOUT and adds POLLIN also.
517313498266Sopenharmony_ci   * socket filter is connected and changes nothing
517413498266Sopenharmony_ci   * The resulting pollset is then mixed together with all other transfers
517513498266Sopenharmony_ci     and their pollsets, just as before.
517613498266Sopenharmony_ci
517713498266Sopenharmony_ci  Use of `SEND_HOLD` is no longer necessary in the filters.
517813498266Sopenharmony_ci
517913498266Sopenharmony_ci  All filters are adapted for the changed method. The handling in
518013498266Sopenharmony_ci  `multi.c` has been adjusted, but its state handling the the protocol
518113498266Sopenharmony_ci  handlers' `getsocks` method are untouched.
518213498266Sopenharmony_ci
518313498266Sopenharmony_ci  The most affected filters are http/2, ngtcp2, quiche and h2-proxy. TLS
518413498266Sopenharmony_ci  filters needed to be adjusted for the connecting handshake read/write
518513498266Sopenharmony_ci  handling.
518613498266Sopenharmony_ci
518713498266Sopenharmony_ci  No noticeable difference in performance was detected in local scorecard
518813498266Sopenharmony_ci  runs.
518913498266Sopenharmony_ci
519013498266Sopenharmony_ci  Closes #11833
519113498266Sopenharmony_ci
519213498266Sopenharmony_ciDaniel Stenberg (25 Oct 2023)
519313498266Sopenharmony_ci
519413498266Sopenharmony_ci- tests/README: SOCKS tests are not using OpenSSH, it has its own server
519513498266Sopenharmony_ci
519613498266Sopenharmony_ci  Follow-up to 04fd67555cc
519713498266Sopenharmony_ci
519813498266Sopenharmony_ci  Closes #12195
519913498266Sopenharmony_ci
520013498266Sopenharmony_ciJacob Hoffman-Andrews (25 Oct 2023)
520113498266Sopenharmony_ci
520213498266Sopenharmony_ci- tets: make test documentation more user-friendly
520313498266Sopenharmony_ci
520413498266Sopenharmony_ci  Put the instructions to run tests right at the top of tests/README.md.
520513498266Sopenharmony_ci
520613498266Sopenharmony_ci  Give instructions to read the runtests.1 man page for information
520713498266Sopenharmony_ci  about flags. Delete redundant copy of the flags documentation in the
520813498266Sopenharmony_ci  README.
520913498266Sopenharmony_ci
521013498266Sopenharmony_ci  Add a mention in README.md of the important parallelism flag, to make
521113498266Sopenharmony_ci  test runs go much faster.
521213498266Sopenharmony_ci
521313498266Sopenharmony_ci  Move documentation of output line format into the runtests.1 man page,
521413498266Sopenharmony_ci  and update it with missing flags.
521513498266Sopenharmony_ci
521613498266Sopenharmony_ci  Fix the order of two flags in the man page.
521713498266Sopenharmony_ci
521813498266Sopenharmony_ci  Closes #12193
521913498266Sopenharmony_ci
522013498266Sopenharmony_ciViktor Szakats (24 Oct 2023)
522113498266Sopenharmony_ci
522213498266Sopenharmony_ci- cmake: pre-fill rest of detection values for Windows
522313498266Sopenharmony_ci
522413498266Sopenharmony_ci  The goal of this patch is to avoid unnecessary feature detection work
522513498266Sopenharmony_ci  when doing Windows builds with CMake. Do this by pre-filling well-known
522613498266Sopenharmony_ci  detection results for Windows and specifically for mingw-w64 and MSVC
522713498266Sopenharmony_ci  compilers. Also limit feature checks to platforms where the results are
522813498266Sopenharmony_ci  actually used. Drop a few redundant ones. And some tidying up.
522913498266Sopenharmony_ci
523013498266Sopenharmony_ci  - pre-fill remaining detection values in Windows CMake builds.
523113498266Sopenharmony_ci
523213498266Sopenharmony_ci    Based on actual detection results observed in CI runs, preceding
523313498266Sopenharmony_ci    similar work over libssh2 and matching up values with
523413498266Sopenharmony_ci    `lib/config-win32.h`.
523513498266Sopenharmony_ci
523613498266Sopenharmony_ci    This brings down CMake configuration time from 58 to 14 seconds on the
523713498266Sopenharmony_ci    same local machine.
523813498266Sopenharmony_ci
523913498266Sopenharmony_ci    On AppVeyor CI this translates to:
524013498266Sopenharmony_ci    - 128 seconds -> 50 seconds VS2022 MSVC with OpenSSL (per CMake job):
524113498266Sopenharmony_ci      https://ci.appveyor.com/project/curlorg/curl/builds/48208419/job/4gw66ecr
524213498266Sopenharmony_ci  jpy7necb#L296
524313498266Sopenharmony_ci      https://ci.appveyor.com/project/curlorg/curl/builds/48217440/job/8m4fwrr2
524413498266Sopenharmony_ci  fe249uo8#L186
524513498266Sopenharmony_ci    - 62 seconds -> 16 seconds VS2017 MINGW (per CMake job):
524613498266Sopenharmony_ci      https://ci.appveyor.com/project/curlorg/curl/builds/48208419/job/s1y8q5iv
524713498266Sopenharmony_ci  lcs7ub29?fullLog=true#L290
524813498266Sopenharmony_ci      https://ci.appveyor.com/project/curlorg/curl/builds/48217440/job/pchpxyjs
524913498266Sopenharmony_ci  yc9kl13a?fullLog=true#L194
525013498266Sopenharmony_ci
525113498266Sopenharmony_ci    The formula is about 1-3 seconds delay for each detection. Almost all
525213498266Sopenharmony_ci    of these trigger a full compile-link cycle behind the scenes, slow
525313498266Sopenharmony_ci    even today, both cross and native, mingw-w64 and apparently MSVC too.
525413498266Sopenharmony_ci    Enabling .map files or other custom build features slows it down
525513498266Sopenharmony_ci    further. (Similar is expected for autotools configure.)
525613498266Sopenharmony_ci
525713498266Sopenharmony_ci  - stop detecting `idn2.h` if idn2 was deselected.
525813498266Sopenharmony_ci    autotools does this.
525913498266Sopenharmony_ci
526013498266Sopenharmony_ci  - stop detecting `idn2.h` if idn2 was not found.
526113498266Sopenharmony_ci    This deviates from autotools. Source code requires both header and
526213498266Sopenharmony_ci    lib, so this is still correct, but faster.
526313498266Sopenharmony_ci
526413498266Sopenharmony_ci  - limit `ADDRESS_FAMILY` detection to Windows.
526513498266Sopenharmony_ci
526613498266Sopenharmony_ci  - normalize `HAVE_WIN32_WINNT` value to lowercase `0x0a12` format.
526713498266Sopenharmony_ci
526813498266Sopenharmony_ci  - pre-fill `HAVE_WIN32_WINNT`-dependent detection results.
526913498266Sopenharmony_ci    Saving 4 (slow) feature-detections in most builds: `getaddrinfo`,
527013498266Sopenharmony_ci    `freeaddrinfo`, `inet_ntop`, `inet_pton`
527113498266Sopenharmony_ci
527213498266Sopenharmony_ci  - fix pre-filled `HAVE_SYS_TIME_H`, `HAVE_SYS_PARAM_H`,
527313498266Sopenharmony_ci    `HAVE_GETTIMEOFDAY` for mingw-w64.
527413498266Sopenharmony_ci    Luckily this do not change build results, as `WIN32` took
527513498266Sopenharmony_ci    priority over `HAVE_GETTIMEOFDAY` with the current source
527613498266Sopenharmony_ci    code.
527713498266Sopenharmony_ci
527813498266Sopenharmony_ci  - limit `HAVE_CLOCK_GETTIME_MONOTONIC_RAW` and
527913498266Sopenharmony_ci    `HAVE_CLOCK_GETTIME_MONOTONIC` detections to non-Windows.
528013498266Sopenharmony_ci    We're not using these in the source code for Windows.
528113498266Sopenharmony_ci
528213498266Sopenharmony_ci  - reduce compiler warning noise in CMake internal logs:
528313498266Sopenharmony_ci    - fix to include `winsock2.h` before `windows.h`.
528413498266Sopenharmony_ci      Apply it to autotools test snippets too.
528513498266Sopenharmony_ci    - delete previous `-D_WINSOCKAPI_=` hack that aimed to fix the above.
528613498266Sopenharmony_ci    - cleanup `CMake/CurlTests.c` to emit less warnings.
528713498266Sopenharmony_ci
528813498266Sopenharmony_ci  - delete redundant `HAVE_MACRO_SIGSETJMP` feature check.
528913498266Sopenharmony_ci    It was the same check as `HAVE_SIGSETJMP`.
529013498266Sopenharmony_ci
529113498266Sopenharmony_ci  - delete 'experimental' marking from `CURL_USE_OPENSSL`.
529213498266Sopenharmony_ci
529313498266Sopenharmony_ci  - show CMake version via `CMakeLists.txt`.
529413498266Sopenharmony_ci    Credit to the `zlib-ng` project for the idea:
529513498266Sopenharmony_ci    https://github.com/zlib-ng/zlib-ng/blob/61e181c8ae93dbf56040336179c9954078b
529613498266Sopenharmony_ci  d1399/CMakeLists.txt#L7
529713498266Sopenharmony_ci
529813498266Sopenharmony_ci  - make `CMake/CurlTests.c` pass `checksrc`.
529913498266Sopenharmony_ci
530013498266Sopenharmony_ci  - `CMake/WindowsCache.cmake` tidy-ups.
530113498266Sopenharmony_ci
530213498266Sopenharmony_ci  - replace `WIN32` guard with `_WIN32` in `CMake/CurlTests.c`.
530313498266Sopenharmony_ci
530413498266Sopenharmony_ci  Closes #12044
530513498266Sopenharmony_ci
530613498266Sopenharmony_ciJay Satiro (24 Oct 2023)
530713498266Sopenharmony_ci
530813498266Sopenharmony_ci- page-footer: clarify exit code 25
530913498266Sopenharmony_ci
531013498266Sopenharmony_ci  - Clarify that curl tool exit code 25 means an upload failed to start.
531113498266Sopenharmony_ci
531213498266Sopenharmony_ci  Exit code 25 is equivalent to CURLE_UPLOAD_FAILED (25). Prior to this
531313498266Sopenharmony_ci  change the documentation only mentioned the case of FTP STOR failing.
531413498266Sopenharmony_ci
531513498266Sopenharmony_ci  Reported-by: Emanuele Torre
531613498266Sopenharmony_ci
531713498266Sopenharmony_ci  Ref: https://github.com/curl/curl/blob/curl-8_4_0/docs/libcurl/libcurl-errors
531813498266Sopenharmony_ci  .3#L113-L115
531913498266Sopenharmony_ci
532013498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12189
532113498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12190
532213498266Sopenharmony_ci
532313498266Sopenharmony_ciDaniel Stenberg (24 Oct 2023)
532413498266Sopenharmony_ci
532513498266Sopenharmony_ci- scripts/cijobs.pl: adjust for appveyor
532613498266Sopenharmony_ci
532713498266Sopenharmony_ci  Follow-up to a1d73a6bb
532813498266Sopenharmony_ci
532913498266Sopenharmony_ciAlex Bozarth (24 Oct 2023)
533013498266Sopenharmony_ci
533113498266Sopenharmony_ci- OpenSSL: Include SIG and KEM algorithms in verbose
533213498266Sopenharmony_ci
533313498266Sopenharmony_ci  Currently the verbose output does not include which algorithms are used
533413498266Sopenharmony_ci  for the signature and key exchange when using OpenSSL. Including the
533513498266Sopenharmony_ci  algorithms used will enable better debugging when working on using new
533613498266Sopenharmony_ci  algorithm implementations. Know what algorithms are used has become more
533713498266Sopenharmony_ci  important with the fast growing research into new quantum-safe
533813498266Sopenharmony_ci  algorithms.
533913498266Sopenharmony_ci
534013498266Sopenharmony_ci  This implementation includes a build time check for the OpenSSL version
534113498266Sopenharmony_ci  to use a new function that will be included in OpenSSL 3.2 that was
534213498266Sopenharmony_ci  introduced in openssl/openssl@6866824
534313498266Sopenharmony_ci
534413498266Sopenharmony_ci  Based-on-patch-by: Martin Schmatz <mrt@zurich.ibm.com>
534513498266Sopenharmony_ci  Closes #12030
534613498266Sopenharmony_ci
534713498266Sopenharmony_ciDaniel Stenberg (23 Oct 2023)
534813498266Sopenharmony_ci
534913498266Sopenharmony_ci- http2: provide an error callback and failf the message
535013498266Sopenharmony_ci
535113498266Sopenharmony_ci  Getting nghttp2's error message helps users understand what's going
535213498266Sopenharmony_ci  on. For example when the connection is brought down due a forbidden
535313498266Sopenharmony_ci  header is used - as that header is then not displayed by curl itself.
535413498266Sopenharmony_ci
535513498266Sopenharmony_ci  Example:
535613498266Sopenharmony_ci
535713498266Sopenharmony_ci    curl: (92) Invalid HTTP header field was received: frame type: 1,
535813498266Sopenharmony_ci    stream: 1, name: [upgrade], value: [h2,h2c]
535913498266Sopenharmony_ci
536013498266Sopenharmony_ci  Ref: #12172
536113498266Sopenharmony_ci  Closes #12179
536213498266Sopenharmony_ci
536313498266Sopenharmony_ciTuriiya (23 Oct 2023)
536413498266Sopenharmony_ci
536513498266Sopenharmony_ci- BINDINGS: add V binding
536613498266Sopenharmony_ci
536713498266Sopenharmony_ci  Closes #12182
536813498266Sopenharmony_ci
536913498266Sopenharmony_ciDaniel Stenberg (22 Oct 2023)
537013498266Sopenharmony_ci
537113498266Sopenharmony_ci- configure: check for the fseeko declaration too
537213498266Sopenharmony_ci
537313498266Sopenharmony_ci  ... and make the code require both symbol and declaration.
537413498266Sopenharmony_ci
537513498266Sopenharmony_ci  This is because for Android, the symbol is always present in the lib at
537613498266Sopenharmony_ci  build-time even when not actually available in run-time.
537713498266Sopenharmony_ci
537813498266Sopenharmony_ci  Assisted-by: Viktor Szakats
537913498266Sopenharmony_ci  Reported-by: 12932 on github
538013498266Sopenharmony_ci  Fixes #12086
538113498266Sopenharmony_ci  Closes #12158
538213498266Sopenharmony_ci
538313498266Sopenharmony_ciViktor Szakats (22 Oct 2023)
538413498266Sopenharmony_ci
538513498266Sopenharmony_ci- cmake: fix OpenSSL quic detection in quiche builds
538613498266Sopenharmony_ci
538713498266Sopenharmony_ci  An orphan call to `CheckQuicSupportInOpenSSL()` remained after a recent
538813498266Sopenharmony_ci  update when checking QUIC for quiche. Move back QUIC detection to
538913498266Sopenharmony_ci  a function and fixup callers to use that. Also make sure that quiche
539013498266Sopenharmony_ci  gets QUIC from BoringSSL, because it doesn't support other forks at this
539113498266Sopenharmony_ci  time.
539213498266Sopenharmony_ci
539313498266Sopenharmony_ci  Regression from dee310d54261f9a8416e87d50bccfe2cbe404949 #11555
539413498266Sopenharmony_ci
539513498266Sopenharmony_ci  Reported-by: Casey Bodley <cbodley@redhat.com>
539613498266Sopenharmony_ci  Fixes #12160
539713498266Sopenharmony_ci  Closes #12162
539813498266Sopenharmony_ci
539913498266Sopenharmony_ciDaniel Stenberg (22 Oct 2023)
540013498266Sopenharmony_ci
540113498266Sopenharmony_ci- RELEASE-NOTES: synced
540213498266Sopenharmony_ci
540313498266Sopenharmony_ci  bump to 8.5.0 for pending release
540413498266Sopenharmony_ci
540513498266Sopenharmony_ciDan Fandrich (21 Oct 2023)
540613498266Sopenharmony_ci
540713498266Sopenharmony_ci- test3103: add missing quotes around a test tag attribute
540813498266Sopenharmony_ci
540913498266Sopenharmony_ciLoïc Yhuel (21 Oct 2023)
541013498266Sopenharmony_ci
541113498266Sopenharmony_ci- tool: fix --capath when proxy support is disabled
541213498266Sopenharmony_ci
541313498266Sopenharmony_ci  After 95e8515ca0, --capath always sets CURLOPT_PROXY_CAPATH, which fails
541413498266Sopenharmony_ci  with CURLE_UNKNOWN_OPTION when proxy support is disabled.
541513498266Sopenharmony_ci
541613498266Sopenharmony_ci  Closes #12089
541713498266Sopenharmony_ci
541813498266Sopenharmony_ciDaniel Stenberg (21 Oct 2023)
541913498266Sopenharmony_ci
542013498266Sopenharmony_ci- openldap: move the alloc of ldapconninfo to *connect()
542113498266Sopenharmony_ci
542213498266Sopenharmony_ci  Fixes a minor memory leak on LDAP connection reuse.
542313498266Sopenharmony_ci
542413498266Sopenharmony_ci  Doing the allocation already in *setup_connection() is wrong since that
542513498266Sopenharmony_ci  connect struct might get discarded early when an existing connection is
542613498266Sopenharmony_ci  reused instead.
542713498266Sopenharmony_ci
542813498266Sopenharmony_ci  Closes #12166
542913498266Sopenharmony_ci
543013498266Sopenharmony_ci- openldap: set the callback argument in oldap_do
543113498266Sopenharmony_ci
543213498266Sopenharmony_ci  ... to make sure it has the current 'data' pointer and not a stale old
543313498266Sopenharmony_ci  one.
543413498266Sopenharmony_ci
543513498266Sopenharmony_ci  Reported-by: Dan Fandrich
543613498266Sopenharmony_ci  Closes #12166
543713498266Sopenharmony_ci
543813498266Sopenharmony_ci- gnutls: support CURLSSLOPT_NATIVE_CA
543913498266Sopenharmony_ci
544013498266Sopenharmony_ci  Remove the CURL_CA_FALLBACK logic. That build option was added to allow
544113498266Sopenharmony_ci  primarily OpenSSL to use the default paths for loading the CA certs. For
544213498266Sopenharmony_ci  GnuTLS it was instead made to load the "system certs", which is
544313498266Sopenharmony_ci  different and not desirable.
544413498266Sopenharmony_ci
544513498266Sopenharmony_ci  The native CA store loading is now asked for with this option.
544613498266Sopenharmony_ci
544713498266Sopenharmony_ci  Follow-up to 7b55279d1d856
544813498266Sopenharmony_ci
544913498266Sopenharmony_ci  Co-authored-by: Jay Satiro
545013498266Sopenharmony_ci
545113498266Sopenharmony_ci  Closes #12137
545213498266Sopenharmony_ci
545313498266Sopenharmony_ciStefan Eissing (21 Oct 2023)
545413498266Sopenharmony_ci
545513498266Sopenharmony_ci- RTSP: improved RTP parser
545613498266Sopenharmony_ci
545713498266Sopenharmony_ci  - fix HTTP header parsing to report incomplete
545813498266Sopenharmony_ci    lines it buffers as consumed!
545913498266Sopenharmony_ci  - re-implement the RTP parser for interleave RTP
546013498266Sopenharmony_ci    messages for robustness. It is now keeping its
546113498266Sopenharmony_ci    state at the connection
546213498266Sopenharmony_ci  - RTSP protocol handler "readwrite" implementation
546313498266Sopenharmony_ci    now tracks if the response is before/in/after
546413498266Sopenharmony_ci    header parsing or "in" a bod by calling
546513498266Sopenharmony_ci    "Curl_http_readwrite_headers()" itself. This
546613498266Sopenharmony_ci    allows it to know when non-RTP bytes are "junk"
546713498266Sopenharmony_ci    or HEADER or BODY.
546813498266Sopenharmony_ci  - tested with #12035 and various small receive
546913498266Sopenharmony_ci    sizes where current master fails
547013498266Sopenharmony_ci
547113498266Sopenharmony_ci  Closes #12052
547213498266Sopenharmony_ci
547313498266Sopenharmony_ci- http2: header conversion tightening
547413498266Sopenharmony_ci
547513498266Sopenharmony_ci  - fold the code to convert dynhds to the nghttp2 structs
547613498266Sopenharmony_ci    into a dynhds internal method
547713498266Sopenharmony_ci  - saves code duplication
547813498266Sopenharmony_ci  - pacifies compiler analyzers
547913498266Sopenharmony_ci
548013498266Sopenharmony_ci  Closes #12097
548113498266Sopenharmony_ci
548213498266Sopenharmony_ciDaniel Stenberg (21 Oct 2023)
548313498266Sopenharmony_ci
548413498266Sopenharmony_ci- curl_ntlm_wb: fix elif typo
548513498266Sopenharmony_ci
548613498266Sopenharmony_ci  Reported-by: Manfred Schwarb
548713498266Sopenharmony_ci  Follow-up to d4314cdf65ae
548813498266Sopenharmony_ci  Bug: https://github.com/curl/curl/commit/d4314cdf65aee295db627016934bd9eb621a
548913498266Sopenharmony_ci  b077#r130551295
549013498266Sopenharmony_ci
549113498266Sopenharmony_ciDan Fandrich (20 Oct 2023)
549213498266Sopenharmony_ci
549313498266Sopenharmony_ci- test1683: remove commented-out check alternatives
549413498266Sopenharmony_ci
549513498266Sopenharmony_ci  Python precheck/postcheck alternatives were included but commented out.
549613498266Sopenharmony_ci  Since these are not used and perl is guaranteed to be available to run
549713498266Sopenharmony_ci  the perl versions anyway, the Python ones are removed.
549813498266Sopenharmony_ci
549913498266Sopenharmony_ciDaniel Stenberg (20 Oct 2023)
550013498266Sopenharmony_ci
550113498266Sopenharmony_ci- hostip: show the list of IPs when resolving is done
550213498266Sopenharmony_ci
550313498266Sopenharmony_ci  Getting 'curl.se' today then gets this verbose output which might help
550413498266Sopenharmony_ci  debugging connectivity related matters.
550513498266Sopenharmony_ci
550613498266Sopenharmony_ci  * Host curl.se:80 was resolved.
550713498266Sopenharmony_ci  * IPv6: 2a04:4e42::347, 2a04:4e42:200::347, 2a04:4e42:400::347,
550813498266Sopenharmony_ci    2a04:4e42:600::347, 2a04:4e42:800::347, 2a04:4e42:a00::347,
550913498266Sopenharmony_ci    2a04:4e42:c00::347, 2a04:4e42:e00::347
551013498266Sopenharmony_ci  * IPv4: 151.101.193.91, 151.101.1.91, 151.101.65.91, 151.101.129.91
551113498266Sopenharmony_ci
551213498266Sopenharmony_ci  Co-authored-by: Jay Satiro
551313498266Sopenharmony_ci  Closes #12145
551413498266Sopenharmony_ci
551513498266Sopenharmony_cirilysh (20 Oct 2023)
551613498266Sopenharmony_ci
551713498266Sopenharmony_ci- docs: fix function typo in curl_easy_option_next.3
551813498266Sopenharmony_ci
551913498266Sopenharmony_ci  Closes #12170
552013498266Sopenharmony_ci
552113498266Sopenharmony_ciDaniel Stenberg (20 Oct 2023)
552213498266Sopenharmony_ci
552313498266Sopenharmony_ci- vssh: remove the #ifdef for Curl_ssh_init, use empty macro
552413498266Sopenharmony_ci
552513498266Sopenharmony_ci  In the same style as other init calls
552613498266Sopenharmony_ci
552713498266Sopenharmony_ci- easy: remove duplicate wolfSSH init call
552813498266Sopenharmony_ci
552913498266Sopenharmony_ci  It is already done in Curl_ssh_init() where it belongs.
553013498266Sopenharmony_ci
553113498266Sopenharmony_ci  Closes #12168
553213498266Sopenharmony_ci
553313498266Sopenharmony_ci- socks: make SOCKS5 use the CURLOPT_IPRESOLVE choice
553413498266Sopenharmony_ci
553513498266Sopenharmony_ci  Fixes #11949
553613498266Sopenharmony_ci  Reported-by: Ammar Faizi
553713498266Sopenharmony_ci  Closes #12163
553813498266Sopenharmony_ci
553913498266Sopenharmony_ci- urldata: move the 'internal' boolean to the state struct
554013498266Sopenharmony_ci
554113498266Sopenharmony_ci  ... where all the other state bits for the easy handles live.
554213498266Sopenharmony_ci
554313498266Sopenharmony_ci  Closes #12165
554413498266Sopenharmony_ci
554513498266Sopenharmony_ci- url: don't touch the multi handle when closing internal handles
554613498266Sopenharmony_ci
554713498266Sopenharmony_ci  Reported-by: Maksymilian Arciemowicz
554813498266Sopenharmony_ci  Closes #12165
554913498266Sopenharmony_ci
555013498266Sopenharmony_ciFaraz Fallahi (19 Oct 2023)
555113498266Sopenharmony_ci
555213498266Sopenharmony_ci- getenv: PlayStation doesn't have getenv()
555313498266Sopenharmony_ci
555413498266Sopenharmony_ci  Closes #12140
555513498266Sopenharmony_ci
555613498266Sopenharmony_ciDaniel Stenberg (19 Oct 2023)
555713498266Sopenharmony_ci
555813498266Sopenharmony_ci- transfer: only reset the FTP wildcard engine in CLEAR state
555913498266Sopenharmony_ci
556013498266Sopenharmony_ci  To avoid the state machine to start over and redownload all the files
556113498266Sopenharmony_ci  *again*.
556213498266Sopenharmony_ci
556313498266Sopenharmony_ci  Reported-by: lkordos on github
556413498266Sopenharmony_ci  Regression from 843b3baa3e3cb228 (shipped in 8.1.0)
556513498266Sopenharmony_ci  Bisect-by: Dan Fandrich
556613498266Sopenharmony_ci  Fixes #11775
556713498266Sopenharmony_ci  Closes #12156
556813498266Sopenharmony_ci
556913498266Sopenharmony_ciStefan Eissing (19 Oct 2023)
557013498266Sopenharmony_ci
557113498266Sopenharmony_ci- GHA: move mod_h2 version in CI to v2.0.25
557213498266Sopenharmony_ci
557313498266Sopenharmony_ci  Closes #12157
557413498266Sopenharmony_ci
557513498266Sopenharmony_ciDaniel Stenberg (19 Oct 2023)
557613498266Sopenharmony_ci
557713498266Sopenharmony_ci- ntlm_wb: use pipe instead of socketpair when possible
557813498266Sopenharmony_ci
557913498266Sopenharmony_ci  Closes #12149
558013498266Sopenharmony_ci
558113498266Sopenharmony_ci- RELEASE-NOTES: synced
558213498266Sopenharmony_ci
558313498266Sopenharmony_ci- asyn-thread: use pipe instead of socketpair for IPC when available
558413498266Sopenharmony_ci
558513498266Sopenharmony_ci  If pipe() is present. Less overhead.
558613498266Sopenharmony_ci
558713498266Sopenharmony_ci  Helped-by: Viktor Szakats
558813498266Sopenharmony_ci  Closes #12146
558913498266Sopenharmony_ci
559013498266Sopenharmony_ciDan Fandrich (17 Oct 2023)
559113498266Sopenharmony_ci
559213498266Sopenharmony_ci- tests: Fix Windows test helper tool search & use it for handle64
559313498266Sopenharmony_ci
559413498266Sopenharmony_ci  The checkcmd() and checktestcmd() functions would not have worked on
559513498266Sopenharmony_ci  Windows due to hard-coding the UNIX PATH separator character and not
559613498266Sopenharmony_ci  adding .exe file extension. This meant that tools like stunnel, valgrind
559713498266Sopenharmony_ci  and nghttpx would not have been found and used on Windows, and
559813498266Sopenharmony_ci  inspection of previous test runs show none of those being found in pure
559913498266Sopenharmony_ci  Windows CI builds.
560013498266Sopenharmony_ci
560113498266Sopenharmony_ci  With this fixed, they can be used to detect the handle64.exe program
560213498266Sopenharmony_ci  before attempting to use it. When handle64.exe was called
560313498266Sopenharmony_ci  unconditionally without it existing, it caused perl to abort the test
560413498266Sopenharmony_ci  run with the error
560513498266Sopenharmony_ci
560613498266Sopenharmony_ci      The running command stopped because the preference variable
560713498266Sopenharmony_ci      "ErrorActionPreference" or common parameter is set to Stop:
560813498266Sopenharmony_ci      sh: handle64.exe: command not found
560913498266Sopenharmony_ci
561013498266Sopenharmony_ci  Closes #12115
561113498266Sopenharmony_ci
561213498266Sopenharmony_ciDaniel Stenberg (17 Oct 2023)
561313498266Sopenharmony_ci
561413498266Sopenharmony_ci- multi: use pipe instead of socketpair to *wakeup()
561513498266Sopenharmony_ci
561613498266Sopenharmony_ci  If pipe() is present. Less overhead.
561713498266Sopenharmony_ci
561813498266Sopenharmony_ci  Closes #12142
561913498266Sopenharmony_ci
562013498266Sopenharmony_ciJay Satiro (17 Oct 2023)
562113498266Sopenharmony_ci
562213498266Sopenharmony_ci- build: fix 'threadsafe' feature detection for older gcc
562313498266Sopenharmony_ci
562413498266Sopenharmony_ci  - Add 'threadsafe' to the feature list shown during build if POSIX
562513498266Sopenharmony_ci    threads are being used.
562613498266Sopenharmony_ci
562713498266Sopenharmony_ci  This is a follow-up to 5adb6000 which added support for building a
562813498266Sopenharmony_ci  thread-safe libcurl with older versions of gcc where atomic is not
562913498266Sopenharmony_ci  available but pthread is.
563013498266Sopenharmony_ci
563113498266Sopenharmony_ci  Reported-by: Dan Fandrich
563213498266Sopenharmony_ci  Co-authored-by: Dan Fandrich
563313498266Sopenharmony_ci
563413498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12125
563513498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12127
563613498266Sopenharmony_ci
563713498266Sopenharmony_ciDaniel Stenberg (16 Oct 2023)
563813498266Sopenharmony_ci
563913498266Sopenharmony_ci- test729: verify socks4a with excessive proxy user name length
564013498266Sopenharmony_ci
564113498266Sopenharmony_ci- socks: better buffer size checks for socks4a user and hostname
564213498266Sopenharmony_ci
564313498266Sopenharmony_ci  Also limit the proxy user name to 255 bytes, which is the same limit as
564413498266Sopenharmony_ci  in SOCKS5.
564513498266Sopenharmony_ci
564613498266Sopenharmony_ci  Reported-by: sd0 on hackerone
564713498266Sopenharmony_ci  Closes #12139
564813498266Sopenharmony_ci
564913498266Sopenharmony_ci- curl.h: on FreeBSD include sys/param.h instead of osreldate.h
565013498266Sopenharmony_ci
565113498266Sopenharmony_ci  Should things build on Playstation as well
565213498266Sopenharmony_ci
565313498266Sopenharmony_ci  Fixes #12107
565413498266Sopenharmony_ci  Reported-by: Faraz Fallahi
565513498266Sopenharmony_ci  Closes #12123
565613498266Sopenharmony_ci
565713498266Sopenharmony_ciMarcin Rataj (16 Oct 2023)
565813498266Sopenharmony_ci
565913498266Sopenharmony_ci- tool_operate: fix links in ipfs errors
566013498266Sopenharmony_ci
566113498266Sopenharmony_ci  URL fragment links generated from headers in
566213498266Sopenharmony_ci  https://curl.se/docs/ipfs.html are lowercase.
566313498266Sopenharmony_ci
566413498266Sopenharmony_ci  Closes #12133
566513498266Sopenharmony_ci
566613498266Sopenharmony_ciViktor Szakats (15 Oct 2023)
566713498266Sopenharmony_ci
566813498266Sopenharmony_ci- cmake: replace `check_library_exists_concat()`
566913498266Sopenharmony_ci
567013498266Sopenharmony_ci  The idea of `check_library_exists_concat()` is that it detects an
567113498266Sopenharmony_ci  optional component and adds it to the list of libs that we also use in
567213498266Sopenharmony_ci  subsequent component checks. This caused problems when detecting
567313498266Sopenharmony_ci  components with unnecessary dependencies that were not yet built.
567413498266Sopenharmony_ci
567513498266Sopenharmony_ci  CMake offers the `CMAKE_REQUIRED_LIBRARIES` variable to set libs used
567613498266Sopenharmony_ci  for component checks, which we already use in most cases. That left 4
567713498266Sopenharmony_ci  uses of `check_library_exists_concat()`. Only one of these actually
567813498266Sopenharmony_ci  needed the 'concat' feature (ldap/lber).
567913498266Sopenharmony_ci
568013498266Sopenharmony_ci  Delete this function and replace it with standard
568113498266Sopenharmony_ci  `check_library_exists()` and manual management of our `CURL_LIBS`
568213498266Sopenharmony_ci  list we use when linking build targets. And special logic to handle the
568313498266Sopenharmony_ci  ldap/lber case.
568413498266Sopenharmony_ci
568513498266Sopenharmony_ci  (We have a similar function for headers: `check_include_file_concat()`.
568613498266Sopenharmony_ci  It works, but problematic for performance reasons and because it hides
568713498266Sopenharmony_ci  the actual headers required in `check_symbol_exists()` calls.)
568813498266Sopenharmony_ci
568913498266Sopenharmony_ci  Ref: #11537 #11558
569013498266Sopenharmony_ci  Fixes #11285
569113498266Sopenharmony_ci  Fixes #11648
569213498266Sopenharmony_ci  Closes #12070
569313498266Sopenharmony_ci
569413498266Sopenharmony_ciLoRd_MuldeR (15 Oct 2023)
569513498266Sopenharmony_ci
569613498266Sopenharmony_ci- tool_cb_wrt: fix write output for very old Windows versions
569713498266Sopenharmony_ci
569813498266Sopenharmony_ci  - Pass missing parameter for 'lpNumberOfCharsWritten' to WriteConsoleW()
569913498266Sopenharmony_ci    function.
570013498266Sopenharmony_ci
570113498266Sopenharmony_ci  Apparently this parameter was *not* optional on older Windows versions.
570213498266Sopenharmony_ci
570313498266Sopenharmony_ci  Issue observed on Windows XP SP2. Issue not observed on Windows 7 SP1.
570413498266Sopenharmony_ci  So at some point between those two Microsoft changed the behavior.
570513498266Sopenharmony_ci
570613498266Sopenharmony_ci  Prior to this change, on those versions if parameter is NULL then the
570713498266Sopenharmony_ci  function call fails with error ERROR_INVALID_ACCESS.
570813498266Sopenharmony_ci
570913498266Sopenharmony_ci  Regression since af3f4e41.
571013498266Sopenharmony_ci
571113498266Sopenharmony_ci  Ref: https://github.com/MicrosoftDocs/Console-Docs/issues/299
571213498266Sopenharmony_ci
571313498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12131
571413498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12130
571513498266Sopenharmony_ci
571613498266Sopenharmony_ciJay Satiro (15 Oct 2023)
571713498266Sopenharmony_ci
571813498266Sopenharmony_ci- tool_urlglob: fix build for old gcc versions
571913498266Sopenharmony_ci
572013498266Sopenharmony_ci  - Don't use __builtin_mul_overflow for GCC 4 and earlier.
572113498266Sopenharmony_ci
572213498266Sopenharmony_ci  The function was added in GCC 5.
572313498266Sopenharmony_ci
572413498266Sopenharmony_ci  Ref: https://gcc.gnu.org/gcc-5/changes.html
572513498266Sopenharmony_ci
572613498266Sopenharmony_ci  Reported-by: Dan Fandrich
572713498266Sopenharmony_ci
572813498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12124
572913498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12128
573013498266Sopenharmony_ci
573113498266Sopenharmony_ciCarlos Henrique Lima Melara (14 Oct 2023)
573213498266Sopenharmony_ci
573313498266Sopenharmony_ci- docs/libcurl: fix three minor man page format mistakes
573413498266Sopenharmony_ci
573513498266Sopenharmony_ci  Reported-by: Samuel Henrique
573613498266Sopenharmony_ci
573713498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12126
573813498266Sopenharmony_ci
573913498266Sopenharmony_ciJay Satiro (14 Oct 2023)
574013498266Sopenharmony_ci
574113498266Sopenharmony_ci- tests/server: add more SOCKS5 handshake error checking
574213498266Sopenharmony_ci
574313498266Sopenharmony_ci  - Add additional checking for missing and too-short SOCKS5 handshake
574413498266Sopenharmony_ci    messages.
574513498266Sopenharmony_ci
574613498266Sopenharmony_ci  Prior to this change the SOCKS5 test server did not check that all parts
574713498266Sopenharmony_ci  of the handshake were received successfully. If those parts were missing
574813498266Sopenharmony_ci  or too short then the server would access uninitialized memory.
574913498266Sopenharmony_ci
575013498266Sopenharmony_ci  This issue was discovered in CI job 'memory-sanitizer' test results.
575113498266Sopenharmony_ci  Test 2055 was failing due to the SOCKS5 test server not running. It was
575213498266Sopenharmony_ci  not running because either it crashed or memory sanitizer aborted it
575313498266Sopenharmony_ci  during Test 728. Test 728 connects to the SOCKS5 test server on a
575413498266Sopenharmony_ci  redirect but does not send any data on purpose. The test server was not
575513498266Sopenharmony_ci  prepared for that.
575613498266Sopenharmony_ci
575713498266Sopenharmony_ci  Reported-by: Dan Fandrich
575813498266Sopenharmony_ci
575913498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/12117
576013498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12118
576113498266Sopenharmony_ci
576213498266Sopenharmony_ciDaniel Stenberg (14 Oct 2023)
576313498266Sopenharmony_ci
576413498266Sopenharmony_ci- RELEASE-NOTES: synced
576513498266Sopenharmony_ci
576613498266Sopenharmony_ciSohom Datta (14 Oct 2023)
576713498266Sopenharmony_ci
576813498266Sopenharmony_ci- tool_getparam: limit --rate to be smaller than number of ms
576913498266Sopenharmony_ci
577013498266Sopenharmony_ci  Currently, curl allows users to specify absurd request rates that might
577113498266Sopenharmony_ci  be higher than the number of milliseconds in the unit (ex: curl --rate
577213498266Sopenharmony_ci  3600050/h http://localhost:8080 does not error out despite there being
577313498266Sopenharmony_ci  only 3600000ms in a hour).
577413498266Sopenharmony_ci
577513498266Sopenharmony_ci  This change adds a conditional check before the millisecond calculation
577613498266Sopenharmony_ci  making sure that the number is not higher than the numerator (the unit)
577713498266Sopenharmony_ci  If the number is higher, curl errors out with PARAM_NUMBER_TOO_LARGE
577813498266Sopenharmony_ci
577913498266Sopenharmony_ci  Closes #12116
578013498266Sopenharmony_ci
578113498266Sopenharmony_ciDaniel Stenberg (14 Oct 2023)
578213498266Sopenharmony_ci
578313498266Sopenharmony_ci- opts: fix two minor man page format mistakes
578413498266Sopenharmony_ci
578513498266Sopenharmony_ciJay Satiro (14 Oct 2023)
578613498266Sopenharmony_ci
578713498266Sopenharmony_ci- curl_trc: remove a bad assertion
578813498266Sopenharmony_ci
578913498266Sopenharmony_ci  - Remove DEBUGASSERT that an internal handle must not have user
579013498266Sopenharmony_ci    private_data set before calling the user's debug callback.
579113498266Sopenharmony_ci
579213498266Sopenharmony_ci  This is a follow-up to 0dc40b2a. The user can distinguish their easy
579313498266Sopenharmony_ci  handle from an internal easy handle by setting CURLOPT_PRIVATE on their
579413498266Sopenharmony_ci  easy handle. I had wrongly assumed that meant the user couldn't then
579513498266Sopenharmony_ci  set CURLOPT_PRIVATE on an internal handle as well.
579613498266Sopenharmony_ci
579713498266Sopenharmony_ci  Bug: https://github.com/curl/curl/pull/12060#issuecomment-1754594697
579813498266Sopenharmony_ci  Reported-by: Daniel Stenberg
579913498266Sopenharmony_ci
580013498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12104
580113498266Sopenharmony_ci
580213498266Sopenharmony_ciDan Fandrich (13 Oct 2023)
580313498266Sopenharmony_ci
580413498266Sopenharmony_ci- test613: stop showing an error on missing output file
580513498266Sopenharmony_ci
580613498266Sopenharmony_ci  This test would show an error message if the output was missing during
580713498266Sopenharmony_ci  the log post-processing step, but the message was not captured by the
580813498266Sopenharmony_ci  test harness and wasn't useful since the normal golden log file
580913498266Sopenharmony_ci  comparison would the problem more clearly.
581013498266Sopenharmony_ci
581113498266Sopenharmony_ciStefan Eissing (13 Oct 2023)
581213498266Sopenharmony_ci
581313498266Sopenharmony_ci- quic: manage connection idle timeouts
581413498266Sopenharmony_ci
581513498266Sopenharmony_ci  - configure a 120s idle timeout on our side of the connection
581613498266Sopenharmony_ci  - track the timestamp when actual socket IO happens
581713498266Sopenharmony_ci  - check IO timestamp to our *and* the peer's idle timeouts
581813498266Sopenharmony_ci    in "is this connection alive" checks
581913498266Sopenharmony_ci
582013498266Sopenharmony_ci  Reported-by: calvin2021y on github
582113498266Sopenharmony_ci  Fixes #12064
582213498266Sopenharmony_ci  Closes #12077
582313498266Sopenharmony_ci
582413498266Sopenharmony_ciDan Fandrich (13 Oct 2023)
582513498266Sopenharmony_ci
582613498266Sopenharmony_ci- CI: ignore test 286 on Appveyor gcc 9 build
582713498266Sopenharmony_ci
582813498266Sopenharmony_ci  This test fails sometimes with a super fast retry loop due to what may
582913498266Sopenharmony_ci  just be a compiler bug. The test results are ignored on the one CI job
583013498266Sopenharmony_ci  where it occurs because there seems to be nothing we can do to fix it.
583113498266Sopenharmony_ci
583213498266Sopenharmony_ci  Fixes #12040
583313498266Sopenharmony_ci  Closes #12106
583413498266Sopenharmony_ci
583513498266Sopenharmony_ciViktor Szakats (13 Oct 2023)
583613498266Sopenharmony_ci
583713498266Sopenharmony_ci- lib: fix gcc warning in printf call
583813498266Sopenharmony_ci
583913498266Sopenharmony_ci  Do not pass NULL to printf %s.
584013498266Sopenharmony_ci
584113498266Sopenharmony_ci  Seen with gcc 13.2.0 on Debian:
584213498266Sopenharmony_ci  ```
584313498266Sopenharmony_ci  .../curl/lib/connect.c:696:27: warning: '%s' directive argument is null [-Wfo
584413498266Sopenharmony_ci  rmat-overflow=]
584513498266Sopenharmony_ci  ```
584613498266Sopenharmony_ci  Ref: https://github.com/curl/curl-for-win/actions/runs/6476161689/job/1758442
584713498266Sopenharmony_ci  6483#step:3:11104
584813498266Sopenharmony_ci
584913498266Sopenharmony_ci  Ref: #10284
585013498266Sopenharmony_ci  Co-authored-by: Jay Satiro
585113498266Sopenharmony_ci  Closes #12082
585213498266Sopenharmony_ci
585313498266Sopenharmony_ciAlex Klyubin (13 Oct 2023)
585413498266Sopenharmony_ci
585513498266Sopenharmony_ci- http2: safer invocation of populate_binsettings
585613498266Sopenharmony_ci
585713498266Sopenharmony_ci  populate_binsettings now returns a negative value on error, instead of a
585813498266Sopenharmony_ci  huge positive value. Both places which call this function have been
585913498266Sopenharmony_ci  updated to handle this change in its contract.
586013498266Sopenharmony_ci
586113498266Sopenharmony_ci  The way populate_binsettings had been used prior to this change the huge
586213498266Sopenharmony_ci  positive values -- due to signed->unsigned conversion of the potentially
586313498266Sopenharmony_ci  negative result of nghttp2_pack_settings_payload which returns negative
586413498266Sopenharmony_ci  values on error -- are not possible. But only because http2.c currently
586513498266Sopenharmony_ci  always provides a large enough output buffer and provides H2 SETTINGS
586613498266Sopenharmony_ci  IVs which pass the verification logic inside nghttp2.  If the
586713498266Sopenharmony_ci  verification logic were to change or if http2.c started passing in more
586813498266Sopenharmony_ci  IVs without increasing the output buffer size, the overflow could become
586913498266Sopenharmony_ci  reachable, and libcurl/curl might start leaking memory contents to
587013498266Sopenharmony_ci  servers/proxies...
587113498266Sopenharmony_ci
587213498266Sopenharmony_ci  Closes #12101
587313498266Sopenharmony_ci
587413498266Sopenharmony_ciDaniel Stenberg (13 Oct 2023)
587513498266Sopenharmony_ci
587613498266Sopenharmony_ci- openssl: avoid BN_num_bits() NULL pointer derefs
587713498266Sopenharmony_ci
587813498266Sopenharmony_ci  Reported-by: icy17 on github
587913498266Sopenharmony_ci  Fixes #12099
588013498266Sopenharmony_ci  Closes #12100
588113498266Sopenharmony_ci
588213498266Sopenharmony_ci- wolfssl: require WOLFSSL_SYS_CA_CERTS for loading system CA
588313498266Sopenharmony_ci
588413498266Sopenharmony_ci  This define is set in wolfssl's options.h file when this function and
588513498266Sopenharmony_ci  feature is present. Handles both builds with the feature explicitly
588613498266Sopenharmony_ci  disabled and wolfSSL versions before 5.5.2 - which introduced this API
588713498266Sopenharmony_ci  call.
588813498266Sopenharmony_ci
588913498266Sopenharmony_ci  Closes #12108
589013498266Sopenharmony_ci
589113498266Sopenharmony_ci- tool_urlglob: make multiply() bail out on negative values
589213498266Sopenharmony_ci
589313498266Sopenharmony_ci  - Does not work correctly with negative values
589413498266Sopenharmony_ci  - use __builtin_mul_overflow() on gcc
589513498266Sopenharmony_ci
589613498266Sopenharmony_ci  Reported-by: Torben Dury
589713498266Sopenharmony_ci  Closes #12102
589813498266Sopenharmony_ci
589913498266Sopenharmony_ciLoïc Yhuel (13 Oct 2023)
590013498266Sopenharmony_ci
590113498266Sopenharmony_ci- cmake: fix CURL_DISABLE_GETOPTIONS
590213498266Sopenharmony_ci
590313498266Sopenharmony_ci  - Add CURL_DISABLE_GETOPTIONS to curl_config.h.cmake.
590413498266Sopenharmony_ci
590513498266Sopenharmony_ci  Prior to this change the option had no effect because it was missing
590613498266Sopenharmony_ci  from that file.
590713498266Sopenharmony_ci
590813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12091
590913498266Sopenharmony_ci
591013498266Sopenharmony_ci- easy_lock: add a pthread_mutex_t fallback
591113498266Sopenharmony_ci
591213498266Sopenharmony_ci  This allows to keep the init threadsafe with gcc < 4.9.0 (no C11
591313498266Sopenharmony_ci  atomics).
591413498266Sopenharmony_ci
591513498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12090
591613498266Sopenharmony_ci
591713498266Sopenharmony_ciViktor Szakats (12 Oct 2023)
591813498266Sopenharmony_ci
591913498266Sopenharmony_ci- CI: add autotools, out-of-tree, debug build to distro check job
592013498266Sopenharmony_ci
592113498266Sopenharmony_ci  Add a job that builds curl from a generated source tarball sample, with
592213498266Sopenharmony_ci  autotools, out-of-tree, in debug mode.
592313498266Sopenharmony_ci
592413498266Sopenharmony_ci  Ref: #12085
592513498266Sopenharmony_ci  Closes #12088
592613498266Sopenharmony_ci
592713498266Sopenharmony_ciDaniel Stenberg (12 Oct 2023)
592813498266Sopenharmony_ci
592913498266Sopenharmony_ci- http: avoid Expect: 100-continue if Upgrade: is used
593013498266Sopenharmony_ci
593113498266Sopenharmony_ci  Reported-by: Daniel Jelinski
593213498266Sopenharmony_ci  Fixes #12022
593313498266Sopenharmony_ci  Closes #12062
593413498266Sopenharmony_ci
593513498266Sopenharmony_ciJan Alexander Steffens (heftig) (12 Oct 2023)
593613498266Sopenharmony_ci
593713498266Sopenharmony_ci- docs: use SOURCE_DATE_EPOCH for generated manpages
593813498266Sopenharmony_ci
593913498266Sopenharmony_ci  This should make builds from Git reproducible.
594013498266Sopenharmony_ci
594113498266Sopenharmony_ci  Closes #12092
594213498266Sopenharmony_ci
594313498266Sopenharmony_ciDaniel Stenberg (12 Oct 2023)
594413498266Sopenharmony_ci
594513498266Sopenharmony_ci- RELEASE-NOTES: synced
594613498266Sopenharmony_ci
594713498266Sopenharmony_ci  Bumped to 8.4.1
594813498266Sopenharmony_ci
594913498266Sopenharmony_ciViktor Szakats (12 Oct 2023)
595013498266Sopenharmony_ci
595113498266Sopenharmony_ci- cmake: fix `HAVE_H_ERRNO_ASSIGNABLE` detection
595213498266Sopenharmony_ci
595313498266Sopenharmony_ci  Fix `HAVE_H_ERRNO_ASSIGNABLE` to not run, only compile its test snippet,
595413498266Sopenharmony_ci  aligning this with autotools. This fixes an error when doing
595513498266Sopenharmony_ci  cross-builds and also actually detects this feature. It affected systems
595613498266Sopenharmony_ci  not allowlisted into this, e.g. SerenityOS.
595713498266Sopenharmony_ci
595813498266Sopenharmony_ci  We used this detection result to enable `HAVE_GETADDRINFO_THREADSAFE`.
595913498266Sopenharmony_ci
596013498266Sopenharmony_ci  Follow-up to 04a3a377d83fd72c4cf7a96c9cb6d44785e33264 #11979
596113498266Sopenharmony_ci  Ref: #12095 (closed in favour of this patch)
596213498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
596313498266Sopenharmony_ci
596413498266Sopenharmony_ci  Reported-by: Kartatz on Github
596513498266Sopenharmony_ci  Assisted-by: Kartatz on Github
596613498266Sopenharmony_ci  Fixes #12093
596713498266Sopenharmony_ci  Closes #12094
596813498266Sopenharmony_ci
596913498266Sopenharmony_ci- build: add `src/.checksrc` to source tarball
597013498266Sopenharmony_ci
597113498266Sopenharmony_ci  Regression from e5bb88b8f824ed87620bd923552534c83c2a516e #11958
597213498266Sopenharmony_ci
597313498266Sopenharmony_ci  Bug: https://github.com/curl/curl/pull/11958#issuecomment-1757079071
597413498266Sopenharmony_ci  Reported-by: Romain Geissler
597513498266Sopenharmony_ci  Fixes #12084
597613498266Sopenharmony_ci  Closes #12085
597713498266Sopenharmony_ci
597813498266Sopenharmony_ciVersion 8.4.0 (11 Oct 2023)
597913498266Sopenharmony_ci
598013498266Sopenharmony_ciDaniel Stenberg (11 Oct 2023)
598113498266Sopenharmony_ci
598213498266Sopenharmony_ci- RELEASE-NOTES: synced
598313498266Sopenharmony_ci
598413498266Sopenharmony_ci- THANKS: add contributors from 8.4.0
598513498266Sopenharmony_ci
598613498266Sopenharmony_ciJay Satiro (11 Oct 2023)
598713498266Sopenharmony_ci
598813498266Sopenharmony_ci- socks: return error if hostname too long for remote resolve
598913498266Sopenharmony_ci
599013498266Sopenharmony_ci  Prior to this change the state machine attempted to change the remote
599113498266Sopenharmony_ci  resolve to a local resolve if the hostname was longer than 255
599213498266Sopenharmony_ci  characters. Unfortunately that did not work as intended and caused a
599313498266Sopenharmony_ci  security issue.
599413498266Sopenharmony_ci
599513498266Sopenharmony_ci  Bug: https://curl.se/docs/CVE-2023-38545.html
599613498266Sopenharmony_ci
599713498266Sopenharmony_ciStefan Eissing (10 Oct 2023)
599813498266Sopenharmony_ci
599913498266Sopenharmony_ci- CI: remove slowed-network tests
600013498266Sopenharmony_ci
600113498266Sopenharmony_ci  - remove these tests as they are currently not reliable in our CI
600213498266Sopenharmony_ci    setups.
600313498266Sopenharmony_ci
600413498266Sopenharmony_ci  curl handles the test cases, but CI sometimes fails on these due to
600513498266Sopenharmony_ci  additional conditions. Rather than mix them in, an additional CI job
600613498266Sopenharmony_ci  will be added in the future that is specific to them.
600713498266Sopenharmony_ci
600813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12075
600913498266Sopenharmony_ci
601013498266Sopenharmony_ciJay Satiro (10 Oct 2023)
601113498266Sopenharmony_ci
601213498266Sopenharmony_ci- libcurl-env-dbg.3: move debug variables from libcurl-env.3
601313498266Sopenharmony_ci
601413498266Sopenharmony_ci  - Move documentation of libcurl environment variables used only in debug
601513498266Sopenharmony_ci    builds from libcurl-env into a separate document libcurl-env-dbg.
601613498266Sopenharmony_ci
601713498266Sopenharmony_ci  - Document more debug environment variables.
601813498266Sopenharmony_ci
601913498266Sopenharmony_ci  Previously undocumented or missing a description:
602013498266Sopenharmony_ci
602113498266Sopenharmony_ci  CURL_ALTSVC_HTTP, CURL_DBG_SOCK_WBLOCK, CURL_DBG_SOCK_WPARTIAL,
602213498266Sopenharmony_ci  CURL_DBG_QUIC_WBLOCK, CURL_DEBUG, CURL_DEBUG_SIZE, CURL_GETHOSTNAME,
602313498266Sopenharmony_ci  CURL_HSTS_HTTP, CURL_FORCETIME, CURL_SMALLREQSEND, CURL_SMALLSENDS,
602413498266Sopenharmony_ci  CURL_TIME.
602513498266Sopenharmony_ci
602613498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11811
602713498266Sopenharmony_ci
602813498266Sopenharmony_ciDan Fandrich (9 Oct 2023)
602913498266Sopenharmony_ci
603013498266Sopenharmony_ci- test670: increase the test timeout
603113498266Sopenharmony_ci
603213498266Sopenharmony_ci  This should make it more immune to loaded servers.
603313498266Sopenharmony_ci
603413498266Sopenharmony_ci  Ref: #11328
603513498266Sopenharmony_ci
603613498266Sopenharmony_ciStefan Eissing (9 Oct 2023)
603713498266Sopenharmony_ci
603813498266Sopenharmony_ci- MQTT: improve receive of ACKs
603913498266Sopenharmony_ci
604013498266Sopenharmony_ci  - add `mq->recvbuf` to provide buffering of incomplete
604113498266Sopenharmony_ci    ACK responses
604213498266Sopenharmony_ci  - continue ACK reading until sufficient bytes available
604313498266Sopenharmony_ci  - fixes test failures on low network receives
604413498266Sopenharmony_ci
604513498266Sopenharmony_ci  Closes #12071
604613498266Sopenharmony_ci
604713498266Sopenharmony_ciViktor Szakats (9 Oct 2023)
604813498266Sopenharmony_ci
604913498266Sopenharmony_ci- quic: fix BoringSSL build
605013498266Sopenharmony_ci
605113498266Sopenharmony_ci  Add guard around `SSL_CTX_set_ciphersuites()` use.
605213498266Sopenharmony_ci
605313498266Sopenharmony_ci  Bug: https://github.com/curl/curl/pull/12065#issuecomment-1752171885
605413498266Sopenharmony_ci
605513498266Sopenharmony_ci  Follow-up to aa9a6a177017e4b74d33cdf85a3594900f4a7f81
605613498266Sopenharmony_ci
605713498266Sopenharmony_ci  Co-authored-by: Jay Satiro
605813498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
605913498266Sopenharmony_ci  Closes #12067
606013498266Sopenharmony_ci
606113498266Sopenharmony_ciStefan Eissing (9 Oct 2023)
606213498266Sopenharmony_ci
606313498266Sopenharmony_ci- test1540: improve reliability
606413498266Sopenharmony_ci
606513498266Sopenharmony_ci  - print that bytes have been received on pausing, but not how many
606613498266Sopenharmony_ci
606713498266Sopenharmony_ci  Closes #12069
606813498266Sopenharmony_ci
606913498266Sopenharmony_ci- test2302: improve reliability
607013498266Sopenharmony_ci
607113498266Sopenharmony_ci  - make result print collected write data, unless
607213498266Sopenharmony_ci    change in meta flags is detected
607313498266Sopenharmony_ci  - will show same result even when data arrives via
607413498266Sopenharmony_ci    several writecb invocations
607513498266Sopenharmony_ci
607613498266Sopenharmony_ci  Closes #12068
607713498266Sopenharmony_ci
607813498266Sopenharmony_ciDaniel Stenberg (9 Oct 2023)
607913498266Sopenharmony_ci
608013498266Sopenharmony_ci- curl_easy_pause: set "in callback" true on exit if true
608113498266Sopenharmony_ci
608213498266Sopenharmony_ci  Because it might have called another callback in the mean time that then
608313498266Sopenharmony_ci  set the bit FALSE on exit.
608413498266Sopenharmony_ci
608513498266Sopenharmony_ci  Reported-by: Jay Satiro
608613498266Sopenharmony_ci  Fixes #12059
608713498266Sopenharmony_ci  Closes #12061
608813498266Sopenharmony_ci
608913498266Sopenharmony_ciViktor Szakats (8 Oct 2023)
609013498266Sopenharmony_ci
609113498266Sopenharmony_ci- h3: add support for ngtcp2 with AWS-LC builds
609213498266Sopenharmony_ci
609313498266Sopenharmony_ci  ```
609413498266Sopenharmony_ci  curl 8.4.0-DEV (x86_64-apple-darwin) libcurl/8.4.0-DEV (SecureTransport) AWS-
609513498266Sopenharmony_ci  LC/1.15.0 nghttp2/1.56.0 ngtcp2/0.19.1 nghttp3/0.15.0
609613498266Sopenharmony_ci  Release-Date: [unreleased]
609713498266Sopenharmony_ci  Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps
609813498266Sopenharmony_ci   mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss
609913498266Sopenharmony_ci  Features: alt-svc AsynchDNS HSTS HTTP2 HTTP3 HTTPS-proxy IPv6 Largefile Multi
610013498266Sopenharmony_ci  SSL NTLM SSL threadsafe UnixSockets
610113498266Sopenharmony_ci  ```
610213498266Sopenharmony_ci
610313498266Sopenharmony_ci  Also delete an obsolete GnuTLS TODO and update the header comment in
610413498266Sopenharmony_ci  `FindNGTCP2.cmake`.
610513498266Sopenharmony_ci
610613498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
610713498266Sopenharmony_ci  Closes #12066
610813498266Sopenharmony_ci
610913498266Sopenharmony_ci- build: do not publish `HAVE_BORINGSSL`, `HAVE_AWSLC` macros
611013498266Sopenharmony_ci
611113498266Sopenharmony_ci  Syncing this up with CMake.
611213498266Sopenharmony_ci
611313498266Sopenharmony_ci  Source code uses the built-in `OPENSSL_IS_AWSLC` and
611413498266Sopenharmony_ci  `OPENSSL_IS_BORINSSL` macros to detect BoringSSL and AWS-LC. No help is
611513498266Sopenharmony_ci  necessary from the build tools.
611613498266Sopenharmony_ci
611713498266Sopenharmony_ci  The one use of `HAVE_BORINGSSL` in the source turned out to be no longer
611813498266Sopenharmony_ci  necessary for warning-free BoringSSL + Schannel builds. Ref: #1610 #2634
611913498266Sopenharmony_ci
612013498266Sopenharmony_ci  autotools detects this anyway for display purposes.
612113498266Sopenharmony_ci  CMake detects this to decide whether to use the BoringSSL-specific
612213498266Sopenharmony_ci  crypto lib with ngtcp2. It detects AWS-LC, but doesn't use the detection
612313498266Sopenharmony_ci  result just yet (planned in #12066).
612413498266Sopenharmony_ci
612513498266Sopenharmony_ci  Ref: #11964
612613498266Sopenharmony_ci
612713498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
612813498266Sopenharmony_ci  Reviewed-by: Jay Satiro
612913498266Sopenharmony_ci  Closes #12065
613013498266Sopenharmony_ci
613113498266Sopenharmony_ciMarc Hoersken (8 Oct 2023)
613213498266Sopenharmony_ci
613313498266Sopenharmony_ci- CI: move distcheck job from Azure Pipelines to GitHub Actions
613413498266Sopenharmony_ci
613513498266Sopenharmony_ci  This will allow for more trigger excludes within Azure Pipelines.
613613498266Sopenharmony_ci
613713498266Sopenharmony_ci  Also fixes seemingly broken check with scripts/installcheck.sh.
613813498266Sopenharmony_ci  Ref: 190374c74ec4e5247d9066544c86e8d095e1d7b5
613913498266Sopenharmony_ci
614013498266Sopenharmony_ci  Assisted-by: Philip Heiduck
614113498266Sopenharmony_ci  Closes #9532
614213498266Sopenharmony_ci
614313498266Sopenharmony_ciDaniel Stenberg (8 Oct 2023)
614413498266Sopenharmony_ci
614513498266Sopenharmony_ci- url: fall back to http/https proxy env-variable if ws/wss not set
614613498266Sopenharmony_ci
614713498266Sopenharmony_ci  Reported-by: Craig Andrews
614813498266Sopenharmony_ci  Fixes #12031
614913498266Sopenharmony_ci  Closes #12058
615013498266Sopenharmony_ci
615113498266Sopenharmony_ciStefan Eissing (8 Oct 2023)
615213498266Sopenharmony_ci
615313498266Sopenharmony_ci- cf-socket: simulate slow/blocked receives in debug
615413498266Sopenharmony_ci
615513498266Sopenharmony_ci  add 2 env variables for non-UDP sockets:
615613498266Sopenharmony_ci  1. CURL_DBG_SOCK_RBLOCK: percentage of receive calls that randomly
615713498266Sopenharmony_ci     should return EAGAIN
615813498266Sopenharmony_ci  2. CURL_DBG_SOCK_RMAX: max amount of bytes read from socket
615913498266Sopenharmony_ci
616013498266Sopenharmony_ci  Closes #12035
616113498266Sopenharmony_ci
616213498266Sopenharmony_ci- http2: refused stream handling for retry
616313498266Sopenharmony_ci
616413498266Sopenharmony_ci  - answer HTTP/2 streams refused via a GOAWAY from the server to
616513498266Sopenharmony_ci    respond with CURLE_RECV_ERROR in order to trigger a retry
616613498266Sopenharmony_ci    on another connection
616713498266Sopenharmony_ci
616813498266Sopenharmony_ci  Reported-by: black-desk on github
616913498266Sopenharmony_ci  Ref #11859
617013498266Sopenharmony_ci  Closes #12054
617113498266Sopenharmony_ci
617213498266Sopenharmony_ciJay Satiro (8 Oct 2023)
617313498266Sopenharmony_ci
617413498266Sopenharmony_ci- CURLOPT_DEBUGFUNCTION.3: warn about internal handles
617513498266Sopenharmony_ci
617613498266Sopenharmony_ci  - Warn that the user's debug callback may be called with the handle
617713498266Sopenharmony_ci    parameter set to an internal handle.
617813498266Sopenharmony_ci
617913498266Sopenharmony_ci  Without this warning the user may assume that the only handles their
618013498266Sopenharmony_ci  debug callback receives are the easy handles on which they set
618113498266Sopenharmony_ci  CURLOPT_DEBUGFUNCTION.
618213498266Sopenharmony_ci
618313498266Sopenharmony_ci  This is a follow-up to f8cee8cc which changed DoH handles to inherit
618413498266Sopenharmony_ci  the debug callback function set in the user's easy handle. As a result
618513498266Sopenharmony_ci  those handles are now passed to the user's debug callback function.
618613498266Sopenharmony_ci
618713498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/12034
618813498266Sopenharmony_ci
618913498266Sopenharmony_ci- url: fix typo
619013498266Sopenharmony_ci
619113498266Sopenharmony_ciDaniel Stenberg (8 Oct 2023)
619213498266Sopenharmony_ci
619313498266Sopenharmony_ci- test458: verify --expand-output, expanding a file name accepting option
619413498266Sopenharmony_ci
619513498266Sopenharmony_ci  Verifies the fix in #12055 (commit f2c8086ff15e6e995e1)
619613498266Sopenharmony_ci
619713498266Sopenharmony_ci- tool_getparam: accept variable expansion on file names too
619813498266Sopenharmony_ci
619913498266Sopenharmony_ci  Reported-by: PBudmark on github
620013498266Sopenharmony_ci  Fixes #12048
620113498266Sopenharmony_ci  Closes #12055
620213498266Sopenharmony_ci
620313498266Sopenharmony_ci- RELEASE-NOTES: synced
620413498266Sopenharmony_ci
620513498266Sopenharmony_ci- multi: do CURLM_CALL_MULTI_PERFORM at two more places
620613498266Sopenharmony_ci
620713498266Sopenharmony_ci  ... when it does a state transition but there is no particular socket or
620813498266Sopenharmony_ci  timer activity. This was made apparent when commit b5bb84c removed a
620913498266Sopenharmony_ci  superfluous timer expiry.
621013498266Sopenharmony_ci
621113498266Sopenharmony_ci  Reported-by: Dan Fandrich.
621213498266Sopenharmony_ci  Fixes #12033
621313498266Sopenharmony_ci  Closes #12056
621413498266Sopenharmony_ci
621513498266Sopenharmony_ciViktor Szakats (7 Oct 2023)
621613498266Sopenharmony_ci
621713498266Sopenharmony_ci- GHA/linux: mbedtls 3.5.0 + minor dep bumps
621813498266Sopenharmony_ci
621913498266Sopenharmony_ci  Closes #12057
622013498266Sopenharmony_ci
622113498266Sopenharmony_ciDan Fandrich (7 Oct 2023)
622213498266Sopenharmony_ci
622313498266Sopenharmony_ci- CI: bump OpenLDAP package version on FreeBSD
622413498266Sopenharmony_ci
622513498266Sopenharmony_ci  The old one is no longer available.
622613498266Sopenharmony_ci
622713498266Sopenharmony_ciMarc Hoersken (7 Oct 2023)
622813498266Sopenharmony_ci
622913498266Sopenharmony_ci- docs/libcurl/opts/Makefile.inc: add missing manpage files
623013498266Sopenharmony_ci
623113498266Sopenharmony_ci  Detected with #9532
623213498266Sopenharmony_ci
623313498266Sopenharmony_ciDan Fandrich (7 Oct 2023)
623413498266Sopenharmony_ci
623513498266Sopenharmony_ci- tests: fix a race condition in ftp server disconnect
623613498266Sopenharmony_ci
623713498266Sopenharmony_ci  If a client disconnected and reconnected quickly, before the ftp server
623813498266Sopenharmony_ci  had a chance to respond, the protocol message/ack (ping/pong) sequence
623913498266Sopenharmony_ci  got out of sync, causing messages sent to the old client to be delivered
624013498266Sopenharmony_ci  to the new.  A disconnect must now be acknowledged and intermediate
624113498266Sopenharmony_ci  requests thrown out until it is, which ensures that such synchronization
624213498266Sopenharmony_ci  problems can't occur. This problem could affect ftp, pop3, imap and smtp
624313498266Sopenharmony_ci  tests.
624413498266Sopenharmony_ci
624513498266Sopenharmony_ci  Fixes #12002
624613498266Sopenharmony_ci  Closes #12049
624713498266Sopenharmony_ci
624813498266Sopenharmony_ciViktor Szakats (7 Oct 2023)
624913498266Sopenharmony_ci
625013498266Sopenharmony_ci- appveyor: bump mingw-w64 job to gcc 13 (was: 8)
625113498266Sopenharmony_ci
625213498266Sopenharmony_ci  This sets gcc 6, 7, 9, 13 in our test mix (was: 6, 7, 8, 9).
625313498266Sopenharmony_ci  Adding a modern gcc version to the tests.
625413498266Sopenharmony_ci
625513498266Sopenharmony_ci  (The gcc 8 job used to take around 50 minutes. The new image with gcc 13
625613498266Sopenharmony_ci  finished in 32, 35, 34 minutes in the 3 test runs so far.)
625713498266Sopenharmony_ci
625813498266Sopenharmony_ci  It also adds a modern CMake version and OS env to our mingw-w64 builds.
625913498266Sopenharmony_ci
626013498266Sopenharmony_ci  Closes #12051
626113498266Sopenharmony_ci
626213498266Sopenharmony_ciDavid Benjamin (6 Oct 2023)
626313498266Sopenharmony_ci
626413498266Sopenharmony_ci- openssl: use X509_ALGOR_get0 instead of reaching into X509_ALGOR
626513498266Sopenharmony_ci
626613498266Sopenharmony_ci  While the struct is still public in OpenSSL, there is a (somewhat
626713498266Sopenharmony_ci  inconvenient) accessor. Use it to remain compatible if it becomes opaque
626813498266Sopenharmony_ci  in the future.
626913498266Sopenharmony_ci
627013498266Sopenharmony_ci  Closes #12038
627113498266Sopenharmony_ci
627213498266Sopenharmony_ciDaniel Stenberg (6 Oct 2023)
627313498266Sopenharmony_ci
627413498266Sopenharmony_ci- curl_easy_pause.3: mention it works within callbacks
627513498266Sopenharmony_ci
627613498266Sopenharmony_ci  Reported-by: Maxim Dzhura
627713498266Sopenharmony_ci  Bug: https://curl.se/mail/lib-2023-10/0010.html
627813498266Sopenharmony_ci  Closes #12046
627913498266Sopenharmony_ci
628013498266Sopenharmony_ci- curl_easy_pause.3: mention h2/h3 buffering
628113498266Sopenharmony_ci
628213498266Sopenharmony_ci  Asked-by: Maxim Dzhura
628313498266Sopenharmony_ci  Ref: https://curl.se/mail/lib-2023-10/0011.html
628413498266Sopenharmony_ci
628513498266Sopenharmony_ci  Closes #12045
628613498266Sopenharmony_ci
628713498266Sopenharmony_ciViktor Szakats (6 Oct 2023)
628813498266Sopenharmony_ci
628913498266Sopenharmony_ci- cmake: re-add missed C89 headers for specific detections
629013498266Sopenharmony_ci
629113498266Sopenharmony_ci  We removed C89 `setjmp.h` and `signal.h` detections and excluded them
629213498266Sopenharmony_ci  from the global header list we use when detecting functions [1]. Then
629313498266Sopenharmony_ci  missed to re-add these headers to the specific functions which need
629413498266Sopenharmony_ci  them to be detected [2]. Fix this omission in this patch.
629513498266Sopenharmony_ci
629613498266Sopenharmony_ci  [1] Follow-up to 3795fcde995d96db641ddbcc8a04f9f0f03bef9f #11951
629713498266Sopenharmony_ci  [2] Follow-up to 96c29900bcec32dd6bc8e9857c8871ff4b8b8ed9 #11940
629813498266Sopenharmony_ci
629913498266Sopenharmony_ci  Closes #12043
630013498266Sopenharmony_ci
630113498266Sopenharmony_ciDaniel Stenberg (6 Oct 2023)
630213498266Sopenharmony_ci
630313498266Sopenharmony_ci- multi: set CURLM_CALL_MULTI_PERFORM after switch to DOING_MORE
630413498266Sopenharmony_ci
630513498266Sopenharmony_ci  Since there is nothing to wait for there. Avoids the test 1233 hang
630613498266Sopenharmony_ci  reported in #12033.
630713498266Sopenharmony_ci
630813498266Sopenharmony_ci  Reported-by: Dan Fandrich
630913498266Sopenharmony_ci  Closes #12042
631013498266Sopenharmony_ci
631113498266Sopenharmony_ciDan Fandrich (5 Oct 2023)
631213498266Sopenharmony_ci
631313498266Sopenharmony_ci- test1903: actually verify the cookies after the test
631413498266Sopenharmony_ci
631513498266Sopenharmony_ci  The test otherwise could do just about anything (except leak memory in
631613498266Sopenharmony_ci  debug mode) and its bad behaviour wouldn't be detected. Now, check the
631713498266Sopenharmony_ci  resulting cookie file to ensure the cookies are still there.
631813498266Sopenharmony_ci
631913498266Sopenharmony_ci  Closes #12041
632013498266Sopenharmony_ci
632113498266Sopenharmony_ci- test: add missing <feature>s
632213498266Sopenharmony_ci
632313498266Sopenharmony_ci  The tests will otherwise fail if curl has them disabled.
632413498266Sopenharmony_ci
632513498266Sopenharmony_ci- test1906: set a lower timeout since it's hit on Windows
632613498266Sopenharmony_ci
632713498266Sopenharmony_ci  msys2 builds actually hit the connect timeout in normal operation, so
632813498266Sopenharmony_ci  lower the timeout from 5 minutes to 5 seconds to reduce test time.
632913498266Sopenharmony_ci
633013498266Sopenharmony_ci  Ref: #11328
633113498266Sopenharmony_ci  Closes #12036
633213498266Sopenharmony_ci
633313498266Sopenharmony_ciDaniel Stenberg (5 Oct 2023)
633413498266Sopenharmony_ci
633513498266Sopenharmony_ci- RELEASE-NOTES: synced
633613498266Sopenharmony_ci
633713498266Sopenharmony_ciJay Satiro (5 Oct 2023)
633813498266Sopenharmony_ci
633913498266Sopenharmony_ci- idn: fix WinIDN null ptr deref on bad host
634013498266Sopenharmony_ci
634113498266Sopenharmony_ci  - Return CURLE_URL_MALFORMAT if IDN hostname cannot be converted from
634213498266Sopenharmony_ci    UTF-8 to UTF-16.
634313498266Sopenharmony_ci
634413498266Sopenharmony_ci  Prior to this change a failed conversion erroneously returned CURLE_OK
634513498266Sopenharmony_ci  which meant 'decoded' pointer (what would normally point to the
634613498266Sopenharmony_ci  punycode) would not be written to, remain NULL and be dereferenced
634713498266Sopenharmony_ci  causing an access violation.
634813498266Sopenharmony_ci
634913498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11983
635013498266Sopenharmony_ci
635113498266Sopenharmony_ciDan Fandrich (4 Oct 2023)
635213498266Sopenharmony_ci
635313498266Sopenharmony_ci- tests: close the shell used to start sshd
635413498266Sopenharmony_ci
635513498266Sopenharmony_ci  This shell isn't needed once sshd starts, so use "exec" so it doesn't
635613498266Sopenharmony_ci  stick around.
635713498266Sopenharmony_ci
635813498266Sopenharmony_ci  Closes #12032
635913498266Sopenharmony_ci
636013498266Sopenharmony_ciDaniel Stenberg (4 Oct 2023)
636113498266Sopenharmony_ci
636213498266Sopenharmony_ci- base64: also build for curl
636313498266Sopenharmony_ci
636413498266Sopenharmony_ci  Since the tool itself now uses the base64 code using the curlx way, it
636513498266Sopenharmony_ci  needs to build also when the tool needs it. Starting now, the tool build
636613498266Sopenharmony_ci  defines BULDING_CURL to allow lib-side code to use it.
636713498266Sopenharmony_ci
636813498266Sopenharmony_ci  Follow-up to 2e160c9c6525
636913498266Sopenharmony_ci
637013498266Sopenharmony_ci  Closes #12010
637113498266Sopenharmony_ci
637213498266Sopenharmony_ciEduard Strehlau (4 Oct 2023)
637313498266Sopenharmony_ci
637413498266Sopenharmony_ci- tests: Fix zombie processes left behind by FTP tests.
637513498266Sopenharmony_ci
637613498266Sopenharmony_ci  ftpserver.pl correctly cleans up spawned server processes,
637713498266Sopenharmony_ci  but forgets to wait for the shell used to spawn them.
637813498266Sopenharmony_ci  This is barely noticeable during a normal testrun,
637913498266Sopenharmony_ci  but causes process exhaustion and test failure
638013498266Sopenharmony_ci  during a complete torture run of the FTP tests.
638113498266Sopenharmony_ci
638213498266Sopenharmony_ci  Fixes #12018
638313498266Sopenharmony_ci  Closes #12020
638413498266Sopenharmony_ci
638513498266Sopenharmony_ciDan Fandrich (4 Oct 2023)
638613498266Sopenharmony_ci
638713498266Sopenharmony_ci- github/labeler: improve labeler matches
638813498266Sopenharmony_ci
638913498266Sopenharmony_ci- test574: add a timeout to the test
639013498266Sopenharmony_ci
639113498266Sopenharmony_ci  This one hangs occasionally, so this will speed up a test run and allow
639213498266Sopenharmony_ci  logs to be seen when it does.
639313498266Sopenharmony_ci
639413498266Sopenharmony_ci  Closes #12025
639513498266Sopenharmony_ci
639613498266Sopenharmony_ci- tests: propagate errors in libtests
639713498266Sopenharmony_ci
639813498266Sopenharmony_ci  Use the test macros to automatically propagate some errors, and check
639913498266Sopenharmony_ci  and log others while running the tests. This can help in debugging
640013498266Sopenharmony_ci  exactly why a test has failed.
640113498266Sopenharmony_ci
640213498266Sopenharmony_ci- tests: set --expect100-timeout to improve test reliability
640313498266Sopenharmony_ci
640413498266Sopenharmony_ci  On an overloaded server, the default 1 second timeout can go by without
640513498266Sopenharmony_ci  the test server having a chance to respond with the expected headers,
640613498266Sopenharmony_ci  causing tests to fail. Increase the 1 second timeout to 99 seconds so
640713498266Sopenharmony_ci  this failure mode is no longer a problem on test 1129. Some other tests
640813498266Sopenharmony_ci  already set a high value, but make them consistently 99 seconds so if
640913498266Sopenharmony_ci  something goes wrong the test is stalled for less time.
641013498266Sopenharmony_ci
641113498266Sopenharmony_ci  Ref: #11328
641213498266Sopenharmony_ci
641313498266Sopenharmony_ci- CI: ignore the "flaky" and "timing-dependent" test results in CMake
641413498266Sopenharmony_ci
641513498266Sopenharmony_ci  This was already done for automake builds but CMake builds were missed.
641613498266Sopenharmony_ci  Test 1086 actually causes the test harness to crash with:
641713498266Sopenharmony_ci
641813498266Sopenharmony_ci  Warning: unable to close filehandle DWRITE properly: Broken pipe at C:/projec
641913498266Sopenharmony_ci  ts/curl/tests/ftpserver.pl line 527
642013498266Sopenharmony_ci
642113498266Sopenharmony_ci  Rather than fix it now, this change leaves test 1086 entirely skipped on
642213498266Sopenharmony_ci  those builds that show this problem.
642313498266Sopenharmony_ci
642413498266Sopenharmony_ci  Follow-up to 589dca761
642513498266Sopenharmony_ci
642613498266Sopenharmony_ci  Ref: #11865
642713498266Sopenharmony_ci
642813498266Sopenharmony_ciViktor Szakats (4 Oct 2023)
642913498266Sopenharmony_ci
643013498266Sopenharmony_ci- cmake: improve OpenLDAP builds
643113498266Sopenharmony_ci
643213498266Sopenharmony_ci  - cmake: detect OpenLDAP based on function `ldap_init_fd`.
643313498266Sopenharmony_ci    autotools does this. autotools also publishes this detection result
643413498266Sopenharmony_ci    in `HAVE_LDAP_INIT_FD`. We don't mimic that with CMake as the source
643513498266Sopenharmony_ci    doesn't use this value. (it might need to be remove-listed in
643613498266Sopenharmony_ci    `scripts/cmp-config.pl` for future OpenLDAP test builds.)
643713498266Sopenharmony_ci    This also deletes existing self-declaration method via the
643813498266Sopenharmony_ci    CMake-specific `CURL_USE_OPENLDAP` configuration.
643913498266Sopenharmony_ci
644013498266Sopenharmony_ci  - cmake: define `LDAP_DEPRECATED=1` for OpenLDAP.
644113498266Sopenharmony_ci    Like autotools does. This fixes a long list of these warnings:
644213498266Sopenharmony_ci    ```
644313498266Sopenharmony_ci    /usr/local/opt/openldap/include/ldap.h:1049:5: warning: 'LDAP_DEPRECATED' i
644413498266Sopenharmony_ci  s not defined, evaluates to 0 [-Wundef]
644513498266Sopenharmony_ci    ```
644613498266Sopenharmony_ci
644713498266Sopenharmony_ci  - cmake: delete LDAP TODO comment no longer relevant.
644813498266Sopenharmony_ci
644913498266Sopenharmony_ci  Also:
645013498266Sopenharmony_ci
645113498266Sopenharmony_ci  - autotools: replace domain name `dummy` with `0.0.0.0` in LDAP feature
645213498266Sopenharmony_ci    detection functions.
645313498266Sopenharmony_ci
645413498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
645513498266Sopenharmony_ci
645613498266Sopenharmony_ci  Closes #12024
645713498266Sopenharmony_ci
645813498266Sopenharmony_ci- cmake: fix unity builds for more build combinations
645913498266Sopenharmony_ci
646013498266Sopenharmony_ci  By using unique static function/variable names in source files
646113498266Sopenharmony_ci  implementing these interfaces.
646213498266Sopenharmony_ci
646313498266Sopenharmony_ci  - OpenLDAP combined with any SSH backend.
646413498266Sopenharmony_ci
646513498266Sopenharmony_ci  - MultiSSL with mbedTLS, OpenSSL, wolfSSL, SecureTransport.
646613498266Sopenharmony_ci
646713498266Sopenharmony_ci  Closes #12027
646813498266Sopenharmony_ci
646913498266Sopenharmony_ciDaniel Stenberg (4 Oct 2023)
647013498266Sopenharmony_ci
647113498266Sopenharmony_ci- tests: remove leading spaces from some tags
647213498266Sopenharmony_ci
647313498266Sopenharmony_ci  The threee tags `<name>`, `</name>` and `<command>` were frequently used
647413498266Sopenharmony_ci  with a leading space that this removes. The reason this habbit is so
647513498266Sopenharmony_ci  widespread in testcases is probably that they have been copy and pasted.
647613498266Sopenharmony_ci
647713498266Sopenharmony_ci  Hence, fixing them all now might curb this practice from now on.
647813498266Sopenharmony_ci
647913498266Sopenharmony_ci  Closes #12028
648013498266Sopenharmony_ci
648113498266Sopenharmony_ciViktor Szakats (4 Oct 2023)
648213498266Sopenharmony_ci
648313498266Sopenharmony_ci- GHA: bump actions/checkout
648413498266Sopenharmony_ci
648513498266Sopenharmony_ci  Follow-up to 2e0fa50fc16b9339f51e0a7bfff0352829323acb #11964
648613498266Sopenharmony_ci  Follow-up to c39585d9b7ef3cbfc1380812dec60e7b275b6af3 #12000
648713498266Sopenharmony_ci
648813498266Sopenharmony_ci  Closes #12023
648913498266Sopenharmony_ci
649013498266Sopenharmony_ci- spelling: fix codespell 2.2.6 typos
649113498266Sopenharmony_ci
649213498266Sopenharmony_ci  Closes #12019
649313498266Sopenharmony_ci
649413498266Sopenharmony_ciDaniel Stenberg (3 Oct 2023)
649513498266Sopenharmony_ci
649613498266Sopenharmony_ci- GHA: add workflow to compare configure vs cmake outputs
649713498266Sopenharmony_ci
649813498266Sopenharmony_ci  Uses scripts/cmp-config.pl two compare two curl_config.h files,
649913498266Sopenharmony_ci  presumbly generated with configure and cmake. It displays the
650013498266Sopenharmony_ci  differences and filters out a lot of known lines we ignore.
650113498266Sopenharmony_ci
650213498266Sopenharmony_ci  The script also shows the matches that were *not* used. Possibly
650313498266Sopenharmony_ci  subjects for removal.
650413498266Sopenharmony_ci
650513498266Sopenharmony_ci  Closes #11964
650613498266Sopenharmony_ci
650713498266Sopenharmony_ci- appveyor: enable test 571
650813498266Sopenharmony_ci
650913498266Sopenharmony_ci  Follow-up from 8a940fd55c175f7 / #12013
651013498266Sopenharmony_ci
651113498266Sopenharmony_ci  Closes #12017
651213498266Sopenharmony_ci
651313498266Sopenharmony_ciViktor Szakats (3 Oct 2023)
651413498266Sopenharmony_ci
651513498266Sopenharmony_ci- build: alpha-sort source files for lib and src
651613498266Sopenharmony_ci
651713498266Sopenharmony_ci  Closes #12014
651813498266Sopenharmony_ci
651913498266Sopenharmony_ci- cmake: delete old `HAVE_LDAP_URL_PARSE` logic
652013498266Sopenharmony_ci
652113498266Sopenharmony_ci  Left there by accident after adding proper detection for this.
652213498266Sopenharmony_ci
652313498266Sopenharmony_ci  Follow-up to 772f0d8edf1c3c2745543f42388ccec5a16ee2c0 #12006
652413498266Sopenharmony_ci
652513498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
652613498266Sopenharmony_ci
652713498266Sopenharmony_ci  Closes #12015
652813498266Sopenharmony_ci
652913498266Sopenharmony_ciStefan Eissing (3 Oct 2023)
653013498266Sopenharmony_ci
653113498266Sopenharmony_ci- tests: increase lib571 timeout from 3s to 30s
653213498266Sopenharmony_ci
653313498266Sopenharmony_ci  - 3s is too short for our CI, making this test fail occasionally
653413498266Sopenharmony_ci  - test usually experiences no delay run locally, so 30s wont hurt
653513498266Sopenharmony_ci
653613498266Sopenharmony_ci  Closes #12013
653713498266Sopenharmony_ci
653813498266Sopenharmony_ciViktor Szakats (3 Oct 2023)
653913498266Sopenharmony_ci
654013498266Sopenharmony_ci- cmake: fix unity with Windows Unicode + TrackMemory
654113498266Sopenharmony_ci
654213498266Sopenharmony_ci  Found the root cause of the startup crash in unity builds with Unicode
654313498266Sopenharmony_ci  and TrackMemory enabled at the same time.
654413498266Sopenharmony_ci
654513498266Sopenharmony_ci  We must make sure that the `memdebug.h` header doesn't apply to
654613498266Sopenharmony_ci  `lib/curl_multibyte.c` (as even noted in a comment there.) In unity
654713498266Sopenharmony_ci  builds all headers apply to all sources, including `curl_multibyte.c`.
654813498266Sopenharmony_ci  This probably resulted in an infinite loop on startup.
654913498266Sopenharmony_ci
655013498266Sopenharmony_ci  Exclude this source from unity compilation with TrackMemory enabled,
655113498266Sopenharmony_ci  in both libcurl and curl tool. Enable unity mode for a debug Unicode
655213498266Sopenharmony_ci  CI job to keep it tested. Also delete the earlier workaround that
655313498266Sopenharmony_ci  fully disabled unity for affected builds.
655413498266Sopenharmony_ci
655513498266Sopenharmony_ci  Follow-up to d82b080f6374433ce7c98241329189ad2d3976f8 #12005
655613498266Sopenharmony_ci  Follow-up to 3f8fc25720900b14b7432f4bd93407ca15311719 #11095
655713498266Sopenharmony_ci
655813498266Sopenharmony_ci  Closes #11928
655913498266Sopenharmony_ci
656013498266Sopenharmony_ci- cmake: disable unity mode with Windows Unicode + TrackMemory
656113498266Sopenharmony_ci
656213498266Sopenharmony_ci  "TrackMemory" is `ENABLE_DEBUG=ON` (aka `ENABLE_CURLDEBUG=ON`,
656313498266Sopenharmony_ci  aka `-DCURLDEBUG`).
656413498266Sopenharmony_ci
656513498266Sopenharmony_ci  There is an issue with memory tracking and Unicode when built in "unity"
656613498266Sopenharmony_ci  mode, which results in the curl tool crashing right on startup, even
656713498266Sopenharmony_ci  without any command-line option. Interestingly this doesn't happen under
656813498266Sopenharmony_ci  WINE (at least on the system I tested this on), but consistenly happens
656913498266Sopenharmony_ci  on real Windows machines. Crash is 0xC0000374 heap corruption. Both
657013498266Sopenharmony_ci  shared and static curl executables are affected.
657113498266Sopenharmony_ci
657213498266Sopenharmony_ci  This limitation probably won't hit too many people, but it remains
657313498266Sopenharmony_ci  a TODO to find and fix the root cause and drop this workaround.
657413498266Sopenharmony_ci
657513498266Sopenharmony_ci  Example builds and runs:
657613498266Sopenharmony_ci  https://ci.appveyor.com/project/curlorg/curl/builds/48169111/job/17cptxhtpubd
657713498266Sopenharmony_ci  7iwj#L313 (static)
657813498266Sopenharmony_ci  https://ci.appveyor.com/project/curlorg/curl/builds/48169111/job/76e1ge758tby
657913498266Sopenharmony_ci  qu9c#L317 (shared)
658013498266Sopenharmony_ci
658113498266Sopenharmony_ci  Follow-up to 3f8fc25720900b14b7432f4bd93407ca15311719 #11095
658213498266Sopenharmony_ci
658313498266Sopenharmony_ci  Ref: #11928
658413498266Sopenharmony_ci  Closes #12005
658513498266Sopenharmony_ci
658613498266Sopenharmony_ci- cmake: tidy-up `NOT_NEED_LBER_H` detection
658713498266Sopenharmony_ci
658813498266Sopenharmony_ci  Follow-up to 772f0d8edf1c3c2745543f42388ccec5a16ee2c0 #12006
658913498266Sopenharmony_ci
659013498266Sopenharmony_ci- appveyor: rewrite batch in PowerShell + CI improvements
659113498266Sopenharmony_ci
659213498266Sopenharmony_ci  1. Rewrite in PowerShell:
659313498266Sopenharmony_ci
659413498266Sopenharmony_ci  - rewrite MS-DOS batch build script in PowerShell.
659513498266Sopenharmony_ci  - move some bash operations into native PowerShell.
659613498266Sopenharmony_ci  - fixups for PowerShell insisting on failure when a command outputs
659713498266Sopenharmony_ci    something to stderr.
659813498266Sopenharmony_ci  - fix to actually run `curl -V` after every build.
659913498266Sopenharmony_ci    (and exclude ARM64 builds.)
660013498266Sopenharmony_ci  - also say why we skipped `curl -V` if we had to skip.
660113498266Sopenharmony_ci  - fix CMake warnings about unused configuration variables, by adapting
660213498266Sopenharmony_ci    these dynamically for build cases.
660313498266Sopenharmony_ci  - dedupe OpenSSL path into a variable.
660413498266Sopenharmony_ci  - disable `test1451` failing with a warning anyway due to missing python
660513498266Sopenharmony_ci    impacket. (after trying and failing to install impacket)
660613498266Sopenharmony_ci    PowerShell promotes these warnings to errors by PowerShell. We can also
660713498266Sopenharmony_ci    suppress they wholesale if they start causing issues in the future,
660813498266Sopenharmony_ci    like we already to with `autoreconf` and `./configure`.
660913498266Sopenharmony_ci
661013498266Sopenharmony_ci  PowerShell is better than MS-DOS batches, so the hope is this makes it
661113498266Sopenharmony_ci  easier to extend and maintain the AppVeyor build logic. POSIX/bash isn't
661213498266Sopenharmony_ci  supported inline by AppVeyor on Windows build machines, but we are okay
661313498266Sopenharmony_ci  to keep it in an external script, so it's also an option.
661413498266Sopenharmony_ci
661513498266Sopenharmony_ci  2. CI improvements:
661613498266Sopenharmony_ci
661713498266Sopenharmony_ci  - enable tests for a "unity" build job.
661813498266Sopenharmony_ci  - speed-up CI initialization by using shallow clones of the curl repo.
661913498266Sopenharmony_ci  - speed-up CMake MSVC jobs with `TrackFileAccess=false`.
662013498266Sopenharmony_ci  - enable parallelism in `VisualStudioSolution` builds.
662113498266Sopenharmony_ci  - display CMake version before builds.
662213498266Sopenharmony_ci  - always show the CPU in job names.
662313498266Sopenharmony_ci  - tell which jobs are build-only in job names.
662413498266Sopenharmony_ci  - move `TESTING:` value next to `DISABLED_TESTS:` in two jobs.
662513498266Sopenharmony_ci  - add `config.log` (autotools) to dumped logs (need to enable manually).
662613498266Sopenharmony_ci
662713498266Sopenharmony_ci  3. Style:
662813498266Sopenharmony_ci
662913498266Sopenharmony_ci  - use single-quotes in YAML like we do in other CI YAML files.
663013498266Sopenharmony_ci    It also allows to drop quoting characters and lighter to write/read.
663113498266Sopenharmony_ci    (keep double quotes for PowerShell strings needing expansion.)
663213498266Sopenharmony_ci
663313498266Sopenharmony_ci  Closes #11999
663413498266Sopenharmony_ci
663513498266Sopenharmony_ci- cmake: fix `HAVE_LDAP_SSL`, `HAVE_LDAP_URL_PARSE` on non-Windows
663613498266Sopenharmony_ci
663713498266Sopenharmony_ci  - set `HAVE_LDAP_URL_PARSE` if `ldap_url_parse` function exists.
663813498266Sopenharmony_ci    Before this patch we set it based it on the presence of `stricmp`,
663913498266Sopenharmony_ci    which correctly enabled it on e.g. Windows, but was inaccurate for
664013498266Sopenharmony_ci    other platforms.
664113498266Sopenharmony_ci
664213498266Sopenharmony_ci  - always set `HAVE_LDAP_SSL` if an LDAP backend is detected and
664313498266Sopenharmony_ci    LDAPS is not explicitly disabled. This mimics autotools behaviour.
664413498266Sopenharmony_ci    Previously we set it only for Windows LDAP. After this fix, LDAPS is
664513498266Sopenharmony_ci    correctly enabled in default macOS builds.
664613498266Sopenharmony_ci
664713498266Sopenharmony_ci  - enable LDAP[S] for a CMake macOS CI job. Target OS X 10.9 (Mavericks)
664813498266Sopenharmony_ci    to avoid deprecation warnings for LDAP API.
664913498266Sopenharmony_ci
665013498266Sopenharmony_ci  - always detect `HAVE_LDAP_SSL_H`, even with LDAPS explicitly disabled.
665113498266Sopenharmony_ci    This doesn't make much sense, but let's do it to sync behaviour with
665213498266Sopenharmony_ci    autotools.
665313498266Sopenharmony_ci
665413498266Sopenharmony_ci  - fix benign typo in variable name.
665513498266Sopenharmony_ci
665613498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
665713498266Sopenharmony_ci
665813498266Sopenharmony_ci  Closes #12006
665913498266Sopenharmony_ci
666013498266Sopenharmony_ci- autotools: restore `HAVE_IOCTL_*` detections
666113498266Sopenharmony_ci
666213498266Sopenharmony_ci  This restores `CURL_CHECK_FUNC_IOCTL` detection. I deleted it in
666313498266Sopenharmony_ci  4d73854462f30948acab12984b611e9e33ee41e6 and
666413498266Sopenharmony_ci  c3456652a0c72d1845d08df9769667db7e159949 (2022-08), because the
666513498266Sopenharmony_ci  `HAVE_IOCTL` result it generated was unused in the source. But,
666613498266Sopenharmony_ci  I did miss the fact that this had two dependent checks:
666713498266Sopenharmony_ci  `CURL_CHECK_FUNC_IOCTL_FIONBIO`,
666813498266Sopenharmony_ci  `CURL_CHECK_FUNC_IOCTL_SIOCGIFADDR` that we do actually need:
666913498266Sopenharmony_ci  `HAVE_IOCTL_FIONBIO`, `HAVE_IOCTL_SIOCGIFADDR`.
667013498266Sopenharmony_ci
667113498266Sopenharmony_ci  Regression from 4d73854462f30948acab12984b611e9e33ee41e6
667213498266Sopenharmony_ci
667313498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
667413498266Sopenharmony_ci
667513498266Sopenharmony_ci  Closes #12008
667613498266Sopenharmony_ci
667713498266Sopenharmony_ciDaniel Stenberg (2 Oct 2023)
667813498266Sopenharmony_ci
667913498266Sopenharmony_ci- RELEASE-PROCEDURE.md: updated coming release dates
668013498266Sopenharmony_ci
668113498266Sopenharmony_ci- RELEASE-NOTES: synced
668213498266Sopenharmony_ci
668313498266Sopenharmony_ciViktor Szakats (1 Oct 2023)
668413498266Sopenharmony_ci
668513498266Sopenharmony_ci- cmake: pre-cache `HAVE_POLL_FINE` on Windows
668613498266Sopenharmony_ci
668713498266Sopenharmony_ci  Windows doesn't support `poll()`, so we can safely skip checking for
668813498266Sopenharmony_ci  fine poll.
668913498266Sopenharmony_ci
669013498266Sopenharmony_ci  Closes #12003
669113498266Sopenharmony_ci
669213498266Sopenharmony_ci- gha: bump actions to latest versions
669313498266Sopenharmony_ci
669413498266Sopenharmony_ci  - actions@checkout@v4 (from v3 and v2)
669513498266Sopenharmony_ci
669613498266Sopenharmony_ci  - fsfe/reuse-action@v2 (from v1)
669713498266Sopenharmony_ci
669813498266Sopenharmony_ci  Closes #12000
669913498266Sopenharmony_ci
670013498266Sopenharmony_ciStefan Eissing (30 Sep 2023)
670113498266Sopenharmony_ci
670213498266Sopenharmony_ci- h2: testcase and fix for pausing h2 streams
670313498266Sopenharmony_ci
670413498266Sopenharmony_ci  - refs #11982 where it was noted that paused transfers may
670513498266Sopenharmony_ci    close successfully without delivering the complete data
670613498266Sopenharmony_ci  - made sample poc into tests/http/client/h2-pausing.c and
670713498266Sopenharmony_ci    added test_02_27 to reproduce
670813498266Sopenharmony_ci
670913498266Sopenharmony_ci  Closes #11989
671013498266Sopenharmony_ci  Fixes #11982
671113498266Sopenharmony_ci  Reported-by: Harry Sintonen
671213498266Sopenharmony_ci
671313498266Sopenharmony_ciViktor Szakats (30 Sep 2023)
671413498266Sopenharmony_ci
671513498266Sopenharmony_ci- cmake: validate `CURL_DEFAULT_SSL_BACKEND` config value
671613498266Sopenharmony_ci
671713498266Sopenharmony_ci  Before this patch CMake builds accepted any value and it was used at
671813498266Sopenharmony_ci  runtime as-is. This patch make sure that the selected default backend
671913498266Sopenharmony_ci  is also enabled in the build. It also enforces a full lowercase value.
672013498266Sopenharmony_ci
672113498266Sopenharmony_ci  This improves reproducibility and brings CMake in sync with autotools
672213498266Sopenharmony_ci  which already worked like described above.
672313498266Sopenharmony_ci
672413498266Sopenharmony_ci  Follow-up to 26c7feb8b9d51a57fab3325571b4bbfa03b11af0 #11774
672513498266Sopenharmony_ci
672613498266Sopenharmony_ci  Closes #11998
672713498266Sopenharmony_ci
672813498266Sopenharmony_ci- autotools: adjust `CURL_CA_PATH` value to CMake
672913498266Sopenharmony_ci
673013498266Sopenharmony_ci  autotools was using the same value as CMake, but with an ending
673113498266Sopenharmony_ci  slash. Delete the ending slash to match configurations.
673213498266Sopenharmony_ci
673313498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
673413498266Sopenharmony_ci
673513498266Sopenharmony_ci  Closes #11997
673613498266Sopenharmony_ci
673713498266Sopenharmony_ci- cmake: detect `sys/wait.h` and `netinet/udp.h`
673813498266Sopenharmony_ci
673913498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
674013498266Sopenharmony_ci
674113498266Sopenharmony_ci  Closes #11996
674213498266Sopenharmony_ci
674313498266Sopenharmony_ciDaniel Stenberg (30 Sep 2023)
674413498266Sopenharmony_ci
674513498266Sopenharmony_ci- lib: provide and use Curl_hexencode
674613498266Sopenharmony_ci
674713498266Sopenharmony_ci  Generates a lower case ASCII hex output from a binary input.
674813498266Sopenharmony_ci
674913498266Sopenharmony_ci  Closes #11990
675013498266Sopenharmony_ci
675113498266Sopenharmony_ci- configure: check for the capath by default
675213498266Sopenharmony_ci
675313498266Sopenharmony_ci  ... if the chosen TLS backend supports it: OpenSSL, GnuTLS, mbedTLS or wolfSS
675413498266Sopenharmony_ci  L
675513498266Sopenharmony_ci
675613498266Sopenharmony_ci  cmake: synced
675713498266Sopenharmony_ci
675813498266Sopenharmony_ci  Assisted-by: Viktor Szakats
675913498266Sopenharmony_ci  Closes #11987
676013498266Sopenharmony_ci
676113498266Sopenharmony_ci- wolfssl: ignore errors in CA path
676213498266Sopenharmony_ci
676313498266Sopenharmony_ci  The default wolfSSL_CTX_load_verify_locations() function is quite picky
676413498266Sopenharmony_ci  with the certificates it loads and will for example return error if just
676513498266Sopenharmony_ci  one of the certs has expired.
676613498266Sopenharmony_ci
676713498266Sopenharmony_ci  With the *_ex() function and its WOLFSSL_LOAD_FLAG_IGNORE_ERR flag, it
676813498266Sopenharmony_ci  behaves more similar to what OpenSSL does by default.
676913498266Sopenharmony_ci
677013498266Sopenharmony_ci  Even the set of default certs on my Debian unstable has several expired
677113498266Sopenharmony_ci  ones.
677213498266Sopenharmony_ci
677313498266Sopenharmony_ci  Assisted-by: Juliusz Sosinowicz
677413498266Sopenharmony_ci  Assisted-by: Michael Osipov
677513498266Sopenharmony_ci
677613498266Sopenharmony_ci  Closes #11987
677713498266Sopenharmony_ci
677813498266Sopenharmony_ci- create-dirs.d: clarify it also uses --output-dirs
677913498266Sopenharmony_ci
678013498266Sopenharmony_ci  Reported-by: Robert Simpson
678113498266Sopenharmony_ci  Fixes #11991
678213498266Sopenharmony_ci  Closes #11995
678313498266Sopenharmony_ci
678413498266Sopenharmony_ciViktor Szakats (30 Sep 2023)
678513498266Sopenharmony_ci
678613498266Sopenharmony_ci- appveyor: fix yamlint issues, indent
678713498266Sopenharmony_ci
678813498266Sopenharmony_ci  Also:
678913498266Sopenharmony_ci  - use double quotes in all batch if statements.
679013498266Sopenharmony_ci
679113498266Sopenharmony_ci  Closes #11994
679213498266Sopenharmony_ci
679313498266Sopenharmony_ci- cmake: detect `HAVE_CLOCK_GETTIME_MONOTONIC_RAW`
679413498266Sopenharmony_ci
679513498266Sopenharmony_ci  Based on existing autotools logic.
679613498266Sopenharmony_ci
679713498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
679813498266Sopenharmony_ci
679913498266Sopenharmony_ci  Closes #11981
680013498266Sopenharmony_ci
680113498266Sopenharmony_ci- cmake: detect `HAVE_GETADDRINFO_THREADSAFE`
680213498266Sopenharmony_ci
680313498266Sopenharmony_ci  Based on existing autotools logic.
680413498266Sopenharmony_ci
680513498266Sopenharmony_ci  autotools checks for old versions of the allowlisted target OSes and
680613498266Sopenharmony_ci  disables this feature when seeing them. In CMake we assume we're running
680713498266Sopenharmony_ci  on newer systems and enable regardless of OS version.
680813498266Sopenharmony_ci
680913498266Sopenharmony_ci  autotools always runs all 3 probes for non-fast-tracked systems and
681013498266Sopenharmony_ci  enables this feature if any one of them was successful. To save
681113498266Sopenharmony_ci  configuration time,  CMake stops at the first successful check.
681213498266Sopenharmony_ci
681313498266Sopenharmony_ci  OpenBSD is not fast-tracked and then gets blocklisted as a generic BSD
681413498266Sopenharmony_ci  system. I haven't double-checked if this is correct, but looks odd.
681513498266Sopenharmony_ci
681613498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
681713498266Sopenharmony_ci
681813498266Sopenharmony_ci  Closes #11979
681913498266Sopenharmony_ci
682013498266Sopenharmony_ci- cmake: fix `HAVE_WRITABLE_ARGV` detection
682113498266Sopenharmony_ci
682213498266Sopenharmony_ci  Move detection before the creation of detection results in
682313498266Sopenharmony_ci  `curl_config.h`.
682413498266Sopenharmony_ci
682513498266Sopenharmony_ci  Ref: #11964 (effort to sync cmake detections with autotools)
682613498266Sopenharmony_ci
682713498266Sopenharmony_ci  Closes #11978
682813498266Sopenharmony_ci
682913498266Sopenharmony_ci- appveyor: minor improvements
683013498266Sopenharmony_ci
683113498266Sopenharmony_ci  - run `curl -V` after builds to see if they run and with what features.
683213498266Sopenharmony_ci    Except for one job where a CRT DLL is missing. And ARM64 which should
683313498266Sopenharmony_ci    fail, but is silently not launched instead.
683413498266Sopenharmony_ci
683513498266Sopenharmony_ci  - copy libcurl DLL next to curl tool and tests binaries in shared mode.
683613498266Sopenharmony_ci    This makes it possible to run the tests. (We don't run tests after
683713498266Sopenharmony_ci    these builds yet.)
683813498266Sopenharmony_ci
683913498266Sopenharmony_ci  - list the DLLs and EXEs present after the builds.
684013498266Sopenharmony_ci
684113498266Sopenharmony_ci  - add `DEBUG` variable for CMake builds to allow disabling it, for
684213498266Sopenharmony_ci    testing non-debug builds. (currently enabled for all)
684313498266Sopenharmony_ci
684413498266Sopenharmony_ci  - add commented lines that dump CMake configuration logs for debugging
684513498266Sopenharmony_ci    build/auto-detection issues.
684613498266Sopenharmony_ci
684713498266Sopenharmony_ci  - add gcc version to jobs where missing.
684813498266Sopenharmony_ci
684913498266Sopenharmony_ci  - switch a job to the native MSYS2 mingw-w64 toolchain. This adds gcc 9
685013498266Sopenharmony_ci    to the build mix.
685113498266Sopenharmony_ci
685213498266Sopenharmony_ci  - make `SHARED=OFF` and `OPENSSL=OFF` defaults global.
685313498266Sopenharmony_ci
685413498266Sopenharmony_ci  - delete a duplicate backslash.
685513498266Sopenharmony_ci
685613498266Sopenharmony_ci  Closes #11976
685713498266Sopenharmony_ci
685813498266Sopenharmony_ci- configure: replace adhoc domain with `localhost` in tests
685913498266Sopenharmony_ci
686013498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
686113498266Sopenharmony_ci  Closes #11988
686213498266Sopenharmony_ci
686313498266Sopenharmony_ci- tidy-up: use more example domains
686413498266Sopenharmony_ci
686513498266Sopenharmony_ci  Also make use of the example TLD:
686613498266Sopenharmony_ci  https://en.wikipedia.org/wiki/.example
686713498266Sopenharmony_ci
686813498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
686913498266Sopenharmony_ci  Closes #11992
687013498266Sopenharmony_ci
687113498266Sopenharmony_ciDan Fandrich (29 Sep 2023)
687213498266Sopenharmony_ci
687313498266Sopenharmony_ci- runtests: display the test status if tests appear hung
687413498266Sopenharmony_ci
687513498266Sopenharmony_ci  It sometimes happens that a test hangs during a test run and never
687613498266Sopenharmony_ci  returns. The test harness will wait indefinitely for the results and on
687713498266Sopenharmony_ci  CI servers the CI job will eventually be killed after an hour or two.
687813498266Sopenharmony_ci  At the end of a test run, if results haven't come in within a couple of
687913498266Sopenharmony_ci  minutes, display the status of all test runners and what tests they're
688013498266Sopenharmony_ci  running to help in debugging the problem.
688113498266Sopenharmony_ci
688213498266Sopenharmony_ci  This feature is really only kick in with parallel testing enabled, which
688313498266Sopenharmony_ci  is fine because without parallel testing it's usually easy to tell what
688413498266Sopenharmony_ci  test has hung.
688513498266Sopenharmony_ci
688613498266Sopenharmony_ci  Closes #11980
688713498266Sopenharmony_ci
688813498266Sopenharmony_ci- github/labeler: remove workaround for labeler
688913498266Sopenharmony_ci
689013498266Sopenharmony_ci  This was added due to what seemed to be a bug regarding the sync-labels:
689113498266Sopenharmony_ci  config option, but it looks like it wasn't necessary.
689213498266Sopenharmony_ci
689313498266Sopenharmony_ci  Follow-up to b2b0534e7
689413498266Sopenharmony_ci
689513498266Sopenharmony_ciViktor Szakats (29 Sep 2023)
689613498266Sopenharmony_ci
689713498266Sopenharmony_ci- docs: upgrade an URL to HTTPS in `BINDINGS.md` [ci skip]
689813498266Sopenharmony_ci
689913498266Sopenharmony_ciDaniel Stenberg (29 Sep 2023)
690013498266Sopenharmony_ci
690113498266Sopenharmony_ci- docs: replace made up domains with example.com
690213498266Sopenharmony_ci
690313498266Sopenharmony_ci  in FAQ and MANUAL.md
690413498266Sopenharmony_ci
690513498266Sopenharmony_ci  - example.com was made for this purpose.
690613498266Sopenharmony_ci
690713498266Sopenharmony_ci  - reduces the risk that one of those domains suddenly start hosting
690813498266Sopenharmony_ci    something nasty and we provide links to them
690913498266Sopenharmony_ci
691013498266Sopenharmony_ci  Closes #11986
691113498266Sopenharmony_ci
691213498266Sopenharmony_ciMichael Osipov (29 Sep 2023)
691313498266Sopenharmony_ci
691413498266Sopenharmony_ci- acinclude.m4: Document proper system truststore on FreeBSD
691513498266Sopenharmony_ci
691613498266Sopenharmony_ci  The default system truststore on FreeBSD has been /etc/ssl/certs for many
691713498266Sopenharmony_ci  years now. It is managed canonically through certctl(8) and contains hashed
691813498266Sopenharmony_ci  symlinks for OpenSSL and other TLS providers.
691913498266Sopenharmony_ci  The previous ones require security/ca_root_nss which might not be installed o
692013498266Sopenharmony_ci  r
692113498266Sopenharmony_ci  will not contain any custom CA certificates.
692213498266Sopenharmony_ci
692313498266Sopenharmony_ci  Closes #11985
692413498266Sopenharmony_ci
692513498266Sopenharmony_ciDaniel Stenberg (29 Sep 2023)
692613498266Sopenharmony_ci
692713498266Sopenharmony_ci- FAQ: How do I upgrade curl.exe in Windows?
692813498266Sopenharmony_ci
692913498266Sopenharmony_ci  This is a growing question, better answer it here to get somewhere to
693013498266Sopenharmony_ci  point users to.
693113498266Sopenharmony_ci
693213498266Sopenharmony_ci  Closes #11984
693313498266Sopenharmony_ci
693413498266Sopenharmony_ciViktor Szakats (28 Sep 2023)
693513498266Sopenharmony_ci
693613498266Sopenharmony_ci- cmake: pre-cache `HAVE_BASENAME` for mingw-w64 and MSVC
693713498266Sopenharmony_ci
693813498266Sopenharmony_ci  `basename` is present in mingw-w64, missing from MSVC. Pre-cache
693913498266Sopenharmony_ci  accordingly to make configure faster.
694013498266Sopenharmony_ci
694113498266Sopenharmony_ci  Notice that `basename` has a bug so we later disable it even with
694213498266Sopenharmony_ci  mingw-w64:
694313498266Sopenharmony_ci  https://github.com/curl/curl/blob/781242ffa44a9f9b95b6da5ac5a1bf6372ec6257/li
694413498266Sopenharmony_ci  b/curl_setup.h#L820-L825
694513498266Sopenharmony_ci
694613498266Sopenharmony_ci  Closes #11974
694713498266Sopenharmony_ci
694813498266Sopenharmony_ciDaniel Stenberg (28 Sep 2023)
694913498266Sopenharmony_ci
695013498266Sopenharmony_ci- cmake: add missing checks
695113498266Sopenharmony_ci
695213498266Sopenharmony_ci  - check for arc4random. To make rand.c use it accordingly.
695313498266Sopenharmony_ci  - check for fcntl
695413498266Sopenharmony_ci  - fix fseek detection
695513498266Sopenharmony_ci  - add SIZEOF_CURL_SOCKET_T
695613498266Sopenharmony_ci  - fix USE_UNIX_SOCKETS
695713498266Sopenharmony_ci  - define HAVE_SNPRINTF to 1
695813498266Sopenharmony_ci  - check for fnmatch
695913498266Sopenharmony_ci  - check for sched_yield
696013498266Sopenharmony_ci  - remove HAVE_GETPPID duplicate from curl_config.h
696113498266Sopenharmony_ci  - add HAVE_SENDMSG
696213498266Sopenharmony_ci
696313498266Sopenharmony_ci  Ref: #11964
696413498266Sopenharmony_ci
696513498266Sopenharmony_ci  Co-authored-by: Viktor Szakats
696613498266Sopenharmony_ci  Closes #11973
696713498266Sopenharmony_ci
696813498266Sopenharmony_ci- configure: remove unused checks
696913498266Sopenharmony_ci
697013498266Sopenharmony_ci  - for sys/uio.h
697113498266Sopenharmony_ci  - for fork
697213498266Sopenharmony_ci  - for connect
697313498266Sopenharmony_ci
697413498266Sopenharmony_ci  Ref: #11964
697513498266Sopenharmony_ci
697613498266Sopenharmony_ci  Closes #11973
697713498266Sopenharmony_ci
697813498266Sopenharmony_ci- lib: remove TIME_WITH_SYS_TIME
697913498266Sopenharmony_ci
698013498266Sopenharmony_ci  It is not used in any code anywhere.
698113498266Sopenharmony_ci
698213498266Sopenharmony_ci  Ref: #11964
698313498266Sopenharmony_ci  Closes #11975
698413498266Sopenharmony_ci
698513498266Sopenharmony_ci- docs: update curl man page references
698613498266Sopenharmony_ci
698713498266Sopenharmony_ci  Detected by the manpage-syntax update
698813498266Sopenharmony_ci
698913498266Sopenharmony_ci  Closes #11963
699013498266Sopenharmony_ci
699113498266Sopenharmony_ci- manpage-syntax: verify curl man page references
699213498266Sopenharmony_ci
699313498266Sopenharmony_ci  1. References to curl symbols are now checked that they indeed exist as
699413498266Sopenharmony_ci     man pages. This for \f references as well as the names referenced in the
699513498266Sopenharmony_ci     SEE ALSO section.
699613498266Sopenharmony_ci
699713498266Sopenharmony_ci     Allowlist curl.1 since it is not always built in builds
699813498266Sopenharmony_ci
699913498266Sopenharmony_ci  2. References to curl symbols that lack section now causes warning, since tha
700013498266Sopenharmony_ci  t
700113498266Sopenharmony_ci     will prevent them from getting linked properly
700213498266Sopenharmony_ci
700313498266Sopenharmony_ci  3. Check for "bare" references to curl functions and warn, they should be
700413498266Sopenharmony_ci     references
700513498266Sopenharmony_ci
700613498266Sopenharmony_ci  Closes #11963
700713498266Sopenharmony_ci
700813498266Sopenharmony_ci- cmake: add check for suseconds_t
700913498266Sopenharmony_ci
701013498266Sopenharmony_ci  And fix the HAVE_LONGLONG define
701113498266Sopenharmony_ci
701213498266Sopenharmony_ci  Ref: #11964
701313498266Sopenharmony_ci  Closes #11977
701413498266Sopenharmony_ci
701513498266Sopenharmony_ciViktor Szakats (28 Sep 2023)
701613498266Sopenharmony_ci
701713498266Sopenharmony_ci- tidy-up: whitespace fixes
701813498266Sopenharmony_ci
701913498266Sopenharmony_ci  Closes #11972
702013498266Sopenharmony_ci
702113498266Sopenharmony_ci- cmake: detect TLS-SRP in OpenSSL/wolfSSL/GnuTLS
702213498266Sopenharmony_ci
702313498266Sopenharmony_ci  With new option `CURL_DISABLE_SRP=ON` to force-disable it.
702413498266Sopenharmony_ci  To match existing option and detection logic in autotools.
702513498266Sopenharmony_ci
702613498266Sopenharmony_ci  Also:
702713498266Sopenharmony_ci  - fix detecting GnuTLS.
702813498266Sopenharmony_ci    We assume `nettle` as a GnuTLS dependency.
702913498266Sopenharmony_ci  - add CMake GnuTLS CI job.
703013498266Sopenharmony_ci  - bump AppVeyor CMake OpenSSL MSVC job to OpenSSL 1.1.1 (from 1.0.2)
703113498266Sopenharmony_ci    TLS-SRP fails to detect with 1.0.2 due to an OpenSSL header bug.
703213498266Sopenharmony_ci  - fix compiler warning when building with GnuTLS and disabled TLS-SRP.
703313498266Sopenharmony_ci  - fix comment typos, whitespace.
703413498266Sopenharmony_ci
703513498266Sopenharmony_ci  Ref: #11964
703613498266Sopenharmony_ci
703713498266Sopenharmony_ci  Closes #11967
703813498266Sopenharmony_ci
703913498266Sopenharmony_ci- tool: use our own stderr variable
704013498266Sopenharmony_ci
704113498266Sopenharmony_ci  Earlier this year we changed our own stderr variable to use the standard
704213498266Sopenharmony_ci  name `stderr` (to avoid bugs where someone is using `stderr` instead of
704313498266Sopenharmony_ci  the curl-tool specific variable). This solution needed to override the
704413498266Sopenharmony_ci  standard `stderr` symbol via the preprocessor. This in turn didn't play
704513498266Sopenharmony_ci  well with unity builds and caused curl tool to crash or stay silent due
704613498266Sopenharmony_ci  to an uninitialized stderr. This was a hard to find issue, fixed by
704713498266Sopenharmony_ci  manually breaking out one file from the unity sources.
704813498266Sopenharmony_ci
704913498266Sopenharmony_ci  To avoid two these two tricks, this patch implements a different
705013498266Sopenharmony_ci  solution: Restore using our own local variable for our stderr output and
705113498266Sopenharmony_ci  leave `stderr` as-is. To avoid using `stderr` by mistake, add a
705213498266Sopenharmony_ci  `checksrc` rule (based on logic we already used in lib for `strerror`)
705313498266Sopenharmony_ci  that detects any `stderr` use in `src` and points to using our own
705413498266Sopenharmony_ci  variable instead: `tool_stderr`.
705513498266Sopenharmony_ci
705613498266Sopenharmony_ci  Follow-up to 06133d3e9b8aeb9e9ca0b3370c246bdfbfc8619e
705713498266Sopenharmony_ci  Follow-up to 2f17a9b654121dd1ecf4fc043c6d08a9da3522db
705813498266Sopenharmony_ci
705913498266Sopenharmony_ci  Closes #11958
706013498266Sopenharmony_ci
706113498266Sopenharmony_ciLoïc Yhuel (28 Sep 2023)
706213498266Sopenharmony_ci
706313498266Sopenharmony_ci- connect: only start the happy eyeballs timer when needed
706413498266Sopenharmony_ci
706513498266Sopenharmony_ci  The timeout is only used when there is a second address family, for the
706613498266Sopenharmony_ci  delayed eyeballer.
706713498266Sopenharmony_ci
706813498266Sopenharmony_ci  Closes #11939
706913498266Sopenharmony_ci
707013498266Sopenharmony_ciDaniel Stenberg (28 Sep 2023)
707113498266Sopenharmony_ci
707213498266Sopenharmony_ci- tool_operate: free 'gateway' correctly
707313498266Sopenharmony_ci
707413498266Sopenharmony_ci  Pointed out by Coverity. The fix in 93885cf3a8d4e was incomplete.
707513498266Sopenharmony_ci
707613498266Sopenharmony_ci  Also removed repeated wording in IPFS related error messages.
707713498266Sopenharmony_ci
707813498266Sopenharmony_ci  Closes #11969
707913498266Sopenharmony_ci
708013498266Sopenharmony_ciStefan Eissing (28 Sep 2023)
708113498266Sopenharmony_ci
708213498266Sopenharmony_ci- lib: move handling of `data->req.writer_stack` into Curl_client_write()
708313498266Sopenharmony_ci
708413498266Sopenharmony_ci  - move definitions from content_encoding.h to sendf.h
708513498266Sopenharmony_ci  - move create/cleanup/add code into sendf.c
708613498266Sopenharmony_ci  - installed content_encoding writers will always be called
708713498266Sopenharmony_ci    on Curl_client_write(CLIENTWRITE_BODY)
708813498266Sopenharmony_ci  - Curl_client_cleanup() frees writers and tempbuffers from
708913498266Sopenharmony_ci    paused transfers, irregardless of protocol
709013498266Sopenharmony_ci
709113498266Sopenharmony_ci  Closes #11908
709213498266Sopenharmony_ci
709313498266Sopenharmony_ciLoïc Yhuel (28 Sep 2023)
709413498266Sopenharmony_ci
709513498266Sopenharmony_ci- multi: round the timeout up to prevent early wakeups
709613498266Sopenharmony_ci
709713498266Sopenharmony_ci  Curl_timediff rounds down to the millisecond, so curl_multi_perform can
709813498266Sopenharmony_ci  be called too early, then we get a timeout of 0 and call it again.
709913498266Sopenharmony_ci
710013498266Sopenharmony_ci  The code already handled the case of timeouts which expired less than
710113498266Sopenharmony_ci  1ms in the future.  By rounding up, we make sure we will never ask the
710213498266Sopenharmony_ci  platform to wake up too early.
710313498266Sopenharmony_ci
710413498266Sopenharmony_ci  Closes #11938
710513498266Sopenharmony_ci
710613498266Sopenharmony_ciDaniel Stenberg (28 Sep 2023)
710713498266Sopenharmony_ci
710813498266Sopenharmony_ci- RELEASE-NOTES: spell out that IPFS is via gateway
710913498266Sopenharmony_ci
711013498266Sopenharmony_ci- RELEASE-NOTES: synced
711113498266Sopenharmony_ci
711213498266Sopenharmony_ci- tool_operate: avoid strlen() -1 on zero length content from file
711313498266Sopenharmony_ci
711413498266Sopenharmony_ci  Follow-up to 65b563a96a226649ba12cb1e
711513498266Sopenharmony_ci
711613498266Sopenharmony_ci  Closes #11959
711713498266Sopenharmony_ci
711813498266Sopenharmony_ci- tool_operate: fix memory mixups
711913498266Sopenharmony_ci
712013498266Sopenharmony_ci  Switch to plain getenv() from curl_getenv() to avoid the allocation and
712113498266Sopenharmony_ci  having to keep track of which free() or curl_free() that need to be
712213498266Sopenharmony_ci  used.
712313498266Sopenharmony_ci
712413498266Sopenharmony_ci  Coverity found issues and a memory leak.
712513498266Sopenharmony_ci
712613498266Sopenharmony_ci  Follow-up to 65b563a96a226649ba12cb1e
712713498266Sopenharmony_ci
712813498266Sopenharmony_ci  Closes #11959
712913498266Sopenharmony_ci
713013498266Sopenharmony_ciViktor Szakats (27 Sep 2023)
713113498266Sopenharmony_ci
713213498266Sopenharmony_ci- curl-functions.m4: fixup recent bad edits
713313498266Sopenharmony_ci
713413498266Sopenharmony_ci  Follow-up to 96c29900bcec32dd6bc8e9857c8871ff4b8b8ed9 #11940
713513498266Sopenharmony_ci
713613498266Sopenharmony_ci  Closes #11966
713713498266Sopenharmony_ci
713813498266Sopenharmony_ciDaniel Stenberg (27 Sep 2023)
713913498266Sopenharmony_ci
714013498266Sopenharmony_ci- curl-functions.m4: fix include line
714113498266Sopenharmony_ci
714213498266Sopenharmony_ci  This made the getaddrinfo detection fail, but we did not spot it in the
714313498266Sopenharmony_ci  CI because it graciously falled back to using legacy functions instead!
714413498266Sopenharmony_ci
714513498266Sopenharmony_ci  Follow-up to 96c29900bcec (#11940)
714613498266Sopenharmony_ci
714713498266Sopenharmony_ci  Closes #11965
714813498266Sopenharmony_ci
714913498266Sopenharmony_ci- inet_ntop: add typecast to silence Coverity
715013498266Sopenharmony_ci
715113498266Sopenharmony_ci  CID 1024653:  Integer handling issues  (SIGN_EXTENSION)
715213498266Sopenharmony_ci
715313498266Sopenharmony_ci  Suspicious implicit sign extension: "src[i]" with type "unsigned char
715413498266Sopenharmony_ci  const" (8 bits, unsigned) is promoted in "src[i] << (1 - i % 2 << 3)" to
715513498266Sopenharmony_ci  type "int" (32 bits, signed), then sign-extended to type "unsigned long"
715613498266Sopenharmony_ci  (64 bits, unsigned).  If "src[i] << (1 - i % 2 << 3)" is greater than
715713498266Sopenharmony_ci  0x7FFFFFFF, the upper bits of the result will all be 1.
715813498266Sopenharmony_ci
715913498266Sopenharmony_ci  111         words[i/2] |= (src[i] << ((1 - (i % 2)) << 3));
716013498266Sopenharmony_ci
716113498266Sopenharmony_ci  The value will not be greater than 0x7FFFFFFF so this still cannot
716213498266Sopenharmony_ci  happen.
716313498266Sopenharmony_ci
716413498266Sopenharmony_ci  Also, switch to ints here instead of longs. The values stored are 16 bit
716513498266Sopenharmony_ci  so at least no need to use 64 bit variables. Also, longs are 32 bit on
716613498266Sopenharmony_ci  some platforms so this logic still needs to work with 32 bits.
716713498266Sopenharmony_ci
716813498266Sopenharmony_ci  Closes #11960
716913498266Sopenharmony_ci
717013498266Sopenharmony_ci- docs: adapt SEE ALSO sections to new requirements
717113498266Sopenharmony_ci
717213498266Sopenharmony_ci  To please manpage-syntax.pl used by test 1173
717313498266Sopenharmony_ci
717413498266Sopenharmony_ci  Closes #11957
717513498266Sopenharmony_ci
717613498266Sopenharmony_ci- manpage-syntax.pl: verify SEE ALSO syntax
717713498266Sopenharmony_ci
717813498266Sopenharmony_ci  - Enforce a single reference per .BR line
717913498266Sopenharmony_ci  - Skip the quotes around the section number for example (3)
718013498266Sopenharmony_ci  - Insist on trailing commas on all lines except the last
718113498266Sopenharmony_ci  - Error on comma on the last SEE ALSO entry
718213498266Sopenharmony_ci
718313498266Sopenharmony_ci  - List the entries alpha-sorted, not enforced just recommended
718413498266Sopenharmony_ci
718513498266Sopenharmony_ci  Closes #11957
718613498266Sopenharmony_ci
718713498266Sopenharmony_ci- connect: expire the timeout when trying next
718813498266Sopenharmony_ci
718913498266Sopenharmony_ci  ... so that it gets called again immediately and can continue trying
719013498266Sopenharmony_ci  addresses to connect to. Otherwise it might unnecessarily wait for a
719113498266Sopenharmony_ci  while there.
719213498266Sopenharmony_ci
719313498266Sopenharmony_ci  Fixes #11920
719413498266Sopenharmony_ci  Reported-by: Loïc Yhuel
719513498266Sopenharmony_ci  Closes #11935
719613498266Sopenharmony_ci
719713498266Sopenharmony_ci- http: remove wrong comment for http_should_fail
719813498266Sopenharmony_ci
719913498266Sopenharmony_ci  Reported-by: Christian Schmitz
720013498266Sopenharmony_ci  Ref: #11936
720113498266Sopenharmony_ci  Closes #11941
720213498266Sopenharmony_ci
720313498266Sopenharmony_ciDan Fandrich (26 Sep 2023)
720413498266Sopenharmony_ci
720513498266Sopenharmony_ci- tool_setopt: remove unused function tool_setopt_flags
720613498266Sopenharmony_ci
720713498266Sopenharmony_ci  This function is identical to tool_setopt_bitmask except that it treats
720813498266Sopenharmony_ci  the argument as unsigned.
720913498266Sopenharmony_ci
721013498266Sopenharmony_ci  Closes #11943
721113498266Sopenharmony_ci
721213498266Sopenharmony_ciViktor Szakats (26 Sep 2023)
721313498266Sopenharmony_ci
721413498266Sopenharmony_ci- cmake: add feature checks for `memrchr` and `getifaddrs`
721513498266Sopenharmony_ci
721613498266Sopenharmony_ci  - `HAVE_MEMRCHR` for `memrchr`.
721713498266Sopenharmony_ci  - `HAVE_GETIFADDRS` for `getifaddrs`.
721813498266Sopenharmony_ci    This was present in `lib/curl_config.h.cmake` but missed the detection
721913498266Sopenharmony_ci    logic.
722013498266Sopenharmony_ci
722113498266Sopenharmony_ci  To match existing autotools feature checks.
722213498266Sopenharmony_ci
722313498266Sopenharmony_ci  Closes #11954
722413498266Sopenharmony_ci
722513498266Sopenharmony_ci- cmake: move global headers to specific checks
722613498266Sopenharmony_ci
722713498266Sopenharmony_ci  Before this patch we added standard headers unconditionally to the
722813498266Sopenharmony_ci  global list of headers used for feature checks. This is unnecessary
722913498266Sopenharmony_ci  and also doesn't help CMake 'Generate' performance. This patch moves
723013498266Sopenharmony_ci  these headers to each feature check where they are actually needed.
723113498266Sopenharmony_ci  Stop using `stddef.h`, as it seems unnecessary.
723213498266Sopenharmony_ci
723313498266Sopenharmony_ci  I've used autotools' `m4/curl-functions.m4` to figure out these
723413498266Sopenharmony_ci  dependencies.
723513498266Sopenharmony_ci
723613498266Sopenharmony_ci  Also delete checking for the C89 standard header `time.h`, that I
723713498266Sopenharmony_ci  missed in the earlier commit.
723813498266Sopenharmony_ci
723913498266Sopenharmony_ci  Ref: 96c29900bcec32dd6bc8e9857c8871ff4b8b8ed9 #11940
724013498266Sopenharmony_ci
724113498266Sopenharmony_ci  Closes #11951
724213498266Sopenharmony_ci
724313498266Sopenharmony_ci- src/mkhelp: make generated code pass `checksrc`
724413498266Sopenharmony_ci
724513498266Sopenharmony_ci  Closes #11955
724613498266Sopenharmony_ci
724713498266Sopenharmony_ci- tests: show which curl tool `runtests.pl` is using
724813498266Sopenharmony_ci
724913498266Sopenharmony_ci  To help debugging when there is issue finding or running it.
725013498266Sopenharmony_ci
725113498266Sopenharmony_ci  Closes #11953
725213498266Sopenharmony_ci
725313498266Sopenharmony_ci- CI/azure: make `MAKEFLAGS` global to parallelize all jobs
725413498266Sopenharmony_ci
725513498266Sopenharmony_ci  https://dev.azure.com/daniel0244/curl/_build/results?buildId=17528 (before)
725613498266Sopenharmony_ci  https://dev.azure.com/daniel0244/curl/_build/results?buildId=17545 (after, wi
725713498266Sopenharmony_ci  th -j3)
725813498266Sopenharmony_ci
725913498266Sopenharmony_ci  Closes #11952
726013498266Sopenharmony_ci
726113498266Sopenharmony_ci- CI/azure: migrate old mingw MSYS1 jobs to MSYS2
726213498266Sopenharmony_ci
726313498266Sopenharmony_ci  Also delete an accidental variable reference.
726413498266Sopenharmony_ci
726513498266Sopenharmony_ci  Follow-up to 38029101e2d78ba125732b3bab6ec267b80a0e72
726613498266Sopenharmony_ci
726713498266Sopenharmony_ci  Closes #11945
726813498266Sopenharmony_ci
726913498266Sopenharmony_ciDaniel Stenberg (26 Sep 2023)
727013498266Sopenharmony_ci
727113498266Sopenharmony_ci- docs: add see also curl_multi_get_handles to some man pages
727213498266Sopenharmony_ci
727313498266Sopenharmony_ci  Assisted-by: Jay Satiro
727413498266Sopenharmony_ci
727513498266Sopenharmony_ci  Closes #11942
727613498266Sopenharmony_ci
727713498266Sopenharmony_ciViktor Szakats (26 Sep 2023)
727813498266Sopenharmony_ci
727913498266Sopenharmony_ci- cmake: assume `_fseeki64` and no `fseeko` on Windows
728013498266Sopenharmony_ci
728113498266Sopenharmony_ci  `_fseeki64` is present in mingw-w64 1.0 (2011-09-26) headers, and
728213498266Sopenharmony_ci  at least Watcom C 1.9 (2010) headers and MSVS 2008 [1].
728313498266Sopenharmony_ci
728413498266Sopenharmony_ci  `fseeko` is not present in any of these.
728513498266Sopenharmony_ci
728613498266Sopenharmony_ci  (mingw-w64 1.0 also offers `fseeko64`.)
728713498266Sopenharmony_ci
728813498266Sopenharmony_ci  [1] https://github.com/curl/curl/pull/11944#issuecomment-1734995004
728913498266Sopenharmony_ci
729013498266Sopenharmony_ci  Follow-up to 9c7165e96a3a9a2d0b7059c87c699b5ca8cdae93 #11918
729113498266Sopenharmony_ci
729213498266Sopenharmony_ci  Closes #11950
729313498266Sopenharmony_ci
729413498266Sopenharmony_ci- build: delete checks for C89 standard headers
729513498266Sopenharmony_ci
729613498266Sopenharmony_ci  Delete checks and guards for standard C89 headers and assume these are
729713498266Sopenharmony_ci  available: `stdio.h`, `string.h`, `time.h`, `setjmp.h`, `stdlib.h`,
729813498266Sopenharmony_ci  `stddef.h`, `signal.h`.
729913498266Sopenharmony_ci
730013498266Sopenharmony_ci  Some of these we already used unconditionally, some others we only used
730113498266Sopenharmony_ci  for feature checks.
730213498266Sopenharmony_ci
730313498266Sopenharmony_ci  Follow-up to 9c7165e96a3a9a2d0b7059c87c699b5ca8cdae93 #11918 (for `stdio.h` i
730413498266Sopenharmony_ci  n CMake)
730513498266Sopenharmony_ci
730613498266Sopenharmony_ci  Closes #11940
730713498266Sopenharmony_ci
730813498266Sopenharmony_ciStefan Eissing (26 Sep 2023)
730913498266Sopenharmony_ci
731013498266Sopenharmony_ci- multiif.h: remove Curl_multi_dump declaration
731113498266Sopenharmony_ci
731213498266Sopenharmony_ci  Follow-up to d850eea2 which removed the Curl_multi_dump definition.
731313498266Sopenharmony_ci
731413498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11946
731513498266Sopenharmony_ci
731613498266Sopenharmony_ciJay Satiro (26 Sep 2023)
731713498266Sopenharmony_ci
731813498266Sopenharmony_ci- config-win32: define HAVE__FSEEKI64
731913498266Sopenharmony_ci
732013498266Sopenharmony_ci  Follow-up to 9c7165e9 which added an fseeko wrapper to the lib that
732113498266Sopenharmony_ci  calls _fseeki64 if it is available.
732213498266Sopenharmony_ci
732313498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11944
732413498266Sopenharmony_ci
732513498266Sopenharmony_ci- docs: explain how PINNEDPUBLICKEY is independent of VERIFYPEER
732613498266Sopenharmony_ci
732713498266Sopenharmony_ci  - Explain that peer verification via CURLOPT_PINNEDPUBLICKEY takes place
732813498266Sopenharmony_ci    even if peer verification via CURLOPT_SSL_VERIFYPEER is turned off.
732913498266Sopenharmony_ci
733013498266Sopenharmony_ci  The behavior is verified by test2048.
733113498266Sopenharmony_ci
733213498266Sopenharmony_ci  Bug: https://github.com/curl/curl/issues/2935#issuecomment-418371872
733313498266Sopenharmony_ci  Reported-by: claudiusaiz@users.noreply.github.com
733413498266Sopenharmony_ci
733513498266Sopenharmony_ci  Bug: https://github.com/curl/curl/discussions/11910
733613498266Sopenharmony_ci  Reported-by: Hakan Sunay Halil
733713498266Sopenharmony_ci
733813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11930
733913498266Sopenharmony_ci
734013498266Sopenharmony_ciStefan Eissing (26 Sep 2023)
734113498266Sopenharmony_ci
734213498266Sopenharmony_ci- openssl: improve ssl shutdown handling
734313498266Sopenharmony_ci
734413498266Sopenharmony_ci  - If SSL shutdown is not finished then make an additional call to
734513498266Sopenharmony_ci    SSL_read to gather additional tracing.
734613498266Sopenharmony_ci
734713498266Sopenharmony_ci  - Fix http2 and h2-proxy filters to forward do_close() calls to the next
734813498266Sopenharmony_ci    filter.
734913498266Sopenharmony_ci
735013498266Sopenharmony_ci  For example h2 and SSL shutdown before and after this change:
735113498266Sopenharmony_ci
735213498266Sopenharmony_ci  Before:
735313498266Sopenharmony_ci
735413498266Sopenharmony_ci  Curl_conn_close -> cf_hc_close -> Curl_conn_cf_discard_chain ->
735513498266Sopenharmony_ci  ssl_cf_destroy
735613498266Sopenharmony_ci
735713498266Sopenharmony_ci  After:
735813498266Sopenharmony_ci
735913498266Sopenharmony_ci  Curl_conn_close -> cf_hc_close -> cf_h2_close -> cf_setup_close ->
736013498266Sopenharmony_ci  ssl_cf_close
736113498266Sopenharmony_ci
736213498266Sopenharmony_ci  Note that currently the tracing does not show output on the connection
736313498266Sopenharmony_ci  closure handle. Refer to discussion in #11878.
736413498266Sopenharmony_ci
736513498266Sopenharmony_ci  Ref: https://github.com/curl/curl/discussions/11878
736613498266Sopenharmony_ci
736713498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11858
736813498266Sopenharmony_ci
736913498266Sopenharmony_ciLoïc Yhuel (26 Sep 2023)
737013498266Sopenharmony_ci
737113498266Sopenharmony_ci- multi: fix small timeouts
737213498266Sopenharmony_ci
737313498266Sopenharmony_ci  Since Curl_timediff rounds down to the millisecond, timeouts which
737413498266Sopenharmony_ci  expire in less than 1ms are considered as outdated and removed from the
737513498266Sopenharmony_ci  list. We can use Curl_timediff_us instead, big timeouts could saturate
737613498266Sopenharmony_ci  but this is not an issue.
737713498266Sopenharmony_ci
737813498266Sopenharmony_ci  Closes #11937
737913498266Sopenharmony_ci
738013498266Sopenharmony_ciViktor Szakats (25 Sep 2023)
738113498266Sopenharmony_ci
738213498266Sopenharmony_ci- cmake: fix stderr initialization in unity builds
738313498266Sopenharmony_ci
738413498266Sopenharmony_ci  Before this patch, in certain build configurations the curl tool may
738513498266Sopenharmony_ci  not have displayed anything (debug, macOS), or crashed at startup
738613498266Sopenharmony_ci  (debug, Windows).
738713498266Sopenharmony_ci
738813498266Sopenharmony_ci  Follow-up to 3f8fc25720900b14b7432f4bd93407ca15311719
738913498266Sopenharmony_ci  Necessary after 2f17a9b654121dd1ecf4fc043c6d08a9da3522db
739013498266Sopenharmony_ci
739113498266Sopenharmony_ci  Closes #11929
739213498266Sopenharmony_ci
739313498266Sopenharmony_ci- cmake: fix missing `zlib.h` when compiling `libcurltool`
739413498266Sopenharmony_ci
739513498266Sopenharmony_ci  Came up while testing debug/testing build for Windows. I'm not sure why
739613498266Sopenharmony_ci  it didn't come up in earlier tests with similar config.
739713498266Sopenharmony_ci  `tool_hugehelp.c` might indeed require `zlib.h` and without linking
739813498266Sopenharmony_ci  `CURL_LIBS` to the `curltool` target, CMake doesn't seem to add detected
739913498266Sopenharmony_ci  dependency headers to the compiler command.
740013498266Sopenharmony_ci
740113498266Sopenharmony_ci  ```
740213498266Sopenharmony_ci  [ 25%] Building C object src/CMakeFiles/curltool.dir/tool_hugehelp.c.obj
740313498266Sopenharmony_ci  cd .../curl/bld-cmake-llvm-x64/src && /usr/local/opt/llvm/bin/clang
740413498266Sopenharmony_ci    --target=x86_64-w64-mingw32 --sysroot=/usr/local/opt/mingw-w64/toolchain-x8
740513498266Sopenharmony_ci  6_64
740613498266Sopenharmony_ci    -DCURLDEBUG -DCURL_STATICLIB -DHAVE_CONFIG_H -DUNICODE -DUNITTESTS -D_UNICO
740713498266Sopenharmony_ci  DE
740813498266Sopenharmony_ci    -I.../curl/include -I.../curl/lib -I.../curl/bld-cmake-llvm-x64/lib
740913498266Sopenharmony_ci    -I.../curl/bld-cmake-llvm-x64/include -I.../curl/src -Wno-unused-command-li
741013498266Sopenharmony_ci  ne-argument
741113498266Sopenharmony_ci    -D_UCRT -DDEBUGBUILD -DHAS_ALPN -DUSE_MANUAL=1  -fuse-ld=lld -Wl,-s -static
741213498266Sopenharmony_ci  -libgcc
741313498266Sopenharmony_ci    -lucrt [...] -O3 -DNDEBUG -municode -MD
741413498266Sopenharmony_ci    -MT src/CMakeFiles/curltool.dir/tool_hugehelp.c.obj
741513498266Sopenharmony_ci    -MF CMakeFiles/curltool.dir/tool_hugehelp.c.obj.d
741613498266Sopenharmony_ci    -o CMakeFiles/curltool.dir/tool_hugehelp.c.obj -c .../curl/bld-cmake-llvm-x
741713498266Sopenharmony_ci  64/src/tool_hugehelp.c
741813498266Sopenharmony_ci  .../curl/bld-cmake-llvm-x64/src/tool_hugehelp.c:6:10: fatal error: 'zlib.h' f
741913498266Sopenharmony_ci  ile not found
742013498266Sopenharmony_ci      6 | #include <zlib.h>
742113498266Sopenharmony_ci        |          ^~~~~~~~
742213498266Sopenharmony_ci  ```
742313498266Sopenharmony_ci
742413498266Sopenharmony_ci  Follow-up to 39e7c22bb459c2e818f079984989a26a09741860
742513498266Sopenharmony_ci
742613498266Sopenharmony_ci  Closes #11927
742713498266Sopenharmony_ci
742813498266Sopenharmony_ci- cmake: fix duplicate symbols when linking tests
742913498266Sopenharmony_ci
743013498266Sopenharmony_ci  The linker resolves this automatically in non-unity builds. In unity
743113498266Sopenharmony_ci  builds the linker cannot drop a single object with the duplicates,
743213498266Sopenharmony_ci  resulting in these errors. The root issue is that we started including
743313498266Sopenharmony_ci  certain objects both via both libcurlu and libcurltool libs.
743413498266Sopenharmony_ci
743513498266Sopenharmony_ci  Regression from 39e7c22bb459c2e818f079984989a26a09741860
743613498266Sopenharmony_ci
743713498266Sopenharmony_ci  Windows errors:
743813498266Sopenharmony_ci  ```
743913498266Sopenharmony_ci  [  3%] Linking C executable unit1303.exe
744013498266Sopenharmony_ci  [  3%] Building C object tests/server/CMakeFiles/rtspd.dir/__/__/lib/curl_mul
744113498266Sopenharmony_ci  tibyte.c.obj
744213498266Sopenharmony_ci  ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_convert_UTF8_to_wch
744313498266Sopenharmony_ci  ar':
744413498266Sopenharmony_ci  C:/projects/curl/lib/curl_multibyte.c:44: multiple definition of `curlx_conve
744513498266Sopenharmony_ci  rt_UTF8_to_wchar'
744613498266Sopenharmony_ci  ../../src/libcurltool-d.a(unity_0.c.obj):C:/projects/curl/lib/curl_multibyte.
744713498266Sopenharmony_ci  c:44: first defined here
744813498266Sopenharmony_ci  ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_convert_wchar_to_UT
744913498266Sopenharmony_ci  F8':
745013498266Sopenharmony_ci  C:/projects/curl/lib/curl_multibyte.c:66: multiple definition of `curlx_conve
745113498266Sopenharmony_ci  rt_wchar_to_UTF8'
745213498266Sopenharmony_ci  ../../src/libcurltool-d.a(unity_0.c.obj):C:/projects/curl/lib/curl_multibyte.
745313498266Sopenharmony_ci  c:66: first defined here
745413498266Sopenharmony_ci  ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_win32_open':
745513498266Sopenharmony_ci  C:/projects/curl/lib/curl_multibyte.c:92: multiple definition of `curlx_win32
745613498266Sopenharmony_ci  _open'
745713498266Sopenharmony_ci  ../../src/libcurltool-d.a(unity_0.c.obj):C:/projects/curl/lib/curl_multibyte.
745813498266Sopenharmony_ci  c:92: first defined here
745913498266Sopenharmony_ci  ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_win32_fopen':
746013498266Sopenharmony_ci  C:/projects/curl/lib/curl_multibyte.c:120: multiple definition of `curlx_win3
746113498266Sopenharmony_ci  2_fopen'
746213498266Sopenharmony_ci  ../../src/libcurltool-d.a(unity_0.c.obj):C:/projects/curl/lib/curl_multibyte.
746313498266Sopenharmony_ci  c:120: first defined here
746413498266Sopenharmony_ci  ../../lib/libcurlu-d.a(unity_0.c.obj): In function `curlx_win32_stat':
746513498266Sopenharmony_ci  [...]
746613498266Sopenharmony_ci  ```
746713498266Sopenharmony_ci  Ref: https://ci.appveyor.com/project/curlorg/curl/builds/48110107/job/nvlhpt9
746813498266Sopenharmony_ci  aa4ehny5q#L247
746913498266Sopenharmony_ci
747013498266Sopenharmony_ci  macOS errors:
747113498266Sopenharmony_ci  ```
747213498266Sopenharmony_ci  [ 56%] Linking C executable unit1302
747313498266Sopenharmony_ci  duplicate symbol '_curlx_sotouz' in:
747413498266Sopenharmony_ci      ../../lib/libcurlu.a(unity_0_c.c.o)
747513498266Sopenharmony_ci      ../../src/libcurltool.a(unity_0_c.c.o)
747613498266Sopenharmony_ci  duplicate symbol '_curlx_sitouz' in:
747713498266Sopenharmony_ci      ../../lib/libcurlu.a(unity_0_c.c.o)
747813498266Sopenharmony_ci      ../../src/libcurltool.a(unity_0_c.c.o)
747913498266Sopenharmony_ci  duplicate symbol '_curlx_uztosz' in:
748013498266Sopenharmony_ci      ../../lib/libcurlu.a(unity_0_c.c.o)
748113498266Sopenharmony_ci      ../../src/libcurltool.a(unity_0_c.c.o)
748213498266Sopenharmony_ci  [...]
748313498266Sopenharmony_ci  ```
748413498266Sopenharmony_ci  with config:
748513498266Sopenharmony_ci  ```
748613498266Sopenharmony_ci    -DCMAKE_UNITY_BUILD=ON \
748713498266Sopenharmony_ci    -DENABLE_DEBUG=ON -DBUILD_TESTING=ON -DCMAKE_C_FLAGS=-DDEBUGBUILD \
748813498266Sopenharmony_ci    -DBUILD_SHARED_LIBS=ON \
748913498266Sopenharmony_ci    -DBUILD_STATIC_LIBS=OFF
749013498266Sopenharmony_ci  ```
749113498266Sopenharmony_ci
749213498266Sopenharmony_ci  Closes #11926
749313498266Sopenharmony_ci
749413498266Sopenharmony_ci- cmake: lib `CURL_STATICLIB` fixes (Windows)
749513498266Sopenharmony_ci
749613498266Sopenharmony_ci  - always define `CURL_STATICLIB` when building libcurl for Windows.
749713498266Sopenharmony_ci
749813498266Sopenharmony_ci    This disables `__declspec(dllexport)` for exported libcurl symbols.
749913498266Sopenharmony_ci    In normal mode (hide symbols) these exported symbols are specified
750013498266Sopenharmony_ci    via `libcurl.def`. When not hiding symbols, all symbols are exported
750113498266Sopenharmony_ci    by default.
750213498266Sopenharmony_ci
750313498266Sopenharmony_ci    Regression from 1199308dbc902c52be67fc805c72dd2582520d30
750413498266Sopenharmony_ci
750513498266Sopenharmony_ci    Fixes #11844
750613498266Sopenharmony_ci
750713498266Sopenharmony_ci  - fix to omit `libcurl.def` when not hiding private symbols.
750813498266Sopenharmony_ci
750913498266Sopenharmony_ci    Regression from 2ebc74c36a19a1700af394c16855ce144d9878e3
751013498266Sopenharmony_ci
751113498266Sopenharmony_ci  - fix `ENABLED_DEBUG=ON` + shared curl tool Windows builds by also
751213498266Sopenharmony_ci    omitting `libcurl.def` in this case, and exporting all symbols
751313498266Sopenharmony_ci    instead. This ensures that a shared curl tool can access all debug
751413498266Sopenharmony_ci    functions which are not normally exported from libcurl DLL.
751513498266Sopenharmony_ci
751613498266Sopenharmony_ci  - delete `INTERFACE_COMPILE_DEFINITIONS "CURL_STATICLIB"` for "objects"
751713498266Sopenharmony_ci    target.
751813498266Sopenharmony_ci
751913498266Sopenharmony_ci    Follow-up to 2ebc74c36a19a1700af394c16855ce144d9878e3
752013498266Sopenharmony_ci
752113498266Sopenharmony_ci  - delete duplicate `BUILDING_LIBCURL` definitions.
752213498266Sopenharmony_ci
752313498266Sopenharmony_ci  - fix `HIDES_CURL_PRIVATE_SYMBOLS` to not overwrite earlier build settings.
752413498266Sopenharmony_ci
752513498266Sopenharmony_ci    Follow-up to 1199308dbc902c52be67fc805c72dd2582520d30
752613498266Sopenharmony_ci
752713498266Sopenharmony_ci  Closes #11914
752813498266Sopenharmony_ci
752913498266Sopenharmony_ciDaniel Stenberg (25 Sep 2023)
753013498266Sopenharmony_ci
753113498266Sopenharmony_ci- RELEASE-NOTES: synced
753213498266Sopenharmony_ci
753313498266Sopenharmony_ciDan Fandrich (25 Sep 2023)
753413498266Sopenharmony_ci
753513498266Sopenharmony_ci- tests: fix log directory path in IPFS tests
753613498266Sopenharmony_ci
753713498266Sopenharmony_ci  Hard-coding the log directory name fails with parallel tests.
753813498266Sopenharmony_ci
753913498266Sopenharmony_ci  Follow-up to 65b563a96
754013498266Sopenharmony_ci
754113498266Sopenharmony_ci  Ref: #8805
754213498266Sopenharmony_ci
754313498266Sopenharmony_ciDaniel Stenberg (25 Sep 2023)
754413498266Sopenharmony_ci
754513498266Sopenharmony_ci- curl_multi_get_handles: get easy handles from a multi handle
754613498266Sopenharmony_ci
754713498266Sopenharmony_ci  Closes #11750
754813498266Sopenharmony_ci
754913498266Sopenharmony_ciStefan Eissing (25 Sep 2023)
755013498266Sopenharmony_ci
755113498266Sopenharmony_ci- http: h1/h2 proxy unification
755213498266Sopenharmony_ci
755313498266Sopenharmony_ci  - use shared code for setting up the CONNECT request
755413498266Sopenharmony_ci    when tunneling, used in HTTP/1.x and HTTP/2 proxying
755513498266Sopenharmony_ci  - eliminate use of Curl_buffer_send() and other manipulations
755613498266Sopenharmony_ci    of `data->req` or `data->state.ulbuf`
755713498266Sopenharmony_ci
755813498266Sopenharmony_ci  Closes #11808
755913498266Sopenharmony_ci
756013498266Sopenharmony_ciNatanael Copa (25 Sep 2023)
756113498266Sopenharmony_ci
756213498266Sopenharmony_ci- lib: use wrapper for curl_mime_data fseek callback
756313498266Sopenharmony_ci
756413498266Sopenharmony_ci  fseek uses long offset which does not match with curl_off_t. This leads
756513498266Sopenharmony_ci  to undefined behavior when calling the callback and caused failure on
756613498266Sopenharmony_ci  arm 32 bit.
756713498266Sopenharmony_ci
756813498266Sopenharmony_ci  Use a wrapper to solve this and use fseeko which uses off_t instead of
756913498266Sopenharmony_ci  long.
757013498266Sopenharmony_ci
757113498266Sopenharmony_ci  Thanks to the nice people at Libera IRC #musl for helping finding this
757213498266Sopenharmony_ci  out.
757313498266Sopenharmony_ci
757413498266Sopenharmony_ci  Fixes #11882
757513498266Sopenharmony_ci  Fixes #11900
757613498266Sopenharmony_ci  Closes #11918
757713498266Sopenharmony_ci
757813498266Sopenharmony_ci- configure: sort AC_CHECK_FUNCS
757913498266Sopenharmony_ci
758013498266Sopenharmony_ci  No functional changes.
758113498266Sopenharmony_ci
758213498266Sopenharmony_ciDaniel Stenberg (25 Sep 2023)
758313498266Sopenharmony_ci
758413498266Sopenharmony_ci- warnless: remove unused functions
758513498266Sopenharmony_ci
758613498266Sopenharmony_ci  Previously put there for use with the intel compiler
758713498266Sopenharmony_ci
758813498266Sopenharmony_ci  Closes #11932
758913498266Sopenharmony_ci
759013498266Sopenharmony_ci- GHA/linux: run singleuse to detect single-use global functions
759113498266Sopenharmony_ci
759213498266Sopenharmony_ci  Use --unit for configure --enable-debug builds
759313498266Sopenharmony_ci
759413498266Sopenharmony_ci  Closes #11932
759513498266Sopenharmony_ci
759613498266Sopenharmony_ci- singleuse: add scan for use in other source codes
759713498266Sopenharmony_ci
759813498266Sopenharmony_ci  This should reduce false-positive to almost zero. Checks for presence in
759913498266Sopenharmony_ci  unit tests if --unit is specified, which is intended for debug builds
760013498266Sopenharmony_ci  where unit testing is enabled.
760113498266Sopenharmony_ci
760213498266Sopenharmony_ci  Closes #11932
760313498266Sopenharmony_ci
760413498266Sopenharmony_ci- multi: remove Curl_multi_dump
760513498266Sopenharmony_ci
760613498266Sopenharmony_ci  A debug-only function that is basically never used. Removed to ease the
760713498266Sopenharmony_ci  use of the singleuse script to detect non-static functions not used
760813498266Sopenharmony_ci  outside the file where it is defined.
760913498266Sopenharmony_ci
761013498266Sopenharmony_ci  Closes #11931
761113498266Sopenharmony_ci
761213498266Sopenharmony_ciViktor Szakats (24 Sep 2023)
761313498266Sopenharmony_ci
761413498266Sopenharmony_ci- tests: fix compiler warnings
761513498266Sopenharmony_ci
761613498266Sopenharmony_ci  Seen with llvm 17 on Windows x64.
761713498266Sopenharmony_ci
761813498266Sopenharmony_ci  ```
761913498266Sopenharmony_ci  .../curl/tests/server/rtspd.c:136:13: warning: no previous extern declaration
762013498266Sopenharmony_ci   for non-static variable 'logdir' [-Wmissing-variable-declarations]
762113498266Sopenharmony_ci    136 | const char *logdir = "log";
762213498266Sopenharmony_ci        |             ^
762313498266Sopenharmony_ci  .../curl/tests/server/rtspd.c:136:7: note: declare 'static' if the variable i
762413498266Sopenharmony_ci  s not intended to be used outside of this translation unit
762513498266Sopenharmony_ci    136 | const char *logdir = "log";
762613498266Sopenharmony_ci        |       ^
762713498266Sopenharmony_ci  .../curl/tests/server/rtspd.c:137:6: warning: no previous extern declaration 
762813498266Sopenharmony_ci  for non-static variable 'loglockfile' [-Wmissing-variable-declarations]
762913498266Sopenharmony_ci    137 | char loglockfile[256];
763013498266Sopenharmony_ci        |      ^
763113498266Sopenharmony_ci  .../curl/tests/server/rtspd.c:137:1: note: declare 'static' if the variable i
763213498266Sopenharmony_ci  s not intended to be used outside of this translation unit
763313498266Sopenharmony_ci    137 | char loglockfile[256];
763413498266Sopenharmony_ci        | ^
763513498266Sopenharmony_ci  .../curl/tests/server/fake_ntlm.c:43:13: warning: no previous extern declarat
763613498266Sopenharmony_ci  ion for non-static variable 'logdir' [-Wmissing-variable-declarations]
763713498266Sopenharmony_ci     43 | const char *logdir = "log";
763813498266Sopenharmony_ci        |             ^
763913498266Sopenharmony_ci  .../curl/tests/server/fake_ntlm.c:43:7: note: declare 'static' if the variabl
764013498266Sopenharmony_ci  e is not intended to be used outside of this translation unit
764113498266Sopenharmony_ci     43 | const char *logdir = "log";
764213498266Sopenharmony_ci        |       ^
764313498266Sopenharmony_ci  .../curl/src/tool_doswin.c:350:8: warning: possible misuse of comma operator 
764413498266Sopenharmony_ci  here [-Wcomma]
764513498266Sopenharmony_ci    350 |     ++d, ++s;
764613498266Sopenharmony_ci        |        ^
764713498266Sopenharmony_ci  .../curl/src/tool_doswin.c:350:5: note: cast expression to void to silence wa
764813498266Sopenharmony_ci  rning
764913498266Sopenharmony_ci    350 |     ++d, ++s;
765013498266Sopenharmony_ci        |     ^~~
765113498266Sopenharmony_ci        |     (void)( )
765213498266Sopenharmony_ci  ```
765313498266Sopenharmony_ci
765413498266Sopenharmony_ci  ```
765513498266Sopenharmony_ci  .../curl/tests/libtest/lib540.c:146:27: warning: result of comparison 'long' 
765613498266Sopenharmony_ci  > 2147483647 is always false [-Wtautological-type-limit-compare]
765713498266Sopenharmony_ci    146 |         int itimeout = (L > (long)INT_MAX) ? INT_MAX : (int)L;
765813498266Sopenharmony_ci        |                         ~ ^ ~~~~~~~~~~~~~
765913498266Sopenharmony_ci  1 warning generated.
766013498266Sopenharmony_ci
766113498266Sopenharmony_ci  .../curl/tests/libtest/libntlmconnect.c:195:31: warning: result of comparison
766213498266Sopenharmony_ci   'long' > 2147483647 is always false [-Wtautological-type-limit-compare]
766313498266Sopenharmony_ci    195 |       int itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeo
766413498266Sopenharmony_ci  ut;
766513498266Sopenharmony_ci        |                       ~~~~~~~ ^ ~~~~~~~~~~~~~
766613498266Sopenharmony_ci  1 warning generated.
766713498266Sopenharmony_ci
766813498266Sopenharmony_ci  .../curl/tests/libtest/lib591.c:117:31: warning: result of comparison 'long' 
766913498266Sopenharmony_ci  > 2147483647 is always false [-Wtautological-type-limit-compare]
767013498266Sopenharmony_ci    117 |       int itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeo
767113498266Sopenharmony_ci  ut;
767213498266Sopenharmony_ci        |                       ~~~~~~~ ^ ~~~~~~~~~~~~~
767313498266Sopenharmony_ci  1 warning generated.
767413498266Sopenharmony_ci  .../curl/tests/libtest/lib597.c:99:31: warning: result of comparison 'long' >
767513498266Sopenharmony_ci   2147483647 is always false [-Wtautological-type-limit-compare]
767613498266Sopenharmony_ci     99 |       int itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeo
767713498266Sopenharmony_ci  ut;
767813498266Sopenharmony_ci        |                       ~~~~~~~ ^ ~~~~~~~~~~~~~
767913498266Sopenharmony_ci  1 warning generated.
768013498266Sopenharmony_ci  ```
768113498266Sopenharmony_ci
768213498266Sopenharmony_ci  Seen on macOS Intel:
768313498266Sopenharmony_ci  ```
768413498266Sopenharmony_ci  .../curl/tests/server/sws.c:440:64: warning: field precision should have type
768513498266Sopenharmony_ci   'int', but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
768613498266Sopenharmony_ci            msnprintf(logbuf, sizeof(logbuf), "Got request: %s %.*s HTTP/%d.%d"
768713498266Sopenharmony_ci  ,
768813498266Sopenharmony_ci                                                               ~~^~
768913498266Sopenharmony_ci  1 warning generated.
769013498266Sopenharmony_ci  ```
769113498266Sopenharmony_ci
769213498266Sopenharmony_ci  Closes #11925
769313498266Sopenharmony_ci
769413498266Sopenharmony_ciJay Satiro (24 Sep 2023)
769513498266Sopenharmony_ci
769613498266Sopenharmony_ci- url: fix netrc info message
769713498266Sopenharmony_ci
769813498266Sopenharmony_ci  - Fix netrc info message to use the generic ".netrc" filename if the
769913498266Sopenharmony_ci    user did not specify a netrc location.
770013498266Sopenharmony_ci
770113498266Sopenharmony_ci  - Update --netrc doc to add that recent versions of curl on Windows
770213498266Sopenharmony_ci    prefer .netrc over _netrc.
770313498266Sopenharmony_ci
770413498266Sopenharmony_ci  Before:
770513498266Sopenharmony_ci  * Couldn't find host google.com in the (nil) file; using defaults
770613498266Sopenharmony_ci
770713498266Sopenharmony_ci  After:
770813498266Sopenharmony_ci  * Couldn't find host google.com in the .netrc file; using defaults
770913498266Sopenharmony_ci
771013498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11904
771113498266Sopenharmony_ci
771213498266Sopenharmony_ciDan Fandrich (23 Sep 2023)
771313498266Sopenharmony_ci
771413498266Sopenharmony_ci- wolfssh: do cleanup in Curl_ssh_cleanup
771513498266Sopenharmony_ci
771613498266Sopenharmony_ci  Closes: #11921
771713498266Sopenharmony_ci
771813498266Sopenharmony_ciDaniel Stenberg (24 Sep 2023)
771913498266Sopenharmony_ci
772013498266Sopenharmony_ci- tool_listhelp: regenerated
772113498266Sopenharmony_ci
772213498266Sopenharmony_ci  Polished the --ipfs-gateway description
772313498266Sopenharmony_ci
772413498266Sopenharmony_ci  Fixed the --trace-config description
772513498266Sopenharmony_ci
772613498266Sopenharmony_ci  The script also fixed some other small mistakes
772713498266Sopenharmony_ci
772813498266Sopenharmony_ci  Closes #11923
772913498266Sopenharmony_ci
773013498266Sopenharmony_ciViktor Szakats (23 Sep 2023)
773113498266Sopenharmony_ci
773213498266Sopenharmony_ci- Makefile.mk: always set `CURL_STATICLIB` for lib (Windows)
773313498266Sopenharmony_ci
773413498266Sopenharmony_ci  Also fix to export all symbols in Windows debug builds, making
773513498266Sopenharmony_ci  `-debug-dyn` builds work with `-DCURL_STATICLIB` set.
773613498266Sopenharmony_ci
773713498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/11914 (same for CMake)
773813498266Sopenharmony_ci
773913498266Sopenharmony_ci  Closes #11924
774013498266Sopenharmony_ci
774113498266Sopenharmony_ciDaniel Stenberg (23 Sep 2023)
774213498266Sopenharmony_ci
774313498266Sopenharmony_ci- quic: set ciphers/curves the same way regular TLS does
774413498266Sopenharmony_ci
774513498266Sopenharmony_ci  for OpenSSL/BoringSSL
774613498266Sopenharmony_ci
774713498266Sopenharmony_ci  Fixes #11796
774813498266Sopenharmony_ci  Reported-by: Karthikdasari0423 on github
774913498266Sopenharmony_ci  Assisted-by: Jay Satiro
775013498266Sopenharmony_ci  Closes #11836
775113498266Sopenharmony_ci
775213498266Sopenharmony_ci- test457: verify --max-filesize with chunked encoding
775313498266Sopenharmony_ci
775413498266Sopenharmony_ci- lib: let the max filesize option stop too big transfers too
775513498266Sopenharmony_ci
775613498266Sopenharmony_ci  Previously it would only stop them from getting started if the size is
775713498266Sopenharmony_ci  known to be too big then.
775813498266Sopenharmony_ci
775913498266Sopenharmony_ci  Update the libcurl and curl docs accordingly.
776013498266Sopenharmony_ci
776113498266Sopenharmony_ci  Fixes #11810
776213498266Sopenharmony_ci  Reported-by: Elliot Killick
776313498266Sopenharmony_ci  Assisted-by: Jay Satiro
776413498266Sopenharmony_ci  Closes #11820
776513498266Sopenharmony_ci
776613498266Sopenharmony_ciViktor Szakats (23 Sep 2023)
776713498266Sopenharmony_ci
776813498266Sopenharmony_ci- mingw: delete support for legacy mingw.org toolchain
776913498266Sopenharmony_ci
777013498266Sopenharmony_ci  Drop support for "old" / "legacy" / "classic" / "v1" / "mingw32" MinGW:
777113498266Sopenharmony_ci    https://en.wikipedia.org/wiki/MinGW, https://osdn.net/projects/mingw/
777213498266Sopenharmony_ci  Its homepage used to be http://mingw.org/ [no HTTPS], and broken now.
777313498266Sopenharmony_ci  It supported the x86 CPU only and used a old Windows API header and
777413498266Sopenharmony_ci  implib set, often causing issues. It also misses most modern Windows
777513498266Sopenharmony_ci  features, offering old versions of both binutils and gcc (no llvm/clang
777613498266Sopenharmony_ci  support). It was last updated 2 years ago.
777713498266Sopenharmony_ci
777813498266Sopenharmony_ci  curl now relies on toolchains based on the mingw-w64 project:
777913498266Sopenharmony_ci  https://www.mingw-w64.org/  https://sourceforge.net/projects/mingw-w64/
778013498266Sopenharmony_ci  https://www.msys2.org/  https://github.com/msys2/msys2
778113498266Sopenharmony_ci  https://github.com/mstorsjo/llvm-mingw
778213498266Sopenharmony_ci  (Also available via Linux and macOS package managers.)
778313498266Sopenharmony_ci
778413498266Sopenharmony_ci  Closes #11625
778513498266Sopenharmony_ci
778613498266Sopenharmony_ciMark Gaiser (23 Sep 2023)
778713498266Sopenharmony_ci
778813498266Sopenharmony_ci- curl: add support for the IPFS protocols:
778913498266Sopenharmony_ci
779013498266Sopenharmony_ci  - ipfs://<cid>
779113498266Sopenharmony_ci  - ipns://<cid>
779213498266Sopenharmony_ci
779313498266Sopenharmony_ci  This allows you tu use ipfs in curl like:
779413498266Sopenharmony_ci  curl ipfs://<cid>
779513498266Sopenharmony_ci  and
779613498266Sopenharmony_ci  curl ipns://<cid>
779713498266Sopenharmony_ci
779813498266Sopenharmony_ci  For more information consult the readme at:
779913498266Sopenharmony_ci  https://curl.se/docs/ipfs.html
780013498266Sopenharmony_ci
780113498266Sopenharmony_ci  Closes #8805
780213498266Sopenharmony_ci
780313498266Sopenharmony_ciDaniel Stenberg (23 Sep 2023)
780413498266Sopenharmony_ci
780513498266Sopenharmony_ci- bufq: remove Curl_bufq_skip_and_shift (unused)
780613498266Sopenharmony_ci
780713498266Sopenharmony_ci  Closes #11915
780813498266Sopenharmony_ci
780913498266Sopenharmony_ci- scripts/singleuse.pl: add curl_global_trace
781013498266Sopenharmony_ci
781113498266Sopenharmony_ciViktor Szakats (22 Sep 2023)
781213498266Sopenharmony_ci
781313498266Sopenharmony_ci- cmake: fix unity symbol collisions in h2 builds
781413498266Sopenharmony_ci
781513498266Sopenharmony_ci  Regression from 331b89a319d0067fa1e6441719307cfef9c7960f
781613498266Sopenharmony_ci
781713498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
781813498266Sopenharmony_ci  Reviewed-by: Jay Satiro
781913498266Sopenharmony_ci  Closes #11912
782013498266Sopenharmony_ci
782113498266Sopenharmony_ciDaniel Stenberg (22 Sep 2023)
782213498266Sopenharmony_ci
782313498266Sopenharmony_ci- RELEASE-NOTES: synced
782413498266Sopenharmony_ci
782513498266Sopenharmony_ciDan Fandrich (21 Sep 2023)
782613498266Sopenharmony_ci
782713498266Sopenharmony_ci- github/labeler: improve the match patterns
782813498266Sopenharmony_ci
782913498266Sopenharmony_ci  This includes new rules for setting the appleOS and logging labels and
783013498266Sopenharmony_ci  matches on some example files. Also, enable dot mode for wildcard
783113498266Sopenharmony_ci  matches in the .github directory.
783213498266Sopenharmony_ci
783313498266Sopenharmony_ciDaniel Stenberg (21 Sep 2023)
783413498266Sopenharmony_ci
783513498266Sopenharmony_ci- upload-file.d: describe the file name slash/backslash handling
783613498266Sopenharmony_ci
783713498266Sopenharmony_ci  Closes #11911
783813498266Sopenharmony_ci
783913498266Sopenharmony_ciJakub Jelen (21 Sep 2023)
784013498266Sopenharmony_ci
784113498266Sopenharmony_ci- libssh: cap SFTP packet size sent
784213498266Sopenharmony_ci
784313498266Sopenharmony_ci  Due to libssh limitations
784413498266Sopenharmony_ci
784513498266Sopenharmony_ci  Signed-off-by: Jakub Jelen <jjelen@redhat.com>
784613498266Sopenharmony_ci
784713498266Sopenharmony_ci  Closes #11804
784813498266Sopenharmony_ci
784913498266Sopenharmony_ciDaniel Stenberg (21 Sep 2023)
785013498266Sopenharmony_ci
785113498266Sopenharmony_ci- curl.h: mark CURLSSLBACKEND_NSS as deprecated since 8.3.0
785213498266Sopenharmony_ci
785313498266Sopenharmony_ci  Closes #11905
785413498266Sopenharmony_ci
785513498266Sopenharmony_ci- mailmap: unify Michael Osipov under a single email
785613498266Sopenharmony_ci
785713498266Sopenharmony_ciTed Lyngmo (21 Sep 2023)
785813498266Sopenharmony_ci
785913498266Sopenharmony_ci- docs: use CURLSSLBACKEND_NONE
786013498266Sopenharmony_ci
786113498266Sopenharmony_ci  [ssl] use CURLSSLBACKEND_NONE instead of (curl_sslbackend)-1 in
786213498266Sopenharmony_ci  documentation and examples.
786313498266Sopenharmony_ci
786413498266Sopenharmony_ci  Signed-off-by: Ted Lyngmo <ted@lyncon.se>
786513498266Sopenharmony_ci
786613498266Sopenharmony_ci  Closes #11909
786713498266Sopenharmony_ci
786813498266Sopenharmony_ciDan Fandrich (21 Sep 2023)
786913498266Sopenharmony_ci
787013498266Sopenharmony_ci- github/labeler: give the sync-labels config item a default value
787113498266Sopenharmony_ci
787213498266Sopenharmony_ci  This shouldn't be necessary and is likely a bug with this beta version
787313498266Sopenharmony_ci  of the labeller.
787413498266Sopenharmony_ci
787513498266Sopenharmony_ci  Also, fix the negative matches for the documentation label.
787613498266Sopenharmony_ci
787713498266Sopenharmony_ci  Follow-up to dd12b452a
787813498266Sopenharmony_ci  Closes #11907
787913498266Sopenharmony_ci
788013498266Sopenharmony_ci- github/labeler: fix up more the labeler config format
788113498266Sopenharmony_ci
788213498266Sopenharmony_ci  The new version didn't like the workaround we had for a bug in the
788313498266Sopenharmony_ci  previous labeler version, and it should no longer be needed.
788413498266Sopenharmony_ci
788513498266Sopenharmony_ci  Follow-up to dd12b452a
788613498266Sopenharmony_ci  Closes #11906
788713498266Sopenharmony_ci
788813498266Sopenharmony_ci- github/labeler: fix indenting to try to appease labeller
788913498266Sopenharmony_ci
789013498266Sopenharmony_ci  Follow-up to dd12b452a
789113498266Sopenharmony_ci
789213498266Sopenharmony_ciJay Satiro (21 Sep 2023)
789313498266Sopenharmony_ci
789413498266Sopenharmony_ci- libssh2: fix error message on failed pubkey-from-file
789513498266Sopenharmony_ci
789613498266Sopenharmony_ci  - If libssh2_userauth_publickey_fromfile_ex returns -1 then show error
789713498266Sopenharmony_ci    message "SSH public key authentication failed: Reason unknown (-1)".
789813498266Sopenharmony_ci
789913498266Sopenharmony_ci  When libssh2_userauth_publickey_fromfile_ex returns -1 it does so as a
790013498266Sopenharmony_ci  generic error and therefore doesn't set an error message. AFAICT that is
790113498266Sopenharmony_ci  not documented behavior.
790213498266Sopenharmony_ci
790313498266Sopenharmony_ci  Prior to this change libcurl retrieved the last set error message which
790413498266Sopenharmony_ci  would be from a previous function failing. That resulted in misleading
790513498266Sopenharmony_ci  auth failed error messages in verbose mode.
790613498266Sopenharmony_ci
790713498266Sopenharmony_ci  Bug: https://github.com/curl/curl/issues/11837#issue-1891827355
790813498266Sopenharmony_ci  Reported-by: consulion@users.noreply.github.com
790913498266Sopenharmony_ci
791013498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11881
791113498266Sopenharmony_ci
791213498266Sopenharmony_ciStefan Eissing (21 Sep 2023)
791313498266Sopenharmony_ci
791413498266Sopenharmony_ci- pytest: exclude test_03_goaway in CI runs due to timing dependency
791513498266Sopenharmony_ci
791613498266Sopenharmony_ci  Closes #11860
791713498266Sopenharmony_ci
791813498266Sopenharmony_ci- lib: disambiguate Curl_client_write flag semantics
791913498266Sopenharmony_ci
792013498266Sopenharmony_ci  - use CLIENTWRITE_BODY *only* when data is actually body data
792113498266Sopenharmony_ci  - add CLIENTWRITE_INFO for meta data that is *not* a HEADER
792213498266Sopenharmony_ci  - debug assertions that BODY/INFO/HEADER is not used mixed
792313498266Sopenharmony_ci  - move `data->set.include_header` check into Curl_client_write
792413498266Sopenharmony_ci    so protocol handlers no longer have to care
792513498266Sopenharmony_ci  - add special in FTP for `data->set.include_header` for historic,
792613498266Sopenharmony_ci    backward compatible reasons
792713498266Sopenharmony_ci  - move unpausing of client writes from easy.c to sendf.c, so that
792813498266Sopenharmony_ci    code is in one place and can forward flags correctly
792913498266Sopenharmony_ci
793013498266Sopenharmony_ci  Closes #11885
793113498266Sopenharmony_ci
793213498266Sopenharmony_ciPatrick Monnerat (21 Sep 2023)
793313498266Sopenharmony_ci
793413498266Sopenharmony_ci- tftpd: always use curl's own tftp.h
793513498266Sopenharmony_ci
793613498266Sopenharmony_ci  Using the system's provided arpa/tftp.h and optimizing, GCC 12 detects
793713498266Sopenharmony_ci  and reports a stringop-overread warning:
793813498266Sopenharmony_ci
793913498266Sopenharmony_ci  tftpd.c: In function ‘write_behind.isra’:
794013498266Sopenharmony_ci  tftpd.c:485:12: warning: ‘write’ reading between 1 and 2147483647 bytes f
794113498266Sopenharmony_ci  rom a region of size 0 [-Wstringop-overread]
794213498266Sopenharmony_ci    485 |     return write(test->ofile, writebuf, count);
794313498266Sopenharmony_ci        |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
794413498266Sopenharmony_ci  In file included from tftpd.c:71:
794513498266Sopenharmony_ci  /usr/include/arpa/tftp.h:58:30: note: source object ‘tu_data’ of size 0
794613498266Sopenharmony_ci     58 |                         char tu_data[0];        /* data or error stri
794713498266Sopenharmony_ci  ng */
794813498266Sopenharmony_ci        |                              ^~~~~~~
794913498266Sopenharmony_ci
795013498266Sopenharmony_ci  This occurs because writebuf points to this field and the latter
795113498266Sopenharmony_ci  cannot be considered as being of dynamic length because it is not
795213498266Sopenharmony_ci  the last field in the structure. Thus it is bound to its declared
795313498266Sopenharmony_ci  size.
795413498266Sopenharmony_ci
795513498266Sopenharmony_ci  This commit always uses curl's own version of tftp.h where the
795613498266Sopenharmony_ci  target field is last in its structure, effectively avoiding the
795713498266Sopenharmony_ci  warning.
795813498266Sopenharmony_ci
795913498266Sopenharmony_ci  As HAVE_ARPA_TFTP_H is not used anymore, cmake/configure checks for
796013498266Sopenharmony_ci  arpa/tftp.h are removed.
796113498266Sopenharmony_ci
796213498266Sopenharmony_ci  Closes #11897
796313498266Sopenharmony_ci
796413498266Sopenharmony_ciDan Fandrich (20 Sep 2023)
796513498266Sopenharmony_ci
796613498266Sopenharmony_ci- test1474: make precheck more robust on non-Solaris systems
796713498266Sopenharmony_ci
796813498266Sopenharmony_ci  If uname -r returns something odd, perl could return an error code and
796913498266Sopenharmony_ci  the test would be erroneously skipped. The qx// syntax avoid this.
797013498266Sopenharmony_ci
797113498266Sopenharmony_ci  Followup to 08f9b2148
797213498266Sopenharmony_ci
797313498266Sopenharmony_ci- github/labeler: switch to the 5 beta version
797413498266Sopenharmony_ci
797513498266Sopenharmony_ci  This version adds an important feature that will allow more PRs to be
797613498266Sopenharmony_ci  labelled. Rather than being limited to labeling PRs with files that
797713498266Sopenharmony_ci  match a single glob, it can now label them if multiple changed files
797813498266Sopenharmony_ci  match any one of a number of globs.
797913498266Sopenharmony_ci
798013498266Sopenharmony_ciDaniel Stenberg (20 Sep 2023)
798113498266Sopenharmony_ci
798213498266Sopenharmony_ci- lib: enable hmac for digest as well
798313498266Sopenharmony_ci
798413498266Sopenharmony_ci  Previously a build that disabled NTLM and aws-sigv4 would fail to build
798513498266Sopenharmony_ci  since the hmac was disabled, but it is also needed for digest auth.
798613498266Sopenharmony_ci
798713498266Sopenharmony_ci  Follow-up to e92edfbef64448ef
798813498266Sopenharmony_ci
798913498266Sopenharmony_ci  Fixes #11890
799013498266Sopenharmony_ci  Reported-by: Aleksander Mazur
799113498266Sopenharmony_ci  Closes #11896
799213498266Sopenharmony_ci
799313498266Sopenharmony_ci- idn: if idn2_check_version returns NULL, return error
799413498266Sopenharmony_ci
799513498266Sopenharmony_ci  ... this avoids a NULL dereference for this unusual case.
799613498266Sopenharmony_ci
799713498266Sopenharmony_ci  Reported-by: s0urc3_ on hackerone
799813498266Sopenharmony_ci  Closes #11898
799913498266Sopenharmony_ci
800013498266Sopenharmony_ci- http: fix CURL_DISABLE_BEARER_AUTH breakage
800113498266Sopenharmony_ci
800213498266Sopenharmony_ci  When bearer auth was disabled, the if/else logic got wrong and caused
800313498266Sopenharmony_ci  problems.
800413498266Sopenharmony_ci
800513498266Sopenharmony_ci  Follow-up to e92edfbef64448ef461
800613498266Sopenharmony_ci  Fixes #11892
800713498266Sopenharmony_ci  Reported-by: Aleksander Mazur
800813498266Sopenharmony_ci  Closes #11895
800913498266Sopenharmony_ci
801013498266Sopenharmony_ciMichael Osipov (20 Sep 2023)
801113498266Sopenharmony_ci
801213498266Sopenharmony_ci- wolfssl: allow capath with CURLOPT_CAINFO_BLOB
801313498266Sopenharmony_ci
801413498266Sopenharmony_ci  Remain consistent with OpenSSL. While CAfile is nulled as documented
801513498266Sopenharmony_ci  with CURLOPT_CAINFO_BLOB, CApath remains intact.
801613498266Sopenharmony_ci
801713498266Sopenharmony_ci  Closes #11886
801813498266Sopenharmony_ci
801913498266Sopenharmony_ci- wolfssl: use ssl_cafile/ssl_capath variables consistent with openssl.c
802013498266Sopenharmony_ci
802113498266Sopenharmony_ci  Closes #11886
802213498266Sopenharmony_ci
802313498266Sopenharmony_ciDan Fandrich (19 Sep 2023)
802413498266Sopenharmony_ci
802513498266Sopenharmony_ci- test1474: disable test on NetBSD, OpenBSD and Solaris 10
802613498266Sopenharmony_ci
802713498266Sopenharmony_ci  These kernels only send a fraction of the requested amount of the first
802813498266Sopenharmony_ci  large block, invalidating the assumptions of the test and causing it to
802913498266Sopenharmony_ci  fail.
803013498266Sopenharmony_ci
803113498266Sopenharmony_ci  Assisted-by: Christian Weisgerber
803213498266Sopenharmony_ci  Ref: https://curl.se/mail/lib-2023-09/0021.html
803313498266Sopenharmony_ci  Closes #11888
803413498266Sopenharmony_ci
803513498266Sopenharmony_ciRyan Schmidt (20 Sep 2023)
803613498266Sopenharmony_ci
803713498266Sopenharmony_ci- cmake, configure: also link with CoreServices
803813498266Sopenharmony_ci
803913498266Sopenharmony_ci  When linking with CoreFoundation, also link with CoreServices which is
804013498266Sopenharmony_ci  apparently required to avoid an NSInvalidArgumentException in software
804113498266Sopenharmony_ci  linking with libcurl on macOS Sonoma 14 and later.
804213498266Sopenharmony_ci
804313498266Sopenharmony_ci  Fixes #11893
804413498266Sopenharmony_ci  Closes #11894
804513498266Sopenharmony_ci
804613498266Sopenharmony_ciMarc Hoersken (19 Sep 2023)
804713498266Sopenharmony_ci
804813498266Sopenharmony_ci- CI/azure: remove pip, wheel, cryptography, pyopenssl and impacket
804913498266Sopenharmony_ci
805013498266Sopenharmony_ci  These dependencies are now already included in the Docker image.
805113498266Sopenharmony_ci
805213498266Sopenharmony_ci  Ref: https://github.com/mback2k/curl-docker-winbuildenv/commit/2607a31bcab544
805313498266Sopenharmony_ci  b41d15606e97f38cf312c1ce56
805413498266Sopenharmony_ci
805513498266Sopenharmony_ci  Closes #11889
805613498266Sopenharmony_ci
805713498266Sopenharmony_ciDaniel Stenberg (19 Sep 2023)
805813498266Sopenharmony_ci
805913498266Sopenharmony_ci- wolfssl: if CURLOPT_CAINFO_BLOB is set, ignore the CA files
806013498266Sopenharmony_ci
806113498266Sopenharmony_ci  Ref: #11883
806213498266Sopenharmony_ci  Reported-by: Michael Osipov
806313498266Sopenharmony_ci  Closes #11884
806413498266Sopenharmony_ci
806513498266Sopenharmony_ci- RELEASE-NOTES: synced
806613498266Sopenharmony_ci
806713498266Sopenharmony_ci- test3103: CURLOPT_COOKIELIST test
806813498266Sopenharmony_ci
806913498266Sopenharmony_ci- cookie: set ->running in cookie_init even if data is NULL
807013498266Sopenharmony_ci
807113498266Sopenharmony_ci  This is a regression introduced in b1b326ec500 (shipped in curl 8.1.0)
807213498266Sopenharmony_ci
807313498266Sopenharmony_ci  Test 3103 verifies.
807413498266Sopenharmony_ci
807513498266Sopenharmony_ci  Fixes #11875
807613498266Sopenharmony_ci  Reported-by: wangp on github
807713498266Sopenharmony_ci  Closes #11876
807813498266Sopenharmony_ci
807913498266Sopenharmony_ci- test498: total header size for all redirects is larger than accepted
808013498266Sopenharmony_ci
808113498266Sopenharmony_ci- http: use per-request counter to check too large headers
808213498266Sopenharmony_ci
808313498266Sopenharmony_ci  Not the counter that accumulates all headers over all redirects.
808413498266Sopenharmony_ci
808513498266Sopenharmony_ci  Follow-up to 3ee79c1674fd6
808613498266Sopenharmony_ci
808713498266Sopenharmony_ci  Do a second check for 20 times the limit for the accumulated size for
808813498266Sopenharmony_ci  all headers.
808913498266Sopenharmony_ci
809013498266Sopenharmony_ci  Fixes #11871
809113498266Sopenharmony_ci  Reported-by: Joshix-1 on github
809213498266Sopenharmony_ci  Closes #11872
809313498266Sopenharmony_ci
809413498266Sopenharmony_ciJay Satiro (18 Sep 2023)
809513498266Sopenharmony_ci
809613498266Sopenharmony_ci- THANKS: add Eric Murphy
809713498266Sopenharmony_ci
809813498266Sopenharmony_ci  He reported #11850 (quiche build error) but I forgot to add a
809913498266Sopenharmony_ci  'reported-by' entry in the fix 267e14f1.
810013498266Sopenharmony_ci
810113498266Sopenharmony_ciDaniel Stenberg (18 Sep 2023)
810213498266Sopenharmony_ci
810313498266Sopenharmony_ci- h2-proxy: remove left-over mistake in drain_tunnel()
810413498266Sopenharmony_ci
810513498266Sopenharmony_ci  Left-over from 331b89a319
810613498266Sopenharmony_ci
810713498266Sopenharmony_ci  Reported-by: 南宫雪珊
810813498266Sopenharmony_ci
810913498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11877
811013498266Sopenharmony_ci
811113498266Sopenharmony_civvb2060 (18 Sep 2023)
811213498266Sopenharmony_ci
811313498266Sopenharmony_ci- lib: failf/infof compiler warnings
811413498266Sopenharmony_ci
811513498266Sopenharmony_ci  Closes #11874
811613498266Sopenharmony_ci
811713498266Sopenharmony_ciDaniel Stenberg (17 Sep 2023)
811813498266Sopenharmony_ci
811913498266Sopenharmony_ci- rand: fix 'alnum': array is too small to include a terminating null character
812013498266Sopenharmony_ci
812113498266Sopenharmony_ci  It was that small on purpose, but this change now adds the null byte to
812213498266Sopenharmony_ci  avoid the error.
812313498266Sopenharmony_ci
812413498266Sopenharmony_ci  Follow-up to 3aa3cc9b052353b1
812513498266Sopenharmony_ci
812613498266Sopenharmony_ci  Reported-by: Dan Fandrich
812713498266Sopenharmony_ci  Ref: #11838
812813498266Sopenharmony_ci  Closes #11870
812913498266Sopenharmony_ci
813013498266Sopenharmony_ciMathias Fuchs (16 Sep 2023)
813113498266Sopenharmony_ci
813213498266Sopenharmony_ci- cmake: fix the help text to the static build option in CMakeLists.txt
813313498266Sopenharmony_ci
813413498266Sopenharmony_ci  Closes #11843
813513498266Sopenharmony_ci
813613498266Sopenharmony_ciJohn Haugabook (16 Sep 2023)
813713498266Sopenharmony_ci
813813498266Sopenharmony_ci- MANUAL.md: change domain to example.com
813913498266Sopenharmony_ci
814013498266Sopenharmony_ci  Closes #11866
814113498266Sopenharmony_ci
814213498266Sopenharmony_ciDaniel Stenberg (16 Sep 2023)
814313498266Sopenharmony_ci
814413498266Sopenharmony_ci- doh: inherit DEBUGFUNCTION/DATA
814513498266Sopenharmony_ci
814613498266Sopenharmony_ci  When creating new transfers for doing DoH, they now inherit the debug
814713498266Sopenharmony_ci  settings from the initiating transfer, so that the application can
814813498266Sopenharmony_ci  redirect and handle the verbose output correctly even for the DoH
814913498266Sopenharmony_ci  transfers.
815013498266Sopenharmony_ci
815113498266Sopenharmony_ci  Reported-by: calvin2021y on github
815213498266Sopenharmony_ci  Fixes #11864
815313498266Sopenharmony_ci  Closes #11869
815413498266Sopenharmony_ci
815513498266Sopenharmony_ciDan Fandrich (16 Sep 2023)
815613498266Sopenharmony_ci
815713498266Sopenharmony_ci- http_aws_sigv4: fix sorting with empty parts
815813498266Sopenharmony_ci
815913498266Sopenharmony_ci  When comparing with an empty part, the non-empty one is always
816013498266Sopenharmony_ci  considered greater-than. Previously, the two would be considered equal
816113498266Sopenharmony_ci  which would randomly place empty parts amongst non-empty ones. This
816213498266Sopenharmony_ci  showed as a test 439 failure on Solaris as it uses a different
816313498266Sopenharmony_ci  implementation of qsort() that compares parts differently.
816413498266Sopenharmony_ci
816513498266Sopenharmony_ci  Fixes #11855
816613498266Sopenharmony_ci  Closes #11868
816713498266Sopenharmony_ci
816813498266Sopenharmony_ci- CI: ignore the "flaky" and "timing-dependent" test results
816913498266Sopenharmony_ci
817013498266Sopenharmony_ci  CI builds will now run these tests, but will ignore the results if they
817113498266Sopenharmony_ci  fail. The relevant tests are ones that are sensitive to timing or
817213498266Sopenharmony_ci  have edge conditions that make them more likely to fail on CI servers,
817313498266Sopenharmony_ci  which are often heavily overloaded and slow.
817413498266Sopenharmony_ci
817513498266Sopenharmony_ci  This change only adds two additional tests to be ignored, since the
817613498266Sopenharmony_ci  others already had the flaky keyword.
817713498266Sopenharmony_ci
817813498266Sopenharmony_ci  Closes #11865
817913498266Sopenharmony_ci
818013498266Sopenharmony_ci- runtests: eliminate a warning on old perl versions
818113498266Sopenharmony_ci
818213498266Sopenharmony_ci  The warning "Use of implicit split to @_ is deprecated" showed between
818313498266Sopenharmony_ci  perl versions about 5.8 through 5.11.
818413498266Sopenharmony_ci
818513498266Sopenharmony_ci- tests: log the test result code after each libtest
818613498266Sopenharmony_ci
818713498266Sopenharmony_ci  This makes it easier to determine the test status. Also, capitalize
818813498266Sopenharmony_ci  FAILURE and ABORT messages in log lines to make them easier to spot.
818913498266Sopenharmony_ci
819013498266Sopenharmony_ciHarry Sintonen (16 Sep 2023)
819113498266Sopenharmony_ci
819213498266Sopenharmony_ci- misc: better random strings
819313498266Sopenharmony_ci
819413498266Sopenharmony_ci  Generate alphanumerical random strings.
819513498266Sopenharmony_ci
819613498266Sopenharmony_ci  Prior this change curl used to create random hex strings. This was
819713498266Sopenharmony_ci  mostly okay, but having alphanumerical random strings is better: The
819813498266Sopenharmony_ci  strings have more entropy in the same space.
819913498266Sopenharmony_ci
820013498266Sopenharmony_ci  The MIME multipart boundary used to be mere 64-bits of randomness due
820113498266Sopenharmony_ci  to being 16 hex chars. With these changes the boundary is 22
820213498266Sopenharmony_ci  alphanumerical chars, or little over 130 bits of randomness.
820313498266Sopenharmony_ci
820413498266Sopenharmony_ci  Closes #11838
820513498266Sopenharmony_ci
820613498266Sopenharmony_ciDaniel Stenberg (15 Sep 2023)
820713498266Sopenharmony_ci
820813498266Sopenharmony_ci- cookie: reduce variable scope, add const
820913498266Sopenharmony_ci
821013498266Sopenharmony_ci- cookie: do not store the expire or max-age strings
821113498266Sopenharmony_ci
821213498266Sopenharmony_ci  Convert it to an expire time at once and save memory.
821313498266Sopenharmony_ci
821413498266Sopenharmony_ci  Closes #11862
821513498266Sopenharmony_ci
821613498266Sopenharmony_ci- cookie: remove unnecessary struct fields
821713498266Sopenharmony_ci
821813498266Sopenharmony_ci  Plus: reduce the hash table size from 256 to 63. It seems unlikely to
821913498266Sopenharmony_ci  make much of a speed difference for most use cases but saves 1.5KB of
822013498266Sopenharmony_ci  data per instance.
822113498266Sopenharmony_ci
822213498266Sopenharmony_ci  Closes #11862
822313498266Sopenharmony_ci
822413498266Sopenharmony_ci- RELEASE-NOTES: synced
822513498266Sopenharmony_ci
822613498266Sopenharmony_ci  Bumped to 8.4.0, the next presumed version
822713498266Sopenharmony_ci
822813498266Sopenharmony_ciDan Fandrich (14 Sep 2023)
822913498266Sopenharmony_ci
823013498266Sopenharmony_ci- test2600: remove special case handling for USE_ALARM_TIMEOUT
823113498266Sopenharmony_ci
823213498266Sopenharmony_ci  This was originally added to handle platforms that supported only 1
823313498266Sopenharmony_ci  second granularity in connect timeouts, but after some recent changes
823413498266Sopenharmony_ci  the test currently permafails on several Windows platforms.
823513498266Sopenharmony_ci
823613498266Sopenharmony_ci  The need for this special-case was removed in commit 8627416, which
823713498266Sopenharmony_ci  increased the connect timeout in all cases to well above 1 second.
823813498266Sopenharmony_ci
823913498266Sopenharmony_ci  Fixes #11767
824013498266Sopenharmony_ci  Closes #11849
824113498266Sopenharmony_ci
824213498266Sopenharmony_ciDaniel Stenberg (14 Sep 2023)
824313498266Sopenharmony_ci
824413498266Sopenharmony_ci- SECURITY-PROCESS.md. call it vulnerability disclosure policy
824513498266Sopenharmony_ci
824613498266Sopenharmony_ci  SECURITY-PROCESS.md -> VULN-DISCLOSURE-POLICY.md
824713498266Sopenharmony_ci
824813498266Sopenharmony_ci  This a name commonly used for a document like this. This name helps
824913498266Sopenharmony_ci  users find it.
825013498266Sopenharmony_ci
825113498266Sopenharmony_ci  Closes #11852
825213498266Sopenharmony_ci
825313498266Sopenharmony_ciJunho Choi (14 Sep 2023)
825413498266Sopenharmony_ci
825513498266Sopenharmony_ci- quiche: fix build error with --with-ca-fallback
825613498266Sopenharmony_ci
825713498266Sopenharmony_ci  - Fix build error when curl is built with --with-quiche
825813498266Sopenharmony_ci    and --with-ca-fallback.
825913498266Sopenharmony_ci
826013498266Sopenharmony_ci  - Add --with-ca-fallback to the quiche CI job.
826113498266Sopenharmony_ci
826213498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/11850
826313498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11847
826413498266Sopenharmony_ci
826513498266Sopenharmony_ciJay Satiro (14 Sep 2023)
826613498266Sopenharmony_ci
826713498266Sopenharmony_ci- escape: replace Curl_isunreserved with ISUNRESERVED
826813498266Sopenharmony_ci
826913498266Sopenharmony_ci  - Use the ALLCAPS version of the macro so that it is clear a macro is
827013498266Sopenharmony_ci    being called that evaluates the variable multiple times.
827113498266Sopenharmony_ci
827213498266Sopenharmony_ci  - Also capitalize macro isurlpuntcs => ISURLPUNTCS since it evaluates
827313498266Sopenharmony_ci    a variable multiple times.
827413498266Sopenharmony_ci
827513498266Sopenharmony_ci  This is a follow-up to 291d225a which changed Curl_isunreserved into an
827613498266Sopenharmony_ci  alias macro for ISUNRESERVED. The problem is the former is not easily
827713498266Sopenharmony_ci  identified as a macro by the caller, which could lead to a bug.
827813498266Sopenharmony_ci
827913498266Sopenharmony_ci  For example, ISUNRESERVED(*foo++) is easily identifiable as wrong but
828013498266Sopenharmony_ci  Curl_isunreserved(*foo++) is not even though they both are the same.
828113498266Sopenharmony_ci
828213498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11846
828313498266Sopenharmony_ci
828413498266Sopenharmony_ciDan Fandrich (13 Sep 2023)
828513498266Sopenharmony_ci
828613498266Sopenharmony_ci- tests: increase the default server logs lock timeout
828713498266Sopenharmony_ci
828813498266Sopenharmony_ci  This timeout is used to wait for the server to finish writing its logs
828913498266Sopenharmony_ci  before checking them against the expected values. An overloaded machine
829013498266Sopenharmony_ci  could take more than the two seconds previously allocated, so increase
829113498266Sopenharmony_ci  the timeout to 5 seconds.
829213498266Sopenharmony_ci
829313498266Sopenharmony_ci  Ref: #11328
829413498266Sopenharmony_ci  Closes #11834
829513498266Sopenharmony_ci
829613498266Sopenharmony_ci- tests: increase TEST_HANG_TIMEOUT in two tests
829713498266Sopenharmony_ci
829813498266Sopenharmony_ci  These tests had a 5 second timeout compared to 60 seconds for all other
829913498266Sopenharmony_ci  tests. Make these consistent with the others for more reliability on
830013498266Sopenharmony_ci  heavily-loaded machines.
830113498266Sopenharmony_ci
830213498266Sopenharmony_ci  Ref: #11328
830313498266Sopenharmony_ci
830413498266Sopenharmony_ci- test1056: disable on Windows
830513498266Sopenharmony_ci
830613498266Sopenharmony_ci  This test relies on the IPv6 scope field being ignored when connecting to
830713498266Sopenharmony_ci  ipv6-localhost (i.e. [::1%259999] is treated as [::1]). Maybe this is a bit
830813498266Sopenharmony_ci  dodgy, but it works on all our test platforms except Windows. This
830913498266Sopenharmony_ci  test was disabled manually on all Windows CI builds already, so instead
831013498266Sopenharmony_ci  add an incompatible feature and precheck so it's skipped on Windows
831113498266Sopenharmony_ci  everywhere automatically.
831213498266Sopenharmony_ci
831313498266Sopenharmony_ci- test587: add a slight delay after test
831413498266Sopenharmony_ci
831513498266Sopenharmony_ci  This test is designed to connect to the server, then immediately send a
831613498266Sopenharmony_ci  few bytes and disconnect. In some situations, such as on a loaded
831713498266Sopenharmony_ci  server, this doesn't give the server enough time to write its lock file
831813498266Sopenharmony_ci  before its existence is checked. The test harness then fails to find the
831913498266Sopenharmony_ci  server's input log file (because it hasn't been written yet) and fails
832013498266Sopenharmony_ci  the test. By adding a short delay after the test, the HTTP server has
832113498266Sopenharmony_ci  enough time to write its lock file which gives itself more time to write
832213498266Sopenharmony_ci  its remaining files.
832313498266Sopenharmony_ci
832413498266Sopenharmony_ci  Ref: #11328
832513498266Sopenharmony_ci
832613498266Sopenharmony_ci- tests: stop overriding the lock timeout
832713498266Sopenharmony_ci
832813498266Sopenharmony_ci  These tests reduce the server lock wait timeout which can increase
832913498266Sopenharmony_ci  flakiness on loaded machines. Since this is merely an optimization,
833013498266Sopenharmony_ci  eliminate them in favour of reliability.
833113498266Sopenharmony_ci
833213498266Sopenharmony_ci  Ref: #11328
833313498266Sopenharmony_ci
833413498266Sopenharmony_ci- tests: add some --expect100-timeout to reduce timing dependencies
833513498266Sopenharmony_ci
833613498266Sopenharmony_ci  These tests can fail when the test machine is so slow that the test HTTP
833713498266Sopenharmony_ci  server didn't get a chance to complete before the client's one second
833813498266Sopenharmony_ci  100-continue timeout triggered. Increase that 1 second to 999 seconds so
833913498266Sopenharmony_ci  this situation doesn't happen.
834013498266Sopenharmony_ci
834113498266Sopenharmony_ci  Ref: #11328
834213498266Sopenharmony_ci
834313498266Sopenharmony_ci- test661: return from test early in case of curl error
834413498266Sopenharmony_ci
834513498266Sopenharmony_ci- tests: add the timing-dependent keyword on several tests
834613498266Sopenharmony_ci
834713498266Sopenharmony_ci  These are ones likely to fail on heavily-loaded machines that alter the
834813498266Sopenharmony_ci  normal test timing. Most of these tests already had the flaky keyword
834913498266Sopenharmony_ci  since this condition makes them more likely to fail on CI.
835013498266Sopenharmony_ci
835113498266Sopenharmony_ci- test1592: greatly increase the maximum test timeout
835213498266Sopenharmony_ci
835313498266Sopenharmony_ci  It was too short to be reliable on heavily loaded CI machines, and
835413498266Sopenharmony_ci  as a fail-safe only, it didn't need to be short.
835513498266Sopenharmony_ci
835613498266Sopenharmony_ci  Ref: #11328
835713498266Sopenharmony_ci
835813498266Sopenharmony_ci- test: minor test cleanups
835913498266Sopenharmony_ci
836013498266Sopenharmony_ci  Remove an obsolete block of code in tests 2032 & 576.
836113498266Sopenharmony_ci  Add a comment in test 1474.
836213498266Sopenharmony_ci
836313498266Sopenharmony_ci- tests: quadruple the %FTPTIME2 and %FTPTIME3 timeouts
836413498266Sopenharmony_ci
836513498266Sopenharmony_ci  This gives more of a margin for error when running on overloaded CI
836613498266Sopenharmony_ci  servers.
836713498266Sopenharmony_ci
836813498266Sopenharmony_ci  Ref: #11328
836913498266Sopenharmony_ci
837013498266Sopenharmony_ci- tests: improve SLOWDOWN test reliability by reducing sent data
837113498266Sopenharmony_ci
837213498266Sopenharmony_ci  These tests are run in SLOWDOWN mode which adds a 10 msec delay after
837313498266Sopenharmony_ci  each character output, which means it takes at least 1.6 seconds (and
837413498266Sopenharmony_ci  320 kernel calls) just to get through the long welcome banner. On an
837513498266Sopenharmony_ci  overloaded system, this can end up taking much more than 1.6 seconds,
837613498266Sopenharmony_ci  and even more than the 7 or 16 second curl timeout that the tests rely
837713498266Sopenharmony_ci  on, causing them to fail. Reducing the size of the welcome banner drops
837813498266Sopenharmony_ci  the total number of characters sent before the transfer starts by more
837913498266Sopenharmony_ci  than half, which reduces the opportunity for test-breaking slowdowns by
838013498266Sopenharmony_ci  the same amount.
838113498266Sopenharmony_ci
838213498266Sopenharmony_ci  Ref: #11328
838313498266Sopenharmony_ci
838413498266Sopenharmony_ci- test650: fix an end tag typo
838513498266Sopenharmony_ci
838613498266Sopenharmony_ciJay Satiro (13 Sep 2023)
838713498266Sopenharmony_ci
838813498266Sopenharmony_ci- tool_cb_wrt: fix debug assertion
838913498266Sopenharmony_ci
839013498266Sopenharmony_ci  - Fix off-by-one out-of-bounds array index in Windows debug assertion.
839113498266Sopenharmony_ci
839213498266Sopenharmony_ci  Bug: https://github.com/curl/curl/commit/af3f4e41#r127212213
839313498266Sopenharmony_ci  Reported-by: Gisle Vanem
839413498266Sopenharmony_ci
839513498266Sopenharmony_ciDaniel Stenberg (13 Sep 2023)
839613498266Sopenharmony_ci
839713498266Sopenharmony_ci- ctype: add ISUNRESERVED()
839813498266Sopenharmony_ci
839913498266Sopenharmony_ci  ... and make Curl_isunreserved() use that macro instead of providing a
840013498266Sopenharmony_ci  separate funtion for the purpose.
840113498266Sopenharmony_ci
840213498266Sopenharmony_ci  Closes #11840
840313498266Sopenharmony_ci
840413498266Sopenharmony_ciVersion 8.3.0 (13 Sep 2023)
840513498266Sopenharmony_ci
840613498266Sopenharmony_ciDaniel Stenberg (13 Sep 2023)
840713498266Sopenharmony_ci
840813498266Sopenharmony_ci- RELEASE-NOTES: syn ced
840913498266Sopenharmony_ci
841013498266Sopenharmony_ci  curl 8.3.0 release
841113498266Sopenharmony_ci
841213498266Sopenharmony_ci- THANKS: contributors from 8.3.0
841313498266Sopenharmony_ci
841413498266Sopenharmony_ciThorsten Klein (12 Sep 2023)
841513498266Sopenharmony_ci
841613498266Sopenharmony_ci- cmake: set SIZEOF_LONG_LONG in curl_config.h
841713498266Sopenharmony_ci
841813498266Sopenharmony_ci  in order to support 32bit builds regarding wolfssl CTC_SETTINGS
841913498266Sopenharmony_ci
842013498266Sopenharmony_ci  Closes #11839
842113498266Sopenharmony_ci
842213498266Sopenharmony_ciJay Satiro (12 Sep 2023)
842313498266Sopenharmony_ci
842413498266Sopenharmony_ci- curl_ngtcp2: fix error message
842513498266Sopenharmony_ci
842613498266Sopenharmony_ci- http_aws_sigv4: handle no-value user header entries
842713498266Sopenharmony_ci
842813498266Sopenharmony_ci  - Handle user headers in format 'name:' and 'name;' with no value.
842913498266Sopenharmony_ci
843013498266Sopenharmony_ci  The former is used when the user wants to remove an internal libcurl
843113498266Sopenharmony_ci  header and the latter is used when the user actually wants to send a
843213498266Sopenharmony_ci  no-value header in the format 'name:' (note the semi-colon is converted
843313498266Sopenharmony_ci  by libcurl to a colon).
843413498266Sopenharmony_ci
843513498266Sopenharmony_ci  Prior to this change the AWS header import code did not special case
843613498266Sopenharmony_ci  either of those and the generated AWS SignedHeaders would be incorrect.
843713498266Sopenharmony_ci
843813498266Sopenharmony_ci  Reported-by: apparentorder@users.noreply.github.com
843913498266Sopenharmony_ci
844013498266Sopenharmony_ci  Ref: https://curl.se/docs/manpage.html#-H
844113498266Sopenharmony_ci
844213498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/11664
844313498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11668
844413498266Sopenharmony_ci
844513498266Sopenharmony_ciDan Fandrich (11 Sep 2023)
844613498266Sopenharmony_ci
844713498266Sopenharmony_ci- CI: run pytest with the -v option
844813498266Sopenharmony_ci
844913498266Sopenharmony_ci  This lists of the test cases being run so it can be tracked over time.
845013498266Sopenharmony_ci
845113498266Sopenharmony_ci  Closes #11824
845213498266Sopenharmony_ci
845313498266Sopenharmony_ciDaniel Stenberg (11 Sep 2023)
845413498266Sopenharmony_ci
845513498266Sopenharmony_ci- HTTP3: the msquic backend is not functional
845613498266Sopenharmony_ci
845713498266Sopenharmony_ci  I ask that we do not submit bugs for this backend just yet as we know it
845813498266Sopenharmony_ci  does not fully work.
845913498266Sopenharmony_ci
846013498266Sopenharmony_ci  Closes #11831
846113498266Sopenharmony_ci  Closes #11819
846213498266Sopenharmony_ci
846313498266Sopenharmony_ci- aws_sigv4: the query canon code miscounted URL encoded input
846413498266Sopenharmony_ci
846513498266Sopenharmony_ci  Added some extra ampersands to test 439 to verify "blank" query parts
846613498266Sopenharmony_ci
846713498266Sopenharmony_ci  Follow-up to fc76a24c53b08cdf
846813498266Sopenharmony_ci
846913498266Sopenharmony_ci  Closes #11829
847013498266Sopenharmony_ci
847113498266Sopenharmony_civvb2060 (11 Sep 2023)
847213498266Sopenharmony_ci
847313498266Sopenharmony_ci- quic: don't set SNI if hostname is an IP address
847413498266Sopenharmony_ci
847513498266Sopenharmony_ci  We already do this for TLS connections.
847613498266Sopenharmony_ci
847713498266Sopenharmony_ci  RFC 6066 says: Literal IPv4 and IPv6 addresses are not permitted in
847813498266Sopenharmony_ci  "HostName".
847913498266Sopenharmony_ci
848013498266Sopenharmony_ci  Ref: https://www.rfc-editor.org/rfc/rfc6066#section-3
848113498266Sopenharmony_ci
848213498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/11827
848313498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11828
848413498266Sopenharmony_ci
848513498266Sopenharmony_ciDaniel Stenberg (10 Sep 2023)
848613498266Sopenharmony_ci
848713498266Sopenharmony_ci- RELEASE-NOTES: synced
848813498266Sopenharmony_ci
848913498266Sopenharmony_ciBenoit Pierre (10 Sep 2023)
849013498266Sopenharmony_ci
849113498266Sopenharmony_ci- configure: fix `HAVE_TIME_T_UNSIGNED` check
849213498266Sopenharmony_ci
849313498266Sopenharmony_ci  The syntax was incorrect (need a proper main body), and the test
849413498266Sopenharmony_ci  condition was wrong (resulting in a signed `time_t` detected as
849513498266Sopenharmony_ci  unsigned).
849613498266Sopenharmony_ci
849713498266Sopenharmony_ci  Closes #11825
849813498266Sopenharmony_ci
849913498266Sopenharmony_ciDaniel Stenberg (9 Sep 2023)
850013498266Sopenharmony_ci
850113498266Sopenharmony_ci- THANKS-filter: pszlazak on github
850213498266Sopenharmony_ci
850313498266Sopenharmony_cipszlazak (9 Sep 2023)
850413498266Sopenharmony_ci
850513498266Sopenharmony_ci- include.d: explain headers not printed with --fail before 7.75.0
850613498266Sopenharmony_ci
850713498266Sopenharmony_ci  Prior to 7.75.0 response headers were not printed if -f/--fail was used
850813498266Sopenharmony_ci  and an error was reported by server.  This was fixed in ab525c0
850913498266Sopenharmony_ci  (precedes 7.75.0).
851013498266Sopenharmony_ci
851113498266Sopenharmony_ci  Closes #11822
851213498266Sopenharmony_ci
851313498266Sopenharmony_ciDaniel Stenberg (8 Sep 2023)
851413498266Sopenharmony_ci
851513498266Sopenharmony_ci- http_aws_sigv4: skip the op if the query pair is zero bytes
851613498266Sopenharmony_ci
851713498266Sopenharmony_ci  Follow-up to fc76a24c53b08cdf
851813498266Sopenharmony_ci
851913498266Sopenharmony_ci  Spotted by OSS-Fuzz
852013498266Sopenharmony_ci
852113498266Sopenharmony_ci  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=62175
852213498266Sopenharmony_ci  Closes #11823
852313498266Sopenharmony_ci
852413498266Sopenharmony_ci- cmdline-docs: use present tense, not future
852513498266Sopenharmony_ci
852613498266Sopenharmony_ci  + some smaller cleanups
852713498266Sopenharmony_ci
852813498266Sopenharmony_ci  Closes #11821
852913498266Sopenharmony_ci
853013498266Sopenharmony_ci- cmdline-docs: make sure to phrase it as "added in ...."
853113498266Sopenharmony_ci
853213498266Sopenharmony_ci  References to things that were added or changed in a specific version
853313498266Sopenharmony_ci  should be specified as "(added in [version]) for two reasons:
853413498266Sopenharmony_ci
853513498266Sopenharmony_ci  1 - consistency
853613498266Sopenharmony_ci
853713498266Sopenharmony_ci  2 - to allow gen.pl to strip them out if deemed referring to too old
853813498266Sopenharmony_ci      versions
853913498266Sopenharmony_ci
854013498266Sopenharmony_ci  Closes #11821
854113498266Sopenharmony_ci
854213498266Sopenharmony_ciJay Satiro (8 Sep 2023)
854313498266Sopenharmony_ci
854413498266Sopenharmony_ci- docs: mark --ssl-revoke-best-effort as Schannel specific
854513498266Sopenharmony_ci
854613498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11760
854713498266Sopenharmony_ci
854813498266Sopenharmony_ciNathan Moinvaziri (8 Sep 2023)
854913498266Sopenharmony_ci
855013498266Sopenharmony_ci- schannel: fix ordering of cert chain info
855113498266Sopenharmony_ci
855213498266Sopenharmony_ci  - Use CERT_CONTEXT's pbCertEncoded to determine chain order.
855313498266Sopenharmony_ci
855413498266Sopenharmony_ci  CERT_CONTEXT from SECPKG_ATTR_REMOTE_CERT_CONTEXT contains
855513498266Sopenharmony_ci  end-entity/server certificate in pbCertEncoded. We can use this pointer
855613498266Sopenharmony_ci  to determine the order of certificates when enumerating hCertStore using
855713498266Sopenharmony_ci  CertEnumCertificatesInStore.
855813498266Sopenharmony_ci
855913498266Sopenharmony_ci  This change is to help ensure that the ordering of the certificate chain
856013498266Sopenharmony_ci  requested by the user via CURLINFO_CERTINFO has the same ordering on all
856113498266Sopenharmony_ci  versions of Windows.
856213498266Sopenharmony_ci
856313498266Sopenharmony_ci  Prior to this change Schannel certificate order was reversed in 8986df80
856413498266Sopenharmony_ci  but that was later reverted in f540a39b when it was discovered that
856513498266Sopenharmony_ci  Windows 11 22H2 does the reversal on its own.
856613498266Sopenharmony_ci
856713498266Sopenharmony_ci  Ref: https://github.com/curl/curl/issues/9706
856813498266Sopenharmony_ci
856913498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11632
857013498266Sopenharmony_ci
857113498266Sopenharmony_ciChris Talbot (8 Sep 2023)
857213498266Sopenharmony_ci
857313498266Sopenharmony_ci- digest: Use hostname to generate spn instead of realm
857413498266Sopenharmony_ci
857513498266Sopenharmony_ci  In https://www.rfc-editor.org/rfc/rfc2831#section-2.1.2
857613498266Sopenharmony_ci
857713498266Sopenharmony_ci  digest-uri-value should be serv-type "/" host , where host is:
857813498266Sopenharmony_ci
857913498266Sopenharmony_ci        The DNS host name or IP address for the service requested.  The
858013498266Sopenharmony_ci        DNS host name must be the fully-qualified canonical name of the
858113498266Sopenharmony_ci        host. The DNS host name is the preferred form; see notes on server
858213498266Sopenharmony_ci        processing of the digest-uri.
858313498266Sopenharmony_ci
858413498266Sopenharmony_ci  Realm may not be the host, so we must specify the host explicitly.
858513498266Sopenharmony_ci
858613498266Sopenharmony_ci  Note this change only affects the non-SSPI digest code. The digest code
858713498266Sopenharmony_ci  used by SSPI builds already uses the hostname to generate the spn.
858813498266Sopenharmony_ci
858913498266Sopenharmony_ci  Ref: https://github.com/curl/curl/issues/11369
859013498266Sopenharmony_ci
859113498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11395
859213498266Sopenharmony_ci
859313498266Sopenharmony_ciDaniel Stenberg (7 Sep 2023)
859413498266Sopenharmony_ci
859513498266Sopenharmony_ci- docs: remove use of the word 'very'
859613498266Sopenharmony_ci
859713498266Sopenharmony_ci  It is mostly superfluous. proselint would complain.
859813498266Sopenharmony_ci
859913498266Sopenharmony_ci  Closes #11818
860013498266Sopenharmony_ci
860113498266Sopenharmony_ci- curl_multi_remove_handle.3: clarify what happens with connection
860213498266Sopenharmony_ci
860313498266Sopenharmony_ci  Closes #11817
860413498266Sopenharmony_ci
860513498266Sopenharmony_ci- RELEASE-NOTES: synced
860613498266Sopenharmony_ci
860713498266Sopenharmony_ci- test439: verify query canonization for aws-sigv4
860813498266Sopenharmony_ci
860913498266Sopenharmony_ci- tool_operate: make aws-sigv4 not require TLS to be used
861013498266Sopenharmony_ci
861113498266Sopenharmony_ci  Maybe not used too often, but we want it for testing and it should work.
861213498266Sopenharmony_ci
861313498266Sopenharmony_ci- http_aws_sigv4: canonicalize the query
861413498266Sopenharmony_ci
861513498266Sopenharmony_ci  Percent encoding needs to be done using uppercase, and most
861613498266Sopenharmony_ci  non-alphanumerical must be percent-encoded.
861713498266Sopenharmony_ci
861813498266Sopenharmony_ci  Fixes #11794
861913498266Sopenharmony_ci  Reported-by: John Walker
862013498266Sopenharmony_ci  Closes #11806
862113498266Sopenharmony_ci
862213498266Sopenharmony_ciWyatt O'Day (7 Sep 2023)
862313498266Sopenharmony_ci
862413498266Sopenharmony_ci- lib: add ability to disable auths individually
862513498266Sopenharmony_ci
862613498266Sopenharmony_ci  Both with configure and cmake
862713498266Sopenharmony_ci
862813498266Sopenharmony_ci  Closes #11490
862913498266Sopenharmony_ci
863013498266Sopenharmony_ciStefan Eissing (7 Sep 2023)
863113498266Sopenharmony_ci
863213498266Sopenharmony_ci- ngtcp2: fix handling of large requests
863313498266Sopenharmony_ci
863413498266Sopenharmony_ci  - requests >64K are send in parts to the filter
863513498266Sopenharmony_ci  - fix parsing of the request to assemble it correctly
863613498266Sopenharmony_ci    from several sends
863713498266Sopenharmony_ci  - open a QUIC stream only when the complete request has
863813498266Sopenharmony_ci    been collected
863913498266Sopenharmony_ci
864013498266Sopenharmony_ci  Closes #11815
864113498266Sopenharmony_ci
864213498266Sopenharmony_ci- openssl: when CURLOPT_SSL_CTX_FUNCTION is registered, init x509 store before
864313498266Sopenharmony_ci
864413498266Sopenharmony_ci  - we delay loading the x509 store to shorten the handshake time.
864513498266Sopenharmony_ci    However an application callback installed via CURLOPT_SSL_CTX_FUNCTION
864613498266Sopenharmony_ci    may need to have the store loaded and try to manipulate it.
864713498266Sopenharmony_ci  - load the x509 store before invoking the app callback
864813498266Sopenharmony_ci
864913498266Sopenharmony_ci  Fixes #11800
865013498266Sopenharmony_ci  Reported-by: guoxinvmware on github
865113498266Sopenharmony_ci  Cloes #11805
865213498266Sopenharmony_ci
865313498266Sopenharmony_ciDaniel Stenberg (7 Sep 2023)
865413498266Sopenharmony_ci
865513498266Sopenharmony_ci- krb5: fix "implicit conversion loses integer precision" warnings
865613498266Sopenharmony_ci
865713498266Sopenharmony_ci  conversions to/from enum and unsigned chars
865813498266Sopenharmony_ci
865913498266Sopenharmony_ci  Closes #11814
866013498266Sopenharmony_ci
866113498266Sopenharmony_ciStefan Eissing (7 Sep 2023)
866213498266Sopenharmony_ci
866313498266Sopenharmony_ci- pytest: improvements
866413498266Sopenharmony_ci
866513498266Sopenharmony_ci  - set CURL_CI for pytest runs in CI environments
866613498266Sopenharmony_ci  - exclude timing sensitive tests from CI runs
866713498266Sopenharmony_ci  - for failed results, list only the log and stat of
866813498266Sopenharmony_ci    the failed transfer
866913498266Sopenharmony_ci
867013498266Sopenharmony_ci  - fix type in http.c comment
867113498266Sopenharmony_ci
867213498266Sopenharmony_ci  Closes #11812
867313498266Sopenharmony_ci
867413498266Sopenharmony_ci- CI: move on to ngtcp2 v0.19.1
867513498266Sopenharmony_ci
867613498266Sopenharmony_ci  Closes #11809
867713498266Sopenharmony_ci
867813498266Sopenharmony_ciDan Fandrich (5 Sep 2023)
867913498266Sopenharmony_ci
868013498266Sopenharmony_ci- CI: run Circle macOS builds on x86 for now
868113498266Sopenharmony_ci
868213498266Sopenharmony_ci  The ARM machines aren't ready for us and requesting them now causes
868313498266Sopenharmony_ci  warnings e-mails to be sent to some PR pushers.
868413498266Sopenharmony_ci
868513498266Sopenharmony_ci  Ref: #11771
868613498266Sopenharmony_ci
868713498266Sopenharmony_ciViktor Szakats (5 Sep 2023)
868813498266Sopenharmony_ci
868913498266Sopenharmony_ci- http3: adjust cast for ngtcp2 v0.19.0
869013498266Sopenharmony_ci
869113498266Sopenharmony_ci  ngtcp2 v0.19.0 made size of `ecn` member of `ngtcp2_pkt_info`
869213498266Sopenharmony_ci  an `uint8_t` (was: `uint32_t`). Adjust our local cast accordingly.
869313498266Sopenharmony_ci
869413498266Sopenharmony_ci  Fixes:
869513498266Sopenharmony_ci  ```
869613498266Sopenharmony_ci  ./curl/lib/vquic/curl_ngtcp2.c:1912:12: warning: implicit conversion loses in
869713498266Sopenharmony_ci  teger precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned 
869813498266Sopenharmony_ci  char') [-Wimplicit-int-conversion]
869913498266Sopenharmony_ci    pi.ecn = (uint32_t)ecn;
870013498266Sopenharmony_ci           ~ ^~~~~~~~~~~~~
870113498266Sopenharmony_ci  ```
870213498266Sopenharmony_ci
870313498266Sopenharmony_ci  Also bump ngtcp2, nghttp3 and nghttp2 to their latest versions in our
870413498266Sopenharmony_ci  docs and CI.
870513498266Sopenharmony_ci
870613498266Sopenharmony_ci  Ref: https://github.com/ngtcp2/ngtcp2/commit/80447281bbc94af53f8aa7a4cfc19175
870713498266Sopenharmony_ci  782894a3
870813498266Sopenharmony_ci  Ref: https://github.com/ngtcp2/ngtcp2/pull/877
870913498266Sopenharmony_ci  Closes #11798
871013498266Sopenharmony_ci
871113498266Sopenharmony_ciStefan Eissing (5 Sep 2023)
871213498266Sopenharmony_ci
871313498266Sopenharmony_ci- http: fix sending of large requests
871413498266Sopenharmony_ci
871513498266Sopenharmony_ci  - refs #11342 where errors with git https interactions
871613498266Sopenharmony_ci    were observed
871713498266Sopenharmony_ci  - problem was caused by 1st sends of size larger than 64KB
871813498266Sopenharmony_ci    which resulted in later retries of 64KB only
871913498266Sopenharmony_ci  - limit sending of 1st block to 64KB
872013498266Sopenharmony_ci  - adjust h2/h3 filters to cope with parsing the HTTP/1.1
872113498266Sopenharmony_ci    formatted request in chunks
872213498266Sopenharmony_ci
872313498266Sopenharmony_ci  - introducing Curl_nwrite() as companion to Curl_write()
872413498266Sopenharmony_ci    for the many cases where the sockindex is already known
872513498266Sopenharmony_ci
872613498266Sopenharmony_ci  Fixes #11342 (again)
872713498266Sopenharmony_ci  Closes #11803
872813498266Sopenharmony_ci
872913498266Sopenharmony_ci- pytest: fix check for slow_network skips to only apply when intended
873013498266Sopenharmony_ci
873113498266Sopenharmony_ci  Closes #11801
873213498266Sopenharmony_ci
873313498266Sopenharmony_ciDaniel Stenberg (5 Sep 2023)
873413498266Sopenharmony_ci
873513498266Sopenharmony_ci- curl_url_get/set.3: add missing semicolon in SYNOPSIS
873613498266Sopenharmony_ci
873713498266Sopenharmony_ci- CURLOPT_URL.3: explain curl_url_set() uses the same parser
873813498266Sopenharmony_ci
873913498266Sopenharmony_ci- CURLOPT_URL.3: add two URL API calls in the see-also section
874013498266Sopenharmony_ci
874113498266Sopenharmony_ciDan Fandrich (4 Sep 2023)
874213498266Sopenharmony_ci
874313498266Sopenharmony_ci- CI: add a 32-bit i686 Linux build
874413498266Sopenharmony_ci
874513498266Sopenharmony_ci  This is done by cross-compiling under regular x86_64 Linux.  Since the
874613498266Sopenharmony_ci  kernel offers backwards compatibility, the binaries can be tested as
874713498266Sopenharmony_ci  normal.
874813498266Sopenharmony_ci
874913498266Sopenharmony_ci  Closes #11799
875013498266Sopenharmony_ci
875113498266Sopenharmony_ci- tests: fix a type warning on 32-bit x86
875213498266Sopenharmony_ci
875313498266Sopenharmony_ciViktor Szakats (4 Sep 2023)
875413498266Sopenharmony_ci
875513498266Sopenharmony_ci- tests: delete stray `.orig` file
875613498266Sopenharmony_ci
875713498266Sopenharmony_ci  Follow-up to 331b89a319d0067fa1e6441719307cfef9c7960f
875813498266Sopenharmony_ci  Closes #11797
875913498266Sopenharmony_ci
876013498266Sopenharmony_ciDaniel Stenberg (4 Sep 2023)
876113498266Sopenharmony_ci
876213498266Sopenharmony_ci- RELEASE-NOTES: synced
876313498266Sopenharmony_ci
876413498266Sopenharmony_ciViktor Szakats (4 Sep 2023)
876513498266Sopenharmony_ci
876613498266Sopenharmony_ci- lib: silence compiler warning in inet_ntop6
876713498266Sopenharmony_ci
876813498266Sopenharmony_ci  ```
876913498266Sopenharmony_ci  ./curl/lib/inet_ntop.c:121:21: warning: possible misuse of comma operator her
877013498266Sopenharmony_ci  e [-Wcomma]
877113498266Sopenharmony_ci          cur.base = i, cur.len = 1;
877213498266Sopenharmony_ci                      ^
877313498266Sopenharmony_ci  ./curl/lib/inet_ntop.c:121:9: note: cast expression to void to silence warnin
877413498266Sopenharmony_ci  g
877513498266Sopenharmony_ci          cur.base = i, cur.len = 1;
877613498266Sopenharmony_ci          ^~~~~~~~~~~~
877713498266Sopenharmony_ci          (void)(     )
877813498266Sopenharmony_ci  ```
877913498266Sopenharmony_ci
878013498266Sopenharmony_ci  Closes #11790
878113498266Sopenharmony_ci
878213498266Sopenharmony_ciDaniel Stenberg (4 Sep 2023)
878313498266Sopenharmony_ci
878413498266Sopenharmony_ci- transfer: also stop the sending on closed connection
878513498266Sopenharmony_ci
878613498266Sopenharmony_ci  Previously this cleared the receiving bit only but in some cases it is
878713498266Sopenharmony_ci  also still sending (like a request-body) when disconnected and neither
878813498266Sopenharmony_ci  direction can continue then.
878913498266Sopenharmony_ci
879013498266Sopenharmony_ci  Fixes #11769
879113498266Sopenharmony_ci  Reported-by: Oleg Jukovec
879213498266Sopenharmony_ci  Closes #11795
879313498266Sopenharmony_ci
879413498266Sopenharmony_ciJohn Bampton (4 Sep 2023)
879513498266Sopenharmony_ci
879613498266Sopenharmony_ci- docs: change `sub-domain` to `subdomain`
879713498266Sopenharmony_ci
879813498266Sopenharmony_ci  https://en.wikipedia.org/wiki/Subdomain
879913498266Sopenharmony_ci
880013498266Sopenharmony_ci  Closes #11793
880113498266Sopenharmony_ci
880213498266Sopenharmony_ciStefan Eissing (4 Sep 2023)
880313498266Sopenharmony_ci
880413498266Sopenharmony_ci- multi: more efficient pollfd count for poll
880513498266Sopenharmony_ci
880613498266Sopenharmony_ci  - do not use separate pollfds for sockets that have POLLIN+POLLOUT
880713498266Sopenharmony_ci
880813498266Sopenharmony_ci  Closes #11792
880913498266Sopenharmony_ci
881013498266Sopenharmony_ci- http2: polish things around POST
881113498266Sopenharmony_ci
881213498266Sopenharmony_ci  - added test cases for various code paths
881313498266Sopenharmony_ci  - fixed handling of blocked write when stream had
881413498266Sopenharmony_ci    been closed inbetween attempts
881513498266Sopenharmony_ci  - re-enabled DEBUGASSERT on send with smaller data size
881613498266Sopenharmony_ci
881713498266Sopenharmony_ci  - in debug builds, environment variables can be set to simulate a slow
881813498266Sopenharmony_ci    network when sending data. cf-socket.c and vquic.c support
881913498266Sopenharmony_ci    * CURL_DBG_SOCK_WBLOCK: percentage of send() calls that should be
882013498266Sopenharmony_ci      answered with a EAGAIN. TCP/UNIX sockets.
882113498266Sopenharmony_ci      This is chosen randomly.
882213498266Sopenharmony_ci    * CURL_DBG_SOCK_WPARTIAL: percentage of data that shall be written
882313498266Sopenharmony_ci      to the network. TCP/UNIX sockets.
882413498266Sopenharmony_ci      Example: 80 means a send with 1000 bytes would only send 800
882513498266Sopenharmony_ci      This is applied to every send.
882613498266Sopenharmony_ci    * CURL_DBG_QUIC_WBLOCK: percentage of send() calls that should be
882713498266Sopenharmony_ci      answered with EAGAIN. QUIC only.
882813498266Sopenharmony_ci      This is chosen randomly.
882913498266Sopenharmony_ci
883013498266Sopenharmony_ci  Closes #11756
883113498266Sopenharmony_ci
883213498266Sopenharmony_ciDaniel Stenberg (4 Sep 2023)
883313498266Sopenharmony_ci
883413498266Sopenharmony_ci- docs: add curl_global_trace to some SEE ALSO sections
883513498266Sopenharmony_ci
883613498266Sopenharmony_ci  Closes #11791
883713498266Sopenharmony_ci
883813498266Sopenharmony_ci- os400: fix checksrc nits
883913498266Sopenharmony_ci
884013498266Sopenharmony_ci  Closes #11789
884113498266Sopenharmony_ci
884213498266Sopenharmony_ciNicholas Nethercote (3 Sep 2023)
884313498266Sopenharmony_ci
884413498266Sopenharmony_ci- hyper: remove `hyptransfer->endtask`
884513498266Sopenharmony_ci
884613498266Sopenharmony_ci  `Curl_hyper_stream` needs to distinguish between two kinds of
884713498266Sopenharmony_ci  `HYPER_TASK_EMPTY` tasks: (a) the `foreach` tasks it creates itself, and
884813498266Sopenharmony_ci  (b) background tasks that hyper produces. It does this by recording the
884913498266Sopenharmony_ci  address of any `foreach` task in `hyptransfer->endtask` before pushing
885013498266Sopenharmony_ci  it into the executor, and then comparing that against the address of
885113498266Sopenharmony_ci  tasks later polled out of the executor.
885213498266Sopenharmony_ci
885313498266Sopenharmony_ci  This works right now, but there is no guarantee from hyper that the
885413498266Sopenharmony_ci  addresses are stable. `hyper_executor_push` says "The executor takes
885513498266Sopenharmony_ci  ownership of the task, which should not be accessed again unless
885613498266Sopenharmony_ci  returned back to the user with `hyper_executor_poll`". That wording is a
885713498266Sopenharmony_ci  bit ambiguous but with my Rust programmer's hat on I read it as meaning
885813498266Sopenharmony_ci  the task returned with `hyper_executor_poll` may be conceptually the
885913498266Sopenharmony_ci  same as a task that was pushed, but that there are no other guarantees
886013498266Sopenharmony_ci  and comparing addresses is a bad idea.
886113498266Sopenharmony_ci
886213498266Sopenharmony_ci  This commit instead uses `hyper_task_set_userdata` to mark the `foreach`
886313498266Sopenharmony_ci  task with a `USERDATA_RESP_BODY` value which can then be checked for,
886413498266Sopenharmony_ci  removing the need for `hyptransfer->endtask`. This makes the code look
886513498266Sopenharmony_ci  more like that hyper C API examples, which use userdata for every task
886613498266Sopenharmony_ci  and never look at task addresses.
886713498266Sopenharmony_ci
886813498266Sopenharmony_ci  Closes #11779
886913498266Sopenharmony_ci
887013498266Sopenharmony_ciDave Cottlehuber (3 Sep 2023)
887113498266Sopenharmony_ci
887213498266Sopenharmony_ci- ws: fix spelling mistakes in examples and tests
887313498266Sopenharmony_ci
887413498266Sopenharmony_ci  Closes #11784
887513498266Sopenharmony_ci
887613498266Sopenharmony_ciDaniel Stenberg (3 Sep 2023)
887713498266Sopenharmony_ci
887813498266Sopenharmony_ci- tool_filetime: make -z work with file dates before 1970
887913498266Sopenharmony_ci
888013498266Sopenharmony_ci  Fixes #11785
888113498266Sopenharmony_ci  Reported-by: Harry Sintonen
888213498266Sopenharmony_ci  Closes #11786
888313498266Sopenharmony_ci
888413498266Sopenharmony_ciDan Fandrich (1 Sep 2023)
888513498266Sopenharmony_ci
888613498266Sopenharmony_ci- build: fix portability of mancheck and checksrc targets
888713498266Sopenharmony_ci
888813498266Sopenharmony_ci  At least FreeBSD preserves cwd across makefile lines, so rules
888913498266Sopenharmony_ci  consisting of more than one "cd X; do_something" must be explicitly run
889013498266Sopenharmony_ci  in a subshell to avoid this. This problem caused the Cirrus FreeBSD
889113498266Sopenharmony_ci  build to fail when parallel make jobs were enabled.
889213498266Sopenharmony_ci
889313498266Sopenharmony_ci- CI: adjust labeler match patterns for new & obsolete files
889413498266Sopenharmony_ci
889513498266Sopenharmony_ci- configure: trust pkg-config when it's used for zlib
889613498266Sopenharmony_ci
889713498266Sopenharmony_ci  The library flags retrieved from pkg-config were later thrown out and
889813498266Sopenharmony_ci  harded-coded, which negates the whole reason to use pkg-config.
889913498266Sopenharmony_ci  Also, previously, the assumption was made that --libs-only-l and
890013498266Sopenharmony_ci  --libs-only-L are the full decomposition of --libs, which is untrue and
890113498266Sopenharmony_ci  would not allow linking against a static zlib. The new approach is
890213498266Sopenharmony_ci  better in that it uses --libs, although only if --libs-only-l returns
890313498266Sopenharmony_ci  nothing.
890413498266Sopenharmony_ci
890513498266Sopenharmony_ci  Bug: https://curl.se/mail/lib-2023-08/0081.html
890613498266Sopenharmony_ci  Reported-by: Randall
890713498266Sopenharmony_ci  Closes #11778
890813498266Sopenharmony_ci
890913498266Sopenharmony_ciStefan Eissing (1 Sep 2023)
891013498266Sopenharmony_ci
891113498266Sopenharmony_ci- CI/ngtcp2: clear wolfssl for when cache is ignored
891213498266Sopenharmony_ci
891313498266Sopenharmony_ci  Closes #11783
891413498266Sopenharmony_ci
891513498266Sopenharmony_ciDaniel Stenberg (1 Sep 2023)
891613498266Sopenharmony_ci
891713498266Sopenharmony_ci- RELEASE-NOTES: synced
891813498266Sopenharmony_ci
891913498266Sopenharmony_ciNicholas Nethercote (1 Sep 2023)
892013498266Sopenharmony_ci
892113498266Sopenharmony_ci- hyper: fix a progress upload counter bug
892213498266Sopenharmony_ci
892313498266Sopenharmony_ci  `Curl_pgrsSetUploadCounter` should be a passed a total count, not an
892413498266Sopenharmony_ci  increment.
892513498266Sopenharmony_ci
892613498266Sopenharmony_ci  This changes the failing diff for test 579 with hyper from this:
892713498266Sopenharmony_ci  ```
892813498266Sopenharmony_ci   Progress callback called with UL 0 out of 0[LF]
892913498266Sopenharmony_ci  -Progress callback called with UL 8 out of 0[LF]
893013498266Sopenharmony_ci  -Progress callback called with UL 16 out of 0[LF]
893113498266Sopenharmony_ci  -Progress callback called with UL 26 out of 0[LF]
893213498266Sopenharmony_ci  -Progress callback called with UL 61 out of 0[LF]
893313498266Sopenharmony_ci  -Progress callback called with UL 66 out of 0[LF]
893413498266Sopenharmony_ci  +Progress callback called with UL 29 out of 0[LF]
893513498266Sopenharmony_ci  ```
893613498266Sopenharmony_ci  to this:
893713498266Sopenharmony_ci  ```
893813498266Sopenharmony_ci   Progress callback called with UL 0 out of 0[LF]
893913498266Sopenharmony_ci  -Progress callback called with UL 8 out of 0[LF]
894013498266Sopenharmony_ci  -Progress callback called with UL 16 out of 0[LF]
894113498266Sopenharmony_ci  -Progress callback called with UL 26 out of 0[LF]
894213498266Sopenharmony_ci  -Progress callback called with UL 61 out of 0[LF]
894313498266Sopenharmony_ci  -Progress callback called with UL 66 out of 0[LF]
894413498266Sopenharmony_ci  +Progress callback called with UL 40 out of 0[LF]
894513498266Sopenharmony_ci  ```
894613498266Sopenharmony_ci  Presumably a step in the right direction.
894713498266Sopenharmony_ci
894813498266Sopenharmony_ci  Closes #11780
894913498266Sopenharmony_ci
895013498266Sopenharmony_ciDaniel Stenberg (1 Sep 2023)
895113498266Sopenharmony_ci
895213498266Sopenharmony_ci- awssiv4: avoid freeing the date pointer on error
895313498266Sopenharmony_ci
895413498266Sopenharmony_ci  Since it was not allocated, don't free it even if it was wrong syntax
895513498266Sopenharmony_ci
895613498266Sopenharmony_ci  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=61908
895713498266Sopenharmony_ci
895813498266Sopenharmony_ci  Follow-up to b137634ba3adb
895913498266Sopenharmony_ci
896013498266Sopenharmony_ci  Closes #11782
896113498266Sopenharmony_ci
896213498266Sopenharmony_ciStefan Eissing (1 Sep 2023)
896313498266Sopenharmony_ci
896413498266Sopenharmony_ci- CI: ngtcp2-linux: use separate caches for tls libraries
896513498266Sopenharmony_ci
896613498266Sopenharmony_ci  allow ever changing master for wolfssl
896713498266Sopenharmony_ci
896813498266Sopenharmony_ci  Closes #11766
896913498266Sopenharmony_ci
897013498266Sopenharmony_ci- replace `master` as wolfssl-version with recent commit
897113498266Sopenharmony_ci
897213498266Sopenharmony_ci- wolfssl, use master again in CI
897313498266Sopenharmony_ci
897413498266Sopenharmony_ci  - with the shared session update fix landed in master, it
897513498266Sopenharmony_ci    is time to use that in our CI again
897613498266Sopenharmony_ci
897713498266Sopenharmony_ciNicholas Nethercote (31 Aug 2023)
897813498266Sopenharmony_ci
897913498266Sopenharmony_ci- tests: fix formatting errors in `FILEFORMAT.md`.
898013498266Sopenharmony_ci
898113498266Sopenharmony_ci  Without the surrounding backticks, these tags get swallowed when the
898213498266Sopenharmony_ci  markdown is rendered.
898313498266Sopenharmony_ci
898413498266Sopenharmony_ci  Closes #11777
898513498266Sopenharmony_ci
898613498266Sopenharmony_ciViktor Szakats (31 Aug 2023)
898713498266Sopenharmony_ci
898813498266Sopenharmony_ci- cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
898913498266Sopenharmony_ci
899013498266Sopenharmony_ci  Allow overriding the default TLS backend via a CMake setting.
899113498266Sopenharmony_ci
899213498266Sopenharmony_ci  E.g.:
899313498266Sopenharmony_ci  `cmake [...] -DCURL_DEFAULT_SSL_BACKEND=mbedtls`
899413498266Sopenharmony_ci
899513498266Sopenharmony_ci  Accepted values: bearssl, gnutls, mbedtls, openssl, rustls,
899613498266Sopenharmony_ci  schannel, secure-transport, wolfssl
899713498266Sopenharmony_ci
899813498266Sopenharmony_ci  The passed string is baked into the curl/libcurl binaries.
899913498266Sopenharmony_ci  The value is case-insensitive.
900013498266Sopenharmony_ci
900113498266Sopenharmony_ci  We added a similar option to autotools in 2017 via
900213498266Sopenharmony_ci  c7170e20d0a18ec8a514b4daa53bcdbb4dcb3a05.
900313498266Sopenharmony_ci
900413498266Sopenharmony_ci  TODO: Convert to lowercase to improve reproducibility.
900513498266Sopenharmony_ci
900613498266Sopenharmony_ci  Closes #11774
900713498266Sopenharmony_ci
900813498266Sopenharmony_ci- sectransp: fix compiler warnings
900913498266Sopenharmony_ci
901013498266Sopenharmony_ci  https://github.com/curl/curl-for-win/actions/runs/6037489221/job/16381860220#
901113498266Sopenharmony_ci  step:3:11046
901213498266Sopenharmony_ci  ```
901313498266Sopenharmony_ci  /Users/runner/work/curl-for-win/curl-for-win/curl/lib/vtls/sectransp.c:2435:1
901413498266Sopenharmony_ci  4: warning: unused variable 'success' [-Wunused-variable]
901513498266Sopenharmony_ci      OSStatus success;
901613498266Sopenharmony_ci               ^
901713498266Sopenharmony_ci  /Users/runner/work/curl-for-win/curl-for-win/curl/lib/vtls/sectransp.c:3300:4
901813498266Sopenharmony_ci  4: warning: unused parameter 'sha256len' [-Wunused-parameter]
901913498266Sopenharmony_ci                                      size_t sha256len)
902013498266Sopenharmony_ci                                             ^
902113498266Sopenharmony_ci  ```
902213498266Sopenharmony_ci
902313498266Sopenharmony_ci  Closes #11773
902413498266Sopenharmony_ci
902513498266Sopenharmony_ci- tidy-up: mostly whitespace nits
902613498266Sopenharmony_ci
902713498266Sopenharmony_ci  - delete completed TODO from `./CMakeLists.txt`.
902813498266Sopenharmony_ci  - convert a C++ comment to C89 in `./CMake/CurlTests.c`.
902913498266Sopenharmony_ci  - delete duplicate EOLs from EOF.
903013498266Sopenharmony_ci  - add missing EOL at EOF.
903113498266Sopenharmony_ci  - delete whitespace at EOL (except from expected test results).
903213498266Sopenharmony_ci  - convert tabs to spaces.
903313498266Sopenharmony_ci  - convert CRLF EOLs to LF in GHA yaml.
903413498266Sopenharmony_ci  - text casing fixes in `./CMakeLists.txt`.
903513498266Sopenharmony_ci  - fix a codespell typo in `packages/OS400/initscript.sh`.
903613498266Sopenharmony_ci
903713498266Sopenharmony_ci  Closes #11772
903813498266Sopenharmony_ci
903913498266Sopenharmony_ciDan Fandrich (31 Aug 2023)
904013498266Sopenharmony_ci
904113498266Sopenharmony_ci- CI: remove Windows builds from Cirrus, without replacement
904213498266Sopenharmony_ci
904313498266Sopenharmony_ci  If we don't do this, all coverage on Cirrus will cease in a few days. By
904413498266Sopenharmony_ci  removing the Windows builds, the FreeBSD one should still continue
904513498266Sopenharmony_ci  as before. The Windows builds will need be moved to another service to
904613498266Sopenharmony_ci  maintain test coverage.
904713498266Sopenharmony_ci
904813498266Sopenharmony_ci  Closes #11771
904913498266Sopenharmony_ci
905013498266Sopenharmony_ci- CI: switch macOS ARM build from Cirrus to Circle CI
905113498266Sopenharmony_ci
905213498266Sopenharmony_ci  Cirrus is drastically reducing their free tier on Sept. 1, so they will
905313498266Sopenharmony_ci  no longer perform all these builds for us. All but one build has been
905413498266Sopenharmony_ci  moved, with the LibreSSL one being dropped because of linking problems
905513498266Sopenharmony_ci  on Circle.
905613498266Sopenharmony_ci
905713498266Sopenharmony_ci  One important note about this change is that Circle CI is currently
905813498266Sopenharmony_ci  directing all these builds to x86_64 hardware, despite them requesting
905913498266Sopenharmony_ci  ARM. This is because ARM nodes are scheduled to be available on the
906013498266Sopenharmony_ci  free tier only in December. This reduces our architectural diversity
906113498266Sopenharmony_ci  until then but it should automatically come back once those machines are
906213498266Sopenharmony_ci  enabled.
906313498266Sopenharmony_ci
906413498266Sopenharmony_ci- CI: use the right variable for BSD make
906513498266Sopenharmony_ci
906613498266Sopenharmony_ci  BSD uses MAKEFLAGS instead of MAKE_FLAGS so it wasn't doing parallel
906713498266Sopenharmony_ci  builds before.
906813498266Sopenharmony_ci
906913498266Sopenharmony_ci- CI: drop the FreeBSD 12.X build
907013498266Sopenharmony_ci
907113498266Sopenharmony_ci  Cirrus' new free tier won't let us have many builds, so drop the
907213498266Sopenharmony_ci  nonessential ones. The FreeBSD 13.X build will still give us the most
907313498266Sopenharmony_ci  relevant FreeBSD coverage.
907413498266Sopenharmony_ci
907513498266Sopenharmony_ci- CI: move the Alpine build from Cirrus to GHA
907613498266Sopenharmony_ci
907713498266Sopenharmony_ci  Cirrus is reducing their free tier to next to nothing, so we must move
907813498266Sopenharmony_ci  builds elsewhere.
907913498266Sopenharmony_ci
908013498266Sopenharmony_ciStefan Eissing (30 Aug 2023)
908113498266Sopenharmony_ci
908213498266Sopenharmony_ci- test_07_upload.py: fix test_07_34 curl args
908313498266Sopenharmony_ci
908413498266Sopenharmony_ci  - Pass correct filename to --data-binary.
908513498266Sopenharmony_ci
908613498266Sopenharmony_ci  Prior to this change --data-binary was passed an incorrect filename due
908713498266Sopenharmony_ci  to a missing separator in the arguments list. Since aacbeae7 curl will
908813498266Sopenharmony_ci  error on incorrect filenames for POST.
908913498266Sopenharmony_ci
909013498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/11761
909113498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11763
909213498266Sopenharmony_ci
909313498266Sopenharmony_ciNicholas Nethercote (30 Aug 2023)
909413498266Sopenharmony_ci
909513498266Sopenharmony_ci- tests: document which tests fail due to hyper's lack of trailer support.
909613498266Sopenharmony_ci
909713498266Sopenharmony_ci  Closes #11762
909813498266Sopenharmony_ci
909913498266Sopenharmony_ci- docs: removing "pausing transfers" from HYPER.md.
910013498266Sopenharmony_ci
910113498266Sopenharmony_ci  It's a reference to #8600, which was fixed by #9070.
910213498266Sopenharmony_ci
910313498266Sopenharmony_ci  Closes #11764
910413498266Sopenharmony_ci
910513498266Sopenharmony_ciPatrick Monnerat (30 Aug 2023)
910613498266Sopenharmony_ci
910713498266Sopenharmony_ci- os400: handle CURL_TEMP_PRINTF() while building bind source
910813498266Sopenharmony_ci
910913498266Sopenharmony_ci  Closes #11547
911013498266Sopenharmony_ci
911113498266Sopenharmony_ci- os400: build test servers
911213498266Sopenharmony_ci
911313498266Sopenharmony_ci  Also fix a non-compliant main prototype in disabled.c.
911413498266Sopenharmony_ci
911513498266Sopenharmony_ci  Closes #11547
911613498266Sopenharmony_ci
911713498266Sopenharmony_ci- tests: fix compilation error for os400
911813498266Sopenharmony_ci
911913498266Sopenharmony_ci  OS400 uses BSD 4.3 setsockopt() prototype by default: this does not
912013498266Sopenharmony_ci  define parameter as const, resulting in an error if actual parameter is
912113498266Sopenharmony_ci  const. Remove the const keyword from the actual parameter cast: this
912213498266Sopenharmony_ci  works in all conditions, even if the formal parameter uses it.
912313498266Sopenharmony_ci
912413498266Sopenharmony_ci  Closes #11547
912513498266Sopenharmony_ci
912613498266Sopenharmony_ci- os400: make programs and command name configurable
912713498266Sopenharmony_ci
912813498266Sopenharmony_ci  Closes #11547
912913498266Sopenharmony_ci
913013498266Sopenharmony_ci- os400: move build configuration parameters to a separate script
913113498266Sopenharmony_ci
913213498266Sopenharmony_ci  They can then easily be overriden in a script named "config400.override"
913313498266Sopenharmony_ci  that is not part of the distribution.
913413498266Sopenharmony_ci
913513498266Sopenharmony_ci  Closes #11547
913613498266Sopenharmony_ci
913713498266Sopenharmony_ci- os400: implement CLI tool
913813498266Sopenharmony_ci
913913498266Sopenharmony_ci  This is provided as a QADRT (ascii) program, a link to it in the IFS and
914013498266Sopenharmony_ci  a minimal CL command.
914113498266Sopenharmony_ci
914213498266Sopenharmony_ci  Closes #11547
914313498266Sopenharmony_ci
914413498266Sopenharmony_ciMatthias Gatto (30 Aug 2023)
914513498266Sopenharmony_ci
914613498266Sopenharmony_ci- lib: fix aws-sigv4 having date header twice in some cases
914713498266Sopenharmony_ci
914813498266Sopenharmony_ci  When the user was providing the header X-XXX-Date, the header was
914913498266Sopenharmony_ci  re-added during signature computation, and we had it twice in the
915013498266Sopenharmony_ci  request.
915113498266Sopenharmony_ci
915213498266Sopenharmony_ci  Reported-by: apparentorder@users.noreply.github.com
915313498266Sopenharmony_ci
915413498266Sopenharmony_ci  Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
915513498266Sopenharmony_ci
915613498266Sopenharmony_ci  Fixes: https://github.com/curl/curl/issues/11738
915713498266Sopenharmony_ci  Closes: https://github.com/curl/curl/pull/11754
915813498266Sopenharmony_ci
915913498266Sopenharmony_ciJay Satiro (30 Aug 2023)
916013498266Sopenharmony_ci
916113498266Sopenharmony_ci- multi: remove 'processing: <url>' debug message
916213498266Sopenharmony_ci
916313498266Sopenharmony_ci  - Remove debug message added by e024d566.
916413498266Sopenharmony_ci
916513498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11759
916613498266Sopenharmony_ci
916713498266Sopenharmony_ci- ftp: fix temp write of ipv6 address
916813498266Sopenharmony_ci
916913498266Sopenharmony_ci  - During the check to differentiate between a port and IPv6 address
917013498266Sopenharmony_ci    without brackets, write the binary IPv6 address to an in6_addr.
917113498266Sopenharmony_ci
917213498266Sopenharmony_ci  Prior to this change the binary IPv6 address was erroneously written to
917313498266Sopenharmony_ci  a sockaddr_in6 'sa6' when it should have been written to its in6_addr
917413498266Sopenharmony_ci  member 'sin6_addr'. There's no fallout because no members of 'sa6' are
917513498266Sopenharmony_ci  accessed before it is later overwritten.
917613498266Sopenharmony_ci
917713498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11747
917813498266Sopenharmony_ci
917913498266Sopenharmony_ci- tool: change some fopen failures from warnings to errors
918013498266Sopenharmony_ci
918113498266Sopenharmony_ci  - Error on missing input file for --data, --data-binary,
918213498266Sopenharmony_ci    --data-urlencode, --header, --variable, --write-out.
918313498266Sopenharmony_ci
918413498266Sopenharmony_ci  Prior to this change if a user of the curl tool specified an input file
918513498266Sopenharmony_ci  for one of the above options and that file could not be opened then it
918613498266Sopenharmony_ci  would be treated as zero length data instead of an error. For example, a
918713498266Sopenharmony_ci  POST using `--data @filenametypo` would cause a zero length POST which
918813498266Sopenharmony_ci  is probably not what the user intended.
918913498266Sopenharmony_ci
919013498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11677
919113498266Sopenharmony_ci
919213498266Sopenharmony_ci- hostip: fix typo
919313498266Sopenharmony_ci
919413498266Sopenharmony_ciDavide Masserut (29 Aug 2023)
919513498266Sopenharmony_ci
919613498266Sopenharmony_ci- tool: avoid including leading spaces in the Location hyperlink
919713498266Sopenharmony_ci
919813498266Sopenharmony_ci  Co-authored-by: Dan Fandrich <dan@coneharvesters.com>
919913498266Sopenharmony_ci
920013498266Sopenharmony_ci  Closes #11735
920113498266Sopenharmony_ci
920213498266Sopenharmony_ciDaniel Stenberg (29 Aug 2023)
920313498266Sopenharmony_ci
920413498266Sopenharmony_ci- SECURITY-PROCESS.md: not a sec issue: Tricking user to run a cmdline
920513498266Sopenharmony_ci
920613498266Sopenharmony_ci  Closes #11757
920713498266Sopenharmony_ci
920813498266Sopenharmony_ci- connect: stop halving the remaining timeout when less than 600 ms left
920913498266Sopenharmony_ci
921013498266Sopenharmony_ci  When curl wants to connect to a host, it always has a TIMEOUT. The
921113498266Sopenharmony_ci  maximum time it is allowed to spend until a connect is confirmed.
921213498266Sopenharmony_ci
921313498266Sopenharmony_ci  curl will try to connect to each of the IP adresses returned for the
921413498266Sopenharmony_ci  host. Two loops, one for each IP family.
921513498266Sopenharmony_ci
921613498266Sopenharmony_ci  During the connect loop, while curl has more than one IP address left to
921713498266Sopenharmony_ci  try within a single address family, curl has traditionally allowed (time
921813498266Sopenharmony_ci  left/2) for *this* connect attempt. This, to not get stuck on the
921913498266Sopenharmony_ci  initial addresses in case the timeout but still allow later addresses to
922013498266Sopenharmony_ci  get attempted.
922113498266Sopenharmony_ci
922213498266Sopenharmony_ci  This has the downside that when users set a very short timeout and the
922313498266Sopenharmony_ci  host has a large number of IP addresses, the effective result might be
922413498266Sopenharmony_ci  that every attempt gets a little too short time.
922513498266Sopenharmony_ci
922613498266Sopenharmony_ci  This change stop doing the divided-by-two if the total time left is
922713498266Sopenharmony_ci  below a threshold. This threshold is 600 milliseconds.
922813498266Sopenharmony_ci
922913498266Sopenharmony_ci  Closes #11693
923013498266Sopenharmony_ci
923113498266Sopenharmony_ci- asyn-ares: reduce timeout to 2000ms
923213498266Sopenharmony_ci
923313498266Sopenharmony_ci  When UDP packets get lost this makes for slightly faster retries. This
923413498266Sopenharmony_ci  lower timeout is used by @c-ares itself by default starting next
923513498266Sopenharmony_ci  release.
923613498266Sopenharmony_ci
923713498266Sopenharmony_ci  Closes #11753
923813498266Sopenharmony_ci
923913498266Sopenharmony_ciJohn Bampton (29 Aug 2023)
924013498266Sopenharmony_ci
924113498266Sopenharmony_ci- misc: remove duplicate words
924213498266Sopenharmony_ci
924313498266Sopenharmony_ci  Closes #11740
924413498266Sopenharmony_ci
924513498266Sopenharmony_ciDaniel Stenberg (29 Aug 2023)
924613498266Sopenharmony_ci
924713498266Sopenharmony_ci- RELEASE-NOTES: synced
924813498266Sopenharmony_ci
924913498266Sopenharmony_ci- wolfSSL: avoid the OpenSSL compat API when not needed
925013498266Sopenharmony_ci
925113498266Sopenharmony_ci  ... and instead call wolfSSL functions directly.
925213498266Sopenharmony_ci
925313498266Sopenharmony_ci  Closes #11752
925413498266Sopenharmony_ci
925513498266Sopenharmony_ciViktor Szakats (28 Aug 2023)
925613498266Sopenharmony_ci
925713498266Sopenharmony_ci- lib: fix null ptr derefs and uninitialized vars (h2/h3)
925813498266Sopenharmony_ci
925913498266Sopenharmony_ci  Fixing compiler warnings with gcc 13.2.0 in unity builds.
926013498266Sopenharmony_ci
926113498266Sopenharmony_ci  Assisted-by: Jay Satiro
926213498266Sopenharmony_ci  Assisted-by: Stefan Eissing
926313498266Sopenharmony_ci  Closes #11739
926413498266Sopenharmony_ci
926513498266Sopenharmony_ciJay Satiro (28 Aug 2023)
926613498266Sopenharmony_ci
926713498266Sopenharmony_ci- secureserver.pl: fix stunnel version parsing
926813498266Sopenharmony_ci
926913498266Sopenharmony_ci  - Allow the stunnel minor-version version part to be zero.
927013498266Sopenharmony_ci
927113498266Sopenharmony_ci  Prior to this change with the stunnel version scheme of <major>.<minor>
927213498266Sopenharmony_ci  if either part was 0 then version parsing would fail, causing
927313498266Sopenharmony_ci  secureserver.pl to fail with error "No stunnel", causing tests that use
927413498266Sopenharmony_ci  the SSL protocol to be skipped. As a practical matter this bug can only
927513498266Sopenharmony_ci  be caused by a minor-version part of 0, since the major-version part is
927613498266Sopenharmony_ci  always greater than 0.
927713498266Sopenharmony_ci
927813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11722
927913498266Sopenharmony_ci
928013498266Sopenharmony_ci- secureserver.pl: fix stunnel path quoting
928113498266Sopenharmony_ci
928213498266Sopenharmony_ci  - Store the stunnel path in the private variable $stunnel unquoted and
928313498266Sopenharmony_ci    instead quote it in the command strings.
928413498266Sopenharmony_ci
928513498266Sopenharmony_ci  Prior to this change the quoted stunnel path was passed to perl's file
928613498266Sopenharmony_ci  operators which cannot handle quoted paths. For example:
928713498266Sopenharmony_ci
928813498266Sopenharmony_ci  $stunnel = "\"/C/Program Files (x86)/stunnel/bin/tstunnel\"";
928913498266Sopenharmony_ci  if(-x $stunnel or -x "$stunnel")
929013498266Sopenharmony_ci  # false even if path exists and is executable
929113498266Sopenharmony_ci
929213498266Sopenharmony_ci  Our other test scripts written in perl, unlike this one, use servers.pm
929313498266Sopenharmony_ci  which has a global $stunnel variable with the path stored unquoted and
929413498266Sopenharmony_ci  therefore those scripts don't have this problem.
929513498266Sopenharmony_ci
929613498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11721
929713498266Sopenharmony_ci
929813498266Sopenharmony_ciDaniel Stenberg (28 Aug 2023)
929913498266Sopenharmony_ci
930013498266Sopenharmony_ci- altsvc: accept and parse IPv6 addresses in response headers
930113498266Sopenharmony_ci
930213498266Sopenharmony_ci  Store numerical IPv6 addresses in the alt-svc file with the brackets
930313498266Sopenharmony_ci  present.
930413498266Sopenharmony_ci
930513498266Sopenharmony_ci  Verify with test 437 and 438
930613498266Sopenharmony_ci
930713498266Sopenharmony_ci  Fixes #11737
930813498266Sopenharmony_ci  Reported-by: oliverpool on github
930913498266Sopenharmony_ci  Closes #11743
931013498266Sopenharmony_ci
931113498266Sopenharmony_ci- libtest: use curl_free() to free libcurl allocated data
931213498266Sopenharmony_ci
931313498266Sopenharmony_ci  In several test programs. These mistakes are not detected or a problem
931413498266Sopenharmony_ci  as long as memdebug.h is included, as that provides the debug wrappers
931513498266Sopenharmony_ci  for all memory functions in the same style libcurl internals do it,
931613498266Sopenharmony_ci  which makes curl_free and free effectively the same call.
931713498266Sopenharmony_ci
931813498266Sopenharmony_ci  Reported-by: Nicholas Nethercote
931913498266Sopenharmony_ci  Closes #11746
932013498266Sopenharmony_ci
932113498266Sopenharmony_ciJay Satiro (28 Aug 2023)
932213498266Sopenharmony_ci
932313498266Sopenharmony_ci- disable.d: explain --disable not implemented prior to 7.50.0
932413498266Sopenharmony_ci
932513498266Sopenharmony_ci  Option -q/--disable was added in 5.0 but only -q was actually
932613498266Sopenharmony_ci  implemented. Later --disable was implemented in e200034 (precedes
932713498266Sopenharmony_ci  7.49.0), but incorrectly, and fixed in 6dbc23c (precedes 7.50.0).
932813498266Sopenharmony_ci
932913498266Sopenharmony_ci  Reported-by: pszlazak@users.noreply.github.com
933013498266Sopenharmony_ci
933113498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/11710
933213498266Sopenharmony_ci  Closes #11712
933313498266Sopenharmony_ci
933413498266Sopenharmony_ciNicholas Nethercote (28 Aug 2023)
933513498266Sopenharmony_ci
933613498266Sopenharmony_ci- hyper: fix ownership problems
933713498266Sopenharmony_ci
933813498266Sopenharmony_ci  Some of these changes come from comparing `Curl_http` and
933913498266Sopenharmony_ci  `start_CONNECT`, which are similar, and adding things to them that are
934013498266Sopenharmony_ci  present in one and missing in another.
934113498266Sopenharmony_ci
934213498266Sopenharmony_ci  The most important changes:
934313498266Sopenharmony_ci  - In `start_CONNECT`, add a missing `hyper_clientconn_free` call on the
934413498266Sopenharmony_ci    happy path.
934513498266Sopenharmony_ci  - In `start_CONNECT`, add a missing `hyper_request_free` on the error
934613498266Sopenharmony_ci    path.
934713498266Sopenharmony_ci  - In `bodysend`, add a missing `hyper_body_free` on an early-exit path.
934813498266Sopenharmony_ci  - In `bodysend`, remove an unnecessary `hyper_body_free` on a different
934913498266Sopenharmony_ci    error path that would cause a double-free.
935013498266Sopenharmony_ci    https://docs.rs/hyper/latest/hyper/ffi/fn.hyper_request_set_body.html
935113498266Sopenharmony_ci    says of `hyper_request_set_body`: "This takes ownership of the
935213498266Sopenharmony_ci    hyper_body *, you must not use it or free it after setting it on the
935313498266Sopenharmony_ci    request." This is true even if `hyper_request_set_body` returns an
935413498266Sopenharmony_ci    error; I confirmed this by looking at the hyper source code.
935513498266Sopenharmony_ci
935613498266Sopenharmony_ci  Other changes are minor but make things slightly nicer.
935713498266Sopenharmony_ci
935813498266Sopenharmony_ci  Closes #11745
935913498266Sopenharmony_ci
936013498266Sopenharmony_ciDaniel Stenberg (28 Aug 2023)
936113498266Sopenharmony_ci
936213498266Sopenharmony_ci- multi.h: the 'revents' field of curl_waitfd is supported
936313498266Sopenharmony_ci
936413498266Sopenharmony_ci  Since 6d30f8ebed34e7276
936513498266Sopenharmony_ci
936613498266Sopenharmony_ci  Reported-by: Nicolás Ojeda Bär
936713498266Sopenharmony_ci  Ref: #11748
936813498266Sopenharmony_ci  Closes #11749
936913498266Sopenharmony_ci
937013498266Sopenharmony_ciGerome Fournier (27 Aug 2023)
937113498266Sopenharmony_ci
937213498266Sopenharmony_ci- tool_paramhlp: improve str2num(): avoid unnecessary call to strlen()
937313498266Sopenharmony_ci
937413498266Sopenharmony_ci  Closes #11742
937513498266Sopenharmony_ci
937613498266Sopenharmony_ciDaniel Stenberg (27 Aug 2023)
937713498266Sopenharmony_ci
937813498266Sopenharmony_ci- docs: mention critical files in same directories as curl saves
937913498266Sopenharmony_ci
938013498266Sopenharmony_ci  ... cannot be fully protected. Don't do it.
938113498266Sopenharmony_ci
938213498266Sopenharmony_ci  Co-authored-by: Jay Satiro
938313498266Sopenharmony_ci  Reported-by: Harry Sintonen
938413498266Sopenharmony_ci  Fixes #11530
938513498266Sopenharmony_ci  Closes #11701
938613498266Sopenharmony_ci
938713498266Sopenharmony_ciJohn Hawthorn (26 Aug 2023)
938813498266Sopenharmony_ci
938913498266Sopenharmony_ci- OpenSSL: clear error queue after SSL_shutdown
939013498266Sopenharmony_ci
939113498266Sopenharmony_ci  We've seen errors left in the OpenSSL error queue (specifically,
939213498266Sopenharmony_ci  "shutdown while in init") by adding some logging it revealed that the
939313498266Sopenharmony_ci  source was this file.
939413498266Sopenharmony_ci
939513498266Sopenharmony_ci  Since we call SSL_read and SSL_shutdown here, but don't check the return
939613498266Sopenharmony_ci  code for an error, we should clear the OpenSSL error queue in case one
939713498266Sopenharmony_ci  was raised.
939813498266Sopenharmony_ci
939913498266Sopenharmony_ci  This didn't affect curl because we call ERR_clear_error before every
940013498266Sopenharmony_ci  write operation (a0dd9df9ab35528eb9eb669e741a5df4b1fb833c), but when
940113498266Sopenharmony_ci  libcurl is used in a process with other OpenSSL users, they may detect
940213498266Sopenharmony_ci  an OpenSSL error pushed by libcurl's SSL_shutdown as if it was their
940313498266Sopenharmony_ci  own.
940413498266Sopenharmony_ci
940513498266Sopenharmony_ci  Co-authored-by: Satana de Sant'Ana <satana@skylittlesystem.org>
940613498266Sopenharmony_ci
940713498266Sopenharmony_ci  Closes #11736
940813498266Sopenharmony_ci
940913498266Sopenharmony_ciAlexander Kanavin (25 Aug 2023)
941013498266Sopenharmony_ci
941113498266Sopenharmony_ci- tests: update cookie expiry dates to far in the future
941213498266Sopenharmony_ci
941313498266Sopenharmony_ci  This allows testing Y2038 with system time set to after that, so that
941413498266Sopenharmony_ci  actual Y2038 issues can be exposed, and not masked by expiry errors.
941513498266Sopenharmony_ci
941613498266Sopenharmony_ci  Fixes #11576
941713498266Sopenharmony_ci  Closes #11610
941813498266Sopenharmony_ci
941913498266Sopenharmony_ciJohn Bampton (25 Aug 2023)
942013498266Sopenharmony_ci
942113498266Sopenharmony_ci- misc: fix spelling
942213498266Sopenharmony_ci
942313498266Sopenharmony_ci  Closes #11733
942413498266Sopenharmony_ci
942513498266Sopenharmony_ciDaniel Stenberg (25 Aug 2023)
942613498266Sopenharmony_ci
942713498266Sopenharmony_ci- cmdline-opts/page-header: clarify stronger that !opt == URL
942813498266Sopenharmony_ci
942913498266Sopenharmony_ci  Everything provided on the command line that is not an option (or an
943013498266Sopenharmony_ci  argument to an option) is treated as a URL.
943113498266Sopenharmony_ci
943213498266Sopenharmony_ci  Closes #11734
943313498266Sopenharmony_ci
943413498266Sopenharmony_ci- tests/runner: fix %else handling
943513498266Sopenharmony_ci
943613498266Sopenharmony_ci  Getting the show state proper for %else and %endif did not properly work
943713498266Sopenharmony_ci  in nested cases.
943813498266Sopenharmony_ci
943913498266Sopenharmony_ci  Follow-up to 3d089c41ea9
944013498266Sopenharmony_ci
944113498266Sopenharmony_ci  Closes #11731
944213498266Sopenharmony_ci
944313498266Sopenharmony_ciNicholas Nethercote (25 Aug 2023)
944413498266Sopenharmony_ci
944513498266Sopenharmony_ci- docs: Remove mention of #10803 from `KNOWN_BUGS`.
944613498266Sopenharmony_ci
944713498266Sopenharmony_ci  Because the leaks have been fixed.
944813498266Sopenharmony_ci
944913498266Sopenharmony_ci- c-hyper: fix another memory leak in `Curl_http`.
945013498266Sopenharmony_ci
945113498266Sopenharmony_ci  There is a `hyper_clientconn_free` call on the happy path, but not one
945213498266Sopenharmony_ci  on the error path. This commit adds one.
945313498266Sopenharmony_ci
945413498266Sopenharmony_ci  Fixes the second memory leak reported by Valgrind in #10803.
945513498266Sopenharmony_ci
945613498266Sopenharmony_ci  Fixes #10803
945713498266Sopenharmony_ci  Closes #11729
945813498266Sopenharmony_ci
945913498266Sopenharmony_ci- c-hyper: fix a memory leak in `Curl_http`.
946013498266Sopenharmony_ci
946113498266Sopenharmony_ci  A request created with `hyper_request_new` must be consumed by either
946213498266Sopenharmony_ci  `hyper_clientconn_send` or `hyper_request_free`.
946313498266Sopenharmony_ci
946413498266Sopenharmony_ci  This is not terrifically clear from the hyper docs --
946513498266Sopenharmony_ci  `hyper_request_free` is documented only with "Free an HTTP request if
946613498266Sopenharmony_ci  not going to send it on a client" -- but a perusal of the hyper code
946713498266Sopenharmony_ci  confirms it.
946813498266Sopenharmony_ci
946913498266Sopenharmony_ci  This commit adds a `hyper_request_free` to the `error:` path in
947013498266Sopenharmony_ci  `Curl_http` so that the request is consumed when an error occurs after
947113498266Sopenharmony_ci  the request is created but before it is sent.
947213498266Sopenharmony_ci
947313498266Sopenharmony_ci  Fixes the first memory leak reported by Valgrind in #10803.
947413498266Sopenharmony_ci
947513498266Sopenharmony_ci  Closes #11729
947613498266Sopenharmony_ci
947713498266Sopenharmony_ciDaniel Stenberg (25 Aug 2023)
947813498266Sopenharmony_ci
947913498266Sopenharmony_ci- RELEASE-NOTES: synced
948013498266Sopenharmony_ci
948113498266Sopenharmony_ciJohn Bampton (25 Aug 2023)
948213498266Sopenharmony_ci
948313498266Sopenharmony_ci- misc: spellfixes
948413498266Sopenharmony_ci
948513498266Sopenharmony_ci  Closes #11730
948613498266Sopenharmony_ci
948713498266Sopenharmony_ciDaniel Stenberg (25 Aug 2023)
948813498266Sopenharmony_ci
948913498266Sopenharmony_ci- tests: add support for nested %if conditions
949013498266Sopenharmony_ci
949113498266Sopenharmony_ci  Provides more flexiblity to test cases.
949213498266Sopenharmony_ci
949313498266Sopenharmony_ci  Also warn and bail out if there is an '%else' or %endif' without a
949413498266Sopenharmony_ci  preceeding '%if'.
949513498266Sopenharmony_ci
949613498266Sopenharmony_ci  Ref: #11610
949713498266Sopenharmony_ci  Closes #11728
949813498266Sopenharmony_ci
949913498266Sopenharmony_ci- time-cond.d: mention what happens on a missing file
950013498266Sopenharmony_ci
950113498266Sopenharmony_ci  Closes #11727
950213498266Sopenharmony_ci
950313498266Sopenharmony_ciChristian Hesse (24 Aug 2023)
950413498266Sopenharmony_ci
950513498266Sopenharmony_ci- docs/cmdline-opts: match the current output
950613498266Sopenharmony_ci
950713498266Sopenharmony_ci  The release date has been added in output, reflect that in documentation.
950813498266Sopenharmony_ci
950913498266Sopenharmony_ci  Closes #11723
951013498266Sopenharmony_ci
951113498266Sopenharmony_ciDaniel Stenberg (24 Aug 2023)
951213498266Sopenharmony_ci
951313498266Sopenharmony_ci- lib: minor comment corrections
951413498266Sopenharmony_ci
951513498266Sopenharmony_ci- docs: rewrite to present tense
951613498266Sopenharmony_ci
951713498266Sopenharmony_ci  ... instead of using future tense.
951813498266Sopenharmony_ci
951913498266Sopenharmony_ci  + numerous cleanups and improvements
952013498266Sopenharmony_ci  + stick to "reuse" not "re-use"
952113498266Sopenharmony_ci  + fewer contractions
952213498266Sopenharmony_ci
952313498266Sopenharmony_ci  Closes #11713
952413498266Sopenharmony_ci
952513498266Sopenharmony_ci- urlapi: setting a blank URL ("") is not an ok URL
952613498266Sopenharmony_ci
952713498266Sopenharmony_ci  Test it in 1560
952813498266Sopenharmony_ci  Fixes #11714
952913498266Sopenharmony_ci  Reported-by: ad0p on github
953013498266Sopenharmony_ci  Closes #11715
953113498266Sopenharmony_ci
953213498266Sopenharmony_ci- spelling: use 'reuse' not 're-use' in code and elsewhere
953313498266Sopenharmony_ci
953413498266Sopenharmony_ci  Unify the spelling as both versions were previously used intermittently
953513498266Sopenharmony_ci
953613498266Sopenharmony_ci  Closes #11717
953713498266Sopenharmony_ci
953813498266Sopenharmony_ciMichael Osipov (23 Aug 2023)
953913498266Sopenharmony_ci
954013498266Sopenharmony_ci- system.h: add CURL_OFF_T definitions on HP-UX with HP aCC
954113498266Sopenharmony_ci
954213498266Sopenharmony_ci  HP-UX on IA64 provides two modes: 32 and 64 bit while 32 bit being the
954313498266Sopenharmony_ci  default one. Use "long long" in 32 bit mode and just "long" in 64 bit
954413498266Sopenharmony_ci  mode.
954513498266Sopenharmony_ci
954613498266Sopenharmony_ci  Closes #11718
954713498266Sopenharmony_ci
954813498266Sopenharmony_ciDan Fandrich (22 Aug 2023)
954913498266Sopenharmony_ci
955013498266Sopenharmony_ci- tests: don't call HTTP errors OK in test cases
955113498266Sopenharmony_ci
955213498266Sopenharmony_ci  Some HTTP errors codes were accompanied by the text OK, which causes
955313498266Sopenharmony_ci  some cognitive dissonance when reading them.
955413498266Sopenharmony_ci
955513498266Sopenharmony_ci- http: close the connection after a late 417 is received
955613498266Sopenharmony_ci
955713498266Sopenharmony_ci  In this situation, only part of the data has been sent before aborting
955813498266Sopenharmony_ci  so the connection is no longer usable.
955913498266Sopenharmony_ci
956013498266Sopenharmony_ci  Assisted-by: Jay Satiro
956113498266Sopenharmony_ci  Fixes #11678
956213498266Sopenharmony_ci  Closes #11679
956313498266Sopenharmony_ci
956413498266Sopenharmony_ci- runtests: slightly increase the longest log file displayed
956513498266Sopenharmony_ci
956613498266Sopenharmony_ci  The new limit provides enough space for a 64 KiB data block to be logged
956713498266Sopenharmony_ci  in a trace file, plus a few lines at the start and end for context. This
956813498266Sopenharmony_ci  happens to be the amount of data sent at a time in a PUT request.
956913498266Sopenharmony_ci
957013498266Sopenharmony_ci- tests: add delay command to the HTTP server
957113498266Sopenharmony_ci
957213498266Sopenharmony_ci  This adds a delay after client connect.
957313498266Sopenharmony_ci
957413498266Sopenharmony_ciDaniel Stenberg (22 Aug 2023)
957513498266Sopenharmony_ci
957613498266Sopenharmony_ci- cirrus: install everthing with pkg, avoid pip
957713498266Sopenharmony_ci
957813498266Sopenharmony_ci  Assisted-by: Sevan Janiyan
957913498266Sopenharmony_ci
958013498266Sopenharmony_ci  Closes #11711
958113498266Sopenharmony_ci
958213498266Sopenharmony_ci- curl_url*.3: update function descriptions
958313498266Sopenharmony_ci
958413498266Sopenharmony_ci  - expand and clarify several descriptions
958513498266Sopenharmony_ci  - avoid using future tense all over
958613498266Sopenharmony_ci
958713498266Sopenharmony_ci  Closes #11708
958813498266Sopenharmony_ci
958913498266Sopenharmony_ci- RELEASE-NOTES: synced
959013498266Sopenharmony_ci
959113498266Sopenharmony_ciStefan Eissing (21 Aug 2023)
959213498266Sopenharmony_ci
959313498266Sopenharmony_ci- CI/cirrus: disable python install on FreeBSD
959413498266Sopenharmony_ci
959513498266Sopenharmony_ci  - python cryptography package does not build build FreeBSD
959613498266Sopenharmony_ci  - install just mentions "error"
959713498266Sopenharmony_ci  - this gets the build and the main test suite going again
959813498266Sopenharmony_ci
959913498266Sopenharmony_ci  Closes #11705
960013498266Sopenharmony_ci
960113498266Sopenharmony_ci- test2600: fix flakiness on low cpu
960213498266Sopenharmony_ci
960313498266Sopenharmony_ci  - refs #11355 where failures to to low cpu resources in CI
960413498266Sopenharmony_ci    are reported
960513498266Sopenharmony_ci  - vastly extend CURLOPT_CONNECTTIMEOUT_MS and max durations
960613498266Sopenharmony_ci    to test cases
960713498266Sopenharmony_ci  - trigger Curl_expire() in test filter to allow re-checks before
960813498266Sopenharmony_ci    the usual 1second interval
960913498266Sopenharmony_ci
961013498266Sopenharmony_ci  Closes #11690
961113498266Sopenharmony_ci
961213498266Sopenharmony_ciMaksim Sciepanienka (20 Aug 2023)
961313498266Sopenharmony_ci
961413498266Sopenharmony_ci- tool_urlglob: use the correct format specifier for curl_off_t in msnprintf
961513498266Sopenharmony_ci
961613498266Sopenharmony_ci  Closes #11698
961713498266Sopenharmony_ci
961813498266Sopenharmony_ciDaniel Stenberg (20 Aug 2023)
961913498266Sopenharmony_ci
962013498266Sopenharmony_ci- test687/688: two more basic --xattr tests
962113498266Sopenharmony_ci
962213498266Sopenharmony_ci  Closes #11697
962313498266Sopenharmony_ci
962413498266Sopenharmony_ci- cmdline-opts/docs: mentioned the negative option part
962513498266Sopenharmony_ci
962613498266Sopenharmony_ci  ... for --no-alpn and --no-buffer in the same style done for other --no-
962713498266Sopenharmony_ci  options:
962813498266Sopenharmony_ci
962913498266Sopenharmony_ci  "Note that this is the negated option name documented."
963013498266Sopenharmony_ci
963113498266Sopenharmony_ci  Closes #11695
963213498266Sopenharmony_ci
963313498266Sopenharmony_ciEmanuele Torre (19 Aug 2023)
963413498266Sopenharmony_ci
963513498266Sopenharmony_ci- tool/var: also error when expansion result starts with NUL
963613498266Sopenharmony_ci
963713498266Sopenharmony_ci  Expansions whose output starts with NUL were being expanded to the empty
963813498266Sopenharmony_ci  string, and not being recognised as values that contain a NUL byte, and
963913498266Sopenharmony_ci  should error.
964013498266Sopenharmony_ci
964113498266Sopenharmony_ci  Closes #11694
964213498266Sopenharmony_ci
964313498266Sopenharmony_ciDaniel Stenberg (19 Aug 2023)
964413498266Sopenharmony_ci
964513498266Sopenharmony_ci- tests: add 'large-time' as a testable feature
964613498266Sopenharmony_ci
964713498266Sopenharmony_ci  This allows test cases to require this feature to run and to be used in
964813498266Sopenharmony_ci  %if conditions.
964913498266Sopenharmony_ci
965013498266Sopenharmony_ci  Large here means larger than 32 bits. Ie does not suffer from y2038.
965113498266Sopenharmony_ci
965213498266Sopenharmony_ci  Closes #11696
965313498266Sopenharmony_ci
965413498266Sopenharmony_ci- tests/Makefile: add check-translatable-options.pl to tarball
965513498266Sopenharmony_ci
965613498266Sopenharmony_ci  Used in test 1544
965713498266Sopenharmony_ci
965813498266Sopenharmony_ci  Follow-up to ae806395abc8c
965913498266Sopenharmony_ci
966013498266Sopenharmony_ci- gen.pl: fix a long version generation mistake
966113498266Sopenharmony_ci
966213498266Sopenharmony_ci  Too excessive escaping made the parsing not find the correct long names
966313498266Sopenharmony_ci  later and instead add "wrong" links.
966413498266Sopenharmony_ci
966513498266Sopenharmony_ci  Follow-up to 439ff2052e219
966613498266Sopenharmony_ci
966713498266Sopenharmony_ci  Reported-by: Lukas Tribus
966813498266Sopenharmony_ci  Fixes #11688
966913498266Sopenharmony_ci  Closes #11689
967013498266Sopenharmony_ci
967113498266Sopenharmony_ci- lib: move mimepost data from ->req.p.http to ->state
967213498266Sopenharmony_ci
967313498266Sopenharmony_ci  When the legacy CURLOPT_HTTPPOST option is used, it gets converted into
967413498266Sopenharmony_ci  the modem mimpost struct at first use. This data is (now) kept for the
967513498266Sopenharmony_ci  entire transfer and not only per single HTTP request. This re-enables
967613498266Sopenharmony_ci  rewind in the beginning of the second request instead of in end of the
967713498266Sopenharmony_ci  first, as brought by 1b39731.
967813498266Sopenharmony_ci
967913498266Sopenharmony_ci  The request struct is per-request data only.
968013498266Sopenharmony_ci
968113498266Sopenharmony_ci  Extend test 650 to verify.
968213498266Sopenharmony_ci
968313498266Sopenharmony_ci  Fixes #11680
968413498266Sopenharmony_ci  Reported-by: yushicheng7788 on github
968513498266Sopenharmony_ci  Closes #11682
968613498266Sopenharmony_ci
968713498266Sopenharmony_ciPatrick Monnerat (17 Aug 2023)
968813498266Sopenharmony_ci
968913498266Sopenharmony_ci- os400: do not check translatable options at build time
969013498266Sopenharmony_ci
969113498266Sopenharmony_ci  Now that there is a test for this, the build time check is not needed
969213498266Sopenharmony_ci  anymore.
969313498266Sopenharmony_ci
969413498266Sopenharmony_ci  Closes #11650
969513498266Sopenharmony_ci
969613498266Sopenharmony_ci- test1554: check translatable string options in OS400 wrapper
969713498266Sopenharmony_ci
969813498266Sopenharmony_ci  This test runs a perl script that checks all string options are properly
969913498266Sopenharmony_ci  translated by the OS400 character code conversion wrapper. It also
970013498266Sopenharmony_ci  verifies these options are listed in alphanumeric order in the wrapper
970113498266Sopenharmony_ci  switch statement.
970213498266Sopenharmony_ci
970313498266Sopenharmony_ci  Closes #11650
970413498266Sopenharmony_ci
970513498266Sopenharmony_ciDaniel Stenberg (17 Aug 2023)
970613498266Sopenharmony_ci
970713498266Sopenharmony_ci- unit3200: skip testing if function is not present
970813498266Sopenharmony_ci
970913498266Sopenharmony_ci  Fake a successful run since we have no easy mechanism to skip this test
971013498266Sopenharmony_ci  for this advanced condition.
971113498266Sopenharmony_ci
971213498266Sopenharmony_ci- unit2600: fix build warning if built without verbose messages
971313498266Sopenharmony_ci
971413498266Sopenharmony_ci- test1608: make it build and get skipped without shuffle DNS support
971513498266Sopenharmony_ci
971613498266Sopenharmony_ci- lib: --disable-bindlocal builds curl without local binding support
971713498266Sopenharmony_ci
971813498266Sopenharmony_ci- test1304: build and skip without netrc support
971913498266Sopenharmony_ci
972013498266Sopenharmony_ci- lib: build fixups when built with most things disabled
972113498266Sopenharmony_ci
972213498266Sopenharmony_ci  Closes #11687
972313498266Sopenharmony_ci
972413498266Sopenharmony_ci- workflows/macos.yml: disable zstd and alt-svc in the http-only build
972513498266Sopenharmony_ci
972613498266Sopenharmony_ci  Closes #11683
972713498266Sopenharmony_ci
972813498266Sopenharmony_ciStefan Eissing (17 Aug 2023)
972913498266Sopenharmony_ci
973013498266Sopenharmony_ci- bearssl: handshake fix, provide proper get_select_socks() implementation
973113498266Sopenharmony_ci
973213498266Sopenharmony_ci  - bring bearssl handshake times down from +200ms down to other TLS backends
973313498266Sopenharmony_ci  - vtls: improve generic get_select_socks() implementation
973413498266Sopenharmony_ci  - tests: provide Apache with a suitable ssl session cache
973513498266Sopenharmony_ci
973613498266Sopenharmony_ci  Closes #11675
973713498266Sopenharmony_ci
973813498266Sopenharmony_ci- tests: TLS session sharing test
973913498266Sopenharmony_ci
974013498266Sopenharmony_ci  - test TLS session sharing with special test client
974113498266Sopenharmony_ci  - expect failure with wolfSSL
974213498266Sopenharmony_ci  - disable flaky wolfSSL test_02_07b
974313498266Sopenharmony_ci
974413498266Sopenharmony_ci  Closes #11675
974513498266Sopenharmony_ci
974613498266Sopenharmony_ciDaniel Stenberg (17 Aug 2023)
974713498266Sopenharmony_ci
974813498266Sopenharmony_ci- CURLOPT_*TIMEOUT*: extend and clarify
974913498266Sopenharmony_ci
975013498266Sopenharmony_ci  Closes #11686
975113498266Sopenharmony_ci
975213498266Sopenharmony_ci- urlapi: return CURLUE_BAD_HOSTNAME if puny2idn encoding fails
975313498266Sopenharmony_ci
975413498266Sopenharmony_ci  And document it. Only return out of memory when it actually is a memory
975513498266Sopenharmony_ci  problem.
975613498266Sopenharmony_ci
975713498266Sopenharmony_ci  Pointed-out-by: Jacob Mealey
975813498266Sopenharmony_ci  Closes #11674
975913498266Sopenharmony_ci
976013498266Sopenharmony_ciMathew Benson (17 Aug 2023)
976113498266Sopenharmony_ci
976213498266Sopenharmony_ci- cmake: add GnuTLS option
976313498266Sopenharmony_ci
976413498266Sopenharmony_ci  - Option to use GNUTLS was missing. Hence was not able to use GNUTLS
976513498266Sopenharmony_ci    with ngtcp2 for http3.
976613498266Sopenharmony_ci
976713498266Sopenharmony_ci  Closes #11685
976813498266Sopenharmony_ci
976913498266Sopenharmony_ciDaniel Stenberg (16 Aug 2023)
977013498266Sopenharmony_ci
977113498266Sopenharmony_ci- RELEASE-NOTES: synced
977213498266Sopenharmony_ci
977313498266Sopenharmony_ci- http: remove the p_pragma struct field
977413498266Sopenharmony_ci
977513498266Sopenharmony_ci  unused since 40e8b4e52 (2008)
977613498266Sopenharmony_ci
977713498266Sopenharmony_ci  Closes #11681
977813498266Sopenharmony_ci
977913498266Sopenharmony_ciJay Satiro (16 Aug 2023)
978013498266Sopenharmony_ci
978113498266Sopenharmony_ci- CURLINFO_CERTINFO.3: better explain curl_certinfo struct
978213498266Sopenharmony_ci
978313498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11666
978413498266Sopenharmony_ci
978513498266Sopenharmony_ci- CURLINFO_TLS_SSL_PTR.3: clarify a recommendation
978613498266Sopenharmony_ci
978713498266Sopenharmony_ci  - Remove the out-of-date SSL backend list supported by
978813498266Sopenharmony_ci    CURLOPT_SSL_CTX_FUNCTION.
978913498266Sopenharmony_ci
979013498266Sopenharmony_ci  It makes more sense to just refer to that document instead of having
979113498266Sopenharmony_ci  a separate list that has to be kept in sync.
979213498266Sopenharmony_ci
979313498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11665
979413498266Sopenharmony_ci
979513498266Sopenharmony_ci- write-out.d: clarify %{time_starttransfer}
979613498266Sopenharmony_ci
979713498266Sopenharmony_ci  sync it up with CURLINFO_STARTTRANSFER_TIME_T
979813498266Sopenharmony_ci
979913498266Sopenharmony_ciDaniel Stenberg (15 Aug 2023)
980013498266Sopenharmony_ci
980113498266Sopenharmony_ci- transfer: don't set TIMER_STARTTRANSFER on first send
980213498266Sopenharmony_ci
980313498266Sopenharmony_ci  The time stamp is for measuring the first *received* byte
980413498266Sopenharmony_ci
980513498266Sopenharmony_ci  Fixes #11669
980613498266Sopenharmony_ci  Reported-by: JazJas on github
980713498266Sopenharmony_ci  Closes #11670
980813498266Sopenharmony_ci
980913498266Sopenharmony_citrrui-huawei (15 Aug 2023)
981013498266Sopenharmony_ci
981113498266Sopenharmony_ci- quiche: enable quiche to handle timeout events
981213498266Sopenharmony_ci
981313498266Sopenharmony_ci  In parallel with ngtcp2, quiche also offers the `quiche_conn_on_timeout`
981413498266Sopenharmony_ci  interface for the application to invoke upon timer
981513498266Sopenharmony_ci  expiration. Therefore, invoking the `on_timeout` function of the
981613498266Sopenharmony_ci  Connection is crucial to ensure seamless functionality of quiche with
981713498266Sopenharmony_ci  timeout events.
981813498266Sopenharmony_ci
981913498266Sopenharmony_ci  Closes #11654
982013498266Sopenharmony_ci
982113498266Sopenharmony_ci- quiche: adjust quiche `QUIC_IDLE_TIMEOUT` to 60s
982213498266Sopenharmony_ci
982313498266Sopenharmony_ci  Set the `QUIC_IDLE_TIMEOUT` parameter to match ngtcp2 for consistency.
982413498266Sopenharmony_ci
982513498266Sopenharmony_ciDaniel Stenberg (15 Aug 2023)
982613498266Sopenharmony_ci
982713498266Sopenharmony_ci- KNOWN_BUGS: LDAPS requests to ActiveDirectory server hang
982813498266Sopenharmony_ci
982913498266Sopenharmony_ci  Closes #9580
983013498266Sopenharmony_ci
983113498266Sopenharmony_ci- imap: add a check for failing strdup()
983213498266Sopenharmony_ci
983313498266Sopenharmony_ci- imap: remove the only sscanf() call in the IMAP code
983413498266Sopenharmony_ci
983513498266Sopenharmony_ci  Avoids the use of a stack buffer.
983613498266Sopenharmony_ci
983713498266Sopenharmony_ci  Closes #11673
983813498266Sopenharmony_ci
983913498266Sopenharmony_ci- imap: use a dynbuf in imap_atom
984013498266Sopenharmony_ci
984113498266Sopenharmony_ci  Avoid a calculation + malloc. Build the output in a dynbuf.
984213498266Sopenharmony_ci
984313498266Sopenharmony_ci  Closes #11672
984413498266Sopenharmony_ci
984513498266Sopenharmony_ciMarin Hannache (14 Aug 2023)
984613498266Sopenharmony_ci
984713498266Sopenharmony_ci- http: do not require a user name when using CURLAUTH_NEGOTIATE
984813498266Sopenharmony_ci
984913498266Sopenharmony_ci  In order to get Negotiate (SPNEGO) authentication to work in HTTP you
985013498266Sopenharmony_ci  used to be required to provide a (fake) user name (this concerned both
985113498266Sopenharmony_ci  curl and the lib) because the code wrongly only considered
985213498266Sopenharmony_ci  authentication if there was a user name provided, as in:
985313498266Sopenharmony_ci
985413498266Sopenharmony_ci    curl -u : --negotiate https://example.com/
985513498266Sopenharmony_ci
985613498266Sopenharmony_ci  This commit leverages the `struct auth` want member to figure out if the
985713498266Sopenharmony_ci  user enabled CURLAUTH_NEGOTIATE, effectively removing the requirement of
985813498266Sopenharmony_ci  setting a user name both in curl and the lib.
985913498266Sopenharmony_ci
986013498266Sopenharmony_ci  Signed-off-by: Marin Hannache <git@mareo.fr>
986113498266Sopenharmony_ci  Reported-by: Enrico Scholz
986213498266Sopenharmony_ci  Fixes https://sourceforge.net/p/curl/bugs/440/
986313498266Sopenharmony_ci  Fixes #1161
986413498266Sopenharmony_ci  Closes #9047
986513498266Sopenharmony_ci
986613498266Sopenharmony_ciViktor Szakats (13 Aug 2023)
986713498266Sopenharmony_ci
986813498266Sopenharmony_ci- build: streamline non-UWP wincrypt detections
986913498266Sopenharmony_ci
987013498266Sopenharmony_ci  - with CMake, use the variable `WINDOWS_STORE` to detect an UWP build
987113498266Sopenharmony_ci    and disable our non-UWP-compatible use the Windows crypto API. This
987213498266Sopenharmony_ci    allows to drop two dynamic feature checks.
987313498266Sopenharmony_ci
987413498266Sopenharmony_ci    `WINDOWS_STORE` is true when invoking CMake with
987513498266Sopenharmony_ci    `CMAKE_SYSTEM_NAME` == `WindowsStore`. Introduced in CMake v3.1.
987613498266Sopenharmony_ci
987713498266Sopenharmony_ci    Ref: https://cmake.org/cmake/help/latest/variable/WINDOWS_STORE.html
987813498266Sopenharmony_ci
987913498266Sopenharmony_ci  - with autotools, drop the separate feature check for `wincrypt.h`. On
988013498266Sopenharmony_ci    one hand this header has been present for long (even Borland C 5.5 had
988113498266Sopenharmony_ci    it from year 2000), on the other we used the check result solely to
988213498266Sopenharmony_ci    enable another check for certain crypto functions. This fails anyway
988313498266Sopenharmony_ci    with the header not present. We save one dynamic feature check at the
988413498266Sopenharmony_ci    configure stage.
988513498266Sopenharmony_ci
988613498266Sopenharmony_ci  Reviewed-by: Marcel Raad
988713498266Sopenharmony_ci  Closes #11657
988813498266Sopenharmony_ci
988913498266Sopenharmony_ciNicholas Nethercote (13 Aug 2023)
989013498266Sopenharmony_ci
989113498266Sopenharmony_ci- docs/HYPER.md: update hyper build instructions
989213498266Sopenharmony_ci
989313498266Sopenharmony_ci  Nightly Rust and `-Z unstable-options` are not needed.
989413498266Sopenharmony_ci
989513498266Sopenharmony_ci  The instructions here now match the hyper docs exactly:
989613498266Sopenharmony_ci  https://github.com/hyperium/hyper/commit/bd7928f3dd6a8461f0f0fdf7ee0fd95c2f15
989713498266Sopenharmony_ci  6f88
989813498266Sopenharmony_ci
989913498266Sopenharmony_ci  Closes #11662
990013498266Sopenharmony_ci
990113498266Sopenharmony_ciDaniel Stenberg (13 Aug 2023)
990213498266Sopenharmony_ci
990313498266Sopenharmony_ci- RELEASE-NOTES: synced
990413498266Sopenharmony_ci
990513498266Sopenharmony_ci- urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name
990613498266Sopenharmony_ci
990713498266Sopenharmony_ci  Asssisted-by: Jay Satiro
990813498266Sopenharmony_ci  Closes #11655
990913498266Sopenharmony_ci
991013498266Sopenharmony_ci- spellcheck: adapt to backslashed minuses
991113498266Sopenharmony_ci
991213498266Sopenharmony_ci  As the curl.1 has more backslashed minus, the cleanup sed lines xneed to
991313498266Sopenharmony_ci  adapt.
991413498266Sopenharmony_ci
991513498266Sopenharmony_ci  Adjusted some docs slighly.
991613498266Sopenharmony_ci
991713498266Sopenharmony_ci  Follow-up to 439ff2052e
991813498266Sopenharmony_ci
991913498266Sopenharmony_ci  Closes #11663
992013498266Sopenharmony_ci
992113498266Sopenharmony_ci- gen: escape more minus
992213498266Sopenharmony_ci
992313498266Sopenharmony_ci  Detected since it was still hard to search for option names using dashes
992413498266Sopenharmony_ci  in the middle in the man page.
992513498266Sopenharmony_ci
992613498266Sopenharmony_ci  Closes #11660
992713498266Sopenharmony_ci
992813498266Sopenharmony_ci- cookie-jar.d: enphasize that this option is ONLY writing cookies
992913498266Sopenharmony_ci
993013498266Sopenharmony_ci  Reported-by: Dan Jacobson
993113498266Sopenharmony_ci  Tweaked-by: Jay Satiro
993213498266Sopenharmony_ci  Ref: #11642
993313498266Sopenharmony_ci  Closes #11661
993413498266Sopenharmony_ci
993513498266Sopenharmony_ciNicholas Nethercote (11 Aug 2023)
993613498266Sopenharmony_ci
993713498266Sopenharmony_ci- docs/HYPER.md: document a workaround for a link error
993813498266Sopenharmony_ci
993913498266Sopenharmony_ci  Closes #11653
994013498266Sopenharmony_ci
994113498266Sopenharmony_ciJay Satiro (11 Aug 2023)
994213498266Sopenharmony_ci
994313498266Sopenharmony_ci- schannel: verify hostname independent of verify cert
994413498266Sopenharmony_ci
994513498266Sopenharmony_ci  Prior to this change when CURLOPT_SSL_VERIFYPEER (verifypeer) was off
994613498266Sopenharmony_ci  and CURLOPT_SSL_VERIFYHOST (verifyhost) was on we did not verify the
994713498266Sopenharmony_ci  hostname in schannel code.
994813498266Sopenharmony_ci
994913498266Sopenharmony_ci  This fixes KNOWN_BUG 2.8 "Schannel disable CURLOPT_SSL_VERIFYPEER and
995013498266Sopenharmony_ci  verify hostname". We discussed a fix several years ago in #3285 but it
995113498266Sopenharmony_ci  went stale.
995213498266Sopenharmony_ci
995313498266Sopenharmony_ci  Assisted-by: Daniel Stenberg
995413498266Sopenharmony_ci
995513498266Sopenharmony_ci  Bug: https://curl.haxx.se/mail/lib-2018-10/0113.html
995613498266Sopenharmony_ci  Reported-by: Martin Galvan
995713498266Sopenharmony_ci
995813498266Sopenharmony_ci  Ref: https://github.com/curl/curl/pull/3285
995913498266Sopenharmony_ci
996013498266Sopenharmony_ci  Fixes https://github.com/curl/curl/issues/3284
996113498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/10056
996213498266Sopenharmony_ci
996313498266Sopenharmony_ciDaniel Stenberg (11 Aug 2023)
996413498266Sopenharmony_ci
996513498266Sopenharmony_ci- curl_quiche: remove superfluous NULL check
996613498266Sopenharmony_ci
996713498266Sopenharmony_ci  'stream' is always non-NULL at this point
996813498266Sopenharmony_ci
996913498266Sopenharmony_ci  Pointed out by Coverity
997013498266Sopenharmony_ci
997113498266Sopenharmony_ci  Closes #11656
997213498266Sopenharmony_ci
997313498266Sopenharmony_ci- curl/urlapi.h: tiny typo
997413498266Sopenharmony_ci
997513498266Sopenharmony_ci- github/labeler: make HYPER.md set Hyper and not TLS
997613498266Sopenharmony_ci
997713498266Sopenharmony_ci- docs/cmdline-opts/gen.pl: hide "added in" before 7.50.0
997813498266Sopenharmony_ci
997913498266Sopenharmony_ci  7.50.0 shipped on Jul 21 2016, over seven years ago. We no longer need
998013498266Sopenharmony_ci  to specify version changes for earlier releases in the generated output.
998113498266Sopenharmony_ci
998213498266Sopenharmony_ci  This ups the limit from the previous 7.30.0 (Apr 12 2013)
998313498266Sopenharmony_ci
998413498266Sopenharmony_ci  This hides roughly 35 "added in" mentions.
998513498266Sopenharmony_ci
998613498266Sopenharmony_ci  Closes #11651
998713498266Sopenharmony_ci
998813498266Sopenharmony_ciJay Satiro (10 Aug 2023)
998913498266Sopenharmony_ci
999013498266Sopenharmony_ci- bug_report: require reporters to specify curl and os versions
999113498266Sopenharmony_ci
999213498266Sopenharmony_ci  - Change curl version and os sections from single-line input to
999313498266Sopenharmony_ci    multi-line textarea.
999413498266Sopenharmony_ci
999513498266Sopenharmony_ci  - Require curl version and os sections to be filled out before report
999613498266Sopenharmony_ci    can be submitted.
999713498266Sopenharmony_ci
999813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/11636
999913498266Sopenharmony_ci
1000013498266Sopenharmony_ciDaniel Stenberg (9 Aug 2023)
1000113498266Sopenharmony_ci
1000213498266Sopenharmony_ci- gen.pl: replace all single quotes with aq
1000313498266Sopenharmony_ci
1000413498266Sopenharmony_ci  - this prevents man from using a unicode sequence for them
1000513498266Sopenharmony_ci  - which then allows search to work properly
1000613498266Sopenharmony_ci
1000713498266Sopenharmony_ci  Closes #11645
1000813498266Sopenharmony_ci
1000913498266Sopenharmony_ciViktor Szakats (9 Aug 2023)
1001013498266Sopenharmony_ci
1001113498266Sopenharmony_ci- cmake: fix to use variable for the curl namespace
1001213498266Sopenharmony_ci
1001313498266Sopenharmony_ci  Replace (wrong) literal with a variable to specify the curl
1001413498266Sopenharmony_ci  namespace.
1001513498266Sopenharmony_ci
1001613498266Sopenharmony_ci  Follow-up to 1199308dbc902c52be67fc805c72dd2582520d30 #11505
1001713498266Sopenharmony_ci
1001813498266Sopenharmony_ci  Reported-by: balikalina on Github
1001913498266Sopenharmony_ci  Fixes https://github.com/curl/curl/commit/1199308dbc902c52be67fc805c72dd25825
1002013498266Sopenharmony_ci  20d30#r123923098
1002113498266Sopenharmony_ci  Closes #11629
1002213498266Sopenharmony_ci
1002313498266Sopenharmony_ci- cmake: allow `SHARE_LIB_OBJECT=ON` on all platforms
1002413498266Sopenharmony_ci
1002513498266Sopenharmony_ci  2ebc74c36a19a1700af394c16855ce144d9878e3 #11546 introduced sharing
1002613498266Sopenharmony_ci  libcurl objects for shared and static targets.
1002713498266Sopenharmony_ci
1002813498266Sopenharmony_ci  The above automatically enabled for Windows builds, with an option to
1002913498266Sopenharmony_ci  disable with `SHARE_LIB_OBJECT=OFF`.
1003013498266Sopenharmony_ci
1003113498266Sopenharmony_ci  This patch extend this feature to all platforms as a manual option.
1003213498266Sopenharmony_ci  You can enable it by setting `SHARE_LIB_OBJECT=ON`. Then shared objects
1003313498266Sopenharmony_ci  are built in PIC mode, meaning the static lib will also have PIC code.
1003413498266Sopenharmony_ci
1003513498266Sopenharmony_ci  [EXPERIMENTAL]
1003613498266Sopenharmony_ci
1003713498266Sopenharmony_ci  Closes #11627
1003813498266Sopenharmony_ci
1003913498266Sopenharmony_ci- cmake: assume `wldap32` availability on Windows
1004013498266Sopenharmony_ci
1004113498266Sopenharmony_ci  This system library first shipped with Windows ME, available as an extra
1004213498266Sopenharmony_ci  install for some older releases (according to [1]). The import library
1004313498266Sopenharmony_ci  was present already in old MinGW 3.4.2 (year 2007).
1004413498266Sopenharmony_ci
1004513498266Sopenharmony_ci  Drop the feature check and its associated `HAVE_WLDAP32` variable.
1004613498266Sopenharmony_ci
1004713498266Sopenharmony_ci  To manually disable `wldap32`, you can use the `USE_WIN32_LDAP=OFF`
1004813498266Sopenharmony_ci  CMake option, like before.
1004913498266Sopenharmony_ci
1005013498266Sopenharmony_ci  [1]: https://dlcdn.apache.org/httpd/binaries/win32/LEGACY.html
1005113498266Sopenharmony_ci
1005213498266Sopenharmony_ci  Reviewed-by: Jay Satiro
1005313498266Sopenharmony_ci  Closes #11624
1005413498266Sopenharmony_ci
1005513498266Sopenharmony_ciDaniel Stenberg (9 Aug 2023)
1005613498266Sopenharmony_ci
1005713498266Sopenharmony_ci- page-header: move up a URL paragraph from GLOBBING to URL
1005813498266Sopenharmony_ci
1005913498266Sopenharmony_ci- variable.d: output the function names table style
1006013498266Sopenharmony_ci
1006113498266Sopenharmony_ci  Also correct the url function name in the header
1006213498266Sopenharmony_ci
1006313498266Sopenharmony_ci  Closes #11641
1006413498266Sopenharmony_ci
1006513498266Sopenharmony_ci- haproxy-clientip.d: remove backticks
1006613498266Sopenharmony_ci
1006713498266Sopenharmony_ci  This is not markdown
1006813498266Sopenharmony_ci
1006913498266Sopenharmony_ci  Follow-up to 0a75964d0d94a4
1007013498266Sopenharmony_ci
1007113498266Sopenharmony_ci  Closes #11639
1007213498266Sopenharmony_ci
1007313498266Sopenharmony_ci- RELEASE-NOTES: synced
1007413498266Sopenharmony_ci
1007513498266Sopenharmony_ci- gen.pl: escape all dashes (ascii minus) to avoid unicode hyphens
1007613498266Sopenharmony_ci
1007713498266Sopenharmony_ci  Reported-by: FC Stegerman
1007813498266Sopenharmony_ci  Fixes #11635
1007913498266Sopenharmony_ci  Closes #11637
1008013498266Sopenharmony_ci
1008113498266Sopenharmony_ci- cmdline-opts/page-header: reorder, clean up
1008213498266Sopenharmony_ci
1008313498266Sopenharmony_ci  - removed some unnecessary blurb to focus
1008413498266Sopenharmony_ci  - moved up the more important URL details
1008513498266Sopenharmony_ci  - put "globbing" into its own subtitle and moved down a little
1008613498266Sopenharmony_ci  - mention the online man page in the version section
1008713498266Sopenharmony_ci
1008813498266Sopenharmony_ci  Closes #11638
1008913498266Sopenharmony_ci
1009013498266Sopenharmony_ci- c-hyper: adjust the hyper to curlcode conversion
1009113498266Sopenharmony_ci
1009213498266Sopenharmony_ci  Closes #11621
1009313498266Sopenharmony_ci
1009413498266Sopenharmony_ci- test2306: make it use a persistent connection
1009513498266Sopenharmony_ci
1009613498266Sopenharmony_ci  + enable verbose already from the start
1009713498266Sopenharmony_ci
1009813498266Sopenharmony_ci  Closes #11621
1009913498266Sopenharmony_ci
1010013498266Sopenharmony_cieppesuig (8 Aug 2023)
1010113498266Sopenharmony_ci
1010213498266Sopenharmony_ci- list-only.d: mention SFTP as supported protocol
1010313498266Sopenharmony_ci
1010413498266Sopenharmony_ci  Closes #11628
1010513498266Sopenharmony_ci
1010613498266Sopenharmony_ciDaniel Stenberg (8 Aug 2023)
1010713498266Sopenharmony_ci
1010813498266Sopenharmony_ci- request.d: use .TP for protocol "labels"
1010913498266Sopenharmony_ci
1011013498266Sopenharmony_ci  To render the section nicer in man page.
1011113498266Sopenharmony_ci
1011213498266Sopenharmony_ci  Closes #11630
1011313498266Sopenharmony_ci
1011413498266Sopenharmony_ci- cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP
1011513498266Sopenharmony_ci
1011613498266Sopenharmony_ci  ... as documented.
1011713498266Sopenharmony_ci
1011813498266Sopenharmony_ci  Update test 3201 and 3202 accordingly.
1011913498266Sopenharmony_ci
1012013498266Sopenharmony_ci  Reported-by: Markus Sommer
1012113498266Sopenharmony_ci  Fixes #11619
1012213498266Sopenharmony_ci  Closes #11626
1012313498266Sopenharmony_ci
1012413498266Sopenharmony_ci- page-footer: QLOGDIR works with ngtcp2 and quiche
1012513498266Sopenharmony_ci
1012613498266Sopenharmony_ci  It previously said "both" backends which is confusing as we currently
1012713498266Sopenharmony_ci  have three...
1012813498266Sopenharmony_ci
1012913498266Sopenharmony_ci  Closes #11631
1013013498266Sopenharmony_ci
1013113498266Sopenharmony_ciStefan Eissing (8 Aug 2023)
1013213498266Sopenharmony_ci
1013313498266Sopenharmony_ci- http3: quiche, handshake optimization, trace cleanup
1013413498266Sopenharmony_ci
1013513498266Sopenharmony_ci  - load x509 store after clienthello
1013613498266Sopenharmony_ci  - cleanup of tracing
1013713498266Sopenharmony_ci
1013813498266Sopenharmony_ci  Closes #11618
1013913498266Sopenharmony_ci
1014013498266Sopenharmony_ciDaniel Stenberg (8 Aug 2023)
1014113498266Sopenharmony_ci
1014213498266Sopenharmony_ci- ngtcp2: remove dead code
1014313498266Sopenharmony_ci
1014413498266Sopenharmony_ci  'result' is always zero (CURLE_OK) at this point
1014513498266Sopenharmony_ci
1014613498266Sopenharmony_ci  Detected by Coverity
1014713498266Sopenharmony_ci
1014813498266Sopenharmony_ci  Closes #11622
1014913498266Sopenharmony_ci
1015013498266Sopenharmony_ciViktor Szakats (8 Aug 2023)
1015113498266Sopenharmony_ci
1015213498266Sopenharmony_ci- openssl: auto-detect `SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED`
1015313498266Sopenharmony_ci
1015413498266Sopenharmony_ci  OpenSSL 1.1.1 defines this macro, but no ealier version, or any of the
1015513498266Sopenharmony_ci  popular forks (yet). Use the macro itself to detect its presence,
1015613498266Sopenharmony_ci  replacing the hard-wired fork-specific conditions.
1015713498266Sopenharmony_ci
1015813498266Sopenharmony_ci  This way the feature will enable automatically when forks implement it,
1015913498266Sopenharmony_ci  while also shorter and possibly requiring less future maintenance.
1016013498266Sopenharmony_ci
1016113498266Sopenharmony_ci  Follow-up to 94241a9e78397a2aaf89a213e6ada61e7de7ee02 #6721
1016213498266Sopenharmony_ci
1016313498266Sopenharmony_ci  Reviewed-by: Jay Satiro
1016413498266Sopenharmony_ci  Closes #11617
1016513498266Sopenharmony_ci
1016613498266Sopenharmony_ci- openssl: use `SSL_CTX_set_ciphersuites` with LibreSSL 3.4.1
1016713498266Sopenharmony_ci
1016813498266Sopenharmony_ci  LibreSSL 3.4.1 (2021-10-14) added support for
1016913498266Sopenharmony_ci  `SSL_CTX_set_ciphersuites`.
1017013498266Sopenharmony_ci
1017113498266Sopenharmony_ci  Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.4.1-relnotes.txt
1017213498266Sopenharmony_ci
1017313498266Sopenharmony_ci  Reviewed-by: Jay Satiro
1017413498266Sopenharmony_ci  Closes #11616
1017513498266Sopenharmony_ci
1017613498266Sopenharmony_ci- openssl: use `SSL_CTX_set_keylog_callback` with LibreSSL 3.5.0
1017713498266Sopenharmony_ci
1017813498266Sopenharmony_ci  LibreSSL 3.5.0 (2022-02-24) added support for
1017913498266Sopenharmony_ci  `SSL_CTX_set_keylog_callback`.
1018013498266Sopenharmony_ci
1018113498266Sopenharmony_ci  Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.5.0-relnotes.txt
1018213498266Sopenharmony_ci
1018313498266Sopenharmony_ci  Reviewed-by: Jay Satiro
1018413498266Sopenharmony_ci  Closes #11615
1018513498266Sopenharmony_ci
1018613498266Sopenharmony_ci- cmake: drop `HAVE_LIBWINMM` and `HAVE_LIBWS2_32` feature checks
1018713498266Sopenharmony_ci
1018813498266Sopenharmony_ci  - `HAVE_LIBWINMM` was detected but unused. The `winmm` system library is
1018913498266Sopenharmony_ci    also not used by curl, but it is by its optional dependency `librtmp`.
1019013498266Sopenharmony_ci    Change the logic to always add `winmm` when `USE_LIBRTMP` is set. This
1019113498266Sopenharmony_ci    library has been available since the early days of Windows.
1019213498266Sopenharmony_ci
1019313498266Sopenharmony_ci  - `HAVE_LIBWS2_32` detected `ws2_32` lib on Windows. This lib is present
1019413498266Sopenharmony_ci    since Windows 95 OSR2 (AFAIR). Winsock1 already wasn't supported and
1019513498266Sopenharmony_ci    other existing logic already assumed this lib being present, so delete
1019613498266Sopenharmony_ci    the check and replace the detection variable with `WIN32` and always
1019713498266Sopenharmony_ci    add `ws2_32` on Windows.
1019813498266Sopenharmony_ci
1019913498266Sopenharmony_ci  Closes #11612
1020013498266Sopenharmony_ci
1020113498266Sopenharmony_ciDaniel Gustafsson (8 Aug 2023)
1020213498266Sopenharmony_ci
1020313498266Sopenharmony_ci- crypto: ensure crypto initialization works
1020413498266Sopenharmony_ci
1020513498266Sopenharmony_ci  Make sure that context initialization during hash setup works to avoid
1020613498266Sopenharmony_ci  going forward with the risk of a null pointer dereference.
1020713498266Sopenharmony_ci
1020813498266Sopenharmony_ci  Reported-by: Philippe Antoine on HackerOne
1020913498266Sopenharmony_ci  Assisted-by: Jay Satiro
1021013498266Sopenharmony_ci  Assisted-by: Daniel Stenberg
1021113498266Sopenharmony_ci
1021213498266Sopenharmony_ci  Closes #11614
1021313498266Sopenharmony_ci
1021413498266Sopenharmony_ciViktor Szakats (7 Aug 2023)
1021513498266Sopenharmony_ci
1021613498266Sopenharmony_ci- openssl: switch to modern init for LibreSSL 2.7.0+
1021713498266Sopenharmony_ci
1021813498266Sopenharmony_ci  LibreSSL 2.7.0 (2018-03-21) introduced automatic initialization,
1021913498266Sopenharmony_ci  `OPENSSL_init_ssl()` function and deprecated the old, manual init
1022013498266Sopenharmony_ci  method, as seen in OpenSSL 1.1.0. Switch to the modern method when
1022113498266Sopenharmony_ci  available.
1022213498266Sopenharmony_ci
1022313498266Sopenharmony_ci  Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.7.0-relnotes.txt
1022413498266Sopenharmony_ci
1022513498266Sopenharmony_ci  Reviewed-by: Daniel Stenberg
1022613498266Sopenharmony_ci  Closes #11611
1022713498266Sopenharmony_ci
1022813498266Sopenharmony_ciDaniel Stenberg (7 Aug 2023)
1022913498266Sopenharmony_ci
1023013498266Sopenharmony_ci- gskit: remove
1023113498266Sopenharmony_ci
1023213498266Sopenharmony_ci  We remove support for building curl with gskit.
1023313498266Sopenharmony_ci
1023413498266Sopenharmony_ci   - This is a niche TLS library, only running on some IBM systems
1023513498266Sopenharmony_ci   - no regular curl contributors use this backend
1023613498266Sopenharmony_ci   - no CI builds use or verify this backend
1023713498266Sopenharmony_ci   - gskit, or the curl adaption for it, lacks many modern TLS features
1023813498266Sopenharmony_ci     making it an inferior solution
1023913498266Sopenharmony_ci   - build breakages in this code take weeks or more to get detected
1024013498266Sopenharmony_ci   - fixing gskit code is mostly done "flying blind"
1024113498266Sopenharmony_ci
1024213498266Sopenharmony_ci  This removal has been advertized in DEPRECATED in Jan 2, 2023 and it has
1024313498266Sopenharmony_ci  been mentioned on the curl-library mailing list.
1024413498266Sopenharmony_ci
1024513498266Sopenharmony_ci  It could be brought back, this is not a ban. Given proper effort and
1024613498266Sopenharmony_ci  will, gskit support is welcome back into the curl TLS backend family.
1024713498266Sopenharmony_ci
1024813498266Sopenharmony_ci  Closes #11460
1024913498266Sopenharmony_ci
1025013498266Sopenharmony_ci- RELEASE-NOTES: synced
1025113498266Sopenharmony_ci
1025213498266Sopenharmony_ciDan Fandrich (7 Aug 2023)
1025313498266Sopenharmony_ci
1025413498266Sopenharmony_ci- THANKS-filter: add a name typo
1025513498266Sopenharmony_ci
1025613498266Sopenharmony_ciStefan Eissing (7 Aug 2023)
1025713498266Sopenharmony_ci
1025813498266Sopenharmony_ci- http3/ngtcp2: shorten handshake, trace cleanup
1025913498266Sopenharmony_ci
1026013498266Sopenharmony_ci  - shorten handshake timing by delayed x509 store load (OpenSSL)
1026113498266Sopenharmony_ci    as we do for HTTP/2
1026213498266Sopenharmony_ci  - cleanup of trace output, align with HTTP/2 output
1026313498266Sopenharmony_ci
1026413498266Sopenharmony_ci  Closes #11609
1026513498266Sopenharmony_ci
1026613498266Sopenharmony_ciDaniel Stenberg (7 Aug 2023)
1026713498266Sopenharmony_ci
1026813498266Sopenharmony_ci- headers: accept leading whitespaces on first response header
1026913498266Sopenharmony_ci
1027013498266Sopenharmony_ci  This is a bad header fold but since the popular browsers accept this
1027113498266Sopenharmony_ci  violation, so does curl now. Unless built with hyper.
1027213498266Sopenharmony_ci
1027313498266Sopenharmony_ci  Add test 1473 to verify and adjust test 2306.
1027413498266Sopenharmony_ci
1027513498266Sopenharmony_ci  Reported-by: junsik on github
1027613498266Sopenharmony_ci  Fixes #11605
1027713498266Sopenharmony_ci  Closes #11607
1027813498266Sopenharmony_ci
1027913498266Sopenharmony_ci- include/curl/mprintf.h: add __attribute__ for the prototypes
1028013498266Sopenharmony_ci
1028113498266Sopenharmony_ci  - if gcc or clang is used
1028213498266Sopenharmony_ci  - if __STDC_VERSION__ >= 199901L, which means greater than C90
1028313498266Sopenharmony_ci  - if not using mingw
1028413498266Sopenharmony_ci  - if CURL_NO_FMT_CHECKS is not defined
1028513498266Sopenharmony_ci
1028613498266Sopenharmony_ci  Closes #11589
1028713498266Sopenharmony_ci
1028813498266Sopenharmony_ci- tests: fix bad printf format flags in test code
1028913498266Sopenharmony_ci
1029013498266Sopenharmony_ci- tests: fix header scan tools for attribute edits in mprintf.h
1029113498266Sopenharmony_ci
1029213498266Sopenharmony_ci- cf-socket: log successful interface bind
1029313498266Sopenharmony_ci
1029413498266Sopenharmony_ci  When the setsockopt SO_BINDTODEVICE operation succeeds, output that in
1029513498266Sopenharmony_ci  the verbose output.
1029613498266Sopenharmony_ci
1029713498266Sopenharmony_ci  Ref: #11599
1029813498266Sopenharmony_ci  Closes #11608
1029913498266Sopenharmony_ci
1030013498266Sopenharmony_ci- CURLOPT_SSL_VERIFYPEER.3: mention it does not load CA certs when disabled
1030113498266Sopenharmony_ci
1030213498266Sopenharmony_ci  Ref: #11457
1030313498266Sopenharmony_ci  Closes #11606
1030413498266Sopenharmony_ci
1030513498266Sopenharmony_ci- CURLOPT_SSL_VERIFYPEER.3: add two more see also options
1030613498266Sopenharmony_ci
1030713498266Sopenharmony_ci  CURLINFO_CAINFO and CURLINFO_CAPATH
1030813498266Sopenharmony_ci
1030913498266Sopenharmony_ci  Closes #11603
1031013498266Sopenharmony_ci
1031113498266Sopenharmony_ci- KNOWN_BUGS: aws-sigv4 does not behave well with AWS VPC Lattice
1031213498266Sopenharmony_ci
1031313498266Sopenharmony_ci  Closes #11007
1031413498266Sopenharmony_ci
1031513498266Sopenharmony_ciGraham Campbell (6 Aug 2023)
1031613498266Sopenharmony_ci
1031713498266Sopenharmony_ci- CI: use openssl 3.0.10+quic, nghttp3 0.14.0, ngtcp2 0.18.0
1031813498266Sopenharmony_ci
1031913498266Sopenharmony_ci  Closes #11585
1032013498266Sopenharmony_ci
1032113498266Sopenharmony_ciDaniel Stenberg (6 Aug 2023)
1032213498266Sopenharmony_ci
1032313498266Sopenharmony_ci- TODO: add *5* entries for aws-sigv4
1032413498266Sopenharmony_ci
1032513498266Sopenharmony_ci  Closes #7559
1032613498266Sopenharmony_ci  Closes #8107
1032713498266Sopenharmony_ci  Closes #8810
1032813498266Sopenharmony_ci  Closes #9717
1032913498266Sopenharmony_ci  Closes #10129
1033013498266Sopenharmony_ci
1033113498266Sopenharmony_ci- TODO: LDAP Certificate-Based Authentication
1033213498266Sopenharmony_ci
1033313498266Sopenharmony_ci  Closes #9641
1033413498266Sopenharmony_ci
1033513498266Sopenharmony_ciStefan Eissing (6 Aug 2023)
1033613498266Sopenharmony_ci
1033713498266Sopenharmony_ci- http2: cleanup trace messages
1033813498266Sopenharmony_ci
1033913498266Sopenharmony_ci  - more compact format with bracketed stream id
1034013498266Sopenharmony_ci  - all frames traced in and out
1034113498266Sopenharmony_ci
1034213498266Sopenharmony_ci  Closes #11592
1034313498266Sopenharmony_ci
1034413498266Sopenharmony_ciDaniel Stenberg (6 Aug 2023)
1034513498266Sopenharmony_ci
1034613498266Sopenharmony_ci- tests/tftpd+mqttd: make variables static to silence picky warnings
1034713498266Sopenharmony_ci
1034813498266Sopenharmony_ci  Closes #11594
1034913498266Sopenharmony_ci
1035013498266Sopenharmony_ci- docs/cmdline: remove repeated working for negotiate + ntlm
1035113498266Sopenharmony_ci
1035213498266Sopenharmony_ci  The extra wording is added automatically by the gen.pl tool
1035313498266Sopenharmony_ci
1035413498266Sopenharmony_ci  Closes #11597
1035513498266Sopenharmony_ci
1035613498266Sopenharmony_ci- docs/cmdline: add small "warning" to verbose options
1035713498266Sopenharmony_ci
1035813498266Sopenharmony_ci  "Note that verbose output of curl activities and network traffic might
1035913498266Sopenharmony_ci  contain sensitive data, including user names, credentials or secret data
1036013498266Sopenharmony_ci  content. Be aware and be careful when sharing trace logs with others."
1036113498266Sopenharmony_ci
1036213498266Sopenharmony_ci  Closes #11596
1036313498266Sopenharmony_ci
1036413498266Sopenharmony_ci- RELEASE-NOTES: synced
1036513498266Sopenharmony_ci
1036613498266Sopenharmony_ci- pingpong: don't use *bump_headersize
1036713498266Sopenharmony_ci
1036813498266Sopenharmony_ci  We use that for HTTP(S) only.
1036913498266Sopenharmony_ci
1037013498266Sopenharmony_ci  Follow-up to 3ee79c1674fd6
1037113498266Sopenharmony_ci
1037213498266Sopenharmony_ci  Closes #11590
1037313498266Sopenharmony_ci
1037413498266Sopenharmony_ci- urldata: remove spurious parenthesis to unbreak no-proxy build
1037513498266Sopenharmony_ci
1037613498266Sopenharmony_ci  Follow-up to e12b39e13382
1037713498266Sopenharmony_ci
1037813498266Sopenharmony_ci  Closes #11591
1037913498266Sopenharmony_ci
1038013498266Sopenharmony_ci- easy: don't call Curl_trc_opt() in disabled-verbose builds
1038113498266Sopenharmony_ci
1038213498266Sopenharmony_ci  Follow-up to e12b39e133822c6a0
1038313498266Sopenharmony_ci
1038413498266Sopenharmony_ci  Closes #11588
1038513498266Sopenharmony_ci
1038613498266Sopenharmony_ci- http: use %u for printfing int
1038713498266Sopenharmony_ci
1038813498266Sopenharmony_ci  Follow-up to 3ee79c1674fd6f99e8efca5
1038913498266Sopenharmony_ci
1039013498266Sopenharmony_ci  Closes #11587
1039113498266Sopenharmony_ci
1039213498266Sopenharmony_ciGoro FUJI (3 Aug 2023)
1039313498266Sopenharmony_ci
1039413498266Sopenharmony_ci- vquic: show stringified messages for errno
1039513498266Sopenharmony_ci
1039613498266Sopenharmony_ci  Closes #11584
1039713498266Sopenharmony_ci
1039813498266Sopenharmony_ciStefan Eissing (3 Aug 2023)
1039913498266Sopenharmony_ci
1040013498266Sopenharmony_ci- trace: make tracing available in non-debug builds
1040113498266Sopenharmony_ci
1040213498266Sopenharmony_ci  Add --trace-config to curl
1040313498266Sopenharmony_ci
1040413498266Sopenharmony_ci  Add curl_global_trace() to libcurl
1040513498266Sopenharmony_ci
1040613498266Sopenharmony_ci  Closes #11421
1040713498266Sopenharmony_ci
1040813498266Sopenharmony_ciDaniel Stenberg (3 Aug 2023)
1040913498266Sopenharmony_ci
1041013498266Sopenharmony_ci- TODO: remove "Support intermediate & root pinning for PINNEDPUBLICKEY"
1041113498266Sopenharmony_ci
1041213498266Sopenharmony_ci  See also https://github.com/curl/curl/pull/7507
1041313498266Sopenharmony_ci
1041413498266Sopenharmony_ci- TODO: add "WebSocket read callback"
1041513498266Sopenharmony_ci
1041613498266Sopenharmony_ci  remove "Upgrade to websockets" as we already have this
1041713498266Sopenharmony_ci
1041813498266Sopenharmony_ci  Closes #11402
1041913498266Sopenharmony_ci
1042013498266Sopenharmony_ci- test497: verify rejecting too large incoming headers
1042113498266Sopenharmony_ci
1042213498266Sopenharmony_ci- http: return error when receiving too large header set
1042313498266Sopenharmony_ci
1042413498266Sopenharmony_ci  To avoid abuse. The limit is set to 300 KB for the accumulated size of
1042513498266Sopenharmony_ci  all received HTTP headers for a single response. Incomplete research
1042613498266Sopenharmony_ci  suggests that Chrome uses a 256-300 KB limit, while Firefox allows up to
1042713498266Sopenharmony_ci  1MB.
1042813498266Sopenharmony_ci
1042913498266Sopenharmony_ci  Closes #11582
1043013498266Sopenharmony_ci
1043113498266Sopenharmony_ciStefan Eissing (3 Aug 2023)
1043213498266Sopenharmony_ci
1043313498266Sopenharmony_ci- http2: upgrade tests and add fix for non-existing stream
1043413498266Sopenharmony_ci
1043513498266Sopenharmony_ci  - check in h2 filter recv that stream actually exists
1043613498266Sopenharmony_ci    and return error if not
1043713498266Sopenharmony_ci  - add test for parallel, extreme h2 upgrades that fail if
1043813498266Sopenharmony_ci    connections get reused before fully switched
1043913498266Sopenharmony_ci  - add h2 upgrade upload test just for completeness
1044013498266Sopenharmony_ci
1044113498266Sopenharmony_ci  Closes #11563
1044213498266Sopenharmony_ci
1044313498266Sopenharmony_ciViktor Szakats (3 Aug 2023)
1044413498266Sopenharmony_ci
1044513498266Sopenharmony_ci- tests: ensure `libcurl.def` contains all exports
1044613498266Sopenharmony_ci
1044713498266Sopenharmony_ci  Add `test1279` to verify that `libcurl.def` lists all exported API
1044813498266Sopenharmony_ci  functions found in libcurl headers.
1044913498266Sopenharmony_ci
1045013498266Sopenharmony_ci  Also:
1045113498266Sopenharmony_ci
1045213498266Sopenharmony_ci  - extend test suite XML `stdout` tag with the `loadfile` attribute.
1045313498266Sopenharmony_ci
1045413498266Sopenharmony_ci  - fix `tests/extern-scan.pl` and `test1135` to include websocket API.
1045513498266Sopenharmony_ci
1045613498266Sopenharmony_ci  - use all headers (sorted) in `test1135` instead of a manual list.
1045713498266Sopenharmony_ci
1045813498266Sopenharmony_ci  - add options `--sort`, `--heading=` to `tests/extern-scan.pl`.
1045913498266Sopenharmony_ci
1046013498266Sopenharmony_ci  - add `libcurl.def` to the auto-labeler GHA task.
1046113498266Sopenharmony_ci
1046213498266Sopenharmony_ci  Follow-up to 2ebc74c36a19a1700af394c16855ce144d9878e3
1046313498266Sopenharmony_ci
1046413498266Sopenharmony_ci  Closes #11570
1046513498266Sopenharmony_ci
1046613498266Sopenharmony_ciDaniel Stenberg (2 Aug 2023)
1046713498266Sopenharmony_ci
1046813498266Sopenharmony_ci- url: change default value for CURLOPT_MAXREDIRS to 30
1046913498266Sopenharmony_ci
1047013498266Sopenharmony_ci  It was previously unlimited by default, but that's not a sensible
1047113498266Sopenharmony_ci  default. While changing this has a remote risk of breaking an existing
1047213498266Sopenharmony_ci  use case, I figure it is more likely to actually save users from loops.
1047313498266Sopenharmony_ci
1047413498266Sopenharmony_ci  Closes #11581
1047513498266Sopenharmony_ci
1047613498266Sopenharmony_ci- lib: fix a few *printf() flag mistakes
1047713498266Sopenharmony_ci
1047813498266Sopenharmony_ci  Reported-by: Gisle Vanem
1047913498266Sopenharmony_ci  Ref: #11574
1048013498266Sopenharmony_ci  Closes #11579
1048113498266Sopenharmony_ci
1048213498266Sopenharmony_ciSamuel Chiang (2 Aug 2023)
1048313498266Sopenharmony_ci
1048413498266Sopenharmony_ci- openssl: make aws-lc version support OCSP
1048513498266Sopenharmony_ci
1048613498266Sopenharmony_ci  And bump version in CI
1048713498266Sopenharmony_ci
1048813498266Sopenharmony_ci  Closes #11568
1048913498266Sopenharmony_ci
1049013498266Sopenharmony_ciDaniel Stenberg (2 Aug 2023)
1049113498266Sopenharmony_ci
1049213498266Sopenharmony_ci- tool: make the length argument an int for printf()-.* flags
1049313498266Sopenharmony_ci
1049413498266Sopenharmony_ci  Closes #11578
1049513498266Sopenharmony_ci
1049613498266Sopenharmony_ci- tool_operate: fix memory leak when SSL_CERT_DIR is used
1049713498266Sopenharmony_ci
1049813498266Sopenharmony_ci  Detected by Coverity
1049913498266Sopenharmony_ci
1050013498266Sopenharmony_ci  Follow-up to 29bce9857a12b6cfa726a5
1050113498266Sopenharmony_ci
1050213498266Sopenharmony_ci  Closes #11577
1050313498266Sopenharmony_ci
1050413498266Sopenharmony_ci- tool/var: free memory on OOM
1050513498266Sopenharmony_ci
1050613498266Sopenharmony_ci  Coverity detected this memory leak in OOM situation
1050713498266Sopenharmony_ci
1050813498266Sopenharmony_ci  Follow-up to 2e160c9c652504e
1050913498266Sopenharmony_ci
1051013498266Sopenharmony_ci  Closes #11575
1051113498266Sopenharmony_ci
1051213498266Sopenharmony_ciViktor Szakats (2 Aug 2023)
1051313498266Sopenharmony_ci
1051413498266Sopenharmony_ci- gha: bump libressl and mbedtls versions
1051513498266Sopenharmony_ci
1051613498266Sopenharmony_ci  Closes #11573
1051713498266Sopenharmony_ci
1051813498266Sopenharmony_ciJay Satiro (2 Aug 2023)
1051913498266Sopenharmony_ci
1052013498266Sopenharmony_ci- schannel: fix user-set legacy algorithms in Windows 10 & 11
1052113498266Sopenharmony_ci
1052213498266Sopenharmony_ci  - If the user set a legacy algorithm list (CURLOPT_SSL_CIPHER_LIST) then
1052313498266Sopenharmony_ci    use the SCHANNEL_CRED legacy structure to pass the list to Schannel.
1052413498266Sopenharmony_ci
1052513498266Sopenharmony_ci  - If the user set both a legacy algorithm list and a TLS 1.3 cipher list
1052613498266Sopenharmony_ci    then abort.
1052713498266Sopenharmony_ci
1052813498266Sopenharmony_ci  Although MS doesn't document it, Schannel will not negotiate TLS 1.3
1052913498266Sopenharmony_ci  when SCHANNEL_CRED is used. That means setting a legacy algorithm list
1053013498266Sopenharmony_ci  limits the user to earlier versions of TLS.
1053113498266Sopenharmony_ci
1053213498266Sopenharmony_ci  Prior to this change, since 8beff435 (precedes 7.85.0), libcurl would
1053313498266Sopenharmony_ci  ignore legacy algorithms in Windows 10 1809 and later.
1053413498266Sopenharmony_ci
1053513498266Sopenharmony_ci  Reported-by: zhihaoy@users.noreply.github.com
1053613498266Sopenharmony_ci
1053713498266Sopenharmony_ci  Fixes https://github.com/curl/curl/pull/10741
1053813498266Sopenharmony_ci  Closes https://github.com/curl/curl/pull/10746
1053913498266Sopenharmony_ci
1054013498266Sopenharmony_ciDaniel Stenberg (2 Aug 2023)
1054113498266Sopenharmony_ci
1054213498266Sopenharmony_ci- variable.d: setting a variable again overwrites it
1054313498266Sopenharmony_ci
1054413498266Sopenharmony_ci  Reported-by: Niall McGee
1054513498266Sopenharmony_ci  Bug: https://twitter.com/niallmcgee/status/1686523075423322113
1054613498266Sopenharmony_ci  Closes #11571
1054713498266Sopenharmony_ci
1054813498266Sopenharmony_ciJay Satiro (2 Aug 2023)
1054913498266Sopenharmony_ci
1055013498266Sopenharmony_ci- CURLOPT_PROXY_SSL_OPTIONS.3: sync formatting
1055113498266Sopenharmony_ci
1055213498266Sopenharmony_ci  - Re-wrap CURLSSLOPT_ALLOW_BEAST description.
1055313498266Sopenharmony_ci
1055413498266Sopenharmony_ciDaniel Stenberg (2 Aug 2023)
1055513498266Sopenharmony_ci
1055613498266Sopenharmony_ci- RELEASE-NOTES: synced
1055713498266Sopenharmony_ci
1055813498266Sopenharmony_ci- resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set
1055913498266Sopenharmony_ci
1056013498266Sopenharmony_ci  Previously it would always do PF_UNSPEC if CURL_IPRESOLVE_V4 is not
1056113498266Sopenharmony_ci  used, thus unnecessarily asking for addresses that will not be used.
1056213498266Sopenharmony_ci
1056313498266Sopenharmony_ci  Reported-by: Joseph Tharayil
1056413498266Sopenharmony_ci  Fixes #11564
1056513498266Sopenharmony_ci  Closes #11565
1056613498266Sopenharmony_ci
1056713498266Sopenharmony_ci- docs: link to the website versions instead of markdowns
1056813498266Sopenharmony_ci
1056913498266Sopenharmony_ci  ... to make the links work when the markdown is converted to webpages on
1057013498266Sopenharmony_ci  https://curl.se
1057113498266Sopenharmony_ci
1057213498266Sopenharmony_ci  Reported-by: Maurício Meneghini Fauth
1057313498266Sopenharmony_ci  Fixes https://github.com/curl/curl-www/issues/272
1057413498266Sopenharmony_ci  Closes #11569
1057513498266Sopenharmony_ci
1057613498266Sopenharmony_ciViktor Szakats (1 Aug 2023)
1057713498266Sopenharmony_ci
1057813498266Sopenharmony_ci- cmake: cache more config and delete unused ones
1057913498266Sopenharmony_ci
1058013498266Sopenharmony_ci  - cache more Windows config results for faster initialization.
1058113498266Sopenharmony_ci
1058213498266Sopenharmony_ci  - delete unused config macros `HAVE_SYS_UTSNAME_H`, `HAVE_SSL_H`.
1058313498266Sopenharmony_ci
1058413498266Sopenharmony_ci  - delete dead references to `sys/utsname.h`.
1058513498266Sopenharmony_ci
1058613498266Sopenharmony_ci  Closes #11551
1058713498266Sopenharmony_ci
1058813498266Sopenharmony_ci- egd: delete feature detection and related source code
1058913498266Sopenharmony_ci
1059013498266Sopenharmony_ci  EGD is Entropy Gathering Daemon, a socket-based entropy source supported
1059113498266Sopenharmony_ci  by pre-OpenSSL v1.1 versions and now deprecated. curl also deprecated it
1059213498266Sopenharmony_ci  a while ago.
1059313498266Sopenharmony_ci
1059413498266Sopenharmony_ci  Its detection in CMake was broken all along because OpenSSL libs were
1059513498266Sopenharmony_ci  not linked at the point of feature check.
1059613498266Sopenharmony_ci
1059713498266Sopenharmony_ci  Delete detection from both cmake and autotools, along with the related
1059813498266Sopenharmony_ci  source snippet, and the `--with-egd-socket=` `./configure` option.
1059913498266Sopenharmony_ci
1060013498266Sopenharmony_ci  Closes #11556
1060113498266Sopenharmony_ci
1060213498266Sopenharmony_ciStefan Eissing (1 Aug 2023)
1060313498266Sopenharmony_ci
1060413498266Sopenharmony_ci- tests: fix h3 server check and parallel instances
1060513498266Sopenharmony_ci
1060613498266Sopenharmony_ci  - fix check for availability of nghttpx server
1060713498266Sopenharmony_ci  - add `tcp` frontend config for same port as quic, as
1060813498266Sopenharmony_ci    without this, port 3000 is bound which clashes for parallel
1060913498266Sopenharmony_ci    testing
1061013498266Sopenharmony_ci
1061113498266Sopenharmony_ci  Closes #11553
1061213498266Sopenharmony_ci
1061313498266Sopenharmony_ciDaniel Stenberg (1 Aug 2023)
1061413498266Sopenharmony_ci
1061513498266Sopenharmony_ci- docs/cmdline-opts: spellfixes, typos and polish
1061613498266Sopenharmony_ci
1061713498266Sopenharmony_ci  To make them accepted by the spell checker
1061813498266Sopenharmony_ci
1061913498266Sopenharmony_ci  Closes #11562
1062013498266Sopenharmony_ci
1062113498266Sopenharmony_ci- CI/spellcheck: build curl.1 and spellcheck it
1062213498266Sopenharmony_ci
1062313498266Sopenharmony_ci  Added acceptable words
1062413498266Sopenharmony_ci
1062513498266Sopenharmony_ci  Closes #11562
1062613498266Sopenharmony_ci
1062713498266Sopenharmony_ciAlexander Jaeger (1 Aug 2023)
1062813498266Sopenharmony_ci
1062913498266Sopenharmony_ci- misc: fix various typos
1063013498266Sopenharmony_ci
1063113498266Sopenharmony_ci  Closes #11561
1063213498266Sopenharmony_ci
1063313498266Sopenharmony_ciDaniel Stenberg (1 Aug 2023)
1063413498266Sopenharmony_ci
1063513498266Sopenharmony_ci- http2: avoid too early connection re-use/multiplexing
1063613498266Sopenharmony_ci
1063713498266Sopenharmony_ci  HTTP/1 connections that are upgraded to HTTP/2 should not be picked up
1063813498266Sopenharmony_ci  for reuse and multiplexing by other handles until the 101 switching
1063913498266Sopenharmony_ci  process is completed.
1064013498266Sopenharmony_ci
1064113498266Sopenharmony_ci  Lots-of-debgging-by: Stefan Eissing
1064213498266Sopenharmony_ci  Reported-by: Richard W.M. Jones
1064313498266Sopenharmony_ci  Bug: https://curl.se/mail/lib-2023-07/0045.html
1064413498266Sopenharmony_ci  Closes #11557
1064513498266Sopenharmony_ci
1064613498266Sopenharmony_ci- Revert "KNOWN_BUGS: build for iOS simulator on macOS 13.2 with Xcode 14"
1064713498266Sopenharmony_ci
1064813498266Sopenharmony_ci  This reverts commit 2e8a3d7cb73c85a9aa151e263315f8a496dbb9d4.
1064913498266Sopenharmony_ci
1065013498266Sopenharmony_ci  It's a user error for supplying incomplete information to the build system.
1065113498266Sopenharmony_ci
1065213498266Sopenharmony_ci  Reported-by: Ryan Schmidt
1065313498266Sopenharmony_ci  Ref: https://github.com/curl/curl/issues/11215#issuecomment-1658729367
1065413498266Sopenharmony_ci
1065513498266Sopenharmony_ciViktor Szakats (1 Aug 2023)
1065613498266Sopenharmony_ci
1065713498266Sopenharmony_ci- cmake: add support for single libcurl compilation pass
1065813498266Sopenharmony_ci
1065913498266Sopenharmony_ci  Before this patch CMake builds used two separate compilation passes to
1066013498266Sopenharmony_ci  build the shared and static libcurl respectively. This patch allows to
1066113498266Sopenharmony_ci  reduce that to a single pass if the target platform and build settings
1066213498266Sopenharmony_ci  allow it.
1066313498266Sopenharmony_ci
1066413498266Sopenharmony_ci  This reduces CMake build times when building both static and shared
1066513498266Sopenharmony_ci  libcurl at the same time, making these dual builds an almost zero-cost
1066613498266Sopenharmony_ci  option.
1066713498266Sopenharmony_ci
1066813498266Sopenharmony_ci  Enable this feature for Windows builds, where the difference between the
1066913498266Sopenharmony_ci  two passes was the use of `__declspec(dllexport)` attribute for exported
1067013498266Sopenharmony_ci  API functions for the shared builds. This patch replaces this method
1067113498266Sopenharmony_ci  with the use of `libcurl.def` at DLL link time.
1067213498266Sopenharmony_ci
1067313498266Sopenharmony_ci  Also update `Makefile.mk` to use `libcurl.def` to export libcurl API
1067413498266Sopenharmony_ci  symbols on Windows. This simplifies (or fixes) this build method (e.g.
1067513498266Sopenharmony_ci  in curl-for-win, which generated a `libcurl.def` from `.h` files using
1067613498266Sopenharmony_ci  an elaborate set of transformations).
1067713498266Sopenharmony_ci
1067813498266Sopenharmony_ci  `libcurl.def` has the maintenance cost of keeping the list of public
1067913498266Sopenharmony_ci  libcurl API symbols up-to-date. This list seldom changes, so the cost
1068013498266Sopenharmony_ci  is low.
1068113498266Sopenharmony_ci
1068213498266Sopenharmony_ci  Closes #11546
1068313498266Sopenharmony_ci
1068413498266Sopenharmony_ci- cmake: detect `SSL_set0_wbio` in OpenSSL
1068513498266Sopenharmony_ci
1068613498266Sopenharmony_ci  Present in OpenSSL 1.1.0 and BoringSSL.
1068713498266Sopenharmony_ci  Missing from LibreSSL 3.8.0.
1068813498266Sopenharmony_ci
1068913498266Sopenharmony_ci  Follow-up to f39472ea9f4f4e12cfbc0500c4580a8d52ce4a59
1069013498266Sopenharmony_ci
1069113498266Sopenharmony_ci  While here, also fix `RAND_egd()` detection which was broken, likely all
1069213498266Sopenharmony_ci  along. This feature is probably broken with CMake builds and also
1069313498266Sopenharmony_ci  requires a sufficiently obsolete OpenSSL version, so this part of the
1069413498266Sopenharmony_ci  update was not tested.
1069513498266Sopenharmony_ci
1069613498266Sopenharmony_ci  Closes #11555
10697