• src/ssh/ssh-conn.c ssh-tr

    From Deuc¿@VERT to Git commit to main/sbbs/m on Tuesday, March 24, 2026 20:58:00
    https://gitlab.synchro.net/main/sbbs/-/commit/0d52ede219b6cf4b0b67e348
    Modified Files:
    src/ssh/ssh-conn.c ssh-trans.c src/ssh/test/dssh_test_internal.h test_auth.c test_conn.c test_transport.c
    Log Message:
    Add all remaining easy coverage tests

    Transport tests:
    - first_name: basic, single entry, small buffer (clamp path)
    - register/two_kex, two_comp, two_lang (tail->next assignment)
    - kexinit/peer_trunc_namelist (SKIP Ä needs bridge infrastructure)

    Auth client tests:
    - get_methods FAILURE: truncated, methods_len > payload, control char
    - get_methods unexpected msg type
    - password CHANGEREQ: no callback, truncated prompt header,
    truncated prompt data, truncated lang
    - password unexpected msg type
    - SERVICE_ACCEPT unexpected msg type

    Conn tests:
    - send_eof already sent (direct call via DSSH_TESTABLE)
    - send_close already sent
    - maybe_replenish_window after EOF (no-op path)
    - maybe_replenish_window with low window (triggers WINDOW_ADJUST)
    - window underflow to zero via demux

    Infrastructure:
    - Expose send_eof, send_close, send_window_adjust,
    maybe_replenish_window, first_name as DSSH_TESTABLE
    - Add pipe-close to crafted-response server threads to prevent
    client read() hangs

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, April 01, 2026 16:21:00
    https://gitlab.synchro.net/main/sbbs/-/commit/31423630b9a9d9e8a3f180be
    Modified Files:
    src/ssh/ssh-conn.c ssh-trans.c ssh-trans.h
    Log Message:
    Coalesce queued WINDOW_ADJUST messages in tx_queue

    When the demux thread's WINDOW_ADJUST send falls back to enqueue (tx_mtx
    busy), coalesce with any already-queued WINDOW_ADJUST for the same channel instead of appending a duplicate. Entries below half the window target are moved to the tail (low priority); entries at or above half stay in place.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net