[LBBS-109] net_telnet: Local echo remains enabled in some cases
A couple people have complained that Telnet results in doubled up characters (due to local echo remaining enabled). Likely an issue with the options negotiation logic. Apparently, this didn't used to happen for one user but is happening now.
I suspect (but have not confirmed for sure) that this is a regression caused by: https://github.com/InterLinked1/lbbs/commit/acfdcda3c1391de7faead7ec59ae42559fc5ec5d
The issue can readily be reproduced:
[2026-04-09 19:54:54.154] DEBUG[539593]: net_telnet.c:223 telnet_option_send: him: NO, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.154] DEBUG[539593]: net_telnet.c:77 telnet_send_command: Sent Telnet command: IAC WILL ECHO
[2026-04-09 19:54:54.154] DEBUG[539593]: net_telnet.c:223 telnet_option_send: him: NO, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.155] DEBUG[539593]: net_telnet.c:77 telnet_send_command: Sent Telnet command: IAC WILL SUPPRESS GO AHEAD
[2026-04-09 19:54:54.174] DEBUG[539593]: net_telnet.c:136 telnet_read_command: Received Telnet command IAC DO ECHO
[2026-04-09 19:54:54.174] DEBUG[539593]: net_telnet.c:487 __telnet_process_command: him: NO, himq: EMPTY, us: WANTYES, usq: EMPTY
[2026-04-09 19:54:54.189] DEBUG[539593]: net_telnet.c:136 telnet_read_command: Received Telnet command IAC DO SUPPRESS GO AHEAD
[2026-04-09 19:54:54.190] DEBUG[539593]: net_telnet.c:487 __telnet_process_command: him: NO, himq: EMPTY, us: WANTYES, usq: EMPTY
[2026-04-09 19:54:54.490] DEBUG[539593]: net_telnet.c:105 telnet_read_command: poll returned 0
[2026-04-09 19:54:54.490] DEBUG[539593]: net_telnet.c:849 telnet_handshake: Finished processing commands received at connection time
[2026-04-09 19:54:54.490] DEBUG[539593]: net_telnet.c:223 telnet_option_send: him: NO, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.490] DEBUG[539593]: net_telnet.c:77 telnet_send_command: Sent Telnet command: IAC DO TERMINAL TYPE
[2026-04-09 19:54:54.506] DEBUG[539593]: net_telnet.c:136 telnet_read_command: Received Telnet command IAC WILL TERMINAL TYPE
[2026-04-09 19:54:54.506] DEBUG[539593]: net_telnet.c:487 __telnet_process_command: him: WANTYES, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.506] DEBUG[539593]: net_telnet.c:93 telnet_send_command6: Sent Telnet command: IAC SB TERMINAL TYPE ECHO IAC SE
[2026-04-09 19:54:54.506] DEBUG[539593]: net_telnet.c:223 telnet_option_send: him: NO, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.506] DEBUG[539593]: net_telnet.c:77 telnet_send_command: Sent Telnet command: IAC DO NAWS
[2026-04-09 19:54:54.522] DEBUG[539593]: net_telnet.c:136 telnet_read_command: Received Telnet command IAC SB TERMINAL TYPE
[2026-04-09 19:54:54.522] DEBUG[539593]: net_telnet.c:758 __telnet_process_command: Terminal type is ANSI
[2026-04-09 19:54:54.522] DEBUG[539593]: net_telnet.c:904 telnet_handshake: Haven't yet received response to NAWS option inquiry, waiting for it...
[2026-04-09 19:54:54.538] DEBUG[539593]: net_telnet.c:136 telnet_read_command: Received Telnet command IAC SB NAWS
[2026-04-09 19:54:54.538] DEBUG[539593]: net_telnet.c:705 __telnet_process_command: Got 0 80 0 25 255 240
[2026-04-09 19:54:54.538] DEBUG[539593]: node.c:1204 bbs_node_update_winsize: Node 9's terminal now has 80 cols and 25 rows
[2026-04-09 19:54:54.538] DEBUG[539593]: node.c:1235 bbs_node_update_winsize: Skipping TIOCSWINSZ for winsize on node 9 (no active PTY allocation)
[2026-04-09 19:54:54.538] DEBUG[539593]: net_telnet.c:77 telnet_send_command: Sent Telnet command: IAC DONT NAWS
[2026-04-09 19:54:54.558] DEBUG[539593]: net_telnet.c:136 telnet_read_command: Received Telnet command IAC WONT NAWS
[2026-04-09 19:54:54.558] DEBUG[539593]: net_telnet.c:487 __telnet_process_command: him: WANTYES, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.558] DEBUG[539593]: net_telnet.c:223 telnet_option_send: him: NO, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.558] DEBUG[539593]: net_telnet.c:77 telnet_send_command: Sent Telnet command: IAC DO TSPEED
[2026-04-09 19:54:54.574] DEBUG[539593]: net_telnet.c:136 telnet_read_command: Received Telnet command IAC WONT TSPEED
[2026-04-09 19:54:54.574] DEBUG[539593]: net_telnet.c:487 __telnet_process_command: him: WANTYES, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.574] DEBUG[539593]: net_telnet.c:922 telnet_handshake: Request to enable ECHO not yet acknowledged, retrying
[2026-04-09 19:54:54.574] DEBUG[539593]: net_telnet.c:223 telnet_option_send: him: NO, himq: EMPTY, us: YES, usq: EMPTY
[2026-04-09 19:54:54.574] DEBUG[539593]: net_telnet.c:77 telnet_send_command: Sent Telnet command: IAC WONT ECHO
[2026-04-09 19:54:54.574] DEBUG[539593]: net_telnet.c:223 telnet_option_send: him: NO, himq: EMPTY, us: NO, usq: EMPTY
[2026-04-09 19:54:54.574] DEBUG[539593]: net_telnet.c:77 telnet_send_command: Sent Telnet command: IAC WILL ECHO
[2026-04-09 19:54:54.590] DEBUG[539593]: net_telnet.c:136 telnet_read_command: Received Telnet command IAC DONT ECHO
[2026-04-09 19:54:54.590] DEBUG[539593]: net_telnet.c:487 __telnet_process_command: him: NO, himq: EMPTY, us: WANTYES, usq: EMPTYComments
You must be logged in to leave a comment.
4/9/2026 6:35 PM — InterLinked
Autoresolved by code commit on GitHub:
net_telnet: Fix ECHO option negotiation.
https://github.com/InterLinked1/lbbs/commit/2ad437c4a7f809d26221d0f8921d7f002663af6c