Skip to content

[pull] master from curl:master #163

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 134 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
de881a9
ECH: reference the OpenSSL ECH feature branch
sftcd May 5, 2025
d57bdbf
openldap: use connection meta for context struct
icing Apr 29, 2025
378aa01
tftp: use connections meta hash
icing Apr 30, 2025
a2d90d4
ftp: use easy handle and connectin meta data for protocol structs
icing May 5, 2025
76d13c7
pop3: use meta hashes at easy handle and connection
icing Apr 30, 2025
cd3be11
rtmp: use connection meta for RTMP* instance
icing Apr 30, 2025
777c520
smb: use easy handle/connection meta hash to keep structs
icing Apr 30, 2025
a30830d
ftp: fix bug in failed init
icing May 6, 2025
f7c544d
pop3: add null pointer check
bagder May 6, 2025
2e49965
rtsp: move easy handle/connection protoocol structs into meta data
icing May 6, 2025
220eda3
tests: separate tunit tests from unit tests more
bagder May 6, 2025
e3802ab
generate.bat: exclude curlinfo.c from legacy VS projects
jay May 6, 2025
c6d0524
cmake: set `BUILDING_LIBCURL` directly for unit test targets
vszakats May 6, 2025
17e13cb
imap: use easy handle/connection meta for proto structs
icing May 6, 2025
255aac5
curlx: move into to curlx/
bagder May 7, 2025
cf38e00
metahash: add asserts to help analyzers
bagder May 7, 2025
bc46ff2
RELEASE-PROCEDURE: update the coming release dates
bagder May 7, 2025
7b92844
smtp: use easy handle/connectin meta for proto structs
icing May 6, 2025
3a26897
vtls: avoid NULL deref on bad PEM input
bagder May 7, 2025
412d3c3
ldap: move easy handle protocol struct into meta hash
icing May 7, 2025
613436d
netrc: avoid NULL deref on weird input
bagder May 7, 2025
283ad5c
GHA/windows: set `persist-credentials: false` where missing
vszakats May 7, 2025
e522f47
GHA/checksrc: check GHA rules with zizmor
vszakats May 7, 2025
d689bd9
src: rename curlx_safefree to tool_safefree
bagder May 7, 2025
40ef77b
headers: enforce a max number of response header to accept
bagder May 7, 2025
f705776
telnet: keep protocol struct at easy handle meta
icing May 7, 2025
2d52889
lib: move multibyte.[ch] to curlx/
bagder May 8, 2025
c30c7d2
src: include memdebug.h consistently with angle brackets <>
bagder May 8, 2025
778f306
rtmp: remove no longer used proto member
icing May 6, 2025
f0fc30e
winbuild: curl_get_line is not used for tool builds
bagder May 8, 2025
5b420f6
src: drop strcase.[ch] from tool builds
bagder May 8, 2025
09fed29
ssh: move easy handle/connection protocol structs to meta
icing May 7, 2025
1c6fc0c
curlx: simplify the curlx_unicodefree macro
bagder May 8, 2025
27bc798
file: use easy handle meta for protocol struct
icing May 8, 2025
4190c73
curlx: move nonblock.[ch] into curlx/
bagder May 8, 2025
5b454ba
cmake: test integration with old cmake (v3.11.4 2018-03-28)
vszakats May 8, 2025
16db059
curlx: move version_win32.[ch] to curlx/
bagder May 8, 2025
5fef848
RELEASE-NOTES: synced
bagder May 8, 2025
a129859
lib: drop curlx_getpid, use fake pid in SMB
bagder May 9, 2025
9468503
tests: stop using libcurl's strdup
bagder May 8, 2025
c74d3e1
curlx: add curlx_winapi_ functions
bagder May 9, 2025
d4dd43b
curlx: move curlx_inet_pton
bagder May 9, 2025
1499319
windows: fix to preserve error code in `curlx_winapi_strerror()`
vszakats May 9, 2025
cd7904f
CURLMOPT_TIMERFUNCTION.md: correct the example
bagder May 9, 2025
13032ff
curl: fix memory leak when -h is used in config file
bagder May 9, 2025
ff84228
base64: pass in the padding byte separately
bagder May 10, 2025
6748363
mime: reuse the base64 string from the base64 code
bagder May 10, 2025
38865c8
test1621: Improve stripcredentials tests
dfandrich May 7, 2025
3b3d6a4
timeval.c: #include fix
bagder May 11, 2025
b794264
curl_version_info.md: clarify ssl_version for MultiSSL
jay May 10, 2025
c37f4b6
inet_ntop: rename curlx_inet_ntop to Curl_inet_ntop
bagder May 11, 2025
1eb3928
mprintf: remove outdated comment about SIZEOF_SIZE_T
bagder May 11, 2025
f862f86
mprintf: provide hex digits for escape.c to use
bagder May 11, 2025
9455746
RELEASE-NOTES: synced
bagder May 12, 2025
5f6c714
http_chunks: narrow variable scope for 'trlen'
bagder May 12, 2025
c5398fa
netrc: avoid strdup NULL
bagder May 12, 2025
da06f01
rtsp: remove redundant condition
bagder May 12, 2025
dc42723
imap: remove redundant condition
bagder May 12, 2025
4f055fe
mk-ca-bundle: switch URLs to GitHub versions
bagder May 12, 2025
1447063
tests/server: check for `stream != NULL` in mqttd
vszakats May 12, 2025
1ef5bef
tests/server: remove TEST use, include <memdebug.h>
bagder May 12, 2025
cf511e7
TODO: Retry SOCKS handshake
bagder May 12, 2025
2e1040f
asny-thrdd: fix detach from running thread
icing May 12, 2025
8b33704
tests/server: stop using libcurl's printf functions
bagder May 9, 2025
fca1fdc
docs: update distros links
dfandrich May 12, 2025
9243ed5
spacecheck.pl: verify `tests/data/test*` for non-ASCII chars
vszakats May 12, 2025
abd400a
tests/FILEFORMAT.md: clarify %hex[] formatting
bagder May 13, 2025
47896d4
tests/server: stop using libcurl string comparisons
bagder May 12, 2025
65444f1
curlx: move the docs to docs/internals/
bagder May 13, 2025
11cad7b
tests: provide all non-ascii data hex encoded
bagder May 13, 2025
e270881
lib1560: use hex notation, drop non-ASCII exception
vszakats May 13, 2025
a8b947e
headers: set an error message on illegal response headers
bagder May 13, 2025
0cce66b
setopt: provide info for CURLE_BAD_FUNCTION_ARGUMENT
bagder May 13, 2025
4efeeaa
tests/server/Makefile.inc: cleanup
bagder May 13, 2025
828f998
spacecheck.pl: drop more exceptions
vszakats May 13, 2025
028c129
scripts: move the ruff linter command into a script
dfandrich May 13, 2025
6f6ee60
libssh: split up the state machine function
bagder May 14, 2025
f0f6c61
_SEEALSO.md: remove spaces around command and man page section
bagder May 14, 2025
b97d5f9
GHA: add libssh to the openssl O3 job
bagder May 14, 2025
235b575
tests: add aws feature to the related tests
majstar May 14, 2025
473b3e5
tests/FILEFORMAT.md: document the aws feature
bagder May 14, 2025
f5b7eb2
netrc: deal with null token better
bagder May 14, 2025
0c749d8
pytest: give parameterised tests better ids for read- and parsability
icing May 13, 2025
d59d853
ngtcp2: clarify ignoring of result
icing May 15, 2025
a9aafbe
CONTRIBUTE: add project guidelines for AI use
bagder May 12, 2025
9c8cbbd
RELEASE-NOTES: synced
bagder May 15, 2025
f97d372
tool_operate: move config2setopts to separate file, split into subs
bagder May 15, 2025
8076824
GHA/curl-for-win: build one job with classic zlib
vszakats May 15, 2025
b4310c0
docs/libcurl: mention sensitive data/headers
bagder May 15, 2025
f0bf43e
libssh2: split up ssh_statemachine
bagder May 15, 2025
30ef79e
pytest-xdist: pytest in parallel
icing May 12, 2025
f51c6d2
test1173.pl: whitelist some option-looking names that aren't options
bagder May 15, 2025
f7ff1d1
libssh: remove a condition that always equals false
bagder May 15, 2025
96726af
libssh: add NULL check for Curl_meta_get()
bagder May 15, 2025
73b8912
asnyc-thrdd: explain how this is okay with a comment
icing May 16, 2025
e0f05bc
urlapi: remove unneeded guards around PUNY2IDN
jacobmealey May 15, 2025
74cfba6
libssh2: remove the 'actualcode' struct field
bagder May 16, 2025
f5a4d3c
formdata: split up FormAdd
MonkeybreadSoftware May 16, 2025
0013bbd
libtests: define CURL_DISABLE_DEPRECATION first
bagder May 16, 2025
6414cc6
setopt: split setopt_long
MonkeybreadSoftware May 16, 2025
99f5c5c
tool_operate: when retrying, only truncate regular files
bagder May 16, 2025
30e40c1
RELEASE-NOTES: synced
bagder May 19, 2025
c26da71
formdata: cleanups
bagder May 16, 2025
dd22442
tool_operate: make retrycheck() a separate function
bagder May 19, 2025
a85f1df
pytest tls: extend coverage
icing May 17, 2025
8491e65
DEPRECATE.md: drop Windows CE support
bagder May 18, 2025
e83e8c3
ftplistparser: split up into more functions
bagder May 19, 2025
63e513b
DEPRECATE.md: drop support for VS2008
bagder May 18, 2025
c0f724e
urldata: move a struct field in ssl_primary_config
bagder May 19, 2025
60f8f6d
GHA/linux: restore native arm job
vszakats May 16, 2025
42331cb
pytest: enable in 5 GHA jobs, fix fallouts
vszakats May 15, 2025
f56309f
GHA/non-native: update cross-platform-actions/action action to v0.28.0
renovate[bot] May 19, 2025
414ec13
GHA/non-native: bump to FreeBSD 14.2, OpenBSD 7.7
vszakats May 19, 2025
e785e89
checksrc: avoid extra runs in CI, enable more check locally, fix fall…
vszakats May 17, 2025
1952467
GHA/non-native: update cross-platform-actions/action digest to 97419d1
renovate[bot] May 19, 2025
1e4a59f
DEPRECATE.md: fix typo
vszakats May 19, 2025
3ec6aa5
formdata: fix memory leak in OOM situation
bagder May 20, 2025
be45e01
dns_entry: move from conn to data->state
icing May 19, 2025
155af7a
ftplistparser: add two overflow preventions
bagder May 20, 2025
6422005
DEPRECATE: restore the Windows CE text
bagder May 20, 2025
5763449
RELEASE-NOTES: synced
bagder May 21, 2025
c19465c
http_aws_sigv4: improve sigv4 url encoding and canonicalization
nbaws Apr 27, 2025
5b4bd55
url: fix @param in create_conn header to new one
MonkeybreadSoftware May 21, 2025
8c8186e
http_aws_sigv4: avoid risk of overflowed constant
bagder May 21, 2025
196afaf
ftplistparser: protect two more len -1 uses
bagder May 21, 2025
613308a
unit1979, unit1980: fix indent, formatting, scope
vszakats May 21, 2025
d214e62
configure: suppress command not found for brew
Kangie May 21, 2025
7836c3d
openssl: reduce Curl_ossl_ctx_init complexity
icing May 21, 2025
2dfe421
build: fix OS400 build after curlx move
andrewkirillov-ibm May 21, 2025
e1f6593
pytest: add pinnedpubkey test cases
icing May 21, 2025
35e1e7b
url: reduce complexity of url_match_conn
icing May 21, 2025
497d3c7
ftplistparser: protect more cases decrementing 'len'
bagder May 21, 2025
4a2bd8e
mprintf: move outputs into separate functions
bagder May 21, 2025
203b434
GHA: add a job to check function complexity
bagder May 20, 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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ Windows:
.github/workflows/windows.yml,\
CMake/win32-cache.cmake,\
lib/*win32*,\
lib/curl_multibyte.*,\
lib/curlx/multibyte.*,\
lib/rename.*,\
lib/vtls/schannel*,\
m4/curl-schannel.m4,\
Expand Down
26 changes: 12 additions & 14 deletions .github/scripts/spacecheck.pl
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,7 @@
);

my @non_ascii_allowed = (
'\xC3\xA1', # UTF-8 for https://codepoints.net/U+00E1 LATIN SMALL LETTER A WITH ACUTE
'\xC3\xA5', # UTF-8 for https://codepoints.net/U+00E5 LATIN SMALL LETTER A WITH RING ABOVE
'\xC3\xA4', # UTF-8 for https://codepoints.net/U+00E4 LATIN SMALL LETTER A WITH DIAERESIS
'\xC3\xB6', # UTF-8 for https://codepoints.net/U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
'\xC2\xB1', # UTF-8 for https://codepoints.net/U+00B1 PLUS-MINUS SIGN
'\xC2\xA7', # UTF-8 for https://codepoints.net/U+00A7 SECTION SIGN
'\xC3\x9F', # UTF-8 for https://codepoints.net/U+00DF LATIN SMALL LETTER SHARP S
'\xF0\x9F\x99\x8F', # UTF-8 for https://codepoints.net/U+1f64f PERSON WITH FOLDED HANDS
'\xC3\xB6', # UTF-8 for https://codepoints.net/U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
);

my $non_ascii_allowed = join(', ', @non_ascii_allowed);
Expand All @@ -65,11 +58,8 @@
".mailmap",
"RELEASE-NOTES",
"docs/BINDINGS.md",
"docs/CIPHERS.md",
"docs/THANKS",
"docs/THANKS-filter",
"tests/libtest/lib1560.c",
"^tests/data/test",
);

sub fn_match {
Expand Down Expand Up @@ -159,11 +149,19 @@ sub eol_detect {
push @err, "content: has binary contents";
}

$content =~ s/[$non_ascii_allowed]//g;
if($filename !~ /tests\/data/) {
# the tests have no allowed UTF bytes
$content =~ s/[$non_ascii_allowed]//g;
}

if(!fn_match($filename, @non_ascii) &&
$content =~ /([\x80-\xff]+)/) {
push @err, "content: has non-ASCII: '$1'";
($content =~ /([\x80-\xff]+)/)) {
my $non = $1;
my $hex;
for my $e (split(//, $non)) {
$hex .= sprintf("%s%02x", $hex ? " ": "", ord($e));
}
push @err, "content: has non-ASCII: '$non' ($hex)";
}

if(@err) {
Expand Down
43 changes: 39 additions & 4 deletions .github/workflows/checksrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
name: checkout

- name: check
run: git ls-files -z "*.[ch]" | xargs -0 -n1 ./scripts/checksrc.pl
run: scripts/checksrc-all.sh

codespell-cmakelint-pytype-ruff:
runs-on: ubuntu-latest
Expand All @@ -62,8 +62,8 @@ jobs:
codespell python3-pip python3-networkx python3-pydot python3-yaml \
python3-toml python3-markupsafe python3-jinja2 python3-tabulate \
python3-typing-extensions python3-libcst python3-impacket \
python3-websockets python3-pytest
python3 -m pip install --break-system-packages cmakelint==1.4.3 pytype==2024.9.13 ruff==0.6.8
python3-websockets python3-pytest python3-filelock python3-pytest-xdist
python3 -m pip install --break-system-packages cmakelint==1.4.3 pytype==2024.10.11 ruff==0.11.9

- name: spellcheck
run: |
Expand All @@ -81,7 +81,7 @@ jobs:
run: find . -name '*.py' -exec pytype -j auto -k {} +

- name: ruff
run: ruff check --extend-select=B007,B016,C405,C416,COM818,D200,D213,D204,D401,D415,FURB129,N818,PERF401,PERF403,PIE790,PIE808,PLW0127,Q004,RUF010,SIM101,SIM117,SIM118,TRY400,TRY401
run: scripts/pythonlint.sh

reuse:
runs-on: ubuntu-latest
Expand All @@ -94,6 +94,26 @@ jobs:
- name: REUSE Compliance Check
uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5

complexity:
runs-on: ubuntu-latest
timeout-minutes: 3
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
name: checkout

- name: install pmccabe
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get -o Dpkg::Use-Pty=0 update
sudo rm -f /var/lib/man-db/auto-update
sudo apt-get -o Dpkg::Use-Pty=0 install \
pmccabe

- name: check complexity scores
run: ./scripts/top-complexity

miscchecks:
runs-on: ubuntu-latest
timeout-minutes: 5
Expand All @@ -117,3 +137,18 @@ jobs:
run: |
grep -Ev '(\\bwill| url | dir )' .github/scripts/badwords.txt | \
.github/scripts/badwords.pl $(git ls-files -- src lib include)

ghacheck:
name: GHA analysis
runs-on: macos-latest
timeout-minutes: 1
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
name: checkout

- name: zizmor
run: |
brew install zizmor
zizmor --pedantic .github/workflows/*.yml
2 changes: 1 addition & 1 deletion .github/workflows/curl-for-win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ jobs:
"${DOCKER_IMAGE}" \
sh -c ./_ci-linux-debian.sh

win-gcc-libssh-zlibng-x86:
win-gcc-libssh-zlibold-x86:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
Expand Down
48 changes: 46 additions & 2 deletions .github/workflows/distcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,8 @@ jobs:
make
make test-ci
make install
popd
scripts/checksrc-all.sh

verify-out-of-tree-cmake:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -173,6 +175,7 @@ jobs:
env:
CC: ${{ !contains(matrix.image, 'windows') && 'clang' || '' }}
TESTOPTS: ${{ contains(matrix.image, 'macos') && '-D_CURL_PREFILL=ON' || '' }} ${{ contains(matrix.image, 'windows') && '-DCMAKE_UNITY_BUILD_BATCH_SIZE=30' || '' }}
old-cmake-version: 3.11.4
strategy:
fail-fast: false
matrix:
Expand All @@ -190,21 +193,62 @@ jobs:
mingw-w64-x86_64-zlib mingw-w64-x86_64-zstd mingw-w64-x86_64-libpsl mingw-w64-x86_64-libssh2 mingw-w64-x86_64-nghttp2 mingw-w64-x86_64-openssl

- name: 'install prereqs'
if: ${{ !contains(matrix.image, 'windows') }}
run: |
if [[ '${{ matrix.image }}' = *'ubuntu'* ]]; then
if [[ '${{ matrix.image }}' = *'windows'* ]]; then
cd "${HOME}" || exit 1
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 --retry-connrefused \
--location 'https://github.com/Kitware/CMake/releases/download/v${{ env.old-cmake-version }}/cmake-${{ env.old-cmake-version }}-win64-x64.zip' --output bin.zip
unzip -q bin.zip
rm -f bin.zip
printf '%s' "${HOME}/cmake-${{ env.old-cmake-version }}-win64-x64/bin/cmake.exe" > "${HOME}/old-cmake-path.txt"
elif [[ '${{ matrix.image }}' = *'ubuntu'* ]]; then
sudo rm -f /var/lib/man-db/auto-update
sudo apt-get -o Dpkg::Use-Pty=0 install libpsl-dev libssl-dev
cd "${HOME}" || exit 1
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 --retry-connrefused \
--location https://github.com/Kitware/CMake/releases/download/v${{ env.old-cmake-version }}/cmake-${{ env.old-cmake-version }}-Linux-x86_64.tar.gz | tar -xzf -
printf '%s' "$PWD/cmake-${{ env.old-cmake-version }}-Linux-x86_64/bin/cmake" > "${HOME}/old-cmake-path.txt"
else
brew install libpsl openssl
cd "${HOME}" || exit 1
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 --retry-connrefused \
--location https://github.com/Kitware/CMake/releases/download/v${{ env.old-cmake-version }}/cmake-${{ env.old-cmake-version }}-Darwin-x86_64.tar.gz | tar -xzf -
printf '%s' "$PWD/cmake-${{ env.old-cmake-version }}-Darwin-x86_64/CMake.app/Contents/bin/cmake" > "${HOME}/old-cmake-path.txt"
fi

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false

- name: 'via FetchContent'
run: ./tests/cmake/test.sh FetchContent ${TESTOPTS} -DCURL_USE_OPENSSL=ON
- name: 'via add_subdirectory'
run: ./tests/cmake/test.sh add_subdirectory ${TESTOPTS} -DCURL_USE_OPENSSL=ON
- name: 'via find_package'
run: ./tests/cmake/test.sh find_package ${TESTOPTS} -DCURL_USE_OPENSSL=ON

- name: 'via add_subdirectory OpenSSL (old cmake)'
run: |
export TEST_CMAKE_CONSUMER="$(cat "${HOME}/old-cmake-path.txt")"
if [[ '${{ matrix.image }}' = *'macos'* ]]; then
export CFLAGS='-arch arm64'
export TEST_CMAKE_FLAGS='-DCURL_USE_LIBPSL=OFF' # auto-detection does not work with old-cmake
fi
if [[ '${{ matrix.image }}' = *'windows'* ]]; then
export TEST_CMAKE_GENERATOR='MSYS Makefiles'
export TEST_CMAKE_FLAGS='-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DOPENSSL_ROOT_DIR=C:/msys64/mingw64'
fi
./tests/cmake/test.sh add_subdirectory ${TESTOPTS} -DCURL_USE_OPENSSL=ON ${options}

- name: 'via find_package OpenSSL (old cmake)'
run: |
export TEST_CMAKE_CONSUMER="$(cat "${HOME}/old-cmake-path.txt")"
if [[ '${{ matrix.image }}' = *'macos'* ]]; then
export CFLAGS='-arch arm64'
export TEST_CMAKE_FLAGS='-DCURL_USE_LIBPSL=OFF' # auto-detection does not work with old-cmake
fi
if [[ '${{ matrix.image }}' = *'windows'* ]]; then
export TEST_CMAKE_GENERATOR='MSYS Makefiles'
export TEST_CMAKE_FLAGS='-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DOPENSSL_ROOT_DIR=C:/msys64/mingw64'
fi
./tests/cmake/test.sh find_package ${TESTOPTS} -DCURL_USE_OPENSSL=ON ${options}
3 changes: 2 additions & 1 deletion .github/workflows/http3-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ permissions: {}

env:
MAKEFLAGS: -j 5
CURL_CI: github
# handled in renovate.json
openssl-version: 3.5.0
# handled in renovate.json
Expand Down Expand Up @@ -527,8 +528,8 @@ jobs:
- name: 'run pytest event based'
env:
CURL_TEST_EVENT: 1
CURL_CI: github
PYTEST_ADDOPTS: '--color=yes'
PYTEST_XDIST_AUTO_NUM_WORKERS: 4
run: |
source $HOME/venv/bin/activate
if [ -n '${{ matrix.build.generate }}' ]; then
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@
# https://github.com/actions/labeler

name: Labeler
'on': [pull_request_target]
'on': [pull_request_target] # zizmor: ignore[dangerous-triggers]

permissions: {}

jobs:
label:

runs-on: ubuntu-latest
permissions:
contents: read
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/linux-old.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ permissions: {}

env:
MAKEFLAGS: -j 5
CURL_CI: github
DEBIAN_FRONTEND: noninteractive

jobs:
Expand Down
19 changes: 14 additions & 5 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ permissions: {}

env:
MAKEFLAGS: -j 5
CURL_CI: github
CURL_CLANG_TIDYFLAGS: '-checks=-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-optin.performance.Padding,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-valist.Uninitialized'
# unhandled
bearssl-version: 0.6
Expand Down Expand Up @@ -142,7 +143,7 @@ jobs:

- name: awslc
install_packages: zlib1g-dev
install_steps: awslc
install_steps: awslc pytest
configure: LDFLAGS="-Wl,-rpath,$HOME/awslc/lib" --with-openssl=$HOME/awslc --enable-ech

- name: awslc
Expand All @@ -163,9 +164,15 @@ jobs:
install_steps: pytest
configure: CFLAGS=-std=gnu89 --with-openssl --enable-debug

- name: openssl -O3 valgrind
install_packages: zlib1g-dev valgrind
configure: CFLAGS=-O3 --with-openssl --enable-debug
- name: openssl arm
install_packages: zlib1g-dev
install_steps: pytest
configure: CFLAGS=-std=gnu89 --with-openssl --enable-debug
image: 'ubuntu-24.04-arm'

- name: openssl -O3 libssh valgrind
install_packages: zlib1g-dev libssh-dev valgrind
configure: CFLAGS=-O3 --with-openssl --enable-debug --with-libssh

- name: openssl clang krb5
install_packages: zlib1g-dev libkrb5-dev clang
Expand Down Expand Up @@ -298,6 +305,7 @@ jobs:
steps:
- name: 'install prereqs'
if: matrix.build.container == null && !contains(matrix.build.name, 'i686')
# zizmor: ignore[template-injection]
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get -o Dpkg::Use-Pty=0 update
Expand Down Expand Up @@ -661,6 +669,7 @@ jobs:
- name: 'run tests'
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
timeout-minutes: ${{ contains(matrix.build.install_packages, 'valgrind') && 30 || 15 }}
# zizmor: ignore[template-injection]
run: |
export TFLAGS='${{ matrix.build.tflags }}'
if [ -z '${{ matrix.build.torture }}' ]; then
Expand Down Expand Up @@ -690,8 +699,8 @@ jobs:
- name: 'run pytest'
if: contains(matrix.build.install_steps, 'pytest')
env:
CURL_CI: github
PYTEST_ADDOPTS: '--color=yes'
PYTEST_XDIST_AUTO_NUM_WORKERS: 4
run: |
[ -x "$HOME/venv/bin/activate" ] && source $HOME/venv/bin/activate
if [ -n '${{ matrix.build.generate }}' ]; then
Expand Down
Loading