Builder curl-pr-unthreaded-solaris10-sparc Build #2327
Results:
Build successful
SourceStamp:
Project | curl/curl |
Repository | https://github.com/curl/curl |
Branch | master |
Revision | d12129dda5e14f384dbb9f24ddb462479501fc87 |
Got Revision | d12129dda5e14f384dbb9f24ddb462479501fc87 |
Changes | 93 changes |
BuildSlave:
unstable10sReason:
The AnyBranchScheduler scheduler named 'schedule-curl-pr' triggered this build
Steps and Logfiles:
Build Properties:
Name | Value | Source |
---|---|---|
branch | master | Build |
builddir | /export/home/buildbot-unstable10s/slave/curl-pr-unthreaded-solaris10-sparc | slave |
buildername | curl-pr-unthreaded-solaris10-sparc | Builder |
buildnumber | 2327 | Build |
codebase | Build | |
got_revision | d12129dda5e14f384dbb9f24ddb462479501fc87 | Git |
osplatform | SPARC | SetPropertyFromCommand Step |
osrelease | 10 | SetPropertyFromCommand Step |
project | curl/curl | Build |
repository | https://github.com/curl/curl | Build |
revision | d12129dda5e14f384dbb9f24ddb462479501fc87 | Build |
scheduler | schedule-curl-pr | Scheduler |
slavename | unstable10s | BuildSlave |
workdir | /export/home/buildbot-unstable10s/slave/curl-pr-unthreaded-solaris10-sparc | slave (deprecated) |
Forced Build Properties:
Name | Label | Value |
---|
Responsible Users:
- Calvin Ruoccocalvin.ruocco@vector.com
- Christian Schmitzsupport@monkeybreadsoftware.de
- Daniel Stenbergdaniel@haxx.se
- Jay Satiroraysatiro@yahoo.com
- Samuel Henriquesamueloph@debian.org
- Stefan Eissingstefan@eissing.org
- Viktor Szakatscommit@vsz.me
- renovate[bot]29139614+renovate[bot]@users.noreply.github.com
Timing:
Start | Sat Mar 15 15:44:00 2025 |
End | Sat Mar 15 21:06:14 2025 |
Elapsed | 5 hrs, 22 mins, 13 secs |
All Changes:
:
Change #224271
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 07 Mar 2025 23:32:31 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 36a831b86858f35d5e5486cab0b8802de790fe64 Comments
setopt: illegal CURLOPT_SOCKS5_AUTH should return error The check was just wrong before. Regression introduced in 30da1f5974d34841b30c4fac3 Bug: https://issues.oss-fuzz.com/issues/401430844 Closes #16617
Changed files
- lib/setopt.c
Change #224274
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 07 Mar 2025 23:34:36 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 906aa04d9be6c5579356161bbb92df1db9a299e1 Comments
tool_parsecfg: make my_get_line() skip empty and blanks-only lines Closes #16613
Changed files
- src/tool_parsecfg.c
Change #224275
Category None Changed by Stefan Eissing <stefan @eissing.org>Changed at Fri 07 Mar 2025 23:36:17 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 646ffb591a45b4c0573470f3cdb3060498506c73 Comments
quiche: do not iterate over multi handles Quiche needs to find easy handles to events. Do this by iterating over the filters stream hash and lookup the easy handle on a match. This O(+streams-in-filter) vs O(all easy handles), at least once we fix the multi lookup to use a hash. Closes #16607
Changed files
- lib/vquic/curl_quiche.c
Change #224287
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sat 08 Mar 2025 00:39:04 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 25f8486f269dfcd8e938ee7ed010a51b848fb36e Comments
zlib: bump minimum to 1.2.5.2 (was: 1.2.0.4) 1.2.5.2 was released on 2011-12-18. (vs. 1.2.0.4 on 2003-08-10) It allows to: - use `Z_BLOCK` unconditionally. - use `inflateReset2()` to replace `inflateEnd()` + `inflateInit2()` and save a memory allocation. - use `Z_CONST` and `z_const` (in a future commit). Suggested-by: Dan Fandrich Ref: https://github.com/curl/curl/pull/16142#discussion_r1985449743 Closes #16616
Changed files
- docs/INTERNALS.md
- lib/content_encoding.c
Change #224296
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sat 08 Mar 2025 01:53:48 Repository https://github.com/curl/curl Project curl/curl Branch master Revision abf80aae384319ef9b19ffbd0d69a1fbe7421f1f Comments
tests/server: fix to check against winsock2 error codes on Windows Windows's winsock2 returns socket errors via `WSAGetLastError()` and not via `errno` like most systems out there. This was covered by switching to the `SOCKERRNO` curl macro earlier. But, on Windows the returned socket error codes have different values than the standard POSIX errno values. Existing code was using the POSIX values for all these checks. Meaning they never actually matched on Windows. This patch defines a set of `SOCKERRNO` constants that map to the correct socket error values for Windows and other platforms. The reverse issue exists in core curl code, which redefines POSIX errno values to winsock2 ones, breaking non-socket uses on Windows. Cherry-picked from #15000 Follow-up to adcfd4fb3e9be1de0e506728066bea2aaa53c394 #16553 Bug: https://github.com/curl/curl/pull/16553#issuecomment-2704679377 Closes #16612
Changed files
- tests/server/mqttd.c
- tests/server/sockfilt.c
- tests/server/socksd.c
- tests/server/sws.c
- tests/server/util.c
- tests/server/util.h
Change #224297
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sat 08 Mar 2025 01:53:49 Repository https://github.com/curl/curl Project curl/curl Branch master Revision d69425ed7d0918aceddd96048b146a9df85638ec Comments
curl_setup_once: drop `E*` macro redefines unused (with winsock2) These were not used in curl sources at all. Except `EDQUOT` which was used after `mkdir()` in `src/tool_dirhie.c` for error display. It should not be redefined to a winsock2 error. This makes the "exceeded your quota" error correctly appear on Windows, if detected, after operations that create directories. After this patch there remain 14 `E*` macro redefines on Windows, down from 40 before this patch. Bug: https://github.com/curl/curl/pull/16553#issuecomment-2704679377 Ref: #16612 Ref: #16605 Closes #16615
Changed files
- lib/curl_setup_once.h
Change #224310
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sat 08 Mar 2025 04:30:54 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 4bca9eb581183c88b6d17f66189f1dff72683bce Comments
curl_setup_once: stop redefining `ENAMETOOLONG` to winsock2 error code The only user is error display code following an `mkdir()` call. In this case the redefinition didn't cause an issue, but was unnecessary. Follow-up to d69425ed7d0918aceddd96048b146a9df85638ec #16615 Closes #16620
Changed files
- lib/curl_setup_once.h
Change #224323
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Sat 08 Mar 2025 10:49:46 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 124c2bed2add15bd30c7bf2463468f010a08bbc2 Comments
RELEASE-PROCEDURE.md: explain release candidates Closes #16622
Changed files
- docs/RELEASE-PROCEDURE.md
Change #224330
Category None Changed by renovate[bot] <29139614+renovate[bot] @users.noreply.github.com>Changed at Sat 08 Mar 2025 12:19:12 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 8f700cf5f9e97df7bba7e4709beb4d1eddfb5fd1 Comments
GHA: update dependency cloudflare/quiche to v0.23.4 Closes #16618
Changed files
- .github/workflows/http3-linux.yml
Change #224335
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sat 08 Mar 2025 13:24:24 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 2fc8f7a3f74f2f07171350df4945f01de58f19ee Comments
gtls: fix uninitialized variable Fix uninitialized variable (warning by MSVC): ``` lib\vtls\gtls.c(1207,1): error C2220: the following warning is treated as an error lib\vtls\gtls.c(1207,1): warning C4701: potentially uninitialized local variable 'result' used ``` Ref: https://github.com/curl/curl/actions/runs/13733139148/job/38413553053#step:9:31 Closes #16625
Changed files
- lib/vtls/gtls.c
Change #224356
Category None Changed by Samuel Henrique <samueloph @debian.org>Changed at Sat 08 Mar 2025 22:15:34 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 3c1a88fdf72e9e43f289d121318fc31536964e66 Comments
test1022: add support for rc releases Fix the following test failure: curl-config: illegal value Closes #16626
Changed files
- tests/libtest/test1022.pl
Change #224359
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Sat 08 Mar 2025 22:32:44 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 74a2f2661df63720dc4700b191c82c7ad08ed4f6 Comments
RELEASE-NOTES: synced
Changed files
- RELEASE-NOTES
Change #224371
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sat 08 Mar 2025 23:49:10 Repository https://github.com/curl/curl Project curl/curl Branch master Revision e86f99824c4de0024cc90bca53efe205fd1c1dcc Comments
GHA/windows: re-add GnuTLS for vcpkg, improve perf by building examples less The GnuTLS MSVC/vcpkg build doesn't actually work on Windows. Let's restore the build itself, to keep it fit for more testing. With disabled tests (and examples) to keep it fast and not add to flakiness. Also: - enable GnuTLS in the MultiSSL job. - limit building examples to one normal and one UWP job. It saves 6 x 1-1.5 minutes. Coverage remains the same, because example builds only depend on the toolchain / target, not on the actual features (except IPv6, but that's enabled for all.) Closes #16623
Changed files
- .github/workflows/windows.yml
Change #224388
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sun 09 Mar 2025 03:30:42 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 66313cc036671cd4d3e72db65a79a715c7b8f154 Comments
GHA/windows: add GnuTLS job, drop default OpenSSL for Cygwin/MSYS2 jobs To allow selecting the TLS backend(s) for each individual job. Closes #16629
Changed files
- .github/workflows/windows.yml
Change #224401
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sun 09 Mar 2025 11:53:12 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 7e282e18a5c8f76e21de70533f8dce1198dd8133 Comments
lib2302: fix crash due to stack overflow on MSVC and clang Windows It fixes test 2302, 2303, 2307 with MSVC and clang on Windows. GCC Windows builds were not affected. Failure was caused by stack overflow due to a 1MB+ sized test struct on stack. Replace it with dynamic allocation. Also unignore affected tests in GHA/windows. As seen under WINE with llvm-mingw: ``` $ wine64 libtests.exe lib2302 ws://127.0.0.1:59964/2302 > stdout2302 2> stderr2302 Test: lib2302 URL: ws://127.0.0.1:59964/2302 wine: Unhandled stack overflow at address 000000014007486A (thread 0024), starting debugger... Unhandled exception: stack overflow in 64-bit code (0x000000014007486a). ``` Ref: #16629 (discovery) Ref: 1bd5ac998bbc943dbf812b2824ad0f532201734c #16570 Closes #16630
Changed files
- .github/workflows/windows.yml
- tests/libtest/lib2302.c
Change #224404
Category None Changed by Samuel Henrique <samueloph @debian.org>Changed at Sun 09 Mar 2025 11:56:00 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 454762d5ca1f5bba2401cc1cd4e03e50ef96c34e Comments
tests/servers.pm: remove unused variable 'portrange' Its usage was dropped at 4efa0b5749bb7c366e1c3bda90650ef864d3978e (https://github.com/curl/curl/pull/11220) Grepping the tests folder for "portrange" returns only this as a result. Closes #16632
Changed files
- tests/servers.pm
Change #224407
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sun 09 Mar 2025 12:04:30 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 5681628e2d748af981e077cb3c456a254c4957e2 Comments
tests/server: sync `wait_ms()` with the libcurl implementation It contains a series of bugfixes and updates applied to libcurl's `Curl_wait_ms()` over the years, but missed from the copy in `tests/server/util.c`: - d65321f93916e60f65b89d9bcb502341ea5c5939, 52e822173aa3cd4f610531d32fbf943f026cdca6, 5912da253b64de3cb2a1a229558077219b2c8a35 - 4a8f459837e2b7dc146825fc9a864045f7d1ae4a - 1ad49feb71418f26aa6114c7a20ce1463beb3ea9 It fixes `wait_ms()` to check for, and return `SOCKERRNO`. Fixing error handling on Windows. Also: - tests/server: change callers to check `SOCKERRNO`. - `wait_ms()`: fix to check for the correct error code on Windows. Pending for `Curl_wait_ms()`: #16621. - `Curl_wait_ms()`: tidy-up `Sleep()` argument cast (nit). - lib/curl_trc: drop an unused header. Closes #16627
Changed files
- lib/curl_trc.c
- lib/select.c
- tests/server/mqttd.c
- tests/server/rtspd.c
- tests/server/sockfilt.c
- tests/server/socksd.c
- tests/server/sws.c
- tests/server/util.c
- tests/server/util.h
Change #224454
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Sun 09 Mar 2025 23:28:07 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 61d30615e4f769d49b82f9d78454c559dbf2627e Comments
runtests: fix SSH server not starting in cases, re-ignore failing vcpkg CI jobs Replace `Cwd::abs_path()` with `File::Spec->rel2abs()`. The former requires the file to exist, but in some cases, it's missing. Seen in MSVC vcpkg jobs using Chocolatey OpenSSH v8.0.0.1 ending up with `$path=/d/a/curl/curl/bld/tests/log/3/server/ssh_server.pid`, which does not exist while converting to an absolute path (the path is already absolute, but the conversion is done unconditionally): ``` Use of uninitialized value in subroutine entry at D:/a/curl/curl/tests/pathhelp.pm line 128. can't convert empty path at D:/a/curl/curl/tests/pathhelp.pm line 128. ``` Ref: https://github.com/curl/curl/actions/runs/13747741797/job/38444844173#step:14:1233 (master) Ref: https://github.com/curl/curl/actions/runs/13751862952/job/38453816737#step:14:3185 (trace) Also ignore 3 new libssh2 jobs failing due to memleak. Partial revert of 1bd5ac998bbc943dbf812b2824ad0f532201734c #16570 Closes #16636
Changed files
- .github/workflows/windows.yml
- tests/pathhelp.pm
Change #224477
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Mon 10 Mar 2025 01:13:05 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 30739b4d36e8973bab69f13ce43f62346b244565 Comments
libssh2: fix memory leak in `SSH_SFTP_REALPATH` state Seen in MSVC libssh2 CI job: ``` test 0615...[SFTP put remote failure] test 0616...[SFTP retrieval of empty file] test 0618...[SFTP retrieval of two files] test 0620...[SFTP retrieval of missing file followed by good file] test 0622...[SFTP put failure] test 0637...[SFTP retrieval with invalid X- range] test 0640...[SFTP --head retrieval] ** MEMORY FAILURE Leak detected: memory still allocated: 22 bytes At 2ae5b8a7ab8, there's 22 bytes. allocated by D:/a/curl/curl/lib/vssh/libssh2.c:2006 ``` https://github.com/curl/curl/actions/runs/13752652590/job/38455575042?pr=16636#step:14:3907 https://github.com/curl/curl/actions/runs/13752879003/job/38456075461 https://github.com/curl/curl/actions/runs/13753706458/job/38457888479 Bug: https://github.com/curl/curl/pull/16636#issuecomment-2709086838 Co-authored-by: Daniel Stenberg Closes #16639
Changed files
- .github/workflows/windows.yml
- lib/vssh/libssh2.c
Change #224478
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Mon 10 Mar 2025 01:13:17 Repository https://github.com/curl/curl Project curl/curl Branch master Revision f3b599a7e25321e6e7238f83ee047646c5083121 Comments
GHA/windows: enable H3 in GnuTLS MinGW job Closes #16635
Changed files
- .github/workflows/windows.yml
Change #224498
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 08:09:41 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 8dca3b0656d6c2db47f98d3773f20d77f4bacb82 Comments
src: replace strto[u][ld] with curlx_str_ parsers - Better error handling (no errno mess), better limit checks. - Also removed all uses of curlx_strtoofft() Closes #16634
Changed files
- lib/strparse.h
- lib/strtoofft.h
- src/.checksrc
- src/terminal.c
- src/tool_cb_hdr.c
- src/tool_getparam.c
- src/tool_main.c
- src/tool_operate.c
- src/tool_paramhlp.c
- src/tool_urlglob.c
- src/tool_urlglob.h
- src/var.c
Change #224506
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 09:01:04 Repository https://github.com/curl/curl Project curl/curl Branch master Revision f8e7a4df94393bc23bf10e1dd1e9e8bd7655be9f Comments
mprintf: switch three number parsers to use strparse Also add more const char pointers and reduced the scope for some variables. Closes #16628
Changed files
- lib/mprintf.c
Change #224512
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 10:34:28 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 5fdf30b4ddbd6becc70ebc671dbad9b81e2d402c Comments
configure: call the blocking resolver "blocking", not "default" On most systems the default is actually the threaded resolver. Closes #16646
Changed files
- configure.ac
Change #224513
Category None Changed by Christian Schmitz <support @monkeybreadsoftware.de>Changed at Mon 10 Mar 2025 10:38:04 Repository https://github.com/curl/curl Project curl/curl Branch master Revision fc04eca8f85e7e0d41e6bfb5bbf337834cb4401e Comments
easy: fix warning about possible comma misuse Closes #16644
Changed files
- lib/easy.c
Change #224516
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 10:39:20 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 09a5b2f2de91e2628cde469514d7c04133988b1b Comments
lib: rename curlx_strtoofft to Curl_str_numblanks() The function is no longer used via the curlx shortcut. Remove the strtoofft.[ch] files. Closes #16642
Changed files
- lib/Makefile.inc
- lib/cf-h1-proxy.c
- lib/curlx.h
- lib/ftplistparser.c
- lib/http.c
- lib/strparse.c
- lib/strparse.h
- lib/strtoofft.c
- lib/strtoofft.h
- lib/vssh/libssh.c
- lib/vssh/libssh2.c
- packages/vms/gnv_link_curl.com
- projects/generate.bat
- src/Makefile.inc
- src/terminal.c
- tests/server/Makefile.inc
- winbuild/MakefileBuild.vc
Change #224527
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 12:18:48 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 06ae0eceb97627fcced7b0f366114bebe898461b Comments
STRPARSE: amend with recently added functions Closes #16647
Changed files
- docs/internals/STRPARSE.md
Change #224530
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 13:13:59 Repository https://github.com/curl/curl Project curl/curl Branch master Revision aa8d1d648e40d6db1e27e029aefa57e61154f43f Comments
socks: remove bad assert from do_SOCKS5() It verified the auth bits wrongly. We don't need this assert anymore since the input is verified in *setopt(). Bug: https://issues.oss-fuzz.com/issues/401869346 Closes #16650
Changed files
- lib/socks.c
Change #224532
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 13:15:20 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 3c2948e0a6a93a17c3cd9cc7135e2d61b94aec3d Comments
lib: clear up CURLRES_ASYNCH vs USE_CURL_ASYNC use CURLRES_ASYNCH - is for when built to use an async name resolver; threaded or c-ares USE_CURL_ASYNC - is for when built to use either an async name resolver OR DoH Reported-by: Lars Karlitski Fixes #16645 Closes #16648
Changed files
- lib/hostip.c
- lib/multi.c
- lib/socks.c
- lib/urldata.h
Change #224533
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 13:17:18 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 75acda70aaebe7f92acc39a413e6ab8471622888 Comments
hostip: don't use alarm() for DoH resolves When built to use the synch resolver and DoH is used for a transfer, do not use alarm() for timeout since DoH resolving is not blocking. Closes #16649
Changed files
- lib/hostip.c
Change #224548
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Mon 10 Mar 2025 14:19:49 Repository https://github.com/curl/curl Project curl/curl Branch master Revision bad5e7133128cee3dc0d4f9142cf1fb0f2d02dbb Comments
tidy-up: whitespace, tests/server Makefile.inc, timeval in VS project - VS projects: drop unused `timediff`. (used by curltool library, but this build method doesn't build that.) - tests/server/sws: reflow an `if` for greppability. - tests/server/Makefile.inc: indent, format - tests/server/Makefile.inc: merge `USEFUL` and `UTIL` lists. Closes #16651
Changed files
- projects/generate.bat
- tests/server/Makefile.inc
- tests/server/sws.c
Change #224579
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 17:10:23 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 19d6415273b35e74ebabdf627c9d7a5725fb4bf8 Comments
urlapi: treat 0 alone as decimal number in IPv4 address Not as a broken octcal. Regression from b4538ec522 Extended test 1560 to verify this behavior. Reported-by: Carlos Henrique Lima Melara Closes #16652
Changed files
- lib/urlapi.c
- tests/libtest/lib1560.c
Change #224582
Category None Changed by Jay Satiro <raysatiro @yahoo.com>Changed at Mon 10 Mar 2025 18:20:19 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 9b523773b8a1d59939c15688a90796af91fffd6e Comments
libssh: fix scp large file upload for 32-bit size_t systems - Use ssh_scp_push_file64 instead of ssh_scp_push_file. The former uses uint64_t for file size and the latter uses size_t which may be 32-bit. Ref: https://github.com/curl/curl/pull/16194 Closes https://github.com/curl/curl/pull/16641
Changed files
- lib/vssh/libssh.c
Change #224595
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Mon 10 Mar 2025 20:58:05 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 57218d5327ad5de931580b528e4ba4e7a48f7359 Comments
tidy-up: replace `Curl_safefree` with `free` before re-assignment Also drop `NULL` assignments after `Curl_safefree()`. Closes #16640
Changed files
- lib/cfilters.c
- lib/file.c
- lib/ftp.c
- lib/http.c
- lib/http_aws_sigv4.c
- lib/http_negotiate.c
- lib/imap.c
- lib/rtsp.c
- lib/transfer.c
- lib/url.c
- lib/vssh/libssh2.c
- src/tool_formparse.c
- src/tool_getparam.c
- src/tool_operate.c
- src/tool_setopt.c
Change #224596
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Mon 10 Mar 2025 20:58:06 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 8b1b5cd4d2df3a8c2c0108d1d2b5d519b7ece23e Comments
DISABLED: add 313 for sectransp (move from GHA/macos) Closes #16660
Changed files
- .github/workflows/macos.yml
- tests/data/DISABLED
Change #224599
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Mon 10 Mar 2025 22:30:15 Repository https://github.com/curl/curl Project curl/curl Branch master Revision f4e23950c7b1c389cf0dde8b91353d85b8361b64 Comments
build: enable `-Wcast-qual`, fix or silence compiler warnings The issues found fell into these categories, with the applied fixes: - const was accidentally stripped. Adjust code to not cast or cast with const. - const/volatile missing from arguments, local variables. Constify arguments or variables, adjust/delete casts. Small code changes in a few places. - const must be stripped because an API dependency requires it. Strip `const` with `CURL_UNCONST()` macro to silence the warning out of our control. These happen at API boundaries. Sometimes they depend on dependency version, which this patch handles as necessary. Also enable const support for the zlib API, using `ZLIB_CONST`. Supported by zlib 1.2.5.2 and newer. - const must be stripped because a curl API requires it. Strip `const` with `CURL_UNCONST()` macro to silence the warning out of our immediate control. For example we promise to send a non-const argument to a callback, though the data is const internally. - other cases where we may avoid const stripping by code changes. Also silenced with `CURL_UNCONST()`. - there are 3 places where `CURL_UNCONST()` is cast again to const. To silence this type of warning: ``` lib/vquic/curl_osslq.c:1015:29: error: to be safe all intermediate pointers in cast from 'unsigned char **' to 'const unsigned char **' must be 'const' qualified [-Werror=cast-qual] lib/cf-socket.c:734:32: error: to be safe all intermediate pointers in cast from 'char **' to 'const char **' must be 'const' qualified [-Werror=cast-qual] ``` There may be a better solution, but I couldn't find it. These cases are handled in separate subcommits, but without further markup. If you see a `-Wcast-qual` warning in curl, we appreciate your report about it. Closes #16142
Changed files
- CMake/PickyWarnings.cmake
- lib/base64.c
- lib/bufref.c
- lib/cf-socket.c
- lib/cfilters.h
- lib/conncache.c
- lib/content_encoding.c
- lib/cookie.c
- lib/curl_fnmatch.c
- lib/curl_gssapi.c
- lib/curl_memrchr.c
- lib/curl_multibyte.h
- lib/curl_ntlm_core.c
- lib/curl_rtmp.c
- lib/curl_setup.h
- lib/curl_setup_once.h
- lib/curl_sspi.c
- lib/curl_trc.c
- lib/curl_trc.h
- lib/cw-out.c
- lib/dict.c
- lib/dynbuf.c
- lib/formdata.c
- lib/getinfo.c
- lib/gopher.c
- lib/hash.c
- lib/headers.c
- lib/hostip4.c
- lib/hsts.c
- lib/http.c
- lib/http2.c
- lib/http_aws_sigv4.c
- lib/http_chunks.c
- lib/http_digest.c
- lib/idn.c
- lib/if2ip.c
- lib/inet_ntop.h
- lib/inet_pton.h
- lib/krb5.c
- lib/ldap.c
- lib/llist.c
- lib/md4.c
- lib/md5.c
- lib/memdebug.c
- lib/mqtt.c
- lib/multi_ev.c
- lib/openldap.c
- lib/parsedate.c
- lib/pop3.c
- lib/psl.c
- lib/rename.c
- lib/request.c
- lib/rtsp.c
- lib/sendf.c
- lib/sha256.c
- lib/socks_sspi.c
- lib/telnet.c
- lib/tftp.c
- lib/url.c
- lib/urlapi.c
- lib/vauth/digest_sspi.c
- lib/vauth/krb5_gssapi.c
- lib/vauth/krb5_sspi.c
- lib/vauth/ntlm_sspi.c
- lib/vauth/spnego_sspi.c
- lib/vquic/curl_msh3.c
- lib/vquic/curl_ngtcp2.c
- lib/vquic/curl_osslq.c
- lib/vquic/curl_quiche.c
- lib/vquic/vquic.c
- lib/vssh/libssh.c
- lib/vssh/libssh2.c
- lib/vssh/wolfssh.c
- lib/vtls/bearssl.c
- lib/vtls/gtls.c
- lib/vtls/mbedtls.c
- lib/vtls/openssl.c
- lib/vtls/schannel.c
- lib/vtls/schannel_verify.c
- lib/vtls/sectransp.c
- lib/vtls/vtls_scache.c
- lib/vtls/vtls_scache.h
- lib/vtls/vtls_spack.c
- lib/vtls/vtls_spack.h
- lib/vtls/wolfssl.c
- lib/vtls/x509asn1.c
- lib/ws.c
- m4/curl-compilers.m4
- src/mkhelp.pl
- src/tool_cb_hdr.c
- src/tool_filetime.c
- src/tool_getparam.c
- src/tool_help.c
- src/tool_help.h
- src/tool_operate.c
- src/tool_operhlp.c
- src/tool_setopt.c
- src/tool_urlglob.c
- src/tool_writeout.c
- src/tool_writeout_json.c
- src/var.c
- tests/libtest/lib1537.c
- tests/libtest/lib1948.c
- tests/libtest/lib2405.c
- tests/libtest/lib3207.c
- tests/libtest/mk-lib1521.pl
- tests/libtest/stub_gssapi.c
- tests/server/mqttd.c
- tests/server/resolve.c
- tests/server/tftpd.c
- tests/unit/unit1304.c
- tests/unit/unit1650.c
- tests/unit/unit1661.c
- tests/unit/unit2604.c
Change #224605
Category None Changed by Stefan Eissing <stefan @eissing.org>Changed at Mon 10 Mar 2025 22:52:42 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 0b40db0489adc31bb539ba55a786d714e0eae979 Comments
libssh2: fix freeing of resources in disconnect ssh's disconnect assumed that the session to the server could be shut down successfully during disconnect. When this failed, e.g. timed out, memory was leaked. Closes #16656
Changed files
- lib/vssh/libssh2.c
Change #224606
Category None Changed by Stefan Eissing <stefan @eissing.org>Changed at Mon 10 Mar 2025 22:53:51 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 571e92f730831a860f8d2786674177ca08c0f592 Comments
libssh: fix freeing of resources in disconnect ssh's disconnect assumed that the session to the server could be shut down successfully during disconnect. When this failed, e.g. timed out, memory was leaked. Closes #16659
Changed files
- lib/vssh/libssh.c
Change #224607
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 22:54:28 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 8df315d5b3d8a2408a883bf524193f38a352166b Comments
src: remove Curl_ prefix from tool-specific function Since that's a prefix we use for library-private functions Curl_execpath is now tool_execpath Closes #16657
Changed files
- src/tool_operate.c
- src/tool_parsecfg.c
- src/tool_util.c
- src/tool_util.h
Change #224608
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 22:55:41 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 284ef8a3dcec94071753fd2e2ad99a121f0031c2 Comments
src: use curlx_dyn_ prefix, not Curl_dyn_ Closes #16658
Changed files
- src/tool_cfgable.c
- src/tool_ssls.c
- src/var.c
Change #224619
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Mon 10 Mar 2025 23:10:31 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 794e9109d75981bab96271eff43690e926fcd69f Comments
curl_memrchr: enable in all builds It is used in the URL parser since bc24c60512 Reported-by: Justin Steventon Fixes #16661 Closes #16663
Changed files
- lib/curl_memrchr.c
Change #224634
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Tue 11 Mar 2025 07:25:01 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 438dd08b546a5690126c7355ae67a967a8475eae Comments
src: s/Curl_safefree/curlx_safefree Towards using curlx_ prefix for all libcurl code that is used in the tool outside of the "real" API. Closes #16664
Changed files
- lib/curlx.h
- src/tool_cb_hdr.c
- src/tool_cfgable.c
- src/tool_doswin.c
- src/tool_formparse.c
- src/tool_getparam.c
- src/tool_ipfs.c
- src/tool_main.c
- src/tool_operate.c
- src/tool_operhlp.c
- src/tool_parsecfg.c
- src/tool_setopt.c
- src/tool_urlglob.c
Change #224635
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Tue 11 Mar 2025 07:25:12 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 64a79fdd7a69ae42e31be7405cc1f117c2d376e2 Comments
tool_operate: fix a stray Curl_ symbol use
Changed files
- src/tool_operate.c
Change #224644
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Tue 11 Mar 2025 08:50:08 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 51c9238c7656867458c06f068dacea0fc471f6c5 Comments
GHA: enable OpenSSL QUIC in a macOS and MinGW job Closes #16665
Changed files
- .github/workflows/macos.yml
- .github/workflows/windows.yml
Change #224645
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Tue 11 Mar 2025 08:50:09 Repository https://github.com/curl/curl Project curl/curl Branch master Revision ab2cf88daddde079b79b30b9741fc8a76d0a249a Comments
tftpd: prefix TFTP protocol error `E*` constants with `TFTP_` To avoid mistaking them for `errno` error codes. Closes #16666
Changed files
- tests/server/tftp.h
- tests/server/tftpd.c
Change #224702
Category None Changed by Stefan Eissing <stefan @eissing.org>Changed at Tue 11 Mar 2025 14:52:40 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 9710aec8f838153226d1ea0f10614bdc28b18d82 Comments
test489: set output dir Set output dir to %LOGIDR so that generated files are ignored by git. Closes #16670
Changed files
- tests/data/test489
Change #224704
Category None Changed by Stefan Eissing <stefan @eissing.org>Changed at Tue 11 Mar 2025 14:56:38 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 763fa529df91ab46fb8c03f00b221a8b046d80d4 Comments
wolfssh: fix freeing of resources in disconnect ssh's disconnect assumed that the session to the server could be shut down successfully during disconnect. When this failed, e.g. timed out, memory was leaked. Closes #16668
Changed files
- lib/vssh/wolfssh.c
Change #224708
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Tue 11 Mar 2025 14:58:13 Repository https://github.com/curl/curl Project curl/curl Branch master Revision dc12ecd5dba251ce8d7e665da61d4238790621a7 Comments
curl: add my_setopt_long() and _offt() Two new dedicated functions for setting long and curl_off_t options with curl_easy_setopt(). These make it easier to make sure we pass on the right option (types) so that the --libcurl code also gets right. Corrected a few errors. Closes #16669
Changed files
- src/tool_operate.c
- src/tool_setopt.c
- src/tool_setopt.h
- src/tool_ssls.c
Change #224712
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Tue 11 Mar 2025 16:02:18 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 60b52c0c8bb1d8a166e1f8de3bb3fc56717d4924 Comments
RELEASE-NOTES: synced
Changed files
- RELEASE-NOTES
Change #224714
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Tue 11 Mar 2025 16:06:33 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 29ed1f9834047887a232423e715b0f2b72d744e9 Comments
tests/server: use `curlx_str_numblanks()` to avoid `errno` Replacing `strtoul()` calls and glue code. Closes #16671
Changed files
- lib/strparse.h
- tests/server/rtspd.c
- tests/server/sws.c
Change #224722
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Tue 11 Mar 2025 18:31:00 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 41a15c8e7455b87945e4dac395301878e2a00721 Comments
curl_setup: drop `ERANGE` (for WinCE), no longer used Follow-up to 29ed1f9834047887a232423e715b0f2b72d744e9 #16671 Closes #16673
Changed files
- lib/curl_setup.h
Change #224759
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Wed 12 Mar 2025 09:22:32 Repository https://github.com/curl/curl Project curl/curl Branch master Revision b1faac80396c98976f5911a08a73dadbe07cdd75 Comments
multi: kill off remaining internal handles in curl_multi_cleanup - if there are pending internal handles left in the list, they are leftovers (from for example Doh) and must be freed. - unlink_all_msgsent_handles() did not properly move all msgsent handles over to the process list as intended Fixes a DoH memory leak found by oss-fuzz. Add test 2101 that can reproduce and verify. Closes #16674
Changed files
- lib/multi.c
- tests/data/Makefile.am
- tests/data/test2101
Change #224779
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Wed 12 Mar 2025 11:33:26 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 436d4a360a94a5b75331c70e5c985ecaaada466c Comments
curltime: use libcurl time functions in src and tests/server The curl tool and tests/server used 2 parallel implementations of libcurl's `Curl_now()` and `Curl_timediff()` functions. Make them use the libcurl one. Closes #16653
Changed files
- lib/timeval.c
- lib/timeval.h
- projects/generate.bat
- src/Makefile.inc
- src/tool_cb_prg.c
- src/tool_cb_prg.h
- src/tool_cb_rea.c
- src/tool_cfgable.h
- src/tool_doswin.c
- src/tool_operate.c
- src/tool_operate.h
- src/tool_progress.c
- src/tool_progress.h
- src/tool_setup.h
- src/tool_util.c
- src/tool_util.h
- tests/server/Makefile.inc
- tests/server/util.c
- tests/server/util.h
- winbuild/MakefileBuild.vc
Change #224787
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Wed 12 Mar 2025 12:44:42 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 0ec72c1ef8d87a29bf2eaa5e36ab173147a4d015 Comments
GHA/windows: change openssh server, non-debug-enabled MSVC job, other improvements MSVC: - switch jobs to standard openssh server. Reduce exceptions. - make the SCP/SFTP ignore list more specific and comment with details. - keep using OpenSSH-Windows for the OpenSSL job, and bump to the prerelease version. - disable `ENABLE_DEBUG` for BoringSSL to have such build tested. (This is the first Windows non-ENABLE_DEBUG build with test runs.) Takeaways: - test 612 broken on Windows. - test 613 broken on Windows with the standard openssh server. - test 614 broken with libssh and OpenSSH-Windows. - test 3022 broken with libssh2 and OpenSSH-Windows. - tests broken with OpenSSH-Windows: 601 603 617 619 621 641 665 2004. - vcpkg `libssh2[core,zlib]` broken due to: curl: (67) Authentication failure MSVC prep steps: - install base msys2 package to simplify configuration, align with other jobs and allow to use msys2 packages for tests. - add support for msys2 openssh server. Keep OpenSSH-Windows as per-job option. Add support for OpenSSH prerelease versions. Prerelease does not make a difference in test results, but, stable was last updated in 2019 (v8.0.0.1) and it seems better to use maintained release track, with its latest from April 2024 (v9.5.0). https://community.chocolatey.org/packages/openssh/8.0.0.1 https://community.chocolatey.org/packages/openssh https://github.com/PowerShell/Win32-OpenSSH https://github.com/PowerShell/openssh-portable - add 'libssh' to its job name. - make `ENABLE_DEBUG` a per-job option. msys/mingw: - install `openssh` later and only when necessary. - downgrade msys2 runtime later. (to follow other jobs) - disable `CheckSpace` earlier. Also to untie it from the runtime downgrade step, which we would hopefully drop. Closes #16672
Changed files
- .github/workflows/windows.yml
Change #224796
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Wed 12 Mar 2025 13:12:23 Repository https://github.com/curl/curl Project curl/curl Branch master Revision fdd97148e86598c13ec0ebdc06e55101b357d866 Comments
tool_operate: fix build with --libcurl support disabled A compiler warning for unused argument. Reported-by: Marcel Raad Closes #16684
Changed files
- src/tool_operate.c
Change #224802
Category None Changed by Stefan Eissing <stefan @eissing.org>Changed at Wed 12 Mar 2025 14:33:28 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 3c9a1d3fcf14442a6a71651e3bd49a580abdd8fe Comments
sendf: client reader line conversion: do not change data->state.infilesize The line conversion reader, added in crfl and prefer_ascii mode was incrementing data->state.infilesize for every line end converted. This results in the wrong size to start a retry of an upload. Eliminate the increment and check upload size in FTP less precise when conversions are done. Bug: https://issues.oss-fuzz.com/issues/402476456 Closes #16683
Changed files
- lib/ftp.c
- lib/sendf.c
Change #224803
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Wed 12 Mar 2025 14:36:11 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 67a1cfa5ef48da6e99ae8b86f2be9bb033c249c1 Comments
managen: accept more markdown-quote-markers Lines starting with ``` or ~~~ indicate start and end of a quoted section. Closes #16685
Changed files
- scripts/managen
Change #224804
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Wed 12 Mar 2025 14:37:08 Repository https://github.com/curl/curl Project curl/curl Branch master Revision af3fe375b3db6583c72a74ecd53f94ce75c09d44 Comments
src: remove final uses of Curl_ symbol prefixes in tool code Closes #16678
Changed files
- src/tool_binmode.h
- src/tool_filetime.h
- src/tool_main.c
- src/tool_operate.c
- src/tool_setup.h
Change #224818
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Wed 12 Mar 2025 15:23:20 Repository https://github.com/curl/curl Project curl/curl Branch master Revision a14eb26a585e67309066ac8a23a73f70382b8298 Comments
tests: make --libcurl tests require the --libcurl feature Closes #16682
Changed files
- tests/FILEFORMAT.md
- tests/data/test1400
- tests/data/test1401
- tests/data/test1402
- tests/data/test1403
- tests/data/test1404
- tests/data/test1405
- tests/data/test1406
- tests/data/test1407
- tests/data/test1420
- tests/data/test1465
- tests/data/test1481
- tests/server/disabled.c
Change #224819
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Wed 12 Mar 2025 15:23:25 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 5273ab4e6d41b2097651982c96ad356ffd667ba6 Comments
GHA: do a build-only without the --libcurl option enabled Closes #16682
Changed files
- .github/workflows/linux.yml
Change #224839
Category None Changed by Stefan Eissing <stefan @eissing.org>Changed at Wed 12 Mar 2025 23:15:14 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 886569e2db200c31073895a2626d20e0712e5207 Comments
curl: fix --cert parameter clearing Blank the argument *after* it has been copied. Reported-by: Jan Macku Fixes #16686 Closes #16688
Changed files
- src/tool_getparam.c
Change #224840
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Wed 12 Mar 2025 23:16:46 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 0bb8465b1e529f4ac1f764baa56117ea1fd73fe4 Comments
multi: call protocol handler done() if PROTOCONNECT or later The protocol handlers' done() function would previous get called unconditionally in multi_done(), no matter how far the easy handle's state machine has transitioned. This caused problems in IMAP which in imap_connect() initializes things that the imap_done() function assumes has occured. I think that seems like a correct assumption and we should rather make sure that the done() function is only called if we have reached the PROTOCONNECT state. This problem was found using OSS-Fuzz. Assisted-by: Catena cyber Closes #16681
Changed files
- lib/multi.c
Change #224846
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Wed 12 Mar 2025 23:41:40 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 45ce0847f35189d878476b8d3dc1098a88a6d4ae Comments
runtests: enable the --libcurl feature by default Follow-up to a14eb26a585e67309066ac8a2 Reported-by: Viktor Szakats Fixes #16693 Closes #16694
Changed files
- tests/runtests.pl
Change #224849
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 00:03:15 Repository https://github.com/curl/curl Project curl/curl Branch master Revision ee73d553edf181c1f2673e61d1754365d98380c6 Comments
build: replace Curl_ prefix with curlx_ for functions used in servers Closes #16689
Changed files
- lib/altsvc.c
- lib/asyn-ares.c
- lib/cf-socket.c
- lib/connect.c
- lib/curl_addrinfo.c
- lib/curl_setup.h
- lib/ftp.c
- lib/hostip.c
- lib/hostip6.c
- lib/if2ip.c
- lib/inet_ntop.c
- lib/inet_ntop.h
- lib/inet_pton.c
- lib/inet_pton.h
- lib/noproxy.c
- lib/smb.c
- lib/socks.c
- lib/strerror.c
- lib/strerror.h
- lib/urlapi.c
- lib/vtls/gtls.c
- lib/vtls/openssl.c
- lib/vtls/schannel_verify.c
- lib/vtls/vtls.c
- tests/libtest/lib1960.c
- tests/server/getpart.c
- tests/server/rtspd.c
- tests/server/sockfilt.c
- tests/server/socksd.c
- tests/server/sws.c
- tests/server/tftpd.c
- tests/server/util.c
Change #224850
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 00:03:15 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 07f984a776118e90c1e80c56c17b1eea23e347b9 Comments
ntlm: merge ntlm.h into ntlm.c It's the only user since dropping NTLM_WB support. Follow-up to 50def7c881ba560ab6e0235990e8f07fa69f4bc8 #13249 Closes #16690
Changed files
- lib/Makefile.inc
- lib/vauth/ntlm.c
- lib/vauth/ntlm.h
Change #224851
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 00:03:15 Repository https://github.com/curl/curl Project curl/curl Branch master Revision c0a70c564d5d60fca5fda093b1fb45063aff2386 Comments
base64: drop `BUILDING_CURL` macro, always include in tests/server Before this patch, building tests/server (or curl with winbuild) was broken in rare builds when many features were explicitly disabled. Fix it by enabling base64 functions unconditionally when building for anything other than libcurl. Closes #16691
Changed files
- lib/base64.c
- src/CMakeLists.txt
- src/Makefile.am
Change #224852
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 00:03:25 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 51d8213579c6e92f16912742a25d9567d4a52903 Comments
core: stop redefining `E*` macros on Windows, map `EACCES`, related fixes Before this patch, standard `E*` errno codes were redefined on Windows, onto matching winsock2 `WSA*` error codes, which have different values. This broke uses where using the `E*` value in non-socket context, or other places expecting a POSIX `errno`, e.g. file I/O, threads, IDN or interfacing with dependencies. Fix it by introducing a curl-specific `SOCKE*` set of macros that map to `WSA*` on Windows and standard POSIX codes on other platforms. Then verify and update the code to use `SOCKE*` or `E*` macro depending on context. - Add `SOCKE*` macros that map to either winsock2 or POSIX error codes. And use them with `SOCKERRNO` or in contexts requiring platform-dependent socket error codes. This fixes `E*` uses which were supposed be POSIX values, not `WSA*` socket errors, on Windows: - lib/curl_multibyte.c - lib/curl_threads.c - lib/idn.c - lib/vtls/gtls.c - lib/vtls/rustls.c - src/tool_cb_wrt.c - src/tool_dirhie.c - Ban `E*` codes having a `SOCKE*` mapping, via checksrc. Authored-by: Daniel Stenberg - Add exceptions for `E*` codes used in file I/O, or other contexts requiring POSIX error codes. Also: - ftp: fix missing `SOCKEACCES` mapping for Windows. - add `SOCKENOMEM` for `Curl_getaddrinfo()` via `asyn-thread.c`. - tests/server/sockfilt: fix to set `SOCKERRNO` in local `select()` override on Windows. - lib/inet_ntop: fix to return `WSAEINVAL` on Windows, where `ENOSPC` is used on other platforms. To simulate Windows' built-in `inet_ntop()`, as tested on a Win10 machine. Note: - WINE returns `STATUS_INVALID_PARAMETER` = `0xC000000D`. - Microsoft documentation says it returns `WSA_INVALID_PARAMETER` (= `ERROR_INVALID_PARAMETER`) 87: https://learn.microsoft.com/windows/win32/api/ws2tcpip/nf-ws2tcpip-inet_ntop#return-value - lib/inet_ntop: drop redundant `CURL_SETERRNO(ENOSPC)`. `inet_ntop4()` already sets it before returning `NULL`. - replace stray `WSAEWOULDBLOCK` with `USE_WINSOCK` macro to detect winsock2. - move existing `SOCKE*` mappings from `tests/server` to `curl_setup_once.h`. - add missing `EINTR`, `EINVAL` constants for WinCE. Follow-up to abf80aae384319ef9b19ffbd0d69a1fbe7421f1f #16612 Follow-up to d69425ed7d0918aceddd96048b146a9df85638ec #16615 Bug: https://github.com/curl/curl/pull/16553#issuecomment-2704679377 Closes #16621
Changed files
- CMake/CurlTests.c
- docs/examples/.checksrc
- lib/amigaos.c
- lib/asyn-thread.c
- lib/cf-socket.c
- lib/connect.c
- lib/curl_multibyte.c
- lib/curl_setup.h
- lib/curl_setup_once.h
- lib/curl_threads.c
- lib/ftp.c
- lib/idn.c
- lib/inet_ntop.c
- lib/inet_pton.c
- lib/memdebug.c
- lib/multi.c
- lib/openldap.c
- lib/select.c
- lib/select.h
- lib/socketpair.c
- lib/telnet.c
- lib/vquic/vquic.c
- lib/vtls/gtls.c
- lib/vtls/rustls.c
- packages/OS400/ccsidcurl.c
- packages/OS400/os400sys.c
- scripts/checksrc.pl
- src/tool_cb_wrt.c
- src/tool_dirhie.c
- src/tool_operate.c
- tests/libtest/first.c
- tests/server/rtspd.c
- tests/server/sockfilt.c
- tests/server/sws.c
- tests/server/util.c
- tests/server/util.h
Change #224885
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Thu 13 Mar 2025 08:46:58 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 5a26b901d47f81915381b5ea188d87f173415a58 Comments
cookie: accept "high byte" cookie content Regression from 597ee915c4c6da132dbd1735345 (not shipped in a release) Reported-by: Carlos Henrique Lima Melara Assisted-by: Scott Talbert Added such a cookie to test 31. Fixes #16692 Closes #16703
Changed files
- lib/cookie.c
- tests/data/test31
Change #224887
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 11:36:53 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 77401af4852103b215fe74989e89be61bbf435d2 Comments
cmake: unity mode optimization for non-`CURLDEBUG` `testdeps` targets Include more sources in unity mode to optimize libtest and tests/server builds for non-debug-enabled builds, syncing this pattern with `lib` and `src`. It reduces build steps from 62 to 47 (-14, -24%) with test bundles. Without test bundles, from 680 to 642 (-38, -6%). Follow-up to de0693f24943cd65f26a7b421a4304cbadb875a0 #16274 Follow-up to 3efba94f773db5d8ae19e33aa749ab7914cafeea #14765 Cherry-picked from #15000 Closes #16695
Changed files
- tests/libtest/CMakeLists.txt
- tests/server/CMakeLists.txt
Change #224888
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 11:36:53 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 44d4957a6f293ee711e11cf57d07f3fb47e60f2a Comments
memdebug.h: avoid `-Wredundant-decls` with an extra guard Add an extra guard for the function and variable declarations to avoid redundant redeclaration warnings when including this header multiple times. This can happen in unity builds when including it again after `curl_memory.h`. Fixes: ``` bld/tests/server/CMakeFiles/servers.dir/Unity/unity_0_c.c In file included from lib/mprintf.c:32, from bld/tests/server/CMakeFiles/servers.dir/Unity/unity_0_c.c:7: lib/memdebug.h:52:14: error: redundant redeclaration of ‘curl_dbg_logfile’ [-Werror=redundant-decls] 52 | extern FILE *curl_dbg_logfile; | ^~~~~~~~~~~~~~~~ In file included from tests/server/resolve.c:50, from bld/tests/server/server_bundle.c:7, from bld/tests/server/CMakeFiles/servers.dir/Unity/unity_0_c.c:4: lib/memdebug.h:52:14: note: previous declaration of ‘curl_dbg_logfile’ with type ‘FILE *’ 52 | extern FILE *curl_dbg_logfile; | ^~~~~~~~~~~~~~~~ [...] lib/memdebug.h:110:17: error: redundant redeclaration of ‘curl_dbg_fclose’ [-Werror=redundant-decls] 110 | CURL_EXTERN int curl_dbg_fclose(FILE *file, int line, const char *source); | ^~~~~~~~~~~~~~~ lib/memdebug.h:110:17: note: previous declaration of ‘curl_dbg_fclose’ with type ‘int(FILE *, int, const char *)’ 110 | CURL_EXTERN int curl_dbg_fclose(FILE *file, int line, const char *source); | ^~~~~~~~~~~~~~~ ``` Ref: https://github.com/curl/curl/actions/runs/13822010778/job/38669360980#step:39:55 Cherry-picked from #15000 Closes #16696
Changed files
- lib/memdebug.h
Change #224889
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 11:36:53 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 91d061725ee0d186624d17e94178f62e4e1ad261 Comments
tests/server: drop unused headers Cherry-picked from #15000 Closes #16697
Changed files
- tests/server/resolve.c
- tests/server/sockfilt.c
- tests/server/socksd.c
- tests/server/util.c
Change #224890
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 11:36:53 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 2283e40fc32327365e1e25ff5e5e0349a543b3f3 Comments
tests/server: do not redefine standard functions in `sockfilt` Use a namespaced macro instead. To avoid confusion when other headers also redefine these functions. And to improve readability by making it apparent that the code sometimes overrides these functions. Cherry-picked from #15000 Closes #16698
Changed files
- tests/server/sockfilt.c
Change #224891
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 11:36:53 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 533ba0089b6ba9d8e7fbf89bb151e4e40459e658 Comments
tests/server: sync memory callbacks with `lib/easy.c` Cherry-picked from #15000 Closes #16699
Changed files
- tests/server/getpart.c
- tests/server/getpart.h
Change #224892
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 11:36:54 Repository https://github.com/curl/curl Project curl/curl Branch master Revision b70357c5f364e9dd6cc41ccb8bc0ca25f409fe34 Comments
resolve: fix building without Unix sockets and `CURLDEBUG` ``` In file included from server_bundle.c:7: ../../../tests/server/resolve.c:110:5: error: unknown type name 'curl_socket_t'; did you mean 'curl_socklen_t'? curl_socket_t s = socket(PF_INET6, SOCK_DGRAM, 0); ^~~~~~~~~~~~~ curl_socklen_t ../../../include/curl/system.h:392:38: note: 'curl_socklen_t' declared here typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; ^ In file included from server_bundle.c:7: ../../../tests/server/resolve.c:111:13: error: use of undeclared identifier 'CURL_SOCKET_BAD' if(s == CURL_SOCKET_BAD) ^ ``` Ref: https://github.com/curl/curl/actions/runs/13825438937/job/38679418428?pr=15000#step:14:47 Cherry-picked from #15000 Closes #16700
Changed files
- tests/server/util.h
Change #224893
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 11:37:30 Repository https://github.com/curl/curl Project curl/curl Branch master Revision d4f9788593b712169fd919d1fe8ba20393224817 Comments
GHA: fix configure disable options Linux AM openssl https-only: ``` configure: WARNING: unrecognized options: --disable-rtmp, --disable-scp, --disable-sftp ``` Ref: https://github.com/curl/curl/actions/runs/13823209634/job/38673119106#step:31:34 macOS AM clang !ssl HTTP-only: ``` configure: WARNING: unrecognized options: --disable-rtmp, --disable-scp, --disable-sftp, --without-ntlm-auth ``` Ref: https://github.com/curl/curl/actions/runs/13823209638/job/38673115560#step:7:54 Closes #16701
Changed files
- .github/workflows/linux.yml
- .github/workflows/macos.yml
Change #224919
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Thu 13 Mar 2025 16:47:02 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 67a7775d1233d702964bff9a0a6b5b9fa036c47a Comments
GHA/windows: replace OpenSSH-Windows-Prelease job with standard openssh After restricting OpenSSH-Windows to a single job, and bumping it to the pre-release version, that job started hanging then timing out with reasonable consistency. Since we saw similar hangs before with OpenSSH-Windows stable, in all jobs, drop OpenSSH-Windows from CI, and replace it with MSYS openssh. After this patch, all Windows jobs use MSYS2 or Cygwin openssh. Follow-up to 0ec72c1ef8d87a29bf2eaa5e36ab173147a4d015 #16672 Closes #16704
Changed files
- .github/workflows/windows.yml
Change #224925
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Thu 13 Mar 2025 17:25:33 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 212f9a97421c35efc29afae2c3c74973a22a7f95 Comments
tool_setopt: simplify tool_setopt Since this is only used for object and function pointers now. Closes #16709
Changed files
- src/tool_setopt.c
Change #224926
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Thu 13 Mar 2025 17:25:33 Repository https://github.com/curl/curl Project curl/curl Branch master Revision acdb48272a53fe97f63e5437fce27c7036a9c43e Comments
tool_setopt: reduce use of "code hiding" macros CODEx, DATAx, CLEANx, DECLx, REM3, CHKRET are all removed now. Closes #16709
Changed files
- src/tool_easysrc.c
- src/tool_setopt.c
Change #224986
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 14 Mar 2025 09:09:25 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 27e07b2943ca4ab3f8e4910466231f822299421d Comments
doh: remove wrong but unreachable exit path from doh_decode_rdata_name The condition could not happen, as the function is only called from a single place where the caller already made sure it can't happen. This change still removes the flawed logic. Reported-by: Ronald Crane Closes #16710
Changed files
- lib/doh.c
Change #224989
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 14 Mar 2025 09:11:36 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 116f490c81908f09432d45824c9ae62c26a13bd9 Comments
rustls: cap maximum allowed CRL file size to 8MB Allowing 4GB on a 32-bit system is just asking for problems and could in theory cause integer overflow in the dynbuf code. The dynbuf now has an assert to catch code trying to set a max larger than half SIZE_T_MAX. Reported-by: Rinku Das Closes #16716
Changed files
- lib/dynbuf.c
- lib/dynbuf.h
- lib/vtls/rustls.c
Change #224992
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 14 Mar 2025 09:37:26 Repository https://github.com/curl/curl Project curl/curl Branch master Revision af6ec8e430346e2e4b5ea2f85ac01e1c300fbe0e Comments
RELEASE-NOTES: synced
Changed files
- RELEASE-NOTES
Change #224994
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Fri 14 Mar 2025 10:00:06 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 63cf4647931a8b8d55b7de1284bbc6adccbec4ce Comments
tests/server: drop unused `base64.pl` When committed in 2004, it served as a developer helper tool while `coreutils` was yet missing a `base64` command. Assisted-by: Dan Fandrich Closes #16713
Changed files
- tests/server/Makefile.am
- tests/server/base64.pl
Change #224997
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Fri 14 Mar 2025 10:38:28 Repository https://github.com/curl/curl Project curl/curl Branch master Revision c799f608f2a063b25af28042d76a1a841e30a0df Comments
autotools: fix `dllmain.c` in unity builds Sync it with cmake to: - exclude it from all builds except Windows and Cygwin. - exclude it from unity builds for Cygwin to avoid the included `windows.h` header interfere with the rest of the code. Also: - fix to trim ending spaces from `CSOURCES` for the `tidy` target. The solution requires a non-POSIX `-E` `sed` option. Supported by BSD and GNU implementations. Follow-up to 37523c91bc418fc734ee54f329677dc7123eb465 #16480 Follow-up to 60c3d0446546332e1645541f2dc2c072cd019fe9 #14815 Follow-up to 7860f575fe9e527ced66b31ec076914bbadd64a4 #12408 Closes #16712
Changed files
- configure.ac
- lib/CMakeLists.txt
- lib/Makefile.am
- lib/Makefile.inc
Change #225001
Category None Changed by Calvin Ruocco <calvin.ruocco @vector.com>Changed at Fri 14 Mar 2025 11:46:36 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 3588df9478d7c27046b34cdb510728a26bedabc7 Comments
ws: fix and extend CURLWS_CONT handling Follow-up to fa3d1e7d43bf0e4f589aeae737 Add test 2311 to verify Closes #16687
Changed files
- docs/libcurl/curl_ws_recv.md
- docs/libcurl/curl_ws_send.md
- lib/ws.c
- lib/ws.h
- tests/data/test2311
- tests/libtest/lib2311.c
Change #225005
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Fri 14 Mar 2025 12:04:39 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 43b28846555248d225311f278133d267dedbc118 Comments
tests/server: give global `path` variable a more descriptive name Use a more descriptive global variable name in server code, also to avoid colliding with this name used elsewhere in libcurl. This isn't causing an issue at this time, but makes the code prone to `-Wshadow` warnings in unity mode, if the global variable is compiled first. This specific variable could collide with the `path` argument of the `curlx_win32_stat()` function. Closes #16719
Changed files
- tests/server/rtspd.c
- tests/server/sws.c
- tests/server/tftpd.c
- tests/server/util.c
- tests/server/util.h
Change #225014
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Fri 14 Mar 2025 12:59:32 Repository https://github.com/curl/curl Project curl/curl Branch master Revision a16485a42ea5dabe6c327179a1678ad04d1c6b2f Comments
build: do not apply curl debug macros to `tests/server` by default It seems unnecessary and possibly unexpected to build test servers with debug-enabled features and memory tracking whenever the tested curl is built like that (which is a requirement for some tests, so curl is mostly built like that when running tests.) It also makes building servers a little bit faster with cmake for the most common cases. You can apply debug options to `tests/server` with these new options: - `./configure`: `--enable-server-debug`. - cmake: `-DENABLE_SERVER_DEBUG`. Also sync the way we pass these macros in autotools, with CMake builds. Before this patch, autotools passed them via `curl_config.h`. After this patch it passes them on the command-line, like cmake builds do. This patch also make these option no longer passed to examples and `http/client` in cmake builds, where they were no-ops anyway. Ref: #15000 Closes #16705
Changed files
- CMakeLists.txt
- configure.ac
- docs/INSTALL-CMAKE.md
- lib/CMakeLists.txt
- lib/Makefile.am
- m4/curl-confopts.m4
- src/CMakeLists.txt
- src/Makefile.am
- tests/libtest/CMakeLists.txt
- tests/libtest/Makefile.am
- tests/server/CMakeLists.txt
- tests/server/Makefile.am
- tests/unit/CMakeLists.txt
- tests/unit/Makefile.am
Change #225017
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Fri 14 Mar 2025 13:27:46 Repository https://github.com/curl/curl Project curl/curl Branch master Revision d36f164e612cb4f2395851af7b7b71e7fee0393b Comments
autotools: use `CURLDEBUG` to exclude TrackMemory code from unity Before this patch, autotools builds excluded TrackMemory sources (`lib/memdebug.c` and `lib/curl_multibyte.c`) based on the `DEBUGBUILD` setting. This works in most cases because its value is the same as `CURLDEBUG` by default, but the correct condition is `CURLDEBUG`. It should fix `--disable-debug --enable-curldebug --enable-unity` builds. (not tested in CI) It also syncs behavior with cmake builds. Ref: #16705 Closes #16723
Changed files
- lib/Makefile.am
- src/Makefile.am
Change #225019
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 14 Mar 2025 13:34:15 Repository https://github.com/curl/curl Project curl/curl Branch master Revision e4fbc48a182733ab15a41fe3f7677394d2c18e2f Comments
dynbuf: bump the max CRLFILE size to 400MB Follow-up to 00fc55677f693f569b1a176279f Ref: https://github.com/curl/curl/pull/16716#issuecomment-2724429278 > I have some tooling leftover from when I was implementing CRL support > in the webpki crate that downloaded every CRL I could find referenced > in ccadb (without doing any special filtering for defunct CAs/CRLs > mind you) and found CRLs that spanned the range from very small > (<1mb), to medium sized (11 .. 22mb) to very large (100mb). Reported-by: Daniel McCarney Closes #16724
Changed files
- lib/dynbuf.h
Change #225020
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 14 Mar 2025 13:36:02 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 179c0258f5da767ec24675606986a6c699d92c42 Comments
curl_ws_recv.md: expand a little on the fragments the API delivers Closes #16720
Changed files
- docs/libcurl/curl_ws_recv.md
Change #225021
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 14 Mar 2025 13:37:19 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 052bfd0a2d5419eec0b2eb859f88056678405a4e Comments
libtest/lib2311: remove "extra" fclose() Follow-up to 3588df9478d7c27046b34cdb5 Fixes #16721 Reported-by: Viktor Szakats Closes #16722
Changed files
- tests/libtest/lib2311.c
Change #225039
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 14 Mar 2025 17:59:05 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 5b6d3291b5f26f70a0644b557d844253d9bdd265 Comments
http: remove the space requirement after status-code It was introduced in 294136b75411893c5, but not shipped in a release. It has caused problems and after checking, the browsers don't insist on it even if RFC 9112 says it is mandatory. Adjust test 2 to do a response without the space. Closes #16728
Changed files
- lib/http.c
- tests/data/test2
Change #225044
Category None Changed by Daniel Stenberg <daniel @haxx.se>Changed at Fri 14 Mar 2025 20:10:09 Repository https://github.com/curl/curl Project curl/curl Branch master Revision 7d679f9ab6f159483cd24b633eda0f33d2330418 Comments
http: remove a HTTP method size restriction By allocating the method string as part of the struct, the previous fixed size limit (23 bytes) can be avoided. It would previously make "curl -X [long string]" work against http://localhost but fail against https://curl.se with no clear error message. Closes #16729
Changed files
- lib/http.c
- lib/http.h
Change #225048
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Fri 14 Mar 2025 20:50:19 Repository https://github.com/curl/curl Project curl/curl Branch master Revision f501d0d5e32d6ef7baffaeecb31e56c5b427e7ae Comments
autotools: fix `libtest` bundle to depend on `FIRSTFILES` Closes #16726
Changed files
- tests/libtest/Makefile.am
Change #225053
Category None Changed by Viktor Szakats <commit @vsz.me>Changed at Fri 14 Mar 2025 23:08:22 Repository https://github.com/curl/curl Project curl/curl Branch master Revision d12129dda5e14f384dbb9f24ddb462479501fc87 Comments
GHA/non-native: drop building docs with autotools on emulated CPU It saves about 1 minute (10%) per run. Also reduces log length from 3800 to 2800 lines. Keep building docs on native CPU. Closes #16731
Changed files
- .github/workflows/non-native.yml