Skip to content

Commit de1f15e

Browse files
authored
Merge branch 'curl:master' into master
2 parents 4b7a7e9 + 7d5f535 commit de1f15e

34 files changed

Lines changed: 567 additions & 355 deletions

.github/workflows/http3-linux.yml

Lines changed: 55 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -260,76 +260,93 @@ jobs:
260260
PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
261261
configure: >-
262262
LDFLAGS=-Wl,-rpath,/home/runner/openssl/build/lib
263-
--with-ngtcp2 --enable-warnings --enable-werror --enable-debug --disable-ntlm
264-
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
263+
--with-ngtcp2 --disable-ntlm
265264
--with-openssl=/home/runner/openssl/build --enable-ssls-export
266-
--with-libuv
265+
266+
- name: 'openssl'
267+
install_steps: skipall
268+
PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
269+
generate: >-
270+
-DOPENSSL_ROOT_DIR=/home/runner/openssl/build
271+
-DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
272+
-DCMAKE_UNITY_BUILD=ON
267273
268274
- name: 'quictls'
275+
install_steps: skipall
269276
PKG_CONFIG_PATH: /home/runner/quictls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
270277
configure: >-
271278
LDFLAGS=-Wl,-rpath,/home/runner/quictls/build/lib
272-
--with-ngtcp2 --enable-warnings --enable-werror --enable-debug --disable-ntlm
273-
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
279+
--with-ngtcp2 --disable-ntlm
274280
--with-openssl=/home/runner/quictls/build --enable-ssls-export
275-
--with-libuv
281+
--enable-unity
282+
283+
- name: 'quictls'
284+
PKG_CONFIG_PATH: /home/runner/quictls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
285+
generate: >-
286+
-DOPENSSL_ROOT_DIR=/home/runner/quictls/build
287+
-DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
276288
277289
- name: 'gnutls'
290+
install_steps: skipall
278291
PKG_CONFIG_PATH: /home/runner/gnutls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
279292
configure: >-
280293
LDFLAGS=-Wl,-rpath,/home/runner/gnutls/build/lib
281-
--with-ngtcp2 --enable-warnings --enable-werror --enable-debug
282-
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
294+
--with-ngtcp2
283295
--with-gnutls=/home/runner/gnutls/build --enable-ssls-export
284-
--with-libuv
296+
297+
- name: 'gnutls'
298+
PKG_CONFIG_PATH: /home/runner/gnutls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
299+
generate: >-
300+
-DCURL_USE_GNUTLS=ON
301+
-DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
302+
-DCMAKE_UNITY_BUILD=ON
285303
286304
- name: 'wolfssl'
305+
install_steps: skipall
287306
PKG_CONFIG_PATH: /home/runner/wolfssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
288307
configure: >-
289308
LDFLAGS=-Wl,-rpath,/home/runner/wolfssl/build/lib
290-
--with-ngtcp2 --enable-warnings --enable-werror --enable-debug
291-
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
309+
--with-ngtcp2
292310
--with-wolfssl=/home/runner/wolfssl/build
293311
--enable-ech --enable-ssls-export
294-
--with-libuv
312+
--enable-unity
295313
296314
- name: 'wolfssl'
297315
PKG_CONFIG_PATH: /home/runner/wolfssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
298316
generate: >-
299-
-DCURL_USE_WOLFSSL=ON -DUSE_NGTCP2=ON -DENABLE_DEBUG=ON
300-
-DTEST_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx
301-
-DHTTPD_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx
317+
-DCURL_USE_WOLFSSL=ON -DUSE_NGTCP2=ON
302318
-DUSE_ECH=ON
303-
-DCURL_USE_LIBUV=ON
304319
305320
- name: 'openssl-quic'
321+
install_steps: skipall
306322
PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
307323
configure: >-
308324
LDFLAGS=-Wl,-rpath,/home/runner/openssl/build/lib
309-
--enable-warnings --enable-werror --enable-debug --disable-ntlm
310-
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
325+
--disable-ntlm
311326
--with-openssl=/home/runner/openssl/build --with-openssl-quic
312-
--with-libuv
327+
328+
- name: 'openssl-quic'
329+
PKG_CONFIG_PATH: /home/runner/openssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
330+
generate: >-
331+
-DOPENSSL_ROOT_DIR=/home/runner/openssl/build -DUSE_OPENSSL_QUIC=ON
332+
-DCURL_DISABLE_NTLM=ON
333+
-DCMAKE_UNITY_BUILD=ON
313334
314335
- name: 'quiche'
336+
install_steps: skipall
315337
configure: >-
316338
LDFLAGS=-Wl,-rpath,/home/runner/quiche/target/release
317339
--with-openssl=/home/runner/quiche/quiche/deps/boringssl/src
318-
--enable-warnings --enable-werror --enable-debug
319340
--with-quiche=/home/runner/quiche/target/release
320-
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx
321341
--with-ca-fallback
322-
--with-libuv
342+
--enable-unity
323343
324344
- name: 'quiche'
325345
PKG_CONFIG_PATH: /home/runner/quiche/target/release
326346
generate: >-
327-
-DOPENSSL_ROOT_DIR=/home/runner/quiche/quiche/deps/boringssl/src -DENABLE_DEBUG=ON
347+
-DOPENSSL_ROOT_DIR=/home/runner/quiche/quiche/deps/boringssl/src
328348
-DUSE_QUICHE=ON
329-
-DTEST_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx
330-
-DHTTPD_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx
331349
-DCURL_CA_FALLBACK=ON
332-
-DCURL_USE_LIBUV=ON
333350
334351
steps:
335352
- name: 'install prereqs'
@@ -470,10 +487,15 @@ jobs:
470487
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
471488
cmake -B bld -G Ninja \
472489
-DCMAKE_C_COMPILER_TARGET="$(uname -m)-pc-linux-gnu" -DBUILD_STATIC_LIBS=ON \
473-
-DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON \
490+
-DCURL_WERROR=ON -DENABLE_DEBUG=ON \
491+
-DCURL_USE_LIBUV=ON \
492+
-DTEST_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx \
493+
-DHTTPD_NGHTTPX=/home/runner/nghttp2/build/bin/nghttpx \
474494
${MATRIX_GENERATE}
475495
else
476-
mkdir bld && cd bld && ../configure --enable-unity --enable-warnings --enable-werror \
496+
mkdir bld && cd bld && ../configure --enable-warnings --enable-werror --enable-debug \
497+
--with-libuv \
498+
--with-test-nghttpx=/home/runner/nghttp2/build/bin/nghttpx \
477499
--disable-dependency-tracking \
478500
${MATRIX_CONFIGURE}
479501
fi
@@ -502,6 +524,7 @@ jobs:
502524
run: bld/src/curl -V
503525

504526
- name: 'build tests'
527+
if: ${{ !contains(matrix.build.install_steps, 'skipall') }}
505528
run: |
506529
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
507530
cmake --build bld --verbose --target testdeps
@@ -510,11 +533,13 @@ jobs:
510533
fi
511534
512535
- name: 'install test prereqs'
536+
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
513537
run: |
514538
source ~/venv/bin/activate
515539
python3 -m pip install -r tests/requirements.txt
516540
517541
- name: 'run tests'
542+
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
518543
env:
519544
TFLAGS: '${{ matrix.build.tflags }}'
520545
run: |
@@ -526,11 +551,13 @@ jobs:
526551
fi
527552
528553
- name: 'install pytest prereqs'
554+
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
529555
run: |
530556
source ~/venv/bin/activate
531557
python3 -m pip install -r tests/http/requirements.txt
532558
533559
- name: 'run pytest event based'
560+
if: ${{ !contains(matrix.build.install_steps, 'skipall') && !contains(matrix.build.install_steps, 'skiprun') }}
534561
env:
535562
CURL_TEST_EVENT: 1
536563
PYTEST_ADDOPTS: '--color=yes'
@@ -542,11 +569,3 @@ jobs:
542569
else
543570
make -C bld V=1 pytest-ci
544571
fi
545-
546-
- name: 'build examples'
547-
run: |
548-
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
549-
cmake --build bld --verbose --target curl-examples-build
550-
else
551-
make -C bld V=1 examples
552-
fi

.github/workflows/linux-old.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
dpkg -i freexian-archive-keyring_2022.06.08_all.deb
7171
echo 'deb http://deb.freexian.com/extended-lts stretch-lts main contrib non-free' | tee /etc/apt/sources.list.d/extended-lts.list
7272
apt-get -o Dpkg::Use-Pty=0 update
73-
apt-get -o Dpkg::Use-Pty=0 install -y --no-install-suggests --no-install-recommends cmake make automake autoconf libtool gcc pkg-config libpsl-dev libzstd-dev zlib1g-dev libssl1.0-dev libssh-dev libssh2-1-dev libc-ares-dev heimdal-dev libldap2-dev librtmp-dev stunnel4 groff
73+
apt-get -o Dpkg::Use-Pty=0 install -y --no-install-suggests --no-install-recommends cmake make automake autoconf libtool gcc pkg-config libpsl-dev libzstd-dev zlib1g-dev libgnutls28-dev libssh-dev libssh2-1-dev libc-ares-dev heimdal-dev libldap2-dev librtmp-dev stunnel4 groff
7474
# GitHub's actions/checkout needs newer glibc and libstdc++. The latter also depends on
7575
# gcc-8-base, but it doesn't actually seem used in our situation and isn't available in
7676
# the main repo, so force the install.
@@ -87,7 +87,7 @@ jobs:
8787
mkdir bld-1
8888
cd bld-1
8989
cmake .. -DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON -DBUILD_SHARED_LIBS=ON \
90-
-DENABLE_ARES=OFF -DCURL_ZSTD=OFF -DCURL_USE_GSSAPI=OFF -DCURL_USE_LIBSSH2=ON -DCURL_USE_LIBSSH=OFF -DUSE_LIBRTMP=ON
90+
-DCURL_USE_GNUTLS=ON -DENABLE_ARES=OFF -DCURL_ZSTD=OFF -DCURL_USE_GSSAPI=OFF -DCURL_USE_LIBSSH2=ON -DCURL_USE_LIBSSH=OFF -DUSE_LIBRTMP=ON
9191
make install
9292
src/curl --disable --version
9393
@@ -103,7 +103,7 @@ jobs:
103103
mkdir bld-cares
104104
cd bld-cares
105105
cmake .. -DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON -DBUILD_SHARED_LIBS=ON \
106-
-DENABLE_ARES=ON -DCURL_USE_GSSAPI=ON -DCURL_USE_LIBSSH2=OFF -DCURL_USE_LIBSSH=OFF -DUSE_LIBRTMP=ON \
106+
-DCURL_USE_GNUTLS=ON -DENABLE_ARES=ON -DCURL_USE_GSSAPI=ON -DCURL_USE_LIBSSH2=OFF -DCURL_USE_LIBSSH=OFF -DUSE_LIBRTMP=ON \
107107
-DCURL_LIBCURL_VERSIONED_SYMBOLS=ON
108108
109109
- name: 'cmake curl_config.h'
@@ -136,7 +136,7 @@ jobs:
136136
mkdir bld-am
137137
cd bld-am
138138
../configure --disable-dependency-tracking --enable-unity --enable-warnings --enable-werror \
139-
--with-openssl --enable-ares --with-libssh2 --with-zstd --with-gssapi --with-librtmp \
139+
--with-gnutls --enable-ares --with-libssh2 --with-zstd --with-gssapi --with-librtmp \
140140
--prefix="$PWD"/../curl-install-am
141141
142142
- name: 'autotools curl_config.h'

.github/workflows/non-native.yml

Lines changed: 0 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -329,115 +329,3 @@ jobs:
329329
else
330330
make -C bld examples
331331
fi
332-
333-
msdos:
334-
name: "MS-DOS, ${{ matrix.build == 'cmake' && 'CM' || 'AM' }} djgpp openssl i586"
335-
runs-on: 'ubuntu-latest'
336-
timeout-minutes: 5
337-
env:
338-
MAKEFLAGS: -j 5
339-
MATRIX_BUILD: '${{ matrix.build }}'
340-
TOOLCHAIN_VERSION: '3.4'
341-
strategy:
342-
matrix:
343-
build: [autotools, cmake]
344-
fail-fast: false
345-
steps:
346-
- name: 'install packages'
347-
run: |
348-
sudo rm -f /var/lib/man-db/auto-update
349-
sudo apt-get -o Dpkg::Use-Pty=0 install libfl2
350-
351-
- name: 'cache compiler (djgpp)'
352-
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
353-
id: cache-compiler
354-
with:
355-
path: ~/djgpp
356-
key: ${{ runner.os }}-djgpp-${{ env.TOOLCHAIN_VERSION }}-amd64
357-
358-
- name: 'install compiler (djgpp)'
359-
if: ${{ steps.cache-compiler.outputs.cache-hit != 'true' }}
360-
run: |
361-
cd ~
362-
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 3 --retry-connrefused \
363-
--location "https://github.com/andrewwutw/build-djgpp/releases/download/v${TOOLCHAIN_VERSION}/djgpp-linux64-gcc1220.tar.bz2" | tar -xj
364-
cd djgpp
365-
for f in wat3211b.zip zlb13b.zip ssl102ub.zip; do
366-
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 --retry-connrefused \
367-
"https://www.delorie.com/pub/djgpp/current/v2tk/$f" --output bin.zip
368-
unzip -q bin.zip
369-
rm -f bin.zip
370-
done
371-
372-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
373-
with:
374-
persist-credentials: false
375-
376-
- name: 'configure'
377-
run: |
378-
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
379-
cmake -B bld -G Ninja \
380-
-DCMAKE_SYSTEM_NAME=DOS \
381-
-DCMAKE_SYSTEM_PROCESSOR=x86 \
382-
-DCMAKE_C_COMPILER_TARGET=i586-pc-msdosdjgpp \
383-
-DCMAKE_C_COMPILER="$HOME/djgpp/bin/i586-pc-msdosdjgpp-gcc" \
384-
-DCMAKE_UNITY_BUILD=ON \
385-
-DCURL_WERROR=ON \
386-
-DCURL_USE_LIBPSL=OFF \
387-
-DOPENSSL_INCLUDE_DIR="$HOME/djgpp/include" \
388-
-DOPENSSL_SSL_LIBRARY="$HOME/djgpp/lib/libssl.a" \
389-
-DOPENSSL_CRYPTO_LIBRARY="$HOME/djgpp/lib/libcrypto.a" \
390-
-DZLIB_INCLUDE_DIR="$HOME/djgpp/include" \
391-
-DZLIB_LIBRARY="$HOME/djgpp/lib/libz.a" \
392-
-DWATT_ROOT="$HOME/djgpp/net/watt"
393-
else
394-
autoreconf -fi
395-
mkdir bld && cd bld && ../configure --disable-dependency-tracking --enable-unity --enable-warnings --enable-werror \
396-
CC="$HOME/djgpp/bin/i586-pc-msdosdjgpp-gcc" \
397-
AR="$HOME/djgpp/bin/i586-pc-msdosdjgpp-ar" \
398-
RANLIB="$HOME/djgpp/bin/i586-pc-msdosdjgpp-ranlib" \
399-
WATT_ROOT="$HOME/djgpp/net/watt" \
400-
--host=i586-pc-msdosdjgpp \
401-
--with-openssl="$HOME/djgpp" \
402-
--with-zlib="$HOME/djgpp" \
403-
--without-libpsl \
404-
--disable-shared
405-
fi
406-
407-
- name: 'configure log'
408-
if: ${{ !cancelled() }}
409-
run: cat bld/config.log bld/CMakeFiles/CMake*.yaml 2>/dev/null || true
410-
411-
- name: 'curl_config.h'
412-
run: |
413-
echo '::group::raw'; cat bld/lib/curl_config.h || true; echo '::endgroup::'
414-
grep -F '#define' bld/lib/curl_config.h | sort || true
415-
416-
- name: 'build'
417-
run: |
418-
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
419-
cmake --build bld
420-
else
421-
make -C bld
422-
fi
423-
424-
- name: 'curl info'
425-
run: find . \( -name '*.exe' -o -name '*.a' \) -exec file '{}' \;
426-
427-
- name: 'build tests'
428-
if: ${{ matrix.build == 'cmake' }} # skip for autotools to save time
429-
run: |
430-
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
431-
cmake --build bld --target testdeps
432-
else
433-
make -C bld -C tests
434-
fi
435-
436-
- name: 'build examples'
437-
if: ${{ matrix.build == 'cmake' }} # skip for autotools to save time
438-
run: |
439-
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
440-
cmake --build bld --target curl-examples-build
441-
else
442-
make -C bld examples
443-
fi

0 commit comments

Comments
 (0)