35 ms·
I learned this unexpectedly: I run ipmitool on a bastion host, and it uses similar sequences, like ~., to terminate a Serial over LAN session. I've had to rem
by CaliforniaKarl 9y ago
I learned this unexpectedly: I run ipmitool on a bastion host, and it uses similar sequences, like ~., to terminate a Serial over LAN session. I've had to remember to key ~~. so that the first tilde is able to get through to ipmitool.
- IgorPartola 9y agoOmg thank you. Same exact use case and I can’t believe I didn’t realize this.
- emmelaich 9y agoIt's not as bad as it use to be. In the old days you might do many telnets to get where you want. Sing the Telnet song! http://www.poppyfields.net/filks/00222.html http://www.poppyfields.net/filks/00222.html
- anyfoo 9y agoSpeaking of telnet, that protocol was actually much richer and had many more features than it would seem at a casual look. I learned that when implementing a tiny part of the telnet protocol in a retro computer emulator's serial port emulation routines, mostly just to enable character mode and proper (non-)echoing. (I also implemented the RS232 control lines, so that telnet'ing into the port actually behaved like a physical terminal would with respect to carrier detect and all that, but I think there wasn't any overlap with the telnet protocol itself. Maybe flow control.)
- teddyh 9y agoSee also the even older SUPDUP protocol (RFC 734¹), which I understand had even more features. 1. https://tools.ietf.org/html/rfc734 https://tools.ietf.org/html/rfc734
- DonHopkins 9y agoI wrote a terminal emulator for the Apple ][ + Videx 80 column card in FORTH and reverse polish notation 6502 code, that supported SUPDUP including the line saving protocol that RMS hacked into ITS and EMACS (%TDSAV %TDRES), so Emacs could stash lines on the screen in a memory buffer (on the Apple's bank switched RAM card) and restore them later to paint the screen quickly when scrolling back and forth. (That was great at 300 baud!) This is just the part of it that interprets SUPDUP codes -- layered on top of the rest of the terminal emulator that emulated H19 (VT52 + character/line insert/delete): http://www.donhopkins.com/home/archive/forth/supdup.f http://www.donhopkins.com/home/archive/forth/supdup.f
- DonHopkins 9y agoMarc Crispin (the author of the SUPDUP RFC #734, who was famous for his catchphrase "MM is not at fault!") also wrote another RFC #748 documenting the Telnet Randomly-Lose Option, which was useful for fuzzball testing. https://en.wikipedia.org/wiki/Mark_Crispin https://en.wikipedia.org/wiki/Mark_Crispin https://tools.ietf.org/html/rfc748 https://tools.ietf.org/html/rfc748 IAC WILL RANDOMLY-LOSE The sender of this command REQUESTS permission to, or confirms that it will, randomly lose. IAC WON'T RANDOMLY-LOSE The sender of this command REFUSES to randomly lose. IAC DO RANDOMLY-LOSE The sender of this command REQUESTS that the receiver, or grants the receiver permission to, randomly lose. IAC DON'T RANDOMLY-LOSE The command sender DEMANDS that the receiver not randomly lose.
- DonHopkins 9y agoTelnet also uses TCP's out of band data mechanism to send "urgent data" and a DATA MARK to interrupt and synchronize with runaway processes, and send important commands around flow control and before buffered data. https://en.wikipedia.org/wiki/Out-of-band_data https://en.wikipedia.org/wiki/Out-of-band_data http://www.serverframework.com/asynchronousevents/2011/10/out-of-band-data-and-overlapped-io.html http://www.serverframework.com/asynchronousevents/2011/10/ou...
- anyfoo 9y ago(Oh, Don Hopkins answering. I read you so often on TUHS!) Didn’t know that, seems useful. Especially because another comment in this thread since mentioned that they often kill their ssh sessions because of runaway processes. Overall, it seems to me that a lot was lost when giving up telnet.