From 337a8ce96ef01f148f1e22f3ddbcf08b73b42d02 Mon Sep 17 00:00:00 2001 From: Reda Chouk Date: Mon, 16 Feb 2026 20:44:00 +0100 Subject: [PATCH 1/2] - make WGW logging off by default, togglable via WGW_LOGGING=1 env var. - enable WGW_LOGGING=1 explicitly in all CI workflows so test logs remain visible. --- .github/workflows/chrony.yml | 1 + .github/workflows/curl.yml | 2 +- .github/workflows/dirmngr.yml | 1 + .github/workflows/fwupd.yml | 1 + .github/workflows/glib-networking.yml | 1 + .github/workflows/gst-libav1.0.yml | 1 + .github/workflows/libcamera.yml | 1 + .github/workflows/libcups.yml | 2 +- .github/workflows/libjcat.yml | 1 + .github/workflows/libnice.yml | 1 + .github/workflows/libvnc.yml | 1 + .github/workflows/libvte.yml | 4 +++- .github/workflows/networkmanager.yml | 1 + .github/workflows/openldap.yml | 2 +- .github/workflows/qpdf.yml | 2 +- .github/workflows/rsyslog.yml | 1 + .github/workflows/samba-libs.yml | 1 + .github/workflows/unit-tests.yml | 2 ++ .github/workflows/wget.yml | 1 + .github/workflows/wireshark.yml | 1 + .github/workflows/xmlsec.yml | 1 + wolfssl-gnutls-wrapper/src/wolfssl.c | 4 ++-- 22 files changed, 26 insertions(+), 7 deletions(-) diff --git a/.github/workflows/chrony.yml b/.github/workflows/chrony.yml index c7e1905..68531fd 100644 --- a/.github/workflows/chrony.yml +++ b/.github/workflows/chrony.yml @@ -103,4 +103,5 @@ jobs: working-directory: chrony run: | export LD_LIBRARY_PATH=/opt/gnutls/lib:/opt/wolfssl/lib:/opt/wolfssl-gnutls-wrapper/lib + export WGW_LOGGING=1 make check diff --git a/.github/workflows/curl.yml b/.github/workflows/curl.yml index a214424..50c8182 100644 --- a/.github/workflows/curl.yml +++ b/.github/workflows/curl.yml @@ -100,4 +100,4 @@ jobs: working-directory: curl run: | export USER=root - WGW_LOGGING=0 make -j $(nproc) test-ci + make -j $(nproc) test-ci diff --git a/.github/workflows/dirmngr.yml b/.github/workflows/dirmngr.yml index 604cc6c..d3614a5 100644 --- a/.github/workflows/dirmngr.yml +++ b/.github/workflows/dirmngr.yml @@ -142,5 +142,6 @@ jobs: -Wl,-rpath,$PREFIX_LOCAL/lib -Wl,-rpath,$PREFIX_GNUTLS/lib" export LD_LIBRARY_PATH=/usr/local/lib:/opt/gnutls/lib + export WGW_LOGGING=1 cd gnupg/dirmngr make check diff --git a/.github/workflows/fwupd.yml b/.github/workflows/fwupd.yml index 35fb697..1919ab0 100644 --- a/.github/workflows/fwupd.yml +++ b/.github/workflows/fwupd.yml @@ -125,5 +125,6 @@ jobs: - name: Test fwupd working-directory: fwupd run: | + export WGW_LOGGING=1 meson test -C builddir --print-errorlogs diff --git a/.github/workflows/glib-networking.yml b/.github/workflows/glib-networking.yml index a917fc1..5d28e95 100644 --- a/.github/workflows/glib-networking.yml +++ b/.github/workflows/glib-networking.yml @@ -111,6 +111,7 @@ jobs: # Run all tests, 'meson test', when they are working # mock PKCS#11 is failing with GnuTLS run: | + export WGW_LOGGING=1 cd build if [ ${{ matrix.glib-networking_ref }} = '2.74.0' ]; then meson test gnome file-database-gnutls environment certificate-gnutls diff --git a/.github/workflows/gst-libav1.0.yml b/.github/workflows/gst-libav1.0.yml index a846f1e..cbffbf0 100644 --- a/.github/workflows/gst-libav1.0.yml +++ b/.github/workflows/gst-libav1.0.yml @@ -180,4 +180,5 @@ jobs: export LDFLAGS="-L/opt/gnutls/lib -L/opt/ffmpeg-gnutls/lib -L/opt/gstreamer/lib \ -Wl,-rpath,/opt/gnutls/lib -Wl,-rpath=/opt/ffmpeg-gnutls/lib -Wl,-rpath,/opt/gstreamer/lib $LDFLAGS" export LD_LIBRARY_PATH="/opt/gnutls/lib:/opt/ffmpeg-gnutls/lib:/opt/gstreamer/lib:$LD_LIBRARY_PATH" + export WGW_LOGGING=1 meson test -C build --print-errorlogs diff --git a/.github/workflows/libcamera.yml b/.github/workflows/libcamera.yml index a9e41f3..937f00a 100644 --- a/.github/workflows/libcamera.yml +++ b/.github/workflows/libcamera.yml @@ -95,6 +95,7 @@ jobs: - name: Run unit-tests that don’t need hardware working-directory: libcamera/build run: | + export WGW_LOGGING=1 if [ "${{ matrix.libcamera_ref }}" = "v0.0.3" ]; then meson test -v \ 'control_info' 'control_value' \ diff --git a/.github/workflows/libcups.yml b/.github/workflows/libcups.yml index 239bde8..e28dcd3 100644 --- a/.github/workflows/libcups.yml +++ b/.github/workflows/libcups.yml @@ -145,7 +145,7 @@ jobs: # Run tests WITH provider echo "=== RUNNING TESTS WITH PROVIDER ===" - export WGW_LOGGING=0 + > /tmp/with_provider.log diff --git a/.github/workflows/libjcat.yml b/.github/workflows/libjcat.yml index 5e3068b..f1ae774 100644 --- a/.github/workflows/libjcat.yml +++ b/.github/workflows/libjcat.yml @@ -99,4 +99,5 @@ jobs: working-directory: libjcat run: | . ~/.venvs/meson-056/bin/activate + export WGW_LOGGING=1 meson test -C _build-custom --verbose diff --git a/.github/workflows/libnice.yml b/.github/workflows/libnice.yml index 5133788..4dcf73e 100644 --- a/.github/workflows/libnice.yml +++ b/.github/workflows/libnice.yml @@ -95,4 +95,5 @@ jobs: export CPPFLAGS="-I/opt/gnutls/include ${CPPFLAGS}" export LDFLAGS="-L/opt/gnutls/lib -Wl,-rpath,/opt/gnutls/lib ${LDFLAGS}" export LD_LIBRARY_PATH="/opt/gnutls/lib:${LD_LIBRARY_PATH}" + export WGW_LOGGING=1 ninja -C build-gnutls test diff --git a/.github/workflows/libvnc.yml b/.github/workflows/libvnc.yml index 0bbdb9c..9704742 100644 --- a/.github/workflows/libvnc.yml +++ b/.github/workflows/libvnc.yml @@ -116,5 +116,6 @@ jobs: export CPPFLAGS="-I/opt/gnutls/include $CPPFLAGS" export LDFLAGS="-L/opt/gnutls/lib -Wl,-rpath,/opt/gnutls/lib $LDFLAGS" export LD_LIBRARY_PATH="/opt/gnutls/lib:$LD_LIBRARY_PATH" + export WGW_LOGGING=1 cp /usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll test/ ctest -C Debug --output-on-failure diff --git a/.github/workflows/libvte.yml b/.github/workflows/libvte.yml index ffb449d..9121473 100644 --- a/.github/workflows/libvte.yml +++ b/.github/workflows/libvte.yml @@ -102,4 +102,6 @@ jobs: - name: Test VTE build working-directory: vte - run: ninja -C _build test --verbose + run: | + export WGW_LOGGING=1 + ninja -C _build test --verbose diff --git a/.github/workflows/networkmanager.yml b/.github/workflows/networkmanager.yml index 8a6f4b1..a5ae6fa 100644 --- a/.github/workflows/networkmanager.yml +++ b/.github/workflows/networkmanager.yml @@ -134,6 +134,7 @@ jobs: export LDFLAGS="-L/opt/gnutls/lib -L/opt/curl/lib -Wl,-rpath,/opt/gnutls/lib:/opt/curl/lib${LDFLAGS:+ $LDFLAGS}" export LD_LIBRARY_PATH="/opt/gnutls/lib:/opt/curl/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" export NM_TEST_REGENERATE=1 + export WGW_LOGGING=1 if [ "${{ matrix.nm_version }}" != "1.42.4" ]; then ninja -C build-gnutls test diff --git a/.github/workflows/openldap.yml b/.github/workflows/openldap.yml index b2c8239..31807a5 100644 --- a/.github/workflows/openldap.yml +++ b/.github/workflows/openldap.yml @@ -200,4 +200,4 @@ jobs: - name: Test OpenLDAP working-directory: openldap run: | - WGW_LOGGING=0 make test + make test diff --git a/.github/workflows/qpdf.yml b/.github/workflows/qpdf.yml index 02add77..2316367 100644 --- a/.github/workflows/qpdf.yml +++ b/.github/workflows/qpdf.yml @@ -101,5 +101,5 @@ jobs: working-directory: qpdf run: | cd build - WGW_LOGGING=0 ctest --verbose + ctest --verbose diff --git a/.github/workflows/rsyslog.yml b/.github/workflows/rsyslog.yml index 3bbc38e..63b69a3 100644 --- a/.github/workflows/rsyslog.yml +++ b/.github/workflows/rsyslog.yml @@ -172,6 +172,7 @@ jobs: EOF export VALGRIND_OPTS=--suppressions=valgrind.supp export LD_LIBRARY_PATH=/opt/gnutls/lib:/opt/wolfssl/lib:/opt/wolfssl-gnutls-wrapper/lib + export WGW_LOGGING=1 make check 2>&1 | tee test.log awk '/^FAIL:/ {gsub(/\.sh$/, ".log", $2); print "==== " $2 " ===="; system("cat tests/" $2 "\n")}' test.log echo "Check for failures" diff --git a/.github/workflows/samba-libs.yml b/.github/workflows/samba-libs.yml index 6d19285..0fad180 100644 --- a/.github/workflows/samba-libs.yml +++ b/.github/workflows/samba-libs.yml @@ -99,4 +99,5 @@ jobs: export CPPFLAGS="-I/opt/gnutls/include ${CPPFLAGS:-}" export LDFLAGS="-L/opt/gnutls/lib -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/opt/gnutls/lib ${LDFLAGS:-}" export LD_LIBRARY_PATH="/opt/gnutls/lib:/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:-}" + export WGW_LOGGING=1 make quicktest -j"$(nproc)" diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 72092b5..a7f4aaa 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -57,6 +57,7 @@ jobs: - name: Run unit tests run: | + export WGW_LOGGING=1 TEST_RESULT=0 cd wolfssl-gnutls-wrapper ${{ matrix.provider }} make test || TEST_RESULT=$? @@ -103,6 +104,7 @@ jobs: - name: Run Valgrind tests run: | + export WGW_LOGGING=1 cd wolfssl-gnutls-wrapper/tests/ make run_valgrind diff --git a/.github/workflows/wget.yml b/.github/workflows/wget.yml index 62718d3..c9b8f96 100644 --- a/.github/workflows/wget.yml +++ b/.github/workflows/wget.yml @@ -204,5 +204,6 @@ jobs: if [[ "${{ matrix.wget_ref }}" = "v1.21.4" ]]; then export LD_LIBRARY_PATH=/opt/nettle/lib64:/opt/nettle/lib:/opt/gnutls/lib:/opt/wolfssl/lib:/opt/wolfssl-gnutls-wrapper/lib:$LD_LIBRARY_PATH fi + export WGW_LOGGING=1 make check find . -name '*.log' | xargs grep wgw diff --git a/.github/workflows/wireshark.yml b/.github/workflows/wireshark.yml index 21b6685..48e3aa9 100644 --- a/.github/workflows/wireshark.yml +++ b/.github/workflows/wireshark.yml @@ -123,6 +123,7 @@ jobs: run: | export PKG_CONFIG_PATH=/opt/nettle/lib64/pkgconfig:/opt/nettle/lib/pkgconfig:/opt/gnutls/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=/opt/nettle/lib64:/opt/nettle/lib:/opt/gnutls/lib:$LD_LIBRARY_PATH + export WGW_LOGGING=1 cd build pytest ../test/suite_decryption.py -v -s pytest ../test/suite_dissection.py -v -s diff --git a/.github/workflows/xmlsec.yml b/.github/workflows/xmlsec.yml index 87d1a6d..28253d4 100644 --- a/.github/workflows/xmlsec.yml +++ b/.github/workflows/xmlsec.yml @@ -153,5 +153,6 @@ jobs: export XMLSEC_TEST_IGNORE_PERCENT_SUCCESS=1 fi + export WGW_LOGGING=1 make check find /tmp -name "*.log" | xargs grep wgw diff --git a/wolfssl-gnutls-wrapper/src/wolfssl.c b/wolfssl-gnutls-wrapper/src/wolfssl.c index 9068b62..4b6444f 100644 --- a/wolfssl-gnutls-wrapper/src/wolfssl.c +++ b/wolfssl-gnutls-wrapper/src/wolfssl.c @@ -44,8 +44,8 @@ int _gnutls_wolfssl_init(void) int ret; char* str; - /* Set logging to be enabled. */ - loggingEnabled = 1; + /* Set logging to be disabled by default. */ + loggingEnabled = 0; /* Set default logging file descriptor. */ loggingFd = stderr; #if defined(XGETENV) && !defined(NO_GETENV) From 0c459ac22531a7a7d1a61bf07282eb84bc358b68 Mon Sep 17 00:00:00 2001 From: Reda Chouk Date: Mon, 16 Feb 2026 21:53:23 +0100 Subject: [PATCH 2/2] - updated fwupd workflows (patching only the latest, master has changed for bookworm compatibility, read comment in .github/workflows/fwupd.yml for more info); - updated ffmpeg mirror to the github one (the main mirror is unavailable); - disabled vte master testing (c++ features that are not available on debian bookworm), and minor change to verify the linkage against gnutls-wolfssl; - updated dependencies in the rsyslog (new ones were added upstream in the master branch); - removed master branch from the matrix of the gst workflow (now requires gstreamer to be on 1.28.x, we are focused on 1.26.x) --- .github/workflows/fwupd.yml | 2 +- .github/workflows/gst-libav1.0.yml | 4 ++-- .github/workflows/libvte.yml | 8 ++++---- .github/workflows/rsyslog.yml | 1 + 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/fwupd.yml b/.github/workflows/fwupd.yml index 1919ab0..f3046fd 100644 --- a/.github/workflows/fwupd.yml +++ b/.github/workflows/fwupd.yml @@ -98,7 +98,7 @@ jobs: git checkout ${{ matrix.fwupd_ref }} - name: Patch fwupd tests for Debian Bookworm compatibility - if: matrix.fwupd_ref != '1.9.26' + if: matrix.fwupd_ref != '1.9.26' matrix.fwupd_ref != 'master' working-directory: fwupd run: | # GLib in Debian Bookworm emits WARNING for invalid properties while diff --git a/.github/workflows/gst-libav1.0.yml b/.github/workflows/gst-libav1.0.yml index cbffbf0..438c961 100644 --- a/.github/workflows/gst-libav1.0.yml +++ b/.github/workflows/gst-libav1.0.yml @@ -17,7 +17,7 @@ jobs: timeout-minutes: 60 strategy: matrix: - gst_ref: [ 'master', 'debian/1.26.2-1', 'debian/1.26.3-1' ] + gst_ref: [ 'debian/1.26.2-1', 'debian/1.26.3-1' ] fail-fast: false steps: - name: Checkout gnutls-wolfssl repository @@ -108,7 +108,7 @@ jobs: - name: Build FFmpeg with GnuTLS & MPEG-4 encoder run: | cd $RUNNER_WORKSPACE - git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg-gnutls + git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg-gnutls cd ffmpeg-gnutls export PKG_CONFIG_PATH="/opt/gnutls/lib/pkgconfig:/opt/gstreamer/lib/pkgconfig" export CPPFLAGS="-I/opt/gnutls/include -I/opt/gstreamer/include" diff --git a/.github/workflows/libvte.yml b/.github/workflows/libvte.yml index 9121473..8d62cbc 100644 --- a/.github/workflows/libvte.yml +++ b/.github/workflows/libvte.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest ] - vte_ref: [ 'master', '0.70.6'] + vte_ref: [ '0.70.6' ] fail-fast: false runs-on: ${{ matrix.os }} container: @@ -92,12 +92,12 @@ jobs: - name: Verify VTE is linked against the custom GnuTLS working-directory: vte/_build run: | - lib=$(find src -maxdepth 1 -name 'libvte-2.91*.so*' | head -n 1) + lib=$(find src -maxdepth 1 -type f -name 'libvte-2.91*.so*' | head -n 1) echo "Checking linkage for $lib" ldd "$lib" | grep gnutls if ! ldd "$lib" | grep -q '/opt/gnutls/lib/libgnutls.so'; then - echo "::error::VTE is NOT linked against /opt/gnutls/lib/libgnutls.so" - exit 1 + echo "::error::VTE is NOT linked against /opt/gnutls/lib/libgnutls.so" + exit 1 fi - name: Test VTE build diff --git a/.github/workflows/rsyslog.yml b/.github/workflows/rsyslog.yml index 63b69a3..c597fe8 100644 --- a/.github/workflows/rsyslog.yml +++ b/.github/workflows/rsyslog.yml @@ -46,6 +46,7 @@ jobs: sudo apt-get install -y build-essential pkg-config libestr-dev libfastjson-dev zlib1g-dev uuid-dev libhiredis-dev uuid-dev flex bison sudo apt-get install -y libdbi-dev libmariadb-dev-compat postgresql-client libpq-dev libnet-dev librdkafka-dev libpcre3-dev libtokyocabinet-dev libglib2.0-dev libmongo-client-dev sudo apt-get install -y libcurl4-gnutls-dev + sudo apt-get install -y protobuf-c-compiler libprotobuf-c-dev libsnappy-dev apt-get install -y python3-pip pip3 install --break-system-packages docutils