Subj : Solved issue with SyncTerm after up/download on my BBS To : All From : AKAcastor Date : Tue Apr 16 2024 09:59 pm On the BBS here (Another Millennium - another.tel port 23) we had experienced an unusual bug causing sessions with SyncTerm to become unstable after a file transfer. Some menus and prompts would sometimes not display, seemingly erratic behaviour. I never noticed this on other BBSes, and only when using SyncTerm to connect to my BBS - no other client I used exhibited the problem, so it seemed kind of mysterious. The problem was identified using the logging feature of SyncTerm and solved by patching the telnet softmodem in DOSBox-X. Some background: On telnet connections, there are IAC messages (Interpret As Command) that are used to configure the data link between server and client. These IAC messages did not exist for dialup modem use - they are specifically part of the telnet protocol - so Maximus BBS does not manage IAC messages. This BBS is using telnet emulation via the softmodem built into DOSBox-X. The softmodem interface allows Maximus and other DOS software to communicate via telnet as though it was a dialup modem. The telnet protocol is invisible to the DOS software. DOSBox-X interprets IAC messages and responds accordingly. One of the functions of IAC messages is to configure a link to pass ASCII (7-bit) data or binary (8-bit) data. Especially when transferring files it is important to have a binary link to avoid file corruption. On this BBS many other areas also use 8-bit data - if you have IBM-PC characters (CP437) enabled, that's 8-bit. Back to the problem: In the SyncTerm session log, when a file transfer completed I found this: Xfer Notice: Finishing Session (Sending ZFIN) Telnet Info TX: DON'T Binary Transmission Telnet Info TX: WON'T Binary Transmission Telnet Info RX: WON'T Binary Transmission After a file transfer, SyncTerm is sending an IAC DON'T Binary along with an IAC WON'T Binary and has received from the DOSBox-X running the BBS an IAC WON'T Binary message. That is, SyncTerm is requesting the BBS to disable binary (8-bit) mode and telling the BBS it is no longer using binary mode, and the BBS (DOSBox-X) is complying and also disabling binary mode. With binary mode disabled, the BBS interface becomes erratic in SyncTerm. Solution: The telnet IAC handler in DOSBox-X softmodem.cpp was modified to deny requests to disable binary mode, and in case a client disables binary mode a request to enter binary mode is sent. The SyncTerm session long now looks like this: Xfer Notice: Finishing Session (Sending ZFIN) Telnet Info TX: DON'T Binary Transmission Telnet Info TX: WON'T Binary Transmission Telnet Info RX: WILL Binary Transmission Telnet Info TX: DO Binary Transmission Telnet Info RX: DO Binary Transmission Telnet Info TX: WILL Binary Transmission Telnet Info RX: WILL Binary Transmission After this, the session remains in binary mode and the BBS continues to operate smoothly. Chris/akacastor --- Maximus 3.01 * Origin: Another Millennium - Canada - another.tel (21:1/162) .