Fix is_openssl_patched #688
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: x11vnc Tests | |
| # START OF COMMON SECTION | |
| on: | |
| push: | |
| branches: [ 'master', 'main', 'release/**' ] | |
| pull_request: | |
| branches: [ '*' ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| # END OF COMMON SECTION | |
| jobs: | |
| build_wolfprovider: | |
| uses: ./.github/workflows/build-wolfprovider.yml | |
| with: | |
| wolfssl_ref: ${{ matrix.wolfssl_ref }} | |
| openssl_ref: ${{ matrix.openssl_ref }} | |
| replace_default: ${{ matrix.replace_default }} | |
| strategy: | |
| matrix: | |
| wolfssl_ref: [ 'v5.8.2-stable' ] | |
| openssl_ref: [ 'openssl-3.5.2' ] | |
| replace_default: [ true ] | |
| test_x11vnc: | |
| runs-on: ubuntu-22.04 | |
| container: | |
| image: debian:bookworm | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| needs: build_wolfprovider | |
| timeout-minutes: 10 | |
| strategy: | |
| matrix: | |
| x11vnc_ref: [ '0.9.17' ] | |
| wolfssl_ref: [ 'v5.8.2-stable' ] | |
| openssl_ref: [ 'openssl-3.5.2' ] | |
| force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] | |
| replace_default: [ true ] | |
| env: | |
| WOLFSSL_PACKAGES_PATH: /tmp/wolfssl-packages | |
| OPENSSL_PACKAGES_PATH: /tmp/openssl-packages | |
| WOLFPROV_PACKAGES_PATH: /tmp/wolfprov-packages | |
| steps: | |
| - name: Install x11vnc dependencies | |
| run: | | |
| apt-get update | |
| # common build dependencies | |
| apt-get install -y build-essential autoconf automake libtool \ | |
| pkg-config gcc make ca-certificates | |
| # x11vnc dependencies | |
| apt-get install -y libc6-dev libjpeg-dev x11proto-core-dev \ | |
| libxss-dev zlib1g-dev libavahi-client-dev libvncserver-dev \ | |
| libx11-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev \ | |
| libxinerama-dev libxrandr-dev libxtst-dev | |
| # packages for testing script | |
| apt-get install -y xvfb tigervnc-viewer psmisc expect curl | |
| - name: Checkout wolfProvider | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Checking OpenSSL/wolfProvider packages in cache | |
| uses: actions/cache/restore@v4 | |
| id: wolfprov-cache | |
| with: | |
| path: | | |
| ${{ env.WOLFSSL_PACKAGES_PATH }} | |
| ${{ env.OPENSSL_PACKAGES_PATH }} | |
| ${{ env.WOLFPROV_PACKAGES_PATH }} | |
| key: openssl-wolfprov-debian-packages-${{ github.sha }}${{ matrix.replace_default && '-replace-default' || '' }} | |
| fail-on-cache-miss: true | |
| - name: Install wolfSSL/OpenSSL/wolfprov packages | |
| run: | | |
| printf "Installing OpenSSL/wolfProvider packages:\n" | |
| ls -la ${{ env.WOLFSSL_PACKAGES_PATH }} | |
| ls -la ${{ env.OPENSSL_PACKAGES_PATH }} | |
| ls -la ${{ env.WOLFPROV_PACKAGES_PATH }} | |
| apt install --reinstall -y \ | |
| ${{ env.WOLFSSL_PACKAGES_PATH }}/libwolfssl_*.deb | |
| apt install --reinstall -y \ | |
| ${{ env.OPENSSL_PACKAGES_PATH }}/openssl_*.deb \ | |
| ${{ env.OPENSSL_PACKAGES_PATH }}/libssl3_*.deb \ | |
| ${{ env.OPENSSL_PACKAGES_PATH }}/libssl-dev_*.deb | |
| apt install --reinstall -y \ | |
| ${{ env.WOLFPROV_PACKAGES_PATH }}/libwolfprov_*.deb | |
| - name: Download x11vnc | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: LibVNC/x11vnc | |
| ref: ${{ matrix.x11vnc_ref }} | |
| path: x11vnc | |
| - name: Build x11vnc | |
| working-directory: x11vnc | |
| run: | | |
| # change certs from being hashed with MD5 to SHA256 | |
| perl -pi -e 's/default_md\s*=\s*md5/default_md = SHA256/' src/ssltools.h | |
| # change encryption for cert keys from des3 to aes256 | |
| perl -pi -e 's/-des3/-aes256/' src/ssltools.h | |
| autoreconf -vfi | |
| ./configure | |
| make -j $(nproc) | |
| make install | |
| - name: Run x11vnc tests | |
| run: | | |
| export ${{ matrix.force_fail }} | |
| export WOLFPROV_FORCE_FAIL_STR="${{ matrix.force_fail }}" | |
| $GITHUB_WORKSPACE/.github/scripts/x11vnc/test_x11vnc.sh |