Commit graph

37295 commits

Author SHA1 Message Date
Daniel Stenberg
7910eb2f40
docs: add mentions of MQTTS 2025-12-15 13:59:37 +01:00
Daniel Stenberg
5b6e0f8ffe
test1640: initial MQTTS test 2025-12-15 13:59:37 +01:00
Daniel Stenberg
0ce13a1821
tests: add mqtts support for testing 2025-12-15 13:59:37 +01:00
Daniel Stenberg
f3519567b3
mqtt: initial support for MQTTS 2025-12-15 13:59:37 +01:00
Daniel Stenberg
5914b9c66f
TODO: consider a multi-threaded curl tool
Closes #19971
2025-12-15 11:47:20 +01:00
Daniel Stenberg
6f3124eaa2
RELEASE-NOTES: synced 2025-12-15 07:50:51 +01:00
Viktor Szakats
b10b7c1fce
tests/server: fix initialization on Windows Vista+
Make sure to call `curlx_now_init()` before the first call to
`curlx_now()`.

Before this patch the first `curlx_now()` used the non-Vista code path
calling `GetTickCount()` on Vista+. This is harmless, but the upcoming
PR #18009 is going to drop the non-Vista code path, causing a division
by zero at startup in test servers, without this fix.

Bug: https://github.com/curl/curl/pull/18009#issuecomment-3652154307

Closes #19973
2025-12-15 02:14:28 +01:00
Viktor Szakats
2399ec74c3
tidy-up: replace banned printf() with puts()
In `curlinfo` and CMake integration test app.

Closes #19972
2025-12-15 02:14:28 +01:00
Viktor Szakats
43a95aa1bd
renovate: try bumping Fil-C on releases, not tags
CI needs the binary packages attached to the release, which appears some
time after tagging. Hopefully this patch helps getting a clean build
by the time Renovate opens its PR.

Ref: https://docs.renovatebot.com/modules/datasource/github-releases/
Ref: #19905, #19974
Closes #19975
2025-12-15 02:04:21 +01:00
Gabriel Marin
15de32f09d easy: fix debug ev poll builds
Prior to this change the wrong variable name was used for one of the
debug messages.

Closes https://github.com/curl/curl/pull/19963
2025-12-14 19:03:54 -05:00
Viktor Szakats
187e219616
runtests: improve XML prolog check, enable -w permanently, fix two tests
To really verify the presence of the XML prolog, also in CI.

- move the prolog check from `loadtest` to `checktest`.
  (load did a soft error, silently skipping the test instead of failing)
- runtests: enable `-w` functionality permanently for all test targets,
  drop the option. It has no measurable performance impact.
- test 798, 1665: add XML prolog.
  Follow-up to f0d277cb0e

Follow-up to b5ea0736bb #19946
Follow-up to 904e7ecb66 #19347

Closes #19970
2025-12-14 12:26:38 +01:00
Viktor Szakats
b714c674f3
synctime: tidy up, make it work on all platforms
The `--synctime` option remains non-UWP-Windows-specific.

Also:
- replace default URL with `ntp.org`.
- delete unused example URL.

Closes #19965
2025-12-14 12:26:37 +01:00
renovate[bot]
e6146418df
GHA: update actions
- update actions/checkout action to v6.0.1
- update github/codeql-action action to v4.31.8
- update msys2/setup-msys2 action to v2.30.0

Closes #19962
Closes #19967
Closes #19968
2025-12-14 09:17:31 +01:00
Viktor Szakats
20ffdfffaa
renovate: try to disable GitHub Actions updates differently
Follow-up to a9b1be555a #19954

Closes #19969
2025-12-14 09:17:08 +01:00
Viktor Szakats
c8375c905e
examples: delete unresponsive example URL
Also:
- sync header layout with rest of examples.
- replace rest of arbitrary website links with example ones.

Closes #19959
2025-12-14 09:06:10 +01:00
Viktor Szakats
a9b1be555a
renovate: leave bumping GitHub Actions to Dependabot
To avoid update noise. Renovate bumps everything instantly, meaning
a major version a couple hours after release, then all minor bugfix
releases throughout the next 1-2 days. Also putting major versions in
a different group than the bugfix release, and there is no support for
a cooldown period.

After this patch GitHub's Dependabot remains the single tool responsible
to bump GitHub Actions, once a month, grouped, with a cooldown period.
In sync with most other curl repos.

Both Renovate and Dependabot keep bumping pinned pips for now. Also
Renovate keeps updating C dependencies and Dockerfile.

Closes #19954
2025-12-14 09:06:09 +01:00
Daniel Stenberg
1c8c34c88e
schannel: cap the maximum allowed size for loading cert
To avoid problems with mistakes or abuse, cap the largest allowed
certificate size to load to CURL_MAX_INPUT_LENGTH bytes (8MB).

Closes #19964
2025-12-14 00:47:33 +01:00
Daniel Stenberg
f0d277cb0e
tests: verify new header undfolder
test 798 - incoming cookie header in a folded line

