keylog: Add test 2090 for SSLKEYLOGFILE structure - #19816
Conversation
|
Analysis of PR #19816 at fa623505: Test 2090 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 48 different CI jobs (the link just goes to one of them). Generated by Testclutch |
0bc103d to
d289417
Compare
|
I managed to reproduce the wolfssl failure, it seems that it needs to be built with |
d289417 to
c3122df
Compare
|
Hm, it's This patch builds wolfssl-opensslextra for this PR, without using the cache: --- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -481,18 +481,8 @@ jobs:
--disable-benchmark --disable-crypttests --disable-examples --prefix=/home/runner/wolfssl-all
make install
- - name: 'cache wolfssl (opensslextra)' # does support `OPENSSL_COEXIST`
- if: ${{ contains(matrix.build.install_steps, 'wolfssl-opensslextra') }}
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
- id: cache-wolfssl-opensslextra
- env:
- cache-name: cache-wolfssl-opensslextra
- with:
- path: ~/wolfssl-opensslextra
- key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.WOLFSSL_VERSION }}
-
- name: 'build wolfssl (opensslextra)'
- if: ${{ contains(matrix.build.install_steps, 'wolfssl-opensslextra') && steps.cache-wolfssl-opensslextra.outputs.cache-hit != 'true' }}
+ if: ${{ contains(matrix.build.install_steps, 'wolfssl-opensslextra') }}
run: |
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
--location "https://github.com/wolfSSL/wolfssl/archive/v${WOLFSSL_VERSION}-stable.tar.gz" | tar -xz |
|
This wolfSSL option is automatically enabled for wolfSSL QUIC builds, The public macro telling the feature is built-in is Did not yet dig why it's triggering, but opened #19852 trying to avoid |
|
Confirmed that patch #19852 fixed the wolfssl-opensslextra crash. |
f8f8060 to
52cca29
Compare
Without this option `wolfSSL_get_app_data()` always returns NULL. Disable codepaths using it (and its `set` pair) when curl is built against a wolfSSL library with this option missing. Fixing: ``` curl: ../../lib/vtls/wolfssl.c:486: wssl_vtls_new_session_cb: Assertion `cf != ((void *)0)' failed. ``` wolfSSL can be built with the `--enable-context-extra-user-data` or `-DWOLFSSL_EX_DATA` option to enable this feature. Some higher-level features also enable it automatically like QUIC, ASIO. Reported-by: Yedaya Katsman Bug: #19816 (comment) Ref: https://github.com/curl/curl/actions/runs/19871780796/job/56949160740 Closes #19852
Only the TLS 1.2 structure for now since it's simpler, and only has a single label type. This has the bonus of also testing libressl that only supports logging keys in TLS 1.2
52cca29 to
eafecdd
Compare
|
Thanks! |
Only the TLS 1.2 structure for now since it's simpler, and only has a single label type.
This has the bonus of also testing libressl that only supports logging keys in TLS 1.2
Fix fallout in GnuTLS.