telnetd: Added support for AYT IAC command.
No binary (build failed)
—
(log yok)
| @@ -249,7 +249,7 @@ safe_write_to_pty_decode_iac(struct tsession *ts) | |
| * IAC SE (240) End of subnegotiation. Treated as NOP. | |
| * IAC NOP (241) NOP. Supported. | |
| * IAC BRK (243) Break. Like serial line break. TODO via tcsendbreak()? | |
| - | * IAC AYT (246) Are you there. Send back evidence that AYT was seen. TODO (send NOP back)? |
| + | * IAC AYT (246) Are you there. |
| * These don't look useful: | |
| * IAC DM (242) Data mark. What is this? | |
| * IAC IP (244) Suspend, interrupt or abort the process. (Ancient cousin of ^C). | |
| @@ -277,6 +277,13 @@ safe_write_to_pty_decode_iac(struct tsession *ts) | |
| rc = 2; | |
| goto update_and_return; | |
| } | |
| + | if (buf[1] == AYT) { |
| + | /* Send back evidence that AYT was seen. */ |
| + | buf[1] = NOP; |
| + | /*rc =*/ safe_write(ts->sockfd_write, buf, 2); |
| + | rc = 2; |
| + | goto update_and_return; |
| + | } |
| if (buf[1] >= 240 && buf[1] <= 249) { | |
| /* NOP (241). Ignore (putty keepalive, etc) */ | |
| /* All other 2-byte commands also treated as NOPs here */ | |