@@ -18,22 +18,34 @@ jobs:
1818 with:
1919 wolfssl_ref: ${{ matrix.wolfssl_ref }}
2020 openssl_ref: ${{ matrix.openssl_ref }}
21+ replace_default: ${{ matrix.replace_default }}
2122 strategy:
2223 matrix:
23- wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
24- openssl_ref: [ 'openssl-3.5.0' ]
24+ wolfssl_ref: [ 'v5.8.2-stable' ]
25+ openssl_ref: [ 'openssl-3.5.2' ]
26+ replace_default: [ true ]
2527
2628 test_hostap:
2729 runs-on: ubuntu-22.04
2830 needs: build_wolfprovider
31+ # Run inside Debian Bookworm to match packaging environment
32+ container:
33+ image: debian:bookworm
34+ env:
35+ DEBIAN_FRONTEND: noninteractive
2936 # This should be a safe limit for the tests to run.
3037 timeout-minutes: 90
3138 strategy:
3239 matrix:
3340 hostap_ref: [ 'main' ]
34- wolfssl_ref: [ 'master', ' v5.8.0 -stable' ]
35- openssl_ref: [ 'openssl-3.5.0 ' ]
41+ wolfssl_ref: [ 'v5.8.2 -stable' ]
42+ openssl_ref: [ 'openssl-3.5.2 ' ]
3643 force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '', 'OPENSSL' ]
44+ replace_default: [ true ]
45+ env:
46+ WOLFSSL_PACKAGES_PATH: /tmp/wolfssl-packages
47+ OPENSSL_PACKAGES_PATH: /tmp/openssl-packages
48+ WOLFPROV_PACKAGES_PATH: /tmp/wolfprov-packages
3749
3850 steps:
3951 # Checkout the source so we can run the check-workflow-result script.
@@ -42,34 +54,53 @@ jobs:
4254 with:
4355 fetch-depth: 1
4456
45- - name: Retrieving wolfProvider from cache
57+ - name: Checking OpenSSL/ wolfProvider packages in cache
4658 uses: actions/cache/restore@v4
47- id: wolfprov-cache-restore
59+ id: wolfprov-cache
4860 with:
4961 path: |
50- wolfssl-install
51- wolfprov-install
52- openssl-install/lib64
53- openssl-install/include
54- openssl-install/bin
55- key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }}
62+ ${{ env.WOLFSSL_PACKAGES_PATH }}
63+ ${{ env.OPENSSL_PACKAGES_PATH }}
64+ ${{ env.WOLFPROV_PACKAGES_PATH }}
65+ key: openssl-wolfprov-debian-packages-${{ github.sha }}${{ matrix.replace_default && '-replace-default' || '' }}
5666 fail-on-cache-miss: true
5767
68+ - name: Install wolfSSL/OpenSSL/wolfprov packages
69+ run: |
70+ printf "Installing OpenSSL/wolfProvider packages:\n"
71+ ls -la ${{ env.WOLFSSL_PACKAGES_PATH }}
72+ ls -la ${{ env.OPENSSL_PACKAGES_PATH }}
73+ ls -la ${{ env.WOLFPROV_PACKAGES_PATH }}
74+
75+ apt install --reinstall -y \
76+ ${{ env.WOLFSSL_PACKAGES_PATH }}/libwolfssl_*.deb
77+
78+ apt install --reinstall -y \
79+ ${{ env.OPENSSL_PACKAGES_PATH }}/openssl_*.deb \
80+ ${{ env.OPENSSL_PACKAGES_PATH }}/libssl3_*.deb \
81+ ${{ env.OPENSSL_PACKAGES_PATH }}/libssl-dev_*.deb
82+
83+ apt install --reinstall -y \
84+ ${{ env.WOLFPROV_PACKAGES_PATH }}/libwolfprov_*.deb
85+
86+ - name: Show OpenSSL version
87+ run: |
88+ echo "OpenSSL version:"
89+ openssl version -a || true
90+
91+ - name: Test OpenSSL providers before hostap installation
92+ run: |
93+ echo "Testing OpenSSL providers before hostap installation..."
94+ openssl list -providers
95+
5896 - name: Install hostap dependencies
59- env:
60- LD_LIBRARY_PATH: "$GITHUB_WORKSPACE/openssl-install/lib64:$GITHUB_WORKSPACE/wolfprov-install/lib:$LD_LIBRARY_PATH"
61- LDFLAGS: "-L$GITHUB_WORKSPACE/openssl-install/lib64"
62- CFLAGS: "-I$GITHUB_WORKSPACE/openssl-install/include"
63- PKG_CONFIG_PATH: "$GITHUB_WORKSPACE/openssl-install/lib64/pkgconfig"
6497 run: |
65- sudo apt-get update
66- sudo apt-get install -y libpcap0.8 libpcap-dev curl libcurl4-openssl-dev \
98+ apt-get update
99+ apt-get install -y libpcap0.8 libpcap-dev curl libcurl4-openssl-dev \
67100 libnl-3-dev binutils-dev libiberty-dev libnl-genl-3-dev \
68101 libnl-route-3-dev libdbus-1-dev bridge-utils tshark python3-pycryptodome \
69- libsqlite3-dev libzstd1 wireless-tools iw
70- # Uninstall system cryptography and reinstall with custom OpenSSL
71- sudo apt-get remove -y python3-cryptography
72- pip install --no-cache-dir --force-reinstall cryptography
102+ libsqlite3-dev libzstd1 wireless-tools iw build-essential autoconf automake \
103+ libtool pkg-config git wget ca-certificates
73104 - name: Checkout hostap
74105 run: |
75106 test -d hostap || git clone https://w1.fi/hostap.git
@@ -109,18 +140,16 @@ jobs:
109140 working-directory: hostap/tests/hwsim
110141 run: |
111142 cat << EOF >> example-hostapd.config
112- # Custom OpenSSL installation paths
113- CFLAGS += -I$GITHUB_WORKSPACE/openssl-install/include
114- LDFLAGS += -L$GITHUB_WORKSPACE/openssl-install/lib64
115- # Override OpenSSL libraries to use custom installation with rpath
116- LIBS += -L$GITHUB_WORKSPACE/openssl-install/lib64 -Wl,-rpath,$GITHUB_WORKSPACE/openssl-install/lib64
143+ # Use system-installed OpenSSL/wolfSSL packages
144+ CFLAGS += -I/usr/include/openssl
145+ LDFLAGS += -L/usr/lib/x86_64-linux-gnu
146+ LIBS += -lssl -lcrypto
117147 EOF
118148 cat << EOF >> example-wpa_supplicant.config
119- # Custom OpenSSL installation paths
120- CFLAGS += -I$GITHUB_WORKSPACE/openssl-install/include
121- LDFLAGS += -L$GITHUB_WORKSPACE/openssl-install/lib64
122- # Override OpenSSL libraries to use custom installation with rpath
123- LIBS += -L$GITHUB_WORKSPACE/openssl-install/lib64 -Wl,-rpath,$GITHUB_WORKSPACE/openssl-install/lib64
149+ # Use system-installed OpenSSL/wolfSSL packages
150+ CFLAGS += -I/usr/include/openssl
151+ LDFLAGS += -L/usr/lib/x86_64-linux-gnu
152+ LIBS += -lssl -lcrypto
124153 EOF
125154 - name: Setup non-WPFF environment
126155 working-directory: hostap/tests/hwsim
@@ -131,18 +160,14 @@ jobs:
131160 # Set up wolfSSL environment variables
132161 # In UML mode, we can access the host filesystem directly
133162 echo "Setting up wolfSSL environment in UML mode"
134- # Use the host filesystem paths directly
135- export LD_LIBRARY_PATH="$GITHUB_WORKSPACE/openssl-install/lib64:$GITHUB_WORKSPACE/wolfprov-install/lib:$LD_LIBRARY_PATH"
136- export OPENSSL_CONF="$GITHUB_WORKSPACE/provider.conf"
137- export OPENSSL_MODULES="$GITHUB_WORKSPACE/wolfprov-install/lib"
163+ # Use system-installed packages
164+ export OPENSSL_CONF="/etc/ssl/openssl.cnf"
138165 export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1
139166 echo "wolfSSL environment variables set:"
140- echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
141167 echo "OPENSSL_CONF: $OPENSSL_CONF"
142- echo "OPENSSL_MODULES: $OPENSSL_MODULES"
143168 # Test if wolfProvider is available
144169 echo "Testing OpenSSL providers:"
145- $GITHUB_WORKSPACE/openssl-install/bin/ openssl list -providers
170+ openssl list -providers
146171 EOF
147172 - name: Setup WPFF environment
148173 working-directory: hostap/tests/hwsim
@@ -153,19 +178,15 @@ jobs:
153178 # Set up wolfSSL environment variables
154179 # In UML mode, we can access the host filesystem directly
155180 echo "Setting up wolfSSL environment in UML mode"
156- # Use the host filesystem paths directly
157- export LD_LIBRARY_PATH="$GITHUB_WORKSPACE/openssl-install/lib64:$GITHUB_WORKSPACE/wolfprov-install/lib:$LD_LIBRARY_PATH"
158- export OPENSSL_CONF="$GITHUB_WORKSPACE/provider.conf"
159- export OPENSSL_MODULES="$GITHUB_WORKSPACE/wolfprov-install/lib"
181+ # Use system-installed packages
182+ export OPENSSL_CONF="/etc/ssl/openssl.cnf"
160183 export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1
161184 export WOLFPROV_FORCE_FAIL=1
162185 echo "wolfSSL environment variables set:"
163- echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
164186 echo "OPENSSL_CONF: $OPENSSL_CONF"
165- echo "OPENSSL_MODULES: $OPENSSL_MODULES"
166187 # Test if wolfProvider is available
167188 echo "Testing OpenSSL providers:"
168- $GITHUB_WORKSPACE/openssl-install/bin/ openssl list -providers
189+ openssl list -providers
169190 EOF
170191 - name: Update certs
171192 working-directory: hostap/tests/hwsim/auth_serv
0 commit comments