test 1665 - verify HTTP headers without final CRLF. Make sure all complete
headers are delivered even if the reponse is partial
2025-12-13 23:02:27 +01:00
Daniel Stenberg
67ae101666
http: unfold response headers earlier
Make the low-level HTTP header "builder" unfold headers so that
everything else can keep pretending folding does not exist.

This code no longer tries to reduce repeated leading whitespace (in the
continued folded header) to a single one. To avoid having to have a
special state for that.

Adjusted two test cases accordingly

Closes #19949
2025-12-13 23:02:18 +01:00
Viktor Szakats
23f9d629f5
GHA/checksrc: fix -z position, also use --output with xmllint
Fixing:
```
fatal: option '-z' must come before non-option arguments
```
Ref: https://github.com/curl/curl/actions/runs/20183280533/job/57948203944#step:4:5

Follow-up to b5ea0736bb #19946
Closes #19958
2025-12-13 20:50:33 +01:00
Daniel Stenberg
28d27570fa
tool_urlglob: support globs as long as config line lengths
libcurl supports up to 8MB string inputs, the config file accepts up to
10MB line lengths. It did not make sense to limit the globs to a maximum
of one megabyte.

Closes #19960
2025-12-13 14:26:20 +01:00
Dan Fandrich
e0a77ec90f tests: fix perl scalar warning
Fixes the warning "Scalar value @xml[0] better written as $xml[0]"

Follow-up to b5ea0736bb

Ref: #19946
2025-12-12 15:39:10 -08:00
renovate[bot]
72f55c1c12
GHA: update actions
- actions/cache action to v5.0.1
- actions/download-artifact to v7.0.0
- actions/upload-artifact to v6.0.0

Closes #19952
Closes #19953
2025-12-12 23:21:33 +01:00
Viktor Szakats
74494d620b
GHA: enable libssh and libssh2 in 10 more Linux jobs
To run more pytest sshd tests, and for more static analysis.

Also:
- drop redundant option from `openssl libssh2 ...` config.
- GHA/linux: enable pytest in the LTO job (to test libssh2).
- avoid both with local builds of OpenSSL-forks, due to crypto lib
  mixups causing a mixture of build error, crashes, test failures.

Follow-up to eb39fee40b #19934

Closes #19943
2025-12-12 17:41:20 +01:00
Viktor Szakats
5e14d623cf
tests/data: delete stray comments
Closes #19950
2025-12-12 17:41:20 +01:00
Viktor Szakats
b5ea0736bb
tests/data: add XML prolog to test files
To formalize they are now XML-compliant (with some asterisks.)

Also to help syntax highlighters work on them to make their content more
readable.

Also:
- Delete empty comment decorations.
- GHA/checksrc: simplify XML check.
- runtests: fail to load test data with XML prolog missing.

Follow-up to bfe6eb1c06 #19927
Follow-up to 87ba80a6df

Closes #19946
2025-12-12 17:17:24 +01:00
Daniel Stenberg
7d79ef926b
test567: add a header separating CRLF
To make it a valid response.

Closes #19948
2025-12-12 16:58:49 +01:00
Viktor Szakats
b83fb8cde7
GHA/windows: move dl-mingw tests from 9.5.0 to 15.1.0
To see if it's less flaky. Also to finish 1m faster due to faster builds.

Closes #19947
2025-12-12 14:14:32 +01:00
Viktor Szakats
77eb6697f5
test568: fix codespell, catch it next time early in CI
Also:
- GHA/checksrc: do not exclude `tests/data/*` changes.

Follow-up to 407d2f3d57 #19944

Closes #19945
2025-12-12 13:33:51 +01:00
Viktor Szakats
d248d17cf3
cmake: update a comment 2025-12-12 13:09:52 +01:00
Viktor Szakats
e413a38190
build: disable typecheck for analyzers and Fil-C
- cmake: automatically disable typecheck when running clang-tidy,
  to avoid possible interference, and to improve performance.

- INSTALL-CMAKE: document both this, and unity=off for clang-tidy.

- GHA/linux: disable for some static analyzers CI jobs to avoid possible
  interference.

- GHA/linux: disable in Fil-C job to improve build performance.

Follow-up to 9e6f1c5efb #19637
Follow-up to fd2ca2399e #17955

Closes #19941
2025-12-12 12:21:45 +01:00
Viktor Szakats
3f1cd809ee
runtests: add options to set minimum number of tests, use them
To detect mistakes made in the runtests framework that reduce
the number of test runs. Before this patch it could go undetected with
a green CI.

The minimum thresholds will need light maintenance going forward (either
bumping them periodically, or adjust if some may fell below minimums for
justified reasons). We may also make minimums tighter or looser, or more
job-specific.

Latest number of test runs for each job can be seen at Test Clutch:
https://testclutch.curl.se/static/reports/feature-matrix.html

Also:
- GHA: set minimums.

Assisted-by: Dan Fandrich

