uucp using TLI

Scott S. Bertilson ssb at quest.UUCP
Wed Dec 5 10:06:33 AEST 1990


  Bill Kennedy's article answered some questions I've wanted to know
answers to for a very long time.  I've often thought that there must
be a way to make an Altos 386/2000 (which runs AT&T UNIX SVR3 with
Lachmann TCP/IP) use streams to make a UUCP connections to and from
it.  Bill's notes got me most of the way there.  I had a slight
problem with "nlsadmin" in that the "-l"/"-s" options don't work
quite the same.  To be specific, Bill's directions said to use
	nlsadmin -l "\x02000100c0fafa010000000000000000" tcp
which gets stored in "/usr/net/nls/tcp/addr".  The problem comes
because the Altos (?) version of "nlsadmin" doesn't strip the "\x"
when you say "nlsadmin -s tcp" whereas (for example) SCO ODT
does.  I was able to work around this problem by specifying the
address by:
	nlsadmin -l 02000100c0f700030000000000000000 tcp
  I found that I could contact this server even from a non-streams
machine if I gave a bogus "nls" string as the first thing in a
"telnet" connection:
	telnet system 256
	NLPS:000:001:101^@
The ^@ is a null byte which seems to be the way that the "nls"
string is terminated.
  I also did a little hacking and found that I could call a
non-streams TCP/IP machine from our Altos using either "cu" or
"uucico" if I played a few games:

Systems:
	rem-sock Any qinet - \x02000201c0f700010000000000000000 "" \0\0\0\0\c in: log-in rd: pass-word
	rem-str Any qinetnls - \x02000100c0f700020000000000000000

Devconfig:
	service=cu	device=qinet	push=tirdwr
	service=uucico	device=qinetnls	push=tirdwr

Devices:
	qinet,eg inet/tcp - - TLIS \D
	qinetnls,eg inet/tcp - - TLIS \D nls

Dialers:
	nls	""	""	NLPS:000:001:101\N\c

  If you look closely at the address, you'll see that I specify that it
should connect to port 0x201 or 513 which is "rlogind".  Since I'm talk-
ing to "rlogind", I have to begin the conversation by sending 0 bytes
in place of local-username, remote-username, and terminal/speed.  On
the Altos, the TCP/IP devices are all in "/dev/inet", so we specify
"inet/tcp" instead of "tcp" as Bill was able to do.
  I've also included the hooks for "nls" connections.  I was pretty
excited about this until I discovered that Altos or SCO has stripped
out the generic streams code from the version of UUCP that we get
with our SCO ODT on the Altos 486/5000.  Another nit is that I
tried "push=ntty:tirdwr:ld0" and even though I've configured "ntty"
and "ld0" into my kernel, I get an error when either "uucico" or "cu"
try to push them.  Happily it doesn't seem to prevent things from
working, but I would like to know what they do and why they don't
work.  I sure would appreciate it if someone could tell me where
I can get documentation on streams addressing with Lachmann TCP/IP -
I really don't understand what the first 2 bytes mean - address
family would make sense except that it should be 2 bytes all by
itself and it should be 0x0002 instead of 0x0200.
  Hope this is helpful to other people using Altos machines.
-- 

Scott S. Bertilson   ...ssb at quest.UUCP
			scott at poincare.geom.umn.edu



More information about the Comp.unix.sysv386 mailing list