https://gitlab.synchro.net/main/sbbs/-/commit/7877652a0c218228a7bac7a0
Modified Files:
src/syncterm/term.c
Log Message:
Discard stale transfer handshakes
Remote transfer programs repeat their readiness request while the user navigates SyncTERM's protocol and file menus. Feeding every queued
request to the protocol adds an avoidable handshake round trip for each
stale copy before a transfer can begin.
Drain all receive-buffer layers through the normal decoded input path
before starting a transfer, then replay the suffix beginning with the
newest applicable request. Retain ZRINIT for ZMODEM uploads, ZRQINIT
for ZMODEM downloads, and repeated NAK, C, or G requests for X/YMODEM
uploads. Leave queues without a recognized request unchanged and avoid trimming protocols without an unambiguous inbound marker.
Account for replayed input in the receive helpers and reset the
additional staging state between sessions. Verify with a clean debug
build and all 67 SyncTERM terminal tests.
Refs SyncTERM ticket 271
Co-authored-by: OpenAI Codex <
[email protected]>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)