Follow-up to f2a75a14dd
Follow-up to bb1391f943 #19510

Closes #19942
2025-12-12 12:20:22 +01:00
Stefan Eissing
eb39fee40b
pytest: add tests using sshd
With either /usr/sbin/sshd found or configured via --with-test-sshd=path
add tests for SCP down- and uploads, insecure, with known hosts or not,
with authorized user key or unauthorized one.

Working now with libssh and libssh2, using a hashed known_hosts file.

Closes #19934
2025-12-12 11:58:57 +01:00
Daniel Stenberg
407d2f3d57
test568: remove what looks like an email and a URL
Closes #19944
2025-12-12 11:50:29 +01:00
Viktor Szakats
fe8393d7db
tidy-up: miscellaneous
- drop stray duplicate empty lines in docs, scripts, test data, include,
  examples, tests.
- drop duplicate PP parenthesis.
- curl-functions.m4: move literals to the right side in if expressions,
  to match rest of the source code.
- FAQ.md: delete language designator from an URL.
- packages: apply clang-format (OS400, VMS).
- scripts/schemetable.c: apply clang-format.
- data320: delete duplicate empty line that doesn't change the outcome.
- spacecheck: extend to check for duplicate empty lines
  (with exceptions.)
- fix whitespace nits

Closes #19936
2025-12-12 04:18:48 +01:00
renovate[bot]
141ce4be64
GHA: update actions/cache action to v5
Closes #19940
2025-12-12 01:12:43 +01:00
Daniel Stenberg
2e3687c60c
mdlinkcheck: only look for markdown links in markdown files
It finds debug outputs in source code otherwise.

Output the whitelist "warnings" to stderr to better allow us to count
URLs with `./mdlinkcheck --dry-run | wc -l`.

Closes #19938
2025-12-11 23:40:07 +01:00
Daniel Stenberg
846eaf4e6b
RELEASE-NOTES: synced 2025-12-11 15:38:00 +01:00
Christian Schmitz
624d98e79c
transfer: remove @param for err for xfer_recv_resp function.
The err parameter in xfer_recv_resp doesn't exist anymore. Removed in
cb2bcb681f.

Closes #19937
2025-12-11 15:32:16 +01:00
Viktor Szakats
46429d6f44
GHA/checkdocs: re-enable proselint, update setup, fix issues found
- update configuration and invocation.
- install via pip.
- drop a file exception.
- alpha sort proselint settings.
- FILEFORMAT: update text about XML compliance.
- CI job takes 22 seconds total.

Ref: https://github.com/amperser/proselint/releases/tag/v0.16.0

Follow-up to 38bfe1c2aa #15314

Closes #19931
2025-12-11 11:42:28 +01:00
Viktor Szakats
8ff5222b4e
docs: fold long lines
Also:
- replace a 'will' found by badwords.
- drop duplicate empty lines.

Closes #19930
2025-12-11 11:42:28 +01:00
Viktor Szakats
421f931e7a
test1165: drop reference to deleted CURL_DISABLE_TESTS
Follow-up to bf823397ba #16134

Closes #19929
2025-12-11 11:42:28 +01:00
Viktor Szakats
869248cc3e
autotools: drop reference to deleted CURL_CHECK_CURLDEBUG
The referred function has been deleted earlier.

Also:
- drop commented reference to deleted `CURL_CHECK_OPTION_THREADS`.
  0d4fdbf15d #16054

Follow-up to 96a1a05f66 #14096

Closes #19928
2025-12-11 11:42:27 +01:00
Daniel Stenberg
f72c377914
tests: verify setting bearer and doing redirects
Test 778, 779 and 795
2025-12-11 09:42:54 +01:00
Daniel Stenberg
1a822275d3
curl_sasl: if redirected, require permission to use bearer
Closes #19933
2025-12-11 09:42:49 +01:00
Daniel Stenberg
bb134bba29
test3214: allow a larger struct Curl_easy
In my local build it is now 5840 bytes. Add a 10 byte margin.

Closes #19932
2025-12-11 09:41:45 +01:00
Viktor Szakats
bfe6eb1c06
runtests: drop notxml keyword, verify all test data files as XML
Follow-up to 7f3731ce14 #19595

Closes #19927
2025-12-11 00:50:18 +01:00
Viktor Szakats
319298484f
runtests: add support for single-quoted attributes, use it
With this, all test data files are XML-compliant.

Also:
- test1158, test1186: use single quotes for the test filename attribute
  containing a double quote. For XML-compliance.
- drop support for unquoted attributes. For XML-compliance.

Closes #19926
2025-12-11 00:08:16 +01:00
Viktor Szakats
2397be8349
tests/data: replace <, > with %LT, %GT
For XML-compliance.

Closes #19925
2025-12-11 00:08:16 +01:00
Viktor Szakats
7109b427fb
tests/data: replace < with %LT
For XML-compliance.

Closes #19924
2025-12-11 00:08:16 +01:00