BBS:      TELESC.NET.BR
Assunto:  src/ssh/test/test_asymmetric_mac.csrc/ssh/test/CMakeLists.txt test_all
De:       Deuc¨
Data:     Tue, 31 Mar 2026 11:13:12 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/a8491210ced8844e548b4d5b
Added Files:
	src/ssh/test/test_asymmetric_mac.c
Modified Files:
	src/ssh/test/CMakeLists.txt test_alloc.c test_auth.c test_conn.c test_dhgex_provider.h test_selftest.c test_thread_errors.c test_transport.c
Log Message:
Add DSSH_TEST_MAC variant axis and fork-based asymmetric MAC test

Gap 1: hmac-sha2-256 was never exercised in integration tests because
hmac-sha2-512 always won negotiation.  Add DSSH_TEST_MAC=hmac256 env
var with test_register_mac_algos() helper to control MAC preference
order.  Four hmac256 variants added per test suite (default, rsa,
dhgex, sntrup) covering the full stack with the 32-byte MAC.

Gap 2: asymmetric c2s/s2c MAC negotiation was untestable because both
sides share the same global registry.  Add test_asymmetric_mac.c using
fork() after socketpair() so client and server have separate registries
with opposite MAC preference orders.  Full handshake, auth, channel
echo roundtrip exercises the per-direction key derivation fix from the
previous commit.  Proper session_teardown() (terminate + shutdown +
cleanup) prevents demux thread hangs; child gets alarm(30) safety net.

Test suite: 3489 tests (up from 2624), 0 failures.

Co-Authored-By: Claude Opus 4.6 (1M context) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]