new rtty released (V3.2) -- console server software for UNIX systems
Paul A Vixie
paul at vix.com
Fri Aug 23 22:29:41 UTC 1996
to: nobody at vix.com
reply-to: paul at vix.com
Subject: new rtty released (V3.2) -- console server software for UNIX systems
Date: Fri, 23 Aug 1996 15:29:41 -0700
From: Paul A Vixie <vixie at wisdom.home.vix.com>
<URL:ftp://ftp.vix.com/pub/vixie/rtty-3.2.tar.gz> (24940 bytes)
This work has been paid for by Digital Equipment Corporation, Vixie
Enterprises, and the Internet Software Consortium.
/* Copyright (c) 1996 by Internet Software Consortium.
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
Rtty is "remote tty" (not radioteletype). You run a server per port
and then connect to that server from any number of "tip"/"cu"-like
clients. I wrote it for our console concentrator, but there's no
reason other than performance why you couldn't use it to drive modems,
printers, prom programmers, and so on.
When you connect to the server from more than one client, all clients
will see the same session and all clients can type at and see output
from whatever device is attached to the tty port. Typing at a device
when someone else is also typing at that device is confusing and more
than a little bit creepy.
You will need a BSD-derived UNIX to use this, and you will need "termios"
(the POSIX terminal interface). (If "man termios" doesn't say something
informative and useful, you are probably hosed.) Ultrix and SunOS and
AT&T V.4 all have what you need. AT&T V.3 and non-Tahoe/Reno BSD are
both lacking one thing or another.
The server can be told to keep a log file. This log file will record
all data in or out of the tty port; that is, data that comes from the
tty port will be logged, and data that is typed at (and therefore sent
to) the tty port from any client will be logged. There are no special
markers in the log file to tell you which data came from which source;
the data is all just interleaved in the order it was received by the
server. Note that line terminators in the log file will be "physical"
meaning probably \r\n rather than the normal UNIX \n. It depends on
the device on the other end of the tty port, but \r\n is pretty common.
We watch our log files with daemons that do roughly what "tail -f" does
except they scan for things like "file table full" or "out of inodes"
or "panic" -- you know, things that computers say when they are unhappy.
None of our scanning software is included in this release of rtty, but
you can write your own. Note that the protocol used between the server
and client is mostly implemented in a separate module of this source
directory; if you want to connect to the server in real time and scan
the output direcly instead of tailing the log file, that's an option.
(You would most especially want to do it this way if you aren't using
any log files.)
UNIX-domain sockets are the normal way that clients connect to the server.
Both client and server support internet-domain sockets (we'll let you
figure out "how" by reading the sources), there is absolutely no security
in rtty, and opening up our tty ports to the local internet with no access
control has seemed like a bad idea (especially since they are the main
consoles of our Internet gateway computers). So we don't use this feature.
(Win promised to Kerberize this stuff for me but then he got busy.)
Since there's no documentation, there's no harm in telling you that the
"console" script just runs "rtty" with some obscure arguments to grease
its skids. While in "rtty", a "~" after a carriage return (\r or 0x0D)
is magic; "~?" will explain the magic to you somewhat tersely. The source
code will explain it in more detail.
Have fun. Drop me a note if you find this useful. Definitely drop me
a note if you find a bug or add a feature.
Paul Vixie <paul at vix.com>
------- End of Blind-Carbon-Copy
More information about the NANOG