Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
390 commits
Select commit Hold shift + click to select a range
fb0c014
wcurl: sync to +dev snapshot
samueloph Oct 26, 2025
cdd945e
http_proxy: fix adding custom proxy headers
bagder Oct 25, 2025
f9dfabb
test1802: test --proxy-headers and --headers setting user-agent
bagder Oct 25, 2025
6c97ff8
socks: properly maintain the status of 'done'
x2018 Oct 27, 2025
2bb33c1
pingpong: change repsonse timeout to one minute
bagder Oct 27, 2025
692c7f1
TLS: IP address verification, extend test
icing Oct 27, 2025
05eea37
CURLOPT_SERVER_RESPONSE_TIMEOUT*: add default and see-also
bagder Oct 27, 2025
73811b4
header: see-also --proxy-header and vice versa
bagder Oct 27, 2025
fa49c50
tests/server/dnsd: fix potential buffer overflow
vszakats Oct 27, 2025
bc99770
singleuse.pl: fix string warning
bagder Oct 28, 2025
02113a6
Curl_resolv: explicitly set *entry to NULL at the top
x2018 Oct 28, 2025
9308ea2
cookie: remove the temporary file on (all) errors
bagder Oct 28, 2025
875ea98
schannel: handle Curl_conn_cf_send() errors better
bagder Oct 28, 2025
fe9e011
tests: reduce max allowed allocations for four tests
bagder Oct 27, 2025
ba85f9d
RELEASE-NOTES: synced
bagder Oct 28, 2025
0ba0066
tool_operate: move the checks that skip ca cert detection
jay Oct 19, 2025
c82a706
ssl-session-cache: check use on config and availability
icing Oct 27, 2025
d3e7bef
GHA: update reuse to v6.2.0
renovate[bot] Oct 27, 2025
614895c
GHA: update pyspelling to v2.12
renovate[bot] Oct 27, 2025
a97f9d4
openldap/ldap; check for binary attribute case insensitively
bagder Oct 29, 2025
446dae5
ngtcp2: overwrite rate-limits defaults
icing Oct 29, 2025
7973cb0
http: fix `-Wunreachable-code` in !websockets !unity builds
vszakats Oct 29, 2025
25aee86
http: fix `-Wunused-variable` in !alt-svc !proxy !ws builds
vszakats Oct 29, 2025
e64c28e
imap: fix custom FETCH commands to handle literal responses
thebitbrine Oct 26, 2025
55d4767
tests: use %repeat[] to make tests smaller
bagder Oct 30, 2025
c1f1b66
pop3: check for CAPA responses case insensitively
bagder Oct 30, 2025
fbc4d59
conncache: prevent integer overflow in maxconnects calculation
x2018 Oct 28, 2025
8025830
lib: reduce memcpy calls
bagder Oct 30, 2025
c5de083
base64: make base64_encode() error on too long input
bagder Oct 30, 2025
a83eae4
GHA: update libressl/portable to v4.2.1
renovate[bot] Oct 30, 2025
eb22e37
tests: use %repeat[] to make tests smaller (cont.)
vszakats Oct 30, 2025
1afc4bb
tool/var: explain how the null termination byte is there
bagder Oct 30, 2025
d2e8acf
test1100: fix missing `<protocol>` section
vszakats Oct 30, 2025
5bf9445
ftp: fix leaking internal buffer `newhost` on error
vszakats Oct 31, 2025
4b85e48
examples/http2-serverpush: fix file handle leaks
vszakats Oct 31, 2025
869143b
examples: fix more potential resource leaks, and more
vszakats Oct 31, 2025
4d2a05d
tests: use `crlf=yes` attribute more
vszakats Oct 30, 2025
2147de5
test429: use `%repeat[]%`
vszakats Oct 30, 2025
26e3f00
test446, 1034, 1160: set US-ASCII encoding in XML header
vszakats Oct 31, 2025
1e85cb4
scp/sftp: fix disconnect
icing Oct 31, 2025
c887a3f
BINDINGS.md: point flaky URL to archive.org
vszakats Oct 25, 2025
0313223
RELEASE-NOTES: synced
bagder Oct 31, 2025
928363f
examples: consistent variable naming across examples
bagder Oct 31, 2025
d29f14b
tests: replace significant invisible spaces with macros
vszakats Oct 30, 2025
70f240b
tests/libtest/cli*: fix init/deinit, leaks, and more
vszakats Oct 31, 2025
9c0b239
spelling: fix new finds by typos-cli 1.39.0
vszakats Oct 31, 2025
d646d5a
openssl: fix the ocsp len arg to Curl_vtls_apple_verify
bagder Oct 31, 2025
b4630ed
sectrust: fix verifystatus via sectrust
icing Oct 31, 2025
d4d7139
openssl: combine all the x509-store flags
bagder Oct 31, 2025
27f5538
schannel: properly close the certfile on error
x2018 Oct 31, 2025
c35a87d
scorecard: more params for upload tests
icing Oct 31, 2025
d2f0a0e
tests/libtest: consistent variable naming for easy/multi/share handles
vszakats Oct 31, 2025
2e408aa
tests: replace standalone significant tabs with macro
vszakats Oct 31, 2025
cf4a627
CI: two display name tweaks
vszakats Oct 31, 2025
6a97bc2
tests/data: delete stray CRLFs in markup lines
vszakats Nov 1, 2025
8d0bfe7
httpsrr: send HTTPS query to the right target
bagder Nov 1, 2025
f6bbc2b
doh: cleanup resources on error paths
x2018 Oct 31, 2025
e2a12fc
vtls: properly handle SSL shutdown timeout
x2018 Nov 1, 2025
6cf3d7b
tests: avoid more hard-coded CRLFs in `protocol` sections
vszakats Nov 1, 2025
986ef77
runtests: fix Perl warning after recent patch
vszakats Nov 2, 2025
428faf6
GHA/dependabot: fix update group names
vszakats Nov 2, 2025
7203498
GHA: bump the pip-dependencies group across 2 directories with 3 updates
dependabot[bot] Nov 1, 2025
2ffa830
GHA/dependabot: tidy-ups
vszakats Nov 2, 2025
c898da2
http_aws_sigv4: check the return value of curl_maprintf()
x2018 Nov 2, 2025
3060495
RELEASE-NOTES: synced
bagder Nov 2, 2025
c1e3a76
imap: avoid integer overflow
bagder Nov 3, 2025
aaf9522
test696: decouple from test556 data
vszakats Nov 2, 2025
254e04b
ftpserver.pl: fix newlines in 227/229 replies, adjust tests
vszakats Nov 2, 2025
1021c52
REUSE: add copyright header to two files
vszakats Nov 3, 2025
7e91f24
cw-out: fix EAGAIN handling on pause
icing Nov 3, 2025
cccc65f
openssl: check CURL_SSLVERSION_MAX_DEFAULT properly
icing Nov 3, 2025
8616e5a
gssapi: make channel binding conditional on GSS_C_CHANNEL_BOUND_FLAG
devdattatalele Oct 20, 2025
0d5e242
vtls: check final cfilter node in find_ssl_filter
MegaManSec Oct 24, 2025
231f0a2
http: check the return value of strdup
x2018 Nov 3, 2025
6adefe8
multi: check the return value of strdup()
x2018 Nov 3, 2025
63e9721
tests: avoid hard-coded CRLFs in more sections
vszakats Oct 31, 2025
feab390
rtsp: use explicit postfieldsize if specified
MegaManSec Nov 3, 2025
5ec8734
CURLOPT_POSTFIELDSIZE*: these also work for MQTT and RTSP
bagder Nov 3, 2025
e5299a1
README.md: use the first paragraph from the man page
bagder Nov 3, 2025
f8e7b13
BINDINGS: change dead link to archive.org version
bagder Nov 4, 2025
70a11c6
CURLOPT_COPYPOSTFIELDS.md: used with MQTT and RTSP as well
bagder Nov 4, 2025
0783ef2
tests: remove most user-agent filters
bagder Nov 4, 2025
11683f1
tool_ipfs: check the return value of curl_url_get for gwpath
x2018 Nov 4, 2025
913c1f2
wcurl: import v2025.11.04
samueloph Nov 4, 2025
775add6
HISTORY: extend
bagder Nov 4, 2025
3806fd9
cmake: fix `HAVE_GNUTLS_SRP` detection after adding local FindGnuTLS …
vszakats Nov 4, 2025
8d45305
gtls: check the return value of gnutls_pubkey_init()
x2018 Nov 4, 2025
e5cc564
GHA: update cross-platform-actions/action action to v0.30.0
renovate[bot] Nov 4, 2025
c3b890b
GHA/non-native: bump to OpenBSD 7.8
vszakats Nov 4, 2025
7872ec9
THANKS: add contributors from 8.17.0
bagder Nov 5, 2025
6687379
VERSIONS: 8.18.0 is now pending
bagder Nov 5, 2025
400fffa
RELEASE-NOTES: synced
bagder Nov 3, 2025
a39ff61
GHA/windows: switch a dl-mingw job to skeeto/w64devkit gcc 15.1.0
vszakats Nov 4, 2025
8d00e28
GHA/non-native: revert to OpenBSD 7.7 due to test hangs with 7.8
vszakats Nov 5, 2025
2e770b3
m4/sectrust: fix test(1) operator
0-wiz-0 Nov 5, 2025
dd71f61
lib: cleanup for some typos about spaces and code style
x2018 Nov 5, 2025
2db36f1
gtls: add return checks and optimize the code
x2018 Nov 4, 2025
33e7745
RELEASE-NOTES: synced
bagder Nov 5, 2025
a8bef39
openssl: remove code handling default version
bagder Nov 4, 2025
c12a1fd
tests: remove trailing spaces in server responses
bagder Nov 5, 2025
6d7e924
checksrc.pl: detect assign followed by more than one space
bagder Nov 5, 2025
87f448e
Dockerfile: update debian:bookworm-slim digest to 936abff
renovate[bot] Nov 4, 2025
403a2c2
tests: shorten space and tab macro names
vszakats Nov 4, 2025
60dd72b
GHA/checksrc: add actionlint, fix or silence issues found
vszakats Nov 5, 2025
e6e1899
tests: Add tests to validate that path is ignored with -J
dfandrich Nov 4, 2025
d7d4de0
tests/Makefile.am: fix 'checksrc' target
bagder Nov 5, 2025
58023ba
docs: fix checksrc `EQUALSPACE` warnings
vszakats Nov 5, 2025
5612971
tool_ipfs: check return codes better
bagder Nov 6, 2025
66a66c5
tool_operate: remove redundant condition
bagder Nov 6, 2025
8e61495
gnutls: report accurate error when TLS-SRP is not built-in
vszakats Nov 4, 2025
ede6a8e
conncache: silence `-Wnull-dereference` on gcc 14 RISC-V 64
vszakats Nov 5, 2025
9825a3b
cmake: disable `CURL_CA_PATH` auto-detection if `USE_APPLE_SECTRUST=ON`
vszakats Nov 6, 2025
f12a81d
curl: fix progress meter in parallel mode
icing Nov 6, 2025
69622ff
tool_help: add checks to avoid unsigned wrap around
x2018 Nov 5, 2025
672886f
wolfSSL: able to differentiate between IP and DNS in alt names
julek-wolfssl Nov 4, 2025
904e7ec
tests: replace remaining CR bytes with the new macro `%CR`
vszakats Nov 3, 2025
e108778
GHA/macos: replace deleted gcc-12 with gcc-13/gcc-14
vszakats Nov 6, 2025
8e93a74
tool_paramhlp: refuse --proto remove all protocols
bagder Nov 6, 2025
684af00
setopt: when setting bad protocols, don't store them
bagder Nov 6, 2025
a6eaa67
mbedtls: fix potential use of uninitialized `nread`
bagder Nov 7, 2025
40b1724
tool: consider (some) curl_easy_setopt errors fatal
bagder Nov 6, 2025
f77c574
renovate: update ruff less often
vszakats Nov 6, 2025
2684af2
osslq: code readability
icing Nov 7, 2025
608d966
lib: refactor the type of funcs which have useless return and checks
x2018 Nov 6, 2025
891714a
RELEASE-NOTES: synced
bagder Nov 7, 2025
d8bad99
docs: mention umask need when curl creates files
bagder Nov 7, 2025
9d1acd0
gtls: skip session resumption when verifystatus is set
bagder Nov 7, 2025
2d99cf0
lib: fix gssapi.h include on IBMi
andrewkirillov-ibm Nov 3, 2025
a6fcaf2
rtmp: precaution for a potential integer truncation
x2018 Nov 7, 2025
9c0ccd2
vtls: handle possible malicious certs_num from peer
x2018 Nov 7, 2025
16c6ea3
GHA/linux: add minimal Fil-C build with tests
vszakats Nov 6, 2025
f55974c
vtls: fix CURLOPT_CAPATH use
icing Nov 8, 2025
8442c24
CURLINFO: remove 'get' and 'get the' from each short desc
bagder Nov 8, 2025
a5c0dfc
CURLINFO_TLS_SSL_PTR.md: remove CURLINFO_TLS_SESSION text
bagder Nov 8, 2025
d083f52
CURLINFO_SCHEME/PROTOCOL: they return the "scheme" for a "transfer"
bagder Nov 8, 2025
64489bc
CURLOPT_READFUNCTION.md: clarify the size of the buffer
bagder Nov 8, 2025
7e0d4dd
CURLOPT_SSH_KEYFUNCTION.md: fix minor indent mistake in example
bagder Nov 8, 2025
3752de4
pytest: skip H2 tests if feature missing from curl
vszakats Nov 8, 2025
c262481
GHA/linux: build and test LibreSSL with Fil-C curl, enable pytests
vszakats Nov 8, 2025
019874f
GHA/linux: stop disabling TLS-SRP tests in event-based & duphandle jobs
vszakats Nov 8, 2025
239c389
openssl: release ssl_session if sess_reuse_cb fails
x2018 Nov 8, 2025
5958439
tftp: release filename if conn_get_remote_addr fails
x2018 Nov 8, 2025
1bddfe0
asyn-thrdd: release rrname if ares_init_options fails
x2018 Nov 8, 2025
a002c50
ftp: refactor a piece of code by merging the repeated part
x2018 Nov 8, 2025
92fd791
mqtt: reject overly big messages
bagder Nov 9, 2025
7aa5012
TODO: improve code for large MQTT payloads
bagder Nov 9, 2025
d35c880
INSTALL-CMAKE.md: document static option defaults more
vszakats Nov 9, 2025
f760a5c
tests/data: replace `%CR` with `crlf=headers` where possible
vszakats Nov 9, 2025
49ef2f8
cmake: adjust defaults for target platforms not supporting shared libs
vszakats Nov 8, 2025
67236f7
tests/data: delete stray space indentation from xml tags
vszakats Nov 4, 2025
28ff2b2
tests/data: replace hard-coded test numbers with `%TESTNUMBER`
vszakats Nov 9, 2025
c6f1b0f
tests/server: do not fall back to original data file in `test2fopen()`
vszakats Nov 9, 2025
2701ac6
processhelp.pm: log taskkill pid info, add debug envs, enable in CI
vszakats Nov 9, 2025
c791223
setopt: disable CURLOPT_HAPROXY_CLIENT_IP on NULL
bagder Nov 10, 2025
79d3e1d
wcurl: import v2025.11.09
samueloph Nov 9, 2025
00872d5
rtmp: fix double-free on URL parse errors
bagder Nov 10, 2025
b0aba10
cshutdn: acknowledge FD_SETSIZE for shutdown descriptors
stanislavfortaisle Nov 10, 2025
87149c8
mqtt: properly handle the message which exceeds maxsize
x2018 Nov 9, 2025
baafa5f
schannel: fix potental memory leak of cert_store_path on four error p…
x2018 Nov 9, 2025
660f244
urlapi: fix mem-leaks in curl_url_get error paths
bagder Nov 10, 2025
323b33d
digest_sspi: properly free sspi identity
x2018 Nov 9, 2025
24774bb
GHA: update awslabs/aws-lc to v1.63.0
renovate[bot] Nov 10, 2025
4efe88e
renovate.json: drop parentheses from group names
bagder Nov 10, 2025
2f768b8
RELEASE-NOTES: synced
bagder Nov 10, 2025
2f29a8f
RELEASE-NOTES: spellcheck
bagder Nov 10, 2025
37050a1
OS400/ccsidcurl: fix curl_easy_setopt_ccsid for non-converted blobs
bagder Nov 10, 2025
7e87255
socks_sspi: use free() not FreeContextBuffer()
bagder Nov 10, 2025
8e321a5
examples/crawler: fix variable
bagder Nov 10, 2025
f477f3e
tests/data: support using native newlines on disk, drop `.gitattributes`
vszakats Nov 7, 2025
b39c158
scripts: fix shellcheck SC2046 warnings
vszakats Nov 9, 2025
77be4a7
mdlinkcheck: pass curl arguments to `open()` as list
vszakats Nov 10, 2025
a8e46c5
verify-release: update to avoid shellcheck warning SC2034
vszakats Nov 10, 2025
6aab1dc
scripts: use end-of-options marker in `find -exec` commands
vszakats Nov 10, 2025
af5a164
OS400/makefile.sh: fix shellcheck warning SC2038
vszakats Nov 10, 2025
cdb7ac1
GHA/linux: disable test 776 in valgrind jobs to avoid delay
vszakats Nov 10, 2025
b81d30a
pytest: fix conditions for test_02_28
vszakats Nov 10, 2025
67ef4a3
GHA/linux: build and enable nghttp2 for Fil-C job
vszakats Nov 10, 2025
c545e10
sftp: fix range downloads in both SSH backends
bagder Nov 11, 2025
3f1a8db
rustls: fix a potential memory issue
x2018 Nov 9, 2025
10b2dd8
krb5_sspi: unify a part of error handling
x2018 Nov 10, 2025
0dacc07
cf-https-connect: allocate ctx at first in cf_hc_create()
x2018 Nov 10, 2025
28380bb
progress: show fewer digits
bagder Nov 9, 2025
5bd670c
wolfssl: avoid NULL dereference in OOM situation
bagder Nov 11, 2025
6ca1d05
ftp: remove #ifdef for define that is always defined
bagder Nov 11, 2025
3d9f7b4
noproxy: simplify Curl_check_noproxy
bagder Nov 11, 2025
8c9946d
ccsidcurl: make curl_mime_data_ccsid() use the converted size
bagder Nov 11, 2025
f1f5cc7
cf-socket: split out the MTU and GRO setopts into sep functions
bagder Nov 11, 2025
f544eb9
docs: Line endings are no longer significant in test files
dfandrich Nov 11, 2025
d499aa5
mk-ca-bundle.pl: use `open()` with argument list to replace backticks
vszakats Nov 11, 2025
ebc5fea
autotools: drop autoconf <2.59 compatibility code (zz60-xc-ovr)
vszakats Nov 11, 2025
4841e42
badwords: re-sync with curl-www, fix issues found
vszakats Nov 11, 2025
4bb6a5d
tool_operate: use curlx_str_number intead of atoi
bagder Nov 12, 2025
2077211
src/checksrc: ban atoi use
bagder Nov 12, 2025
97b0abb
noproxy: replace atoi with curlx_str_number
bagder Nov 12, 2025
3b4bf3f
telnet: replace atoi for BINARY handling with curlx_str_number
bagder Nov 12, 2025
7aaf9a3
http: replace atoi use in Curl_http_follow with curlx_str_number
bagder Nov 12, 2025
7428060
libssh2: cleanup ssh_force_knownhost_key_type
bagder Nov 12, 2025
b2e0b4d
libssh2: replace atoi() in ssh_force_knownhost_key_type
bagder Nov 12, 2025
9c87b3e
OS400/makefile.sh: fix shellcheck warning SC2038 differently
vszakats Nov 12, 2025
a862920
hostip: don't store negative lookup on OOM
bagder Nov 12, 2025
96a5ce5
test2405: report `fd_count*` variables on failure
vszakats Nov 12, 2025
ebead15
lib1509: make callbacks static
vszakats Nov 12, 2025
2c7e179
test2405: split off H2 tests to new test 2407, fix callback prototype
vszakats Nov 12, 2025
a9ec2a6
tests/data: avoid tag markup in comments
vszakats Nov 12, 2025
1e5cb75
test363: delete stray character (typo) from a section tag
vszakats Nov 12, 2025
ce329af
test557: avoid `&` symbol in test output to be XML-friendly
vszakats Nov 11, 2025
d077d54
test1554: make test output XML-friendly
vszakats Nov 12, 2025
d7b0b65
test1404, 1547: replace `&` char in comment and name for XML-friendli…
vszakats Nov 12, 2025
8a19bf8
test2045: replace HTML multi-line comment markup with `#` comments
vszakats Nov 12, 2025
6b26d46
tests/data: use more `repeat` macro
vszakats Nov 12, 2025
4b2da75
test716: use `repeat` macro
vszakats Nov 12, 2025
c6eb9bb
_PROGRESS.md: add the E unit, mention kibibyte
bagder Nov 12, 2025
64c03bb
OS400: fix build
monnerat Nov 12, 2025
3d42510
runtests: allow `client/command` to span multiple lines, and use it
vszakats Nov 12, 2025
f1fec22
RELEASE-NOTES: synced
bagder Nov 13, 2025
296ffc4
schannel: replace atoi() with curlx_str_number()
bagder Nov 12, 2025
3f0629c
cookie: propagate errors better, cleanup the internal API
bagder Nov 12, 2025
e496bcf
FILEFORMAT.md: drop some text from the `command` section
vszakats Nov 12, 2025
4415e86
libtests: replace `atoi()` with `curlx_str_number()`
vszakats Nov 13, 2025
e18ad59
runtests: add missing Perl semicolon
vszakats Nov 13, 2025
85cfc15
RELEASE-NOTES: codespell
vszakats Nov 13, 2025
ca27404
tests/data: add `%includetext`, dedupe XML payloads into external file
vszakats Nov 13, 2025
78a610c
lib: rename curlx_timediff to curlx_timeleft_ms
icing Nov 12, 2025
cb2bcb6
lib: eliminate size_t casts
icing Nov 12, 2025
833c429
wolfssl: simplify wssl_send_earlydata
bagder Nov 13, 2025
bb1391f
tests/server: replace `atoi()` and `atol()` with `curlx_str_number()`
vszakats Nov 13, 2025
6384e2a
checksrc: disallow `atoi` and `atol` globally
vszakats Nov 12, 2025
f2a75a1
sws: repair --port, and accept any port
bagder Nov 13, 2025
75955c0
tool_operate: exit on curl_share_setopt errors
bagder Nov 13, 2025
0afb52a
code: minor indent fixes before closing braces
bagder Nov 13, 2025
42098d1
checksrc: verify close brace indent level
bagder Nov 11, 2025
e3e0559
config2setopts: exit if curl_url_set() fails on OOM
bagder Nov 13, 2025
96500f4
tidy-up: result code variable names in tests and examples
vszakats Nov 13, 2025
ae7b4ee
curl_setup.h: drop stray `#undef stat` (Windows)
vszakats Nov 13, 2025
3fc31c4
config2setopts: bail out if curl_url_get() returns OOM
bagder Nov 13, 2025
5f4cd4c
DEPRECATE: remove RTMP support in April 2026
bagder Nov 10, 2025
971e8d6
examples/multithread: fix race condition
icing Nov 14, 2025
9a633ec
connect: reshuffle Curl_timeleft_ms to avoid 'redundant condition'
bagder Nov 14, 2025
0abb722
getinfo: improve perf in debug mode
icing Nov 14, 2025
9f979ea
vtls: pinned key check
icing Nov 14, 2025
dc34498
cf-socket: trace ignored errors
icing Nov 14, 2025
3d91ca8
vquic-tls/gnutls: call Curl_gtls_verifyserver unconditionally
bagder Nov 14, 2025
f37c956
test07_22: fix flakiness
icing Nov 14, 2025
57b4fe1
limit-rate: add example using --limit-rate and --max-time together
nait-furry Nov 11, 2025
f3095f0
GHA/checksrc: check XML files for errors
vszakats Nov 14, 2025
af4c789
badwords: fix two exceptions and drop them
vszakats Nov 14, 2025
231e8a7
docs: fix checksrc warning, fix checkdocs CI filter
vszakats Nov 14, 2025
7bb59a7
badwords.pl: fix variable in printf mask
vszakats Nov 14, 2025
8a96809
mk-ca-bundle.pl: default to SHA256 fingerprints with `-t` option
vszakats Nov 4, 2025
2dc71ba
badwords: check indented lines in source code, fix fallouts
vszakats Nov 14, 2025
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
  •  
  •  
  •  
21 changes: 19 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +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: '/'
schedule:
interval: 'monthly'
cooldown:
default-days: 7
groups:
gha-dependencies:
patterns:
- '*'
commit-message:
prefix: 'GHA:'

- package-ecosystem: 'pip'
directories:
- '/.github/scripts'
- '/tests'
- '.github/scripts'
- 'tests'
schedule:
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:'
3 changes: 2 additions & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,9 @@ cryptography:
docs/libcurl/opts/CURLOPT_EGDSOCKET*,\
lib/*sha256*,\
lib/*sha512*,\
lib/curl_des.*,\
lib/curl_hmac.*,\
lib/curl_md?.*,\
lib/curl_ntlm_core.*,\
lib/md?.*,\
lib/rand.*\
}"
Expand Down Expand Up @@ -451,6 +451,7 @@ TLS:
- all:
- changed-files:
- any-glob-to-all-files: "{\
CMake/FindGnuTLS.cmake,\
CMake/FindMbedTLS.cmake,\
CMake/FindWolfSSL.cmake,\
CMake/FindRustls.cmake,\
Expand Down
45 changes: 39 additions & 6 deletions .github/scripts/badwords.pl
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,29 @@
my @whitelist;
my %alt;
my %exactcase;
my $skip_indented = 1;

if($ARGV[0] eq "-a") {
shift @ARGV;
$skip_indented = 0;
}
my %wl;
if($ARGV[0] eq "-w") {
shift @ARGV;
my $file = shift @ARGV;
open(W, "<$file");
while(<W>) {
if(/^#/) {
# allow #-comments
next;
}
if(/^([^:]*):(\d+):(.*)/) {
$wl{"$1:$2:$3"}=1;
#print STDERR "whitelisted $1:$2:$3\n";
}
}
close(W);
}

my @w;
while(<STDIN>) {
Expand All @@ -30,7 +53,7 @@
if($_ =~ /^---(.*)/) {
push @whitelist, $1;
}
elsif($_ =~ /^([^:=]*)([:=])(.*)/) {
elsif($_ =~ /^(.*)([:=])(.*)/) {
my ($bad, $sep, $better)=($1, $2, $3);
push @w, $bad;
$alt{$bad} = $better;
Expand All @@ -50,7 +73,7 @@ sub file {
my $in = $_;
$l++;
chomp $in;
if($in =~ /^ /) {
if($skip_indented && $in =~ /^ /) {
next;
}
# remove the link part
Expand All @@ -67,8 +90,16 @@ sub file {
($in =~ /^(.*)$w/ && $case) ) {
my $p = $1;
my $c = length($p)+1;

my $ch = "$f:$l:$w";
if($wl{$ch}) {
# whitelisted
print STDERR "$ch found but whitelisted\n";
next;
}

print STDERR "$f:$l:$c: error: found bad word \"$w\"\n";
printf STDERR " %4d | $in\n", $l;
printf STDERR " %4d | %s\n", $l, $in;
printf STDERR " | %*s^%s\n", length($p), " ",
"~" x (length($w)-1);
printf STDERR " maybe use \"%s\" instead?\n", $alt{$w};
Expand All @@ -79,9 +110,11 @@ sub file {
close(F);
}

my @files = @ARGV;

foreach my $each (@files) {
my @filemasks = @ARGV;
open(my $git_ls_files, '-|', 'git', 'ls-files', '--', @filemasks) or die "Failed running git ls-files: $!";
while(my $each = <$git_ls_files>) {
chomp $each;
file($each);
}
close $git_ls_files;
exit $errors;
62 changes: 33 additions & 29 deletions .github/scripts/badwords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,63 +3,63 @@
# SPDX-License-Identifier: curl
#
back-end:backend
e-mail:email
\be-mail[^/]:email
run-time:runtime
set-up:setup
tool chain:toolchain
tool-chain:toolchain
wild-card:wildcard
wild card:wildcard
\bit's:it is
aren't:are not
can't:cannot
could've:could have
couldn't:could not
didn't:did not
doesn't:does not
don't=do not
i'm:I am
you've:You have
we've:we have
we're:we are
we'll:we will
we'd:we would
they've:They have
they're:They are
they'll:They will
isn't:is not
it'd:it would
should've:should have
that's:that is
there's:there is
they'd:They would
you've:you have
they'll:They will
they're:They are
they've:They have
we'd:we would
we'll:we will
we're:we are
we've:we have
won't:will not
you'd:you would
you'll:you will
you're:you are
should've:should have
don't=do not
could've:could have
doesn't:does not
isn't:is not
aren't:are not
you've:you have
a html: an html
a http: an http
a ftp: an ftp
a IPv4: an IPv4
a IPv6: an IPv6
url =URL
internet\b=Internet
url [^=]=URL
[^/]internet\b=Internet
isation:ization
\bit's:it is
it'd:it would
there's:there is
[^.]\. And: Rewrite it somehow?
^(And|So|But) = Rewrite it somehow?
\. But: Rewrite it somehow?
\. So : Rewrite without "so" ?
dir :directory
can't:cannot
that's:that is
dir [^=]=directory
Dir [^=]=Directory
sub-director:subdirector
web page:webpage
host name\b:hostname
host names\b:hostnames
file name\b:filename
[^;<]file name\b:filename
file names\b:filenames
\buser name\b:username
\buser names\b:usernames
\bpass phrase:passphrase
didn't:did not
doesn't:does not
won't:will not
couldn't:could not
\bwill\b:rewrite to present tense
\b32bit=32-bit
\b64bit=64-bit
Expand All @@ -69,7 +69,11 @@ couldn't:could not
32-bits:32 bits or 32-bit
\bvery\b:rephrase using an alternative word
\bCurl\b=curl
\bcURL\b=curl
\bLibcurl\b=libcurl
\bLibCurl\b=libcurl
---WWW::Curl
---NET::Curl
---Curl Corporation
\bmanpages[^./&:-]:man pages
\bmanpage[^si./&:-]:man page
6 changes: 5 additions & 1 deletion .github/scripts/cleancmd.pl
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,10 @@ sub process {
}
}

for my $f (@ARGV) {
my @filemasks = @ARGV;
open(my $git_ls_files, '-|', 'git', 'ls-files', '--', @filemasks) or die "Failed running git ls-files: $!";
while(my $f = <$git_ls_files>) {
chomp $f;
process($f);
}
close $git_ls_files;
4 changes: 2 additions & 2 deletions .github/scripts/codespell.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ set -eu

cd "$(dirname "${0}")"/../..

# shellcheck disable=SC2046
git ls-files -z | xargs -0 -r \
codespell \
--skip '.github/scripts/pyspelling.words' \
--skip '.github/scripts/typos.toml' \
Expand All @@ -16,4 +16,4 @@ codespell \
--skip 'scripts/wcurl' \
--ignore-regex '.*spellchecker:disable-line' \
--ignore-words '.github/scripts/codespell-ignore.words' \
$(git ls-files)
--
5 changes: 4 additions & 1 deletion .github/scripts/pyspelling.words
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,6 @@ CSeq
csh
cshrc
CTRL
cURL
CURLcode
curldown
CURLE
Expand Down Expand Up @@ -245,6 +244,7 @@ et
etag
ETag
ETags
exa
exe
executables
EXPN
Expand Down Expand Up @@ -418,6 +418,7 @@ kerberos
Keychain
keychain
KiB
kibibyte
kickstart
Kirei
Knauf
Expand Down Expand Up @@ -492,6 +493,7 @@ Mavrogiannopoulos
Mbed
mbedTLS
md
mebibyte
Meglio
memdebug
MesaLink
Expand Down Expand Up @@ -889,6 +891,7 @@ UI
UID
UIDL
Ultrix
umask
Unary
unassign
UNC
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/requirements-docs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
#
# SPDX-License-Identifier: curl

pyspelling==2.11
pyspelling==2.12
4 changes: 2 additions & 2 deletions .github/scripts/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
cmakelang==0.6.13
codespell==2.4.1
pytype==2024.10.11
reuse==6.1.2
ruff==0.14.0
reuse==6.2.0
ruff==0.14.2
10 changes: 7 additions & 3 deletions .github/scripts/shellcheck.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
#
# SPDX-License-Identifier: curl

# shellcheck disable=SC2046
shellcheck --exclude=1091 \
set -eu

cd "$(dirname "${0}")"/../..

git grep -z -l -E '^#!(/usr/bin/env bash|/bin/sh|/bin/bash)' | xargs -0 -r \
shellcheck --exclude=1091,2248 \
--enable=avoid-nullary-conditions,deprecate-which \
$(grep -l -E '^#!(/usr/bin/env bash|/bin/sh|/bin/bash)' $(git ls-files))
--
21 changes: 5 additions & 16 deletions .github/scripts/spacecheck.pl
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,10 @@
"^tests/data/test",
);

my @mixed_eol = (
"^tests/data/test",
);

my @need_crlf = (
"\\.(bat|sln)\$",
);

my @space_at_eol = (
"^tests/data/test",
);

my @non_ascii_allowed = (
'\xC3\xB6', # UTF-8 for https://codepoints.net/U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
);
Expand Down Expand Up @@ -96,11 +88,11 @@ sub eol_detect {

my $issues = 0;

open my $git_ls_files, '-|', 'git ls-files' or die "Failed running git ls-files: $!";
open(my $git_ls_files, '-|', 'git ls-files') or die "Failed running git ls-files: $!";
while(my $filename = <$git_ls_files>) {
chomp $filename;

open my $fh, '<', $filename or die "Cannot open '$filename': $!";
open(my $fh, '<', $filename) or die "Cannot open '$filename': $!";
my $content = do { local $/; <$fh> };
close $fh;

Expand All @@ -113,8 +105,7 @@ sub eol_detect {

my $eol = eol_detect($content);

if($eol eq "" &&
!fn_match($filename, @mixed_eol)) {
if($eol eq "") {
push @err, "content: has mixed EOL types";
}

Expand All @@ -124,13 +115,11 @@ sub eol_detect {
}

if($eol ne "lf" && $content ne "" &&
!fn_match($filename, @need_crlf) &&
!fn_match($filename, @mixed_eol)) {
!fn_match($filename, @need_crlf)) {
push @err, "content: must use LF EOL for this file type";
}

if(!fn_match($filename, @space_at_eol) &&
$content =~ /[ \t]\n/) {
if($content =~ /[ \t]\n/) {
my $line;
for my $l (split(/\n/, $content)) {
$line++;
Expand Down
Loading