From: Joe Orton Date: Fri, 10 Dec 2021 17:17:37 +0000 (+0000) Subject: Add Travis build job building/testing mod_ssl against OpenSSL 3. X-Git-Tag: 2.5.0-alpha2-ci-test-only~652 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2d995aa7220d4ec0b416d9fb63500253e2305c8;p=thirdparty%2Fapache%2Fhttpd.git Add Travis build job building/testing mod_ssl against OpenSSL 3. Github: closes #282 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1895787 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/.travis.yml b/.travis.yml index 8048230eecc..d16117e3e0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -265,6 +265,11 @@ jobs: TEST_MALLOC=1 TEST_SSL=1 CLEAR_CACHE=1 # ------------------------------------------------------------------------- + - name: Linux Ubuntu, Minimal module set, OpenSSL 3.x + env: APR_VERSION=trunk APR_CONFIG="--without-pgsql --without-mysql --without-odbc --with-crypto" + CONFIG="--enable-mods-shared=ssl --with-mpm=event" + TEST_MALLOC=1 TEST_SSL=1 TEST_OPENSSL3=3.0.0 + # ------------------------------------------------------------------------- - if: *condition_not_24x name: Linux Ubuntu, MPMs [event, worker], core + HTTP/2 test suite dist: focal diff --git a/test/travis_before_linux.sh b/test/travis_before_linux.sh index 3a311e0effa..072d8cac6c9 100755 --- a/test/travis_before_linux.sh +++ b/test/travis_before_linux.sh @@ -113,8 +113,32 @@ if test -v TEST_SSL; then popd fi +if test -v TEST_OPENSSL3; then + # Build the requested version of OpenSSL if it's not already + # installed in the cached ~/root + if ! test -f $HOME/root/openssl-is-${TEST_OPENSSL3}; then + mkdir -p build/openssl + pushd build/openssl + curl "https://www.openssl.org/source/openssl-${TEST_OPENSSL3}.tar.gz" | + tar -xzf - + cd openssl-${TEST_OPENSSL3} + ./Configure --prefix=$HOME/root/openssl3 shared no-tests + make $MFLAGS + make install_sw + touch $HOME/root/openssl-is-${TEST_OPENSSL3} + popd + fi + # Point APR at the installed version of OpenSSL. + if ! test -v APR_VERSION; then + : APR version must be specified to build with OpenSSL 3 to avoid mismatch with system libssl/crypto + exit 1 + fi + APR_CONFIG="${APR_CONFIG} --with-openssl=$HOME/root/openssl3" +fi + if test -v APR_VERSION; then install_apx apr ${APR_VERSION} "${APR_CONFIG}" + ldd $HOME/root/apr-${APR_VERSION}/lib/libapr-?.so || true APU_CONFIG="$APU_CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}" fi diff --git a/test/travis_run_linux.sh b/test/travis_run_linux.sh index 9fc7bcace59..9b0ce4bbbb1 100755 --- a/test/travis_run_linux.sh +++ b/test/travis_run_linux.sh @@ -65,6 +65,11 @@ if test -v TEST_MOD_TLS; then CONFIG="$CONFIG --with-tls --with-rustls=$PREFIX" fi +if test -v TEST_OPENSSL3; then + CONFIG="$CONFIG --with-ssl=$HOME/root/openssl3" + export LD_LIBRARY_PATH=$HOME/root/openssl3/lib:$HOME/root/openssl3/lib64 +fi + srcdir=$PWD if test -v TEST_VPATH; then @@ -134,6 +139,9 @@ if ! test -v SKIP_TESTING; then ./t/TEST -defines "TEST_SSL_DES3_KEY TEST_SSL_PASSPHRASE_EXEC" t/ssl RV=$? + # Log the OpenSSL version. + grep 'mod_ssl.*compiled against' t/logs/error_log | tail -n 1 + # Test various session cache backends for cache in shmcb redis:localhost:6379 memcache:localhost:11211; do test $RV -eq 0 || break