Subj : src/ssh/ssh-trans.c src/ssh/test/dssh_test_internal.h test_algo_key.c To : Git commit to main/sbbs/master From : Deuc¨ Date : Tue Mar 24 2026 20:58:43 https://gitlab.synchro.net/main/sbbs/-/commit/d0d4f7f9dffc633a265ea1d1 Modified Files: src/ssh/ssh-trans.c src/ssh/test/dssh_test_internal.h test_algo_key.c test_conn.c test_transport.c Log Message: Add defensive guard coverage tests (32 new tests) Test all defense-in-depth branches that were previously uncovered: Registration guards (test_transport.c, 9 tests): - kex/comp/lang toolong: name > 64 chars  DSSH_ERROR_TOOLONG - kex/key_algo/enc/mac/comp/lang toomany: entries == SIZE_MAX Blocksize + cleanup guards (test_transport.c, 2 tests): - tx_block_size/rx_block_size clamp blocksize < 8 to minimum 8 (made DSSH_TESTABLE for direct testing) - transport_cleanup with NULL cleanup function pointers Key algo guards (test_algo_key.c, 6 tests): - ed25519/rsa haskey(NULL)  false - ed25519/rsa cleanup(NULL)  no-op - ed25519/rsa get_pub_str with bufsz too small  DSSH_ERROR_TOOLONG Connection state guards (test_conn.c, 16 tests): - session_write/write_ext with !open and close_received - channel_write with !open and close_received - channel_read on empty raw queue - channel_poll with eof_received and close_received - session_poll with close_received on READ and READEXT - stdout/stderr signal mark already consumed - channel_poll/session_poll with timeout_ms=-1 (infinite wait, data already ready) - session_read_ext on empty stderr buffer Total missed branches: 443  414 (82.41%  83.56%). Co-Authored-By: Claude Opus 4.6 --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .