Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!know!sdd.hp.com!usc!apple!agate!eos!shelby!msi.umn.edu!cs.umn.edu!quest!ssb From: ssb@quest.UUCP (Scott S. Bertilson) Newsgroups: comp.unix.sysv386 Subject: Re: uucp using TLI Keywords: Altos TCP/IP streams Message-ID: <11512@quest.UUCP> Date: 4 Dec 90 23:06:33 GMT References: <1861@ssbn.WLK.COM> Reply-To: ssb@quest.UUCP (Scott S. Bertilson) Organization: Quest Research Inc., Burnsville, MN Lines: 61 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@quest.UUCP scott@poincare.geom.umn.edu