From 693071c088c0a93d84d3327a2477ab456fd8ca8e Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Thu, 11 Apr 2024 15:45:34 -0400 Subject: disable http3 demo on windows The external nghttp3 library seems to have a linking issue on windows (several missing symbols). Disable that build in windows for now until its fixed Reviewed-by: Nicola Tuveri Reviewed-by: Tim Hudson Reviewed-by: Paul Dale Reviewed-by: Tom Cosgrove (Merged from https://github.com/openssl/openssl/pull/24047) --- .github/workflows/ci.yml | 28 ++++++++++++++-------------- Configure | 4 ++++ demos/build.info | 6 ++++-- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4e303dc6b..b8b8f2ec3c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: run: sudo locale-gen tr_TR.UTF-8 - name: config # enable-quic is on by default, but we leave it here to check we're testing the explicit enable somewhere - run: CC=gcc ./config --banner=Configured enable-demos enable-fips enable-quic --strict-warnings && perl configdata.pm --dump + run: CC=gcc ./config --banner=Configured enable-demos enable-h3demo enable-fips enable-quic --strict-warnings && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -105,7 +105,7 @@ jobs: - name: checkout fuzz/corpora submodule run: git submodule update --init --depth 1 fuzz/corpora - name: config - run: CC=clang ./config --banner=Configured enable-demos no-fips --strict-warnings && perl configdata.pm --dump + run: CC=clang ./config --banner=Configured enable-demos enable-h3demo no-fips --strict-warnings && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -152,7 +152,7 @@ jobs: - name: checkout fuzz/corpora submodule run: git submodule update --init --depth 1 fuzz/corpora - name: config - run: ./config --banner=Configured --strict-warnings enable-demos no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump - name: make run: make -j4 # verbose, so no -s here - name: get cpu info @@ -175,7 +175,7 @@ jobs: - name: checkout fuzz/corpora submodule run: git submodule update --init --depth 1 fuzz/corpora - name: config - run: ./config --banner=Configured --strict-warnings enable-demos no-deprecated enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-deprecated enable-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -197,7 +197,7 @@ jobs: - name: checkout fuzz/corpora submodule run: git submodule update --init --depth 1 fuzz/corpora - name: config - run: ./config --banner=Configured --strict-warnings enable-demos no-shared no-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-shared no-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -224,7 +224,7 @@ jobs: - name: checkout fuzz/corpora submodule run: git submodule update --init --depth 1 fuzz/corpora - name: config - run: ./config --banner=Configured --strict-warnings enable-demos no-shared no-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-shared no-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -250,7 +250,7 @@ jobs: sudo cat /proc/sys/vm/mmap_rnd_bits sudo sysctl -w vm.mmap_rnd_bits=28 - name: config - run: ./config --banner=Configured --debug enable-demos enable-asan enable-ubsan no-cached-fetch no-fips no-dtls no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-async && perl configdata.pm --dump + run: ./config --banner=Configured --debug enable-demos enable-h3demo enable-asan enable-ubsan no-cached-fetch no-fips no-dtls no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-async && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -276,7 +276,7 @@ jobs: sudo cat /proc/sys/vm/mmap_rnd_bits sudo sysctl -w vm.mmap_rnd_bits=28 - name: config - run: ./config --banner=Configured --debug enable-demos enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --debug enable-demos enable-h3demo enable-asan enable-ubsan enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -380,7 +380,7 @@ jobs: - name: modprobe tls run: sudo modprobe tls - name: config - run: ./config --banner=Configured --strict-warnings enable-demos no-ec enable-ssl-trace enable-zlib enable-zlib-dynamic enable-crypto-mdebug enable-egd enable-ktls enable-fips no-threads && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-ec enable-ssl-trace enable-zlib enable-zlib-dynamic enable-crypto-mdebug enable-egd enable-ktls enable-fips no-threads && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -410,7 +410,7 @@ jobs: - name: install extra config support run: sudo apt-get -y install libsctp-dev abigail-tools libzstd-dev zstd - name: config - run: ./config --banner=Configured --strict-warnings enable-demos enable-ktls enable-fips enable-egd enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-sctp enable-ssl3 enable-ssl3-method enable-trace enable-zlib enable-zstd && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo enable-ktls enable-fips enable-egd enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-sctp enable-ssl3 enable-ssl3-method enable-trace enable-zlib enable-zstd && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -432,7 +432,7 @@ jobs: - name: checkout fuzz/corpora submodule run: git submodule update --init --depth 1 fuzz/corpora - name: config - run: ./config --banner=Configured --strict-warnings enable-demos no-legacy enable-fips && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-demos enable-h3demo no-legacy enable-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -454,7 +454,7 @@ jobs: - name: checkout fuzz/corpora submodule run: git submodule update --init --depth 1 fuzz/corpora - name: config - run: ./config --banner=Configured -Werror --debug no-afalgeng enable-demos no-shared enable-crypto-mdebug enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 no-fips && perl configdata.pm --dump + run: ./config --banner=Configured -Werror --debug no-afalgeng enable-demos enable-h3demo no-shared enable-crypto-mdebug enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-zlib enable-ec_nistp_64_gcc_128 no-fips && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info @@ -491,7 +491,7 @@ jobs: mkdir ./install - name: config run: | - ../source/config --banner=Configured enable-demos enable-fips enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd) + ../source/config --banner=Configured enable-demos enable-h3demo enable-fips enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd) perl configdata.pm --dump working-directory: ./build - name: make @@ -536,7 +536,7 @@ jobs: mkdir ./install - name: config run: | - ../source/config --banner=Configured enable-fips enable-demos enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd) + ../source/config --banner=Configured enable-fips enable-demos enable-h3demo enable-quic enable-acvp-tests --strict-warnings --prefix=$(cd ../install; pwd) perl configdata.pm --dump working-directory: ./build - name: make diff --git a/Configure b/Configure index 3c3909cfe5..cef9e8c3e6 100755 --- a/Configure +++ b/Configure @@ -79,6 +79,8 @@ EOF # support isn't compiled. # # enable-demos Enable the building of the example code in the demos directory +# enable-h3demo Enable the http3 demo, which currently only links to the +# external nghttp3 library on unix platforms # no-hw do not compile support for any crypto hardware. # [no-]threads [don't] try to create a library that is suitable for # multithreaded applications (default is "threads" if we @@ -446,6 +448,7 @@ my @disablables = ( "ct", "default-thread-pool", "demos", + "h3demo", "deprecated", "des", "devcryptoeng", @@ -574,6 +577,7 @@ our %disabled = ( # "what" => "comment" "crypto-mdebug" => "default", "crypto-mdebug-backtrace" => "default", "demos" => "default", + "h3demo" => "default", "devcryptoeng" => "default", "ec_nistp_64_gcc_128" => "default", "egd" => "default", diff --git a/demos/build.info b/demos/build.info index 49484653f4..5822f9bfec 100644 --- a/demos/build.info +++ b/demos/build.info @@ -1,8 +1,10 @@ SUBDIRS=bio cipher digest keyexch mac kdf pkey signature \ encrypt encode sslecho -IF[{- !$disabled{"quic"} -}] - SUBDIRS=http3 +IF[{- !$disabled{"h3demo"} -}] + IF[{- !$disabled{"quic"} -}] + SUBDIRS=http3 + ENDIF ENDIF IF[{- !$disabled{"cms"} -}] -- cgit v1.2.3