• src/syncterm/telnet_io.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Dec 25 00:36:23 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/836593162c49c5ccf5469240
    Modified Files:
    src/syncterm/telnet_io.c
    Log Message:
    Whitespace cleanup

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tue Apr 23 00:25:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2bae9a96e637c06d8f48c8c6
    Modified Files:
    src/syncterm/telnet_io.c
    Log Message:
    Track Telnet Binary TX mode set by server via Telnet (IAC) commands

    As reported by Chris/akacastor (21:1/162), SyncTERM would always assume the Telnet session was in ASCII mode until/unless conn_binary_mode_on() was called which is only called at the beginning of a file transfer, which sets the conn_api.binary_mode accordingly. Unfortunately, if the Telnet server
    requested binary mode itself (e.g. during initial connection), SyncTERM would (try to) set the connection back to ASCII mode after any file transfer. :-(

    With this change, the conn_api.binary_mode will track the actual binary TX
    mode whether initiated locally or remotely (by the server), but it'll only be set to true when *both* directions are succesfully set to binary mode. And
    this way, if the connection was already in binary mode before any file transfer, it'll remain in binary mode as was apparently desired by the server.

    Also with this change, we could probably remove the setting of conn_api.binary_mode to true/false in conn_binary_mode_on()/off() functions, but it shouldn't hurt anything if it's left there I suppose (in case some *other* terminal transport protocols have the concept of binary mode?).

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