Skip to content

Kuba/ssh/fixup zero fault tests#11204

Open
u3s wants to merge 3 commits into
erlang:maintfrom
u3s:kuba/ssh/fixup_zero_fault_tests
Open

Kuba/ssh/fixup zero fault tests#11204
u3s wants to merge 3 commits into
erlang:maintfrom
u3s:kuba/ssh/fixup_zero_fault_tests

Conversation

@u3s
Copy link
Copy Markdown
Contributor

@u3s u3s commented Jun 5, 2026

No description provided.

On systems where the crypto backend lacks ML-KEM support (e.g.
LibreSSL 4.3.0 on OpenBSD 7.9), the Erlang SSH server cannot offer
mlkem768x25519-sha256. Recent OpenSSH clients emit a warning when
a non-PQ kex is negotiated, causing eserver_oclient_kex_strict and
erlang_server_openssh_client_renegotiate to fail.

Only fail on the PQC warning when mlkem768 is actually available in
the crypto backend. Otherwise log and continue, since the warning is
expected and the test validates kex strict/renegotiation, not PQC.
@u3s u3s requested a review from Mikaka27 June 5, 2026 16:10
@u3s u3s self-assigned this Jun 5, 2026
@u3s u3s added the team:PS Assigned to OTP team PS label Jun 5, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 5, 2026

CT Test Results

    2 files     29 suites   26m 2s ⏱️
  502 tests   496 ✅  6 💤 0 ❌
1 711 runs  1 683 ✅ 28 💤 0 ❌

Results for commit 5c0e87b.

♻️ This comment has been updated with latest results.

To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass.

See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally.

Artifacts

// Erlang/OTP Github Action Bot

@u3s u3s added the testing currently being tested, tag is used by OTP internal CI label Jun 5, 2026
On OpenBSD 7.9 (LibreSSL 4.3.0), ssh-dss is not available in the
crypto backend. The no_common_alg tests used ssh-dss as the client
algorithm to create a deliberate mismatch, but ssh_options:handle_options
rejects it before any network communication on platforms without DSA.

Use ssh-ed25519 (server) and ecdsa-sha2-nistp256 (client) instead.
Both are universally available and create the same "no overlap"
scenario the tests validate.
@u3s u3s force-pushed the kuba/ssh/fixup_zero_fault_tests branch from fe27ac2 to ed69c98 Compare June 5, 2026 16:16
Replace ct:sleep(100) + single gen_tcp:recv with a loop that
accumulates data until the kex-strict indicator is found or
4096 bytes received. The previous approach was timing-dependent
and could fail when the KEXINIT data arrived in multiple TCP
segments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

team:PS Assigned to OTP team PS testing currently being tested, tag is used by OTP internal CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant