• src/syncterm/conn_telnet.

    From Deuc¿@VERT to Git commit to main/sbbs/m on Sunday, March 15, 2026 14:09:00
    https://gitlab.synchro.net/main/sbbs/-/commit/ddbe9b1638f713364426cccd
    Modified Files:
    src/syncterm/conn_telnet.c
    Log Message:
    Fix static last_was_lf persisting across connections in conn_telnet.c

    Move last_was_lf from function-static in st_telnet_expand() to file
    scope, and reset it in telnet_connect() alongside the other telnet
    state (telnet_local_option, telnet_remote_option). Previously, CR/LF
    state from one session could cause the first byte of the next session
    to be incorrectly consumed.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Friday, July 24, 2026 19:50:00
    https://gitlab.synchro.net/main/sbbs/-/commit/5c544223f01817b3859790ae
    Modified Files:
    src/syncterm/conn_telnet.c telnet_io.c telnet_io.h
    Log Message:
    Defer Telnet negotiation until a command arrives

    The receive parser return pointer only indicates whether input needed
    copying or interpretation. Using it to release deferred negotiation
    caused ordinary unchanged data to start negotiation, while interpreted
    IAC commands did not.

    Have telnet_interpret report completion of a Telnet command explicitly
    and use that signal independently of buffer ownership. NVT CR handling,
    partial commands, and escaped IAC data no longer release the defer.

    Co-authored-by: OpenAI Codex <noreply@openai.com>

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