Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5289 commits
Select commit Hold shift + click to select a range
1570091
INSTALL.md: refer to as Cygwin
vszakats Mar 31, 2026
dd7fcd5
lib: accept larger input to md5/hmac/sha256/sha512 functions
bagder Mar 31, 2026
6eab0a4
md5: fix large size handling
bagder Mar 31, 2026
a583884
GHA: try workaround for slow Azure Ubuntu distro server (cont.)
vszakats Mar 31, 2026
1ec912d
http: refactor http_on_response into sub functions
bagder Mar 31, 2026
46d107d
docs/cmdline-opts: tidy up retry-connrefused
Aehmlo Mar 31, 2026
8e8bdd3
cookie: fix rejection when tabs in value
bagder Apr 1, 2026
4478a10
hsts: skip expired HSTS entries read from file
bagder Apr 1, 2026
11609c3
alt-svc: skip expired entries read from file
bagder Apr 1, 2026
c1963e2
altsvc: drop the prio field from the struct
bagder Apr 1, 2026
0805ec0
altsvc: cap the list at 5,000 entries
bagder Apr 1, 2026
4f3a0ef
test1275.pl: ignore indented sections in markdowns
bagder Apr 1, 2026
03a792b
HSTS: cap the list at 1,000 entries
bagder Apr 1, 2026
2b3dfb4
lib: make resolving HTTPS DNS records reliable:
icing Mar 31, 2026
0df6c01
tidy-up: rename `Curl_safefree()`/`tool_safefree()` to `curlx_safefre…
vszakats Mar 29, 2026
fcf946e
GHA: bump actions and pips
dependabot[bot] Apr 1, 2026
0b06b94
spelling: fix typos
vszakats Apr 1, 2026
38b626e
CI: Improve labeler tag detection
dfandrich Apr 2, 2026
d888a53
libssh: path length precaution
bagder Apr 1, 2026
93e80c7
hsts: accept 10K entries in the list
bagder Apr 2, 2026
b27e828
url: init req.no_body in DO so that it works for h2 push
bagder Apr 1, 2026
33e4398
url: improve connection reuse on negotiate
icing Apr 2, 2026
99d5b90
asyn-thrdd: item cleanup using resolv_id
icing Apr 2, 2026
e127f8c
GHA/windows: drop building with libssh
vszakats Apr 2, 2026
dc20c91
GHA/windows: switch back to the canonical Cygwin mirror
vszakats Apr 2, 2026
e65ba1b
hsts: make the HSTS read callback handle name dupes
bagder Apr 2, 2026
c54a331
CI: Fix or remove obsolete files in labeler config
dfandrich Apr 2, 2026
78e281b
tool: fix retries in parallel mode
icing Apr 1, 2026
f4eddde
test 766: flag as timing-dependent
samueloph Mar 30, 2026
1bf663e
dnscache: fix locking for negative caching
bagder Apr 2, 2026
b1784ea
RELEASE-NOTES: synced
bagder Apr 3, 2026
e96cb8b
buildconf: remove
bagder Apr 3, 2026
d2110e7
docs: CURLOPT_LOGIN_OPTIONS is a login property
bagder Apr 4, 2026
8c8eeba
libssh: fix `-Wsign-compare` in 32-bit builds
vszakats Apr 4, 2026
f419afd
GHA/windows: switch 3 mingw-w64 jobs to ucrt64
vszakats Apr 4, 2026
3b8bb1a
GHA/windows: bump OpenSSH-Windows to v10, other improvements
vszakats Apr 4, 2026
6d6d81e
url: set default upload flags to CURLULFLAG_SEEN
bagder Apr 4, 2026
b669a58
CURLOPT_UPLOAD_FLAGS.md: expand
bagder Apr 4, 2026
741ee57
doh: remove superfluous doh_req check
bagder Apr 4, 2026
c98d0a2
sshserver.pl: add option to disable KEX algorithms in sshd
vszakats Apr 2, 2026
ec22ea2
GHA/windows: restore libssh, fix to pass tests with 0.12.0
vszakats Apr 2, 2026
2e5d219
sendf: fix CR detection if no LF is in the chunk
bagder Apr 4, 2026
acda4ea
runtests: allow configuring SSH host/client key algorithm
vszakats Apr 1, 2026
8968a68
libssh: fix `-Wsign-compare` in 32-bit builds by dropping a redundant…
vszakats Apr 5, 2026
7813d9a
share: do bitshifts after the type is checked to be valid
bagder Apr 5, 2026
20756bc
libssh: fix 64-bit printf mask for mingw-w64 <=6.0.0
vszakats Apr 5, 2026
f22f08a
docs: noproxy wants the punycoded hostname version
bagder Apr 5, 2026
8b50c9d
GHA/windows: enable more options in 32-bit jobs
vszakats Apr 5, 2026
f3176e0
CURLOPT_SOCKS5_AUTH.md: an access property
bagder Apr 5, 2026
af08d64
man: fix argument type for `CURLSHOPT_[UN]SHARE` options
vszakats Apr 5, 2026
5fdb35a
curl_setup.h: drop stray/unused `USE_OPENSSL_QUIC` guard
vszakats Apr 5, 2026
6e9df9f
Makefile.am: replace stray `:=` with `=` [ci skip]
vszakats Mar 12, 2026
e078485
cmake: drop redundant condition
vszakats Mar 20, 2026
7b96563
spacecheck.pl: fix to check 3+ newlines in all files
vszakats Apr 6, 2026
596f685
GHA: autoreconf downloaded tarballs where missing
vszakats Apr 6, 2026
ecd0925
GHA/curl-for-win: drop certdata dependency and `GITHUB_TOKEN` with it
vszakats Apr 6, 2026
4cb4f9d
cfilters: fix Curl_pollset_poll() return code mixup
bagder Apr 5, 2026
9f5d1a3
lib: reserve 'result' for CURLcode
bagder Apr 6, 2026
fc3261b
cmake: pre-fill `HAVE_PIPE2` for two more platforms
vszakats Apr 6, 2026
be92f0a
lib: reserve 'result' for CURLcode, even more
bagder Apr 6, 2026
f1e3091
Dockerfile: update debian:bookworm-slim Docker digest to 4724b8c
renovate[bot] Apr 7, 2026
f974a00
lib: replace `PRI*32` printf masks with C89 ones
vszakats Apr 5, 2026
a0d5d8f
curl_ntlm_core: use wolfCrypt DES API with wolfSSL
vszakats Apr 6, 2026
74a1695
protocol: disable connection reuse for SMB(S)
bagder Apr 5, 2026
a20989b
libssh2: split ssh_statemachine into more sub functions
bagder Apr 7, 2026
b168fc7
libssh: split myssh_statemach_act into sub functions and rename
bagder Apr 7, 2026
44c19a2
GHA: update openssl/openssl to v3.6.2
renovate[bot] Apr 7, 2026
db9b6fa
cf-ip-happy: limit concurrent attempts
icing Apr 7, 2026
09f9035
clang-tidy: drop readability-math-missing-parentheses
bagder Apr 7, 2026
3536730
parsedate: clarify time2epoch and add more variations to test 517
bagder Apr 7, 2026
d3dc5db
clang-tidy: avoid assigments in `if` expressions
vszakats Apr 7, 2026
b2a767d
gtls: fail for large files in `load_file()`
vszakats Apr 7, 2026
f82ed74
GHA/linux: bump mbedTLS 3 to 3.6.5 (from 3.6.4), also verify hash
vszakats Apr 7, 2026
4c9af8b
configure: silence useless clang warnings in C89 builds
vszakats Apr 8, 2026
80b2a5d
tool_getparam: reduce opt_string complexity
bagder Apr 7, 2026
1356650
docs: use the correct CURLOPT_WRITEFUNCTION signature
TedLyngmo Apr 8, 2026
59c8de7
mbedtls: fix ECJPAKE matching
bagder Apr 8, 2026
c0e7f70
RELEASE-NOTES: synced
bagder Apr 8, 2026
5d84aa4
RELEASE-NOTES: update the entry for `mk-ca-bundle.pl` [ci skip]
vszakats Apr 8, 2026
283db12
parsedate: bsearch the time zones
bagder Apr 8, 2026
698eee1
vtls_scache: include cert_blob independently of verifypeer
bagder Apr 4, 2026
4c1b6f5
tests: enable more ruff checks
dfandrich Apr 3, 2026
98e470b
tests: alphabetize and group Python imports & add check
dfandrich Apr 3, 2026
17e8200
tests: make whitespace between functions and classes consistent
dfandrich Apr 5, 2026
567803d
dns: https-eyeballing async
icing Apr 8, 2026
1737e47
build: skip detecting `pipe2()` for Apple targets
vszakats Apr 8, 2026
8a3de6c
GHA: update dependency wolfSSL/wolfssl to v5.9.1
renovate[bot] Apr 8, 2026
3bde26d
tests/http: bump cryptography from 46.0.6 to 46.0.7
dependabot[bot] Apr 8, 2026
d99df64
h3: HTTPS-RR use in HTTP/3
icing Apr 7, 2026
a285407
asyn-ares: connect async
icing Apr 2, 2026
ef49d42
cfilters: CF_TYPE_SETUP connection filter
icing Apr 8, 2026
7d49f47
RELEASE-NOTES: fix typos [ci skip]
vszakats Apr 9, 2026
008aa2b
GHA: update awslabs/aws-lc to v1.71.0
renovate[bot] Apr 10, 2026
bb3670f
tool: simplify retrycheck()
bagder Apr 9, 2026
e5087ac
http: on 303, switch to GET
bagder Apr 9, 2026
6e40c3e
vquic: fix variable name in fallback code
vszakats Apr 9, 2026
7c8f11e
pytest: switch off h3 for pytest_07_22
icing Apr 10, 2026
a5542c2
pytest: adding support for dnsd test server
icing Apr 10, 2026
ce05754
rustls: handle EOF during initial handshake
kpcyrd Apr 6, 2026
0a7e198
tests/http: add abrupt server close test
cpu Apr 8, 2026
8a3991e
configure: tidy up comments
vszakats Mar 19, 2026
935e1f9
GHA: update dependency ruff to v0.15.10
renovate[bot] Apr 10, 2026
3e40ccb
getinfo: repair CURLINFO_TLS_SESSION
bagder Apr 10, 2026
879209f
unit1398: add msnprintf tests with negative precision
bagder Apr 11, 2026
a483128
pytest: test threaded resolver
icing Apr 10, 2026
afdd8f1
http: fix auth_used and auth_avail
icing Apr 10, 2026
3b68c67
RELEASE-NOTES: synced
bagder Apr 13, 2026
70bb0db
schannel: increase renegotiation timeout to 60 seconds
jay Apr 10, 2026
ec445fc
setopt: move CURLOPT_CURLU
bagder Apr 13, 2026
40d57c9
hostip: resolve user supplied ip addresses
icing Apr 13, 2026
9ded494
test1560: add a few more URL API test variations
bagder Apr 13, 2026
7a349b5
setopt: fix typos in comments
bagder Apr 13, 2026
3512b67
lib: move request specific allocations to the request struct
bagder Apr 13, 2026
e0dd6eb
tidy-up: miscellaneous
vszakats Mar 9, 2026
df60148
clang-tidy: enable more checks, fix fallouts
vszakats Mar 3, 2026
7b787f5
KNOWN_BUGS: Native CA roots incomplete on Windows with OpenSSL/fork
vszakats Apr 13, 2026
bcb02fe
GHA: bump pytest from 9.0.2 to 9.0.3
dependabot[bot] Apr 14, 2026
def4d89
http: use header_has_value() instead of duplicate code
bagder Apr 13, 2026
67795ff
GHA: update dependency google/boringssl to v0.20260413.0
renovate[bot] Apr 14, 2026
99ead4e
request: cleanup the auth headers on soft rest as well
bagder Apr 14, 2026
d7a991c
lib1560: fix comment typo
bagder Apr 13, 2026
0b4ebeb
test1675: unit tests for URL API helper functions
bagder Apr 13, 2026
9ceb3ff
urlapi: stop extracting hostname from file:// URLs on Windows
bagder Apr 13, 2026
188c2f1
http: clear the proxy credentials as well on port or scheme change
bagder Apr 13, 2026
0567e72
tests: use %b64[] instead of "raw" base64
bagder Apr 14, 2026
bcd94e2
socks: use dns filter for resolving
icing Apr 13, 2026
86f1e5b
test dnsd: implement delayed responses
icing Apr 13, 2026
3a19987
urldata: move cookiehost to struct SingleRequest
bagder Apr 14, 2026
7767b56
GHA/http3-linux: bump OpenSSL 4 beta to final
vszakats Apr 14, 2026
2e5acc1
GHA/linux: rename mbedtls-prev env to align with Renovate
vszakats Apr 14, 2026
880cd0c
GHA/non-native: bump cross-platform-actions to 1.0.0
vszakats Apr 14, 2026
3629534
GHA/linux: tidy up and extend address-sanitizer job options
vszakats Mar 2, 2026
c60d90c
urlapi: make parse_file() return zero data on error
bagder Apr 15, 2026
fa057ea
transfer: clear the old autoreferer
bagder Apr 15, 2026
ce2f65c
pytest: fix dnsd pid filename
vszakats Apr 14, 2026
94f14c5
renovate: use standard bump formula for OpenSSL
vszakats Apr 15, 2026
7fd35f4
unittests: cleanups
bagder Apr 15, 2026
54cc655
ci: update RUSTLS_VERSION 0.15.1 -> 0.15.2
cpu Apr 15, 2026
548c16a
build: fix `-Wformat-signedness` by adjusting printf masks
vszakats Apr 16, 2026
7e450cb
libssh2: allocate libssh2-friendly memory in kbd_callback
bagder Apr 16, 2026
ce71745
build: adjust/add casts to fix `-Wformat-signedness`
vszakats Mar 7, 2026
32a513e
urlapi: same origin tests
icing Apr 15, 2026
0a6f815
GHA/http3-linux: update dependency ngtcp2/ngtcp2 to v1.22.1
renovate[bot] Apr 16, 2026
3e0e2cc
GHA: drop 3rd-party apt source `docker.list`
vszakats Apr 16, 2026
b4024bf
http: clear credentials better on redirect
bagder Apr 16, 2026
885b553
lib: rename more CURLcode variables to 'result'
bagder Apr 16, 2026
1bf1f8e
pytest_05_09: increase reliability
icing Apr 16, 2026
a973377
dnsd: implement HTTPS-RR with alpn pref and no-default-alpn
icing Apr 16, 2026
bb771ce
RELEASE-NOTES: synced
bagder Apr 16, 2026
021a87c
vtls_scache: rename `CURLcode` variable to `result`
vszakats Apr 16, 2026
70281e3
haproxy: use correct ip version on client supplied address
icing Apr 16, 2026
b515a71
unit1675: fix `-Wformat-signedness`
vszakats Apr 17, 2026
5e45e82
lib506: rename `CURLcode` variable to `result`
vszakats Apr 17, 2026
1701a83
GHA: bump required test minimums
vszakats Apr 17, 2026
a06fd64
unit1658: rename `CURLcode` to `result`
vszakats Apr 17, 2026
97cf21a
CURLOPT_RTSP_SESSION_ID.md: clarify reuse "dangers"
bagder Apr 17, 2026
6daf4bc
http: clear digest nonce on cross-orgin redirect
bagder Apr 17, 2026
e0b2ec2
pytest: check 429 handling
icing Apr 17, 2026
d129ff3
CURLOPT_RTSP_SESSION_ID.md: minor language fix
bagder Apr 17, 2026
1cc683c
CURLOPT_RTSP_SESSION_ID.md: expand the comment
bagder Apr 18, 2026
54ded66
docs/libcurl: improve easy setopt examples
bagder Apr 18, 2026
fc7bd07
GHA: update dependency nghttp2/nghttp2 to v1.69.0
renovate[bot] Apr 19, 2026
07e9f73
runtests: skip setting ed25519 SSH key format
vszakats Apr 19, 2026
23a06e1
GHA: update dependency libressl/portable to v4.3.1
renovate[bot] Apr 19, 2026
9e38e06
GHA: keep testing 3 as openssl-prev, bump mainline to 4
vszakats Apr 19, 2026
ebed4aa
ws: fix a blocking curl_ws_send() to report written length correctly
icing Apr 19, 2026
6506693
lib1960: fix test failure
dag-erling Apr 19, 2026
759f2e5
tests: avoid infinite recursion for `make check`
dag-erling Apr 19, 2026
4c548b9
openssl: fix unused variable warnings in !verbose builds
vszakats Apr 19, 2026
1fbffe7
GHA: use more OpenSSL 4, enable ECH in more jobs
vszakats Apr 19, 2026
85e8257
GHA: bump test minimums (more)
vszakats Apr 20, 2026
5448495
vtls_scache: check reentrancy
icing Apr 20, 2026
d087a7e
mime: only allow 40 levels of calls
bagder Apr 20, 2026
db13c08
lib: fix typos in comments
bagder Apr 20, 2026
70a1595
build: link `bcrypt.lib` via vcxproj files
vszakats Apr 20, 2026
809dda3
Happy Eyeballs: add resolution time delay
icing Apr 17, 2026
0838297
lib: minor comment typos
bagder Apr 20, 2026
4e0bfd8
mprintf: simplify parsefmt
bagder Apr 20, 2026
19695e8
tool_operate: split create_single into smaller sub functions
bagder Apr 20, 2026
5ff7f77
wolfssl: fix `-Wmissing-prototypes`
vszakats Apr 21, 2026
2e36070
parsedate: refactor
bagder Apr 21, 2026
8eb3cb7
misc: fix code quality findings
vszakats Apr 21, 2026
4f7e323
mprintf: OR the flags
bagder Apr 21, 2026
4daf483
lib557: add tests with flags AND conversion specifier
bagder Apr 21, 2026
ad1fcd6
async-ares: fix query counter handling
icing Apr 21, 2026
779bba2
runtests: allow %EMPTY in <stdout> to verify no output
bagder Apr 21, 2026
dcf5356
tool_operate: keep the filename for upload globbing
bagder Apr 21, 2026
b16be8e
tool_operate: reset the upload glob counter for next URL
bagder Apr 21, 2026
528f623
RELEASE-NOTES: synced
bagder Apr 22, 2026
7d73fe9
appveyor: bump to OpenSSL 3.6
vszakats Apr 21, 2026
99d460d
Dockerfile: update debian:bookworm-slim Docker digest to f9c6a2f
renovate[bot] Apr 22, 2026
37ab246
docs: clarify retry-max-time timing
dioput12 Apr 22, 2026
0f2b020
asyn-thrdd: minor without-IPv6 fixes
bagder Apr 22, 2026
ed3fea6
GHA: delete all apt sources except `ubuntu.sources`
vszakats Apr 22, 2026
bfc0cb4
asyn-thrdd: drop redundant `result` check
vszakats Apr 22, 2026
50ff4f2
GHA: deprioritize Azure Ubuntu mirror
vszakats Apr 22, 2026
4c078fd
urlapi: simplify urlget_url
bagder Apr 22, 2026
7100e8d
vtls: log when key logging is enabled.
yedayak Dec 2, 2025
fd2a729
GHA/appveyor-status: disable `gh` tool telemetry
vszakats Apr 23, 2026
e418b42
CI: set `DO_NOT_TRACK=1`
vszakats Apr 23, 2026
d6372e6
vtls: fix comment typos and tidy up a type
vszakats Apr 23, 2026
00cac45
multi: enhance pending handles fairness
icing Apr 22, 2026
69f3a36
doh: remove conn->bits.doh
icing Apr 23, 2026
ed9083e
ci: update RUSTLS_VERSION 0.15.2 -> 0.15.3
cpu Apr 23, 2026
734793f
checksrc.pl: delete stray commas
vszakats Apr 23, 2026
961a13e
rustls: fix memory leak on repeated SSLKEYLOGFILE fails
bagder Apr 23, 2026
eea9ce4
urldata.h: fix typo and lingering backtick
bagder Apr 24, 2026
5c75668
hostip: init the curl_jmpenv_lock appropriately
bagder Apr 24, 2026
4bc34a5
doh: fix #ifdef name
bagder Apr 24, 2026
ee65f19
checksrc: fix code quality findings
vszakats Apr 23, 2026
8b7e460
checksrc: add missing items to warnings hash, alpha-sort
vszakats Apr 24, 2026
2f37943
tests: drop support for the hex="yes" option in getpart
bagder Apr 23, 2026
0d3d9f2
checksrc: add missing semicolon, fix `IFDEFSINGLE` capture group
vszakats Apr 24, 2026
b6e0ecb
resolve: pass bool for proxy resolves
icing Apr 23, 2026
7c0a8fc
GHA/windows: disable ssh-ed25519 hostkey in libssh2-wincng jobs
vszakats Apr 24, 2026
d19a039
mbedtls: cleanup more without care for 'initialized'
bagder Apr 24, 2026
41f3f94
sshserver.pl: add option to enable KEX algorithms in sshd
vszakats Apr 24, 2026
7d29514
mbedtls: remove failf() call with first argument as NULL
bagder Apr 24, 2026
4840fe3
socks filter: pass operation parameters
icing Apr 24, 2026
bfcc1c6
setup connection filter: mark as setup
icing Apr 24, 2026
b5ee935
connect: fix typo on error message [ci skip]
vszakats Apr 24, 2026
f9d3f00
GHA/windows: bump stunnel to 5.78
vszakats Apr 24, 2026
4449110
sshserver.pl: tidy up around `AllowUsers` setup
vszakats Apr 24, 2026
40b65d8
RELEASE-NOTES: add missing contributors
bagder Apr 25, 2026
5227dd9
RELEASE-NOTES: synced
bagder Apr 25, 2026
05905b1
pytest: drop unused imports
vszakats Apr 25, 2026
c6b1c49
test_22_httpsrr: drop duplicate skipif conditions
vszakats Apr 25, 2026
701cd4c
tidy-up: git options, ECH, HTTP/3 documentation
vszakats Apr 25, 2026
024c73d
test_22_httpsrr: avoid class name clash with `test_21_resolve`
vszakats Apr 25, 2026
5190567
sectrust: fail on missing OCSP stapling
icing Apr 25, 2026
aa1e954
KNOWN_BUGS.md: Windows stdin relay accepts unauthenticated local conn…
bagder Apr 24, 2026
4125f45
write-out.md: fix minor language mistake
bagder Apr 26, 2026
c2fdf7a
docs/cmdline-opts/write-out.md: tls_earlydata was adeded in 8.13.0
bagder Apr 26, 2026
7586ca7
docs/cmdline-opts/write-out.md: minor language edit
bagder Apr 26, 2026
c1cfdf5
setopt: clear proxy auth properties when switching
bagder Apr 27, 2026
aab8d47
units: tidy up dynbuf init
vszakats Apr 26, 2026
4d89043
runtests: fix linefeeds in log messages
vszakats Apr 26, 2026
e2f84e6
tunits: initialize global `tool_stderr`
vszakats Apr 27, 2026
13b6a60
tool_dirhie: fix to create drive-relative directory
vszakats Apr 26, 2026
1ea3060
write-out.md: minor language fix
bagder Apr 27, 2026
032ea65
tidy-up: whitespace
vszakats Apr 15, 2026
931ac30
GHA/checksrc: switch to zizmor `--persona` option
vszakats Apr 27, 2026
74542c1
cmake: do not install `wcurl` when `BUILD_CURL_EXE=OFF`
vszakats Apr 27, 2026
f485f5e
cmake: do not install shell completions when `BUILD_CURL_EXE=OFF`
vszakats Apr 27, 2026
0f47ddc
build: stop building and installing `runtests.1` and `testcurl.1`
vszakats Apr 27, 2026
377ed81
tidy-up: a cmake warning message and a variable name
vszakats Apr 27, 2026
32970e7
THANKS: names from the 8.20.0 release
bagder Apr 29, 2026
a05f349
RELEASE-NOTES: synced
bagder Apr 29, 2026
fe5ca88
Merge tag 'curl-8_20_0' into malam/curl-8-20
fadedreamz Jun 15, 2026
cff92f0
unitytls updates based on curl API changes
fadedreamz Jun 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
117 changes: 32 additions & 85 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,30 +28,6 @@
version: 2.1

commands:
configure:
steps:
- run:
command: |
autoreconf -fi
./configure --enable-warnings --enable-werror --with-openssl \
|| { tail -1000 config.log; false; }

configure-openssl-no-verbose:
steps:
- run:
command: |
autoreconf -fi
./configure --disable-verbose --enable-werror --with-openssl \
|| { tail -1000 config.log; false; }

configure-no-proxy:
steps:
- run:
command: |
autoreconf -fi
./configure --disable-proxy --enable-werror --with-openssl \
|| { tail -1000 config.log; false; }

install-cares:
steps:
- run:
Expand All @@ -62,86 +38,83 @@ commands:
steps:
- run:
command: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update && sudo apt-get install -y libssh-dev

install-deps:
steps:
- run:
command: |
sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev python3-pip libpsl-dev
sudo python3 -m pip install impacket
sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev python3-pip
python3 -m venv ~/venv
~/venv/bin/pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary -r tests/requirements.txt

configure-libssh:
configure:
steps:
- run:
command: |
autoreconf -fi
./configure --enable-warnings --enable-werror --with-openssl --with-libssh \
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
--with-openssl \
|| { tail -1000 config.log; false; }

install-wolfssl:
steps:
- run:
command: |
source .github/scripts/VERSIONS
echo "Installing wolfSSL $WOLFSSL_VER"
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz
tar -xzf v$WOLFSSL_VER-stable.tar.gz
cd wolfssl-$WOLFSSL_VER-stable
./autogen.sh
./configure --enable-tls13 --enable-all --enable-harden --prefix=$HOME/wssl
make install

install-wolfssh:
configure-no-proxy:
steps:
- run:
command: |
source .github/scripts/VERSIONS
echo "Installing wolfSSH $WOLFSSH_VER"
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssh/archive/v$WOLFSSH_VER-stable.tar.gz
tar -xzf v$WOLFSSH_VER-stable.tar.gz
cd wolfssh-$WOLFSSH_VER-stable
./autogen.sh
./configure --with-wolfssl=$HOME/wssl --prefix=$HOME/wssh --enable-scp --enable-sftp --disable-examples
make install
autoreconf -fi
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror \
--with-openssl --disable-proxy \
|| { tail -1000 config.log; false; }

configure-cares:
configure-libssh:
steps:
- run:
command: |
autoreconf -fi
./configure --enable-warnings --enable-werror --with-openssl --enable-ares \
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
--with-openssl --with-libssh \
|| { tail -1000 config.log; false; }

configure-wolfssh:
configure-cares:
steps:
- run:
command: |
autoreconf -fi
LDFLAGS="-Wl,-rpath,$HOME/wssh/lib" ./configure --enable-warnings --enable-werror --with-wolfssl=$HOME/wssl --with-wolfssh=$HOME/wssh \
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
--with-openssl --enable-ares \
|| { tail -1000 config.log; false; }

configure-cares-debug:
steps:
- run:
command: |
autoreconf -fi
./configure --enable-debug --enable-werror --with-openssl --enable-ares \
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-debug \
--with-openssl --enable-ares \
|| { tail -1000 config.log; false; }

build:
steps:
- run: make -j3 V=1
- run: src/curl --disable --version
- run: make -j3 V=1 examples

test:
steps:
- run: make -j3 V=1 test-ci TFLAGS='-j14'
- run:
command: |
source ~/venv/bin/activate
# Revert a CircleCI-specific local setting that makes test 1459
# return 67 (CURLE_LOGIN_DENIED) instead of the
# expected 60 (CURLE_PEER_FAILED_VERIFICATION).
echo 'StrictHostKeyChecking yes' >> ~/.ssh/config
make -j3 V=1 test-ci TFLAGS='-j14'

executors:
ubuntu:
machine:
image: ubuntu-2004:2024.01.1
image: ubuntu-2204:2025.09.1

jobs:
basic:
Expand All @@ -153,24 +126,6 @@ jobs:
- build
- test

no-verbose:
executor: ubuntu
steps:
- checkout
- install-deps
- configure-openssl-no-verbose
- build

wolfssh:
executor: ubuntu
steps:
- checkout
- install-deps
- install-wolfssl
- install-wolfssh
- configure-wolfssh
- build

no-proxy:
executor: ubuntu
steps:
Expand Down Expand Up @@ -202,7 +157,7 @@ jobs:

arm:
machine:
image: ubuntu-2004:2024.01.1
image: ubuntu-2204:2025.09.1
resource_class: arm.medium
steps:
- checkout
Expand All @@ -213,7 +168,7 @@ jobs:

arm-cares:
machine:
image: ubuntu-2004:2024.01.1
image: ubuntu-2204:2025.09.1
resource_class: arm.medium
steps:
- checkout
Expand All @@ -240,14 +195,6 @@ workflows:
jobs:
- no-proxy

openssl-no-verbose:
jobs:
- no-verbose

wolfssl-wolfssh:
jobs:
- wolfssh

arm-openssl:
jobs:
- arm
Expand Down
59 changes: 59 additions & 0 deletions .clang-tidy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
#
# SPDX-License-Identifier: curl
---
# https://clang.llvm.org/extra/clang-tidy/

# https://clang.llvm.org/extra/clang-tidy/checks/list.html
Checks:
- clang-analyzer-*
- -clang-analyzer-optin.performance.Padding
- -clang-analyzer-security.ArrayBound # due to false positives with clang-tidy v21.1.0+
- -clang-analyzer-security.insecureAPI.bzero # for FD_ZERO() (seen on macOS)
- -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling
- -clang-diagnostic-nullability-extension
- bugprone-assert-side-effect
- bugprone-assignment-in-if-condition
- bugprone-chained-comparison
- bugprone-dynamic-static-initializers
- bugprone-invalid-enum-default-initialization
- bugprone-macro-parentheses
- bugprone-macro-repeated-side-effects
- bugprone-misplaced-operator-in-strlen-in-alloc
- bugprone-misplaced-pointer-arithmetic-in-alloc
- bugprone-not-null-terminated-result
- bugprone-posix-return
- bugprone-redundant-branch-condition
- bugprone-signed-char-misuse
- bugprone-sizeof-expression
- bugprone-suspicious-enum-usage
- bugprone-suspicious-memset-usage
- bugprone-suspicious-missing-comma
- bugprone-suspicious-realloc-usage
- bugprone-suspicious-semicolon
# bugprone-unchecked-string-to-number-conversion # needs converting sscanf to strtol or curlx_str_*
- misc-const-correctness
- misc-header-include-cycle
# misc-redundant-expression # undesired hits due to system macros, e.g. due to POLLIN == POLLRDNORM | POLLRDBAND, then or-ing all three
- portability-*
- readability-duplicate-include
# readability-else-after-return
# readability-enum-initial-value
# readability-function-cognitive-complexity
- readability-inconsistent-declaration-parameter-name
# readability-misleading-indentation # too many false positives and oddball/conditional source
- readability-named-parameter
# readability-redundant-casting # false positives in types that change from platform to platform, even with IgnoreTypeAliases: true
- readability-redundant-control-flow
- readability-redundant-declaration
- readability-redundant-function-ptr-dereference
- readability-redundant-parentheses
- readability-redundant-preprocessor
- readability-suspicious-call-argument
- readability-uppercase-literal-suffix

CheckOptions:
misc-header-include-cycle.IgnoredFilesList: 'curl/curl.h'
readability-inconsistent-declaration-parameter-name.Strict: true

HeaderFilterRegex: '.*' # Default in v22.1.0+
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
#
# SPDX-License-Identifier: curl

root = true

[*]
charset = utf-8
insert_final_newline = true
indent_style = space
trim_trailing_whitespace = true

[*.{c,h}]
indent_size = 2
max_line_length = 79

[*.{pl,pm}]
indent_size = 4
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#
# SPDX-License-Identifier: curl

buildconf eol=lf
configure.ac eol=lf
*.m4 eol=lf
*.in eol=lf
Expand Down
27 changes: 10 additions & 17 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,19 @@ Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
-->

How to contribute to curl
=========================
# How to contribute to curl

Join the community
------------------
## Join the community

1. Click 'watch' on the GitHub repo
1. Click 'watch' on the GitHub repo
2. Subscribe to the suitable [mailing lists](https://curl.se/mail/)

2. Subscribe to the suitable [mailing lists](https://curl.se/mail/)
## Read [CONTRIBUTE](/docs/CONTRIBUTE.md)

Read [CONTRIBUTE](../docs/CONTRIBUTE.md)
---------------------------------------
## Send your suggestions using one of these methods:

Send your suggestions using one of these methods:
-------------------------------------------------
1. in a mail to the mailing list
2. as a [pull request](https://github.com/curl/curl/pulls)
3. as an [issue](https://github.com/curl/curl/issues)

1. in a mail to the mailing list

2. as a [pull request](https://github.com/curl/curl/pulls)

3. as an [issue](https://github.com/curl/curl/issues)

/ The curl team!
/ The curl team
9 changes: 2 additions & 7 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,7 @@ body:

Only file bugs here! Ask questions on the mailing lists https://curl.se/mail/

**SECURITY RELATED?** Post it here: https://hackerone.com/curl

There are collections of known issues to be aware of:

- https://curl.se/docs/knownbugs.html
- https://curl.se/docs/todo.html
**SECURITY RELATED?** Submit here: https://hackerone.com/curl

- type: textarea
id: reproducer
Expand All @@ -40,7 +35,7 @@ body:
label: curl/libcurl version
description: |
Please paste the output of `curl -V` here.
placeholder: 'curl 8.2.0'
placeholder: 'curl 8.18.0'
validations:
required: true

Expand Down
34 changes: 31 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,37 @@
#
# SPDX-License-Identifier: curl

# https://docs.github.com/code-security/dependabot/working-with-dependabot/dependabot-options-reference

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'monthly'
cooldown:
default-days: 7
groups:
gha-dependencies:
patterns:
- '*'
commit-message:
prefix: 'GHA:'

- package-ecosystem: 'pip'
directories:
- '.github/scripts'
- 'tests'
schedule:
interval: "weekly"
interval: 'monthly'
cooldown:
default-days: 7
semver-major-days: 15
semver-minor-days: 7
semver-patch-days: 3
groups:
pip-dependencies:
patterns:
- '*'
commit-message:
prefix: 'GHA:'
Loading
Loading