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