Am 10.11.2010 14:55, schrieb Mark Pizzolato - Info Comm:
On Tuesday, November 09, 2010 at 12:16 AM, Holger Veit
<[email protected]>  said:
while implementing telnet support in my terminal emulator, I came
across
the "Telnet Mantra"
in sim_tmxr.c:
static char mantra[] = {
      TN_IAC, TN_WILL, TN_LINE,
      TN_IAC, TN_WILL, TN_SGA,
      TN_IAC, TN_WILL, TN_ECHO,
      TN_IAC, TN_WILL, TN_BIN,
      TN_IAC, TN_DO, TN_BIN
      };

I think I understand that the simh terminal multiplexer is a server in
telnet
speech, accessed by some sort of telnet client program operated by the
user.
Analysis removed [..]
So I think, the first line is at best useless, and should be removed,
or, perhaps
better, replaced by a IAC WONT LINEMODE.

Am I overseeing anything?
Probably not, BUT in the end, it is all about if/how your suggestion
works when deployed.  A useful test would be to run a simh VAX running
your favorite OS with a terminal mux configured.

Test connections with several different telnet client implementations.

If the same operation is observed with your proposed change installed
and without it installed then it should not matter.

Personally, I have never used a simulated terminal mux in simh (beyond a
simple 'does it work' test).  I have always configured TCP/IP networking
on the simulated system and then used telnet to directly connect to the
running OS.  This removes complex issues like flow control from the
simulator layer.

- Mark

The VAX is not my main concern, as it allows both telnetted as well as terminal MUX sessions. Other SIMH emulators don't have a network at all, but allow telnetting to a multiplexer to provide sort of a look and feel of terminal operations. Some emulators even attach a real terminal through a serial line of the PC, which is where flow control really matters.

I stumbled on this when attempting to write a terminal emulator, as commonly available terminal emulators often claim to be "VT100"- or "ADM3A"-compatible, but actually just understand the dozen or so cursor movement commands which is insufficient for running emulated forms-handling software and other stuff needing more than that, for instance.

Now, basically I have the telnet client in my hands, and have the option to make it RFC-compliant, or SIMH-compliant, in the latter case by inserting some kludge to work around a what I think is a misbehaviour - but I want to make sure it is a misbehaviour, and not a misinterpretation of the RFC. So the proposal "check with different telnet clients" is not an answer as I could make a client which take the offer IAC WILL LINEMODE as given and actually feed suboption garbage to the emulated machine, perfectly compliant with the RFC. As QCTERM, as described in the comments in sim_tmxr.c, is also not completely compliant, this just shows that the whole RFC stuff does not seem so simple as a "just do what others do", so therefore my question.

--

Holger



_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to