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]