BBS:      TELESC.NET.BR
Assunto:  src/ssh/enc/aes256-ctr.c src/ssh/kex/curve25519-sha256.c dh-gex-sha256
De:       Deuc¨
Data:     Mon, 23 Mar 2026 20:49:18 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/f71fe26992b4638e30d57a3f
Modified Files:
	src/ssh/enc/aes256-ctr.c src/ssh/kex/curve25519-sha256.c dh-gex-sha256.c src/ssh/key_algo/rsa-sha2-256.c ssh-ed25519.c src/ssh/mac/hmac-sha2-256.c src/ssh/ssh-arch.c ssh-conn.c ssh-trans.c
Log Message:
Compile out unreachable defense-in-depth guards under DSSH_TESTING

Wrap ~46 dead-code branches in #ifndef DSSH_TESTING so coverage
reports reflect only reachable code.  Each guard has a comment
explaining why it is unreachable:

ssh-arch.c: dssh_parse_uint32 cannot fail after bufsz >= 4 check

ssh-trans.c: rekey_time never 0 after init, enc blocksize always >= 8,
  payload_len always > 0, enc->encrypt/decrypt always non-NULL, all
  modules provide cleanup, ka->haskey always non-NULL, kex_selected
  validated before kex(), shared secret always non-empty, namelist
  buffers adequate, remote_languages never populated

ssh-conn.c: send_extended_data len already clamped by public API,
  chan_type always set after init, channels array never contains NULL

key_algo: cbd->pkey always set before sign/pubkey/save callable,
  caller buffers always adequate, EVP_PKEY_id always matches module,
  cleanup only called after successful init

kex modules: ka and function pointers always set by negotiation,
  own-key pubkey always succeeds, serialize buffers adequate

enc/mac: cleanup only called after successful init

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

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