Rob Sayre wrote:
For telnet, I think the most recent one is this: https://datatracker.ietf.org/doc/rfc8303/ but it's saying "don't do that". I was looking at why that was, and found: https://datatracker.ietf.org/doc/html/rfc6093#section-7
Though the wording of the rfc is "SHOULD NOT", the rfc should misunderstand how the urgent pointer is actually used and needed by interactive CLI including but not limited to telnet. There, the pointer is used to point to a single byte interrupt character and tells the client to flush all the characters received before the pointer. Otherwise, if we type to remote UNIX system (^M for line end and ^C for interrupt) cat >rmstar.sh^M rm -rf *^M ^C and cat command is terminated before reading "rm -rf *^M", the unread part will be read and executed by shell. If remote side support pseudo terminal capability to handle interrupt character followed by flushing, we don't need TCP urgent pointers. But, on less capable remote sides, we must rely on TCP urgent pointers and telnet is a tool useful for that purpose. Masataka Ohta