grn@stl.stc.co.uk (10/20/88)
Is there a public domain specification of the Berkeley networking utilities such as rlogin? The type of question that I would expect to be able to answer given a specification is the use made out-of-band data in rlogin for example. A second and related question is why does the SunOS 4.0 implementation of rlogin and rsh reject connections with client port numbers in the range 0-512? My desire for specification of the interoperability requirements of these networking utilities was partly prompted by the failure of our local rlogin implementation to interwork with the new Sun implementation. Regards, Gary Nebbett STL, London Road, Harlow, Essex CM17 9NA, UK grn@stl.stc.co.uk <or> ...uunet!mcvax!ukc!stl!grn <or> PSI%234237100122::GRN
roy@phri.UUCP (Roy Smith) (10/23/88)
grn@stl.stc.co.uk () writes: > The type of question that I would expect to be able to answer given a > specification is the use made out-of-band data in rlogin for example. I've been working on-and-off for a year or so trying to get my own version of rlogin working under SunOS-3.2 and lately 3.5.2. The stumbling block has been the out-of-band data part. Basicly, rlogin uses oob to negotiate options such as "please inform me of window-size changes", but as to the details of exactly how it works, I've had to just read the source code (not a useful answer if you don't have source). I sort of think I might have most of it figured out, but not well enough that I would risk inflicting my misconceptions on other people. Perhaps I've made my job harder than it has to be by trying to get my rlogin to run as a suntools application. I use the notifier to tell me when oob data is available, but I don't think it works properly. Sometimes, my oob routine gets called by the notifier (which supposedly means there is oob data waiting to be read) but when I try to read it, nothing is there (i.e. select says there is nothing pending, recv returns 0, ioctl says I'm not at the mark, etc). -- Roy Smith, System Administrator Public Health Research Institute {allegra,philabs,cmcl2,rutgers}!phri!roy -or- phri!roy@uunet.uu.net "The connector is the network"
bostic@OKEEFFE.BERKELEY.EDU (Keith Bostic) (10/24/88)
> Is there a public domain specification of the Berkeley networking > utilities such as rlogin? Unfortunately, no; the source code itself, however, while not public domain, is freely redistributable. This includes inetd, ping, rcp, rdist, rexecd, rlogin, rmt, route, rsh, rwho, rwhod, and talk among other things. Keith Bostic
root@sbcs.sunysb.edu (root) (10/24/88)
In article <8810232211.AA18006@okeeffe.Berkeley.EDU>, bostic@OKEEFFE.BERKELEY.EDU (Keith Bostic) writes: > > Is there a public domain specification of the Berkeley networking > > utilities such as rlogin? > > Unfortunately, no; the source code itself, however, while not public > domain, is freely redistributable. This includes inetd, ping, rcp, > rdist, rexecd, rlogin, rmt, route, rsh, rwho, rwhod, and talk among > other things. Have these things been published to a place where we can FTP them? If not they are not public domain. What of the library routines they rely on? Can they be FTP'ed? > > Keith Bostic Rick Spanbauer SUNY/Stony Brook
henry@utzoo.uucp (Henry Spencer) (10/25/88)
In article <845@acer.stl.stc.co.uk> grn@stl.stc.co.uk () writes: >Is there a public domain specification of the Berkeley networking >utilities such as rlogin? <Chortle> Berkeley? Document their protocols? It is to laugh! (Or maybe to cry...) -- The dream *IS* alive... | Henry Spencer at U of Toronto Zoology but not at NASA. |uunet!attcan!utzoo!henry henry@zoo.toronto.edu
dupuy@douglass.columbia.edu (Alexander Dupuy) (10/25/88)
Here's an old message which may shed light on your problems: Article 1996 of comp.protocols.tcp-ip: Path: columbia!rutgers!lll-lcc!lll-tis!ptsfa!rtech!daveb From: daveb@rtech.UUCP (Dave Brower) Newsgroups: comp.unix.wizards,comp.protocols.tcp-ip Subject: OOB problems, wisdom anyone? Message-ID: <1482@rtech.UUCP> Date: 18 Dec 87 19:58:03 GMT Reply-To: daveb@rtech.UUCP (Dave Brower) Organization: Relational Technology Inc, Alameda CA Lines: 44 Xref: columbia comp.unix.wizards:6073 comp.protocols.tcp-ip:1996 Some people here have been trying to use the OOB mechanism to send "expedited data" between processes. No one here is all that familiar with using it, and they have run into some problems that make them want to give up and turn to something else. I'd appreciate hearing general thoughts about using the BSD oob mechanism for IPC, and specific comments on the problems they report below. I will forward responses to the interested parties. Thanks! -dB ------- forwarded message describing OOB headaches. 1. "Leapfrogging:" The fatal aspect of OOB data is that when two socket sends for OOB data are issued in sequence before the first has been read, the second send passes the first and is read out of sequence by the recipient. This is a gross violation of the stream socket abstraction and makes the mechanism fundamentally unusable except in the simplest and most restricted cases, not the situation here. 2. OOB receive loop: When an application has been notified of the availability of OOB data and issues a receive for it, a subsequent receive for normal data must be issued to "clear" the OOB notification mechanism. If instead a select requesting notification of OOB data is issued without an intervening receive for normal data, the caller is immediately notified of the availability of OOB data: the same data just received. This is at best a form of bizarre and undocumented behavior; at worst a serious bug. 3. The integer-character problem: The IOCTL system call to determine whether one has reached the OOB data in the stream is documented to return a character. Several coding examples support this. In fact, an integer is returned. It was necessary, after considerable grief, to go to kernel source code to find that in fact an integer is returned. It is not known how many similar major documentation errors exist. Each could cause major delays, with time spent in fruitless debugging. -- "If it was easy, we'd hire someone cheaper than you to do it." {amdahl, cbosgd, mtxinu, ptsfa, sun}!rtech!daveb daveb@rtech.uucp -- inet: dupuy@columbia.edu uucp: ...!rutgers!columbia!dupuy
chet@pirate.CWRU.EDU (Chet Ramey) (10/26/88)
In article <1988Oct24.200243.19459@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes: >In article <845@acer.stl.stc.co.uk> grn@stl.stc.co.uk () writes: >>Is there a public domain specification of the Berkeley networking >>utilities such as rlogin? > ><Chortle> Berkeley? Document their protocols? It is to laugh! (Or >maybe to cry...) Mike Karels said last year that he was avoiding making the `r-series' protocol specs public (i.e. documenting them) because he was lobbying some people to add extensions to Telnet to do the stuff that rlogin does (e.g. pass the environment). He said he hoped that if that stuff got into Telnet, rlogin and friends could just fade away quietly without proliferating. (Christ, Henry, don't you ever have anything nice to say about Berkeley? Even once? (Henry? Say something nice about Berkeley? It is to laugh! :-)) Chet Ramey Chet Ramey chet@cwjcc.CWRU.EDU Network Management Group chet@alpha.CES.CWRU.EDU Andrew R. Jennings Computing Center chet@pirate.CWRU.EDU Case Western Reserve University
hrp@snoid.CRAY.COM (Hal Peterson) (10/26/88)
According to Mike Karels, there are no plans to write specifications for the protocols used by the r-commands because they were originally hacks to try out TCP and should die a natural death. If they were documented, then people would be implementing them, they would proliferate, and there would be no getting rid of them. The party line is that 4.3 telnet is better anyway, so we should all be using that. [The information is from a the question and answer session at a tutorial Mike Karels gave at the Monterey TCP/IP conference last year.] -- Hal Peterson / Cray Research / 1440 Northland Dr. / Mendota Hts, MN 55120 hrp%hall.cray.com@uc.msc.umn.edu bungia!cray!hrp (612) 681-3145
phil@BRL.MIL (Phil Dykstra) (10/26/88)
> If they were documented, then people would be implementing them, they > would proliferate, and there would be no getting rid of them. The party > line is that 4.3 telnet is better anyway, so we should all be using that. Surely you jest! Maybe once telnet can: (1) log you in without requiring a password in a file, (2) handle remote window size changes, (3) handle OOB data for (e.g.) SIGINT output flushing, and (4) have every machine handle raw octet data correctly, then I'll believe you. For RLOGIN. Try to do RCP and RSH with Telnet .... As for proliferation, in this building alone I've got Suns, SGIs, Vaxes, Alliants, Goulds, and even a Cray that implements it. Its too late for them to die out. - Phil
craig@SH.CS.NET (Craig Partridge) (10/26/88)
> Maybe once telnet can: .... (2) handle remote window size changes
See RFC 1073
Craig
zeeff@b-tech.ann-arbor.mi.us (Jon Zeeff) (10/26/88)
In article <211@cwjcc.CWRU.Edu> chet@pirate.UUCP (Chet Ramey) writes: >some people to add extensions to Telnet to do the stuff that rlogin does >(e.g. pass the environment). He said he hoped that if that stuff got Don't forget the transparency. Full 8 bit file transfers (like uucp 'g') don't work over telnet). -- Jon Zeeff Ann Arbor, MI umix!b-tech!zeeff zeeff@b-tech.ann-arbor.mi.us
braden@VENERA.ISI.EDU (10/27/88)
Surely you jest! Maybe once telnet can: (1) log you in without requiring a password in a file, (2) handle remote window size changes, (3) handle OOB data for (e.g.) SIGINT output flushing, and (4) have every machine handle raw octet data correctly, then I'll believe you. Phil, I believe that a properly implemented Telnet can handle all except (1) (note that RFC-1073 just got around to fixing (2)). Not everyone agrees that (1) is a good idea, although we obviously need a secure method to accomplish the same thing. It appears to me that the purported advantages of rlogin are due to poor Telnet implementations; do you disagree? Bob Braden
barmar@think.COM (Barry Margolin) (10/27/88)
In article <8810260021.aa23976@SPARK.BRL.MIL> phil@BRL.MIL (Phil Dykstra) writes: >Surely you jest! Maybe once telnet can: (1) log you in without requiring >a password in a file, (2) handle remote window size changes, (3) handle >OOB data for (e.g.) SIGINT output flushing, and (4) have every machine >handle raw octet data correctly, then I'll believe you. There's no reason why TELNET couldn't do all those things. The TELNET option mechanism provides nearly infinite expansion capability. (1) A TELNET server that supports such a feature could send IAC DO SEND-USERNAME (a new option I just made up) before sending the "login:" prompt. If the client supports this it will respond with IAC WILL SEND-USERNAME and then uses the subnegotiation mechanism to send the name. The server would then bypass the normal login prompt and log the user in, subject to access checks like those rlogin does. (2) There are already standardized TELNET options for transmitting line length and screen height. Either these could be used or a new window-size negotiation could be defined. (3) TELNET already has this: IAC AO (Abort Output). There is also an IAC code for sending an interrupt. Other OOB data could be implemented using options. (4) Again, this just needs a new option. Actually, many implementations interpret the TRANSMIT-BINARY negotiation as specifying this. This could be made official, or a new option could be defined. Yes, these things would require changes to TELNET implementations. However, the effort to modify a TELNET implementation to support these should be less than the effort to write an RLOGIN implementation from scratch. Of course, if you already have an RLOGIN implementation you aren't going to be interested in modifying TELNET; even if you don't, it's probably easier to port one than to extend TELNET. The problem isn't that TELNET can't do what RLOGIN does, it's that nobody bothered to define the necessary TELNET enhancements before RLOGIN proliferated. I think it's too late, and anyone who thinks that RLOGIN can be phased out is dreaming. Barry Margolin Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar
lear@NET.BIO.NET (Eliot Lear) (10/27/88)
Telnet certainly can handle binary transfers. It is quite possible that the current implementations do not do it correctly, but the specification certainly provides for it. See RFC 856. -- Eliot Lear [lear@net.bio.net]
hedrick@athos.rutgers.edu (Charles Hedrick) (10/27/88)
>Don't forget the transparency. Full 8 bit file transfers (like uucp 'g') >don't work over telnet). We do UUCP and xmodem over telnet all the time. Rutgers.edu is a major UUCP hub. All of its dialup UUCP transactions are done through TCP/IP terminal servers. (For reasons of efficiency on the host, we are experimenting with having the terminal server go through a raw TCP connection directly into uucpd. However most connections still go through telnet.) For complete transparency, we require the user to type "term download" on the terminal server. This disables the sequence that would otherwise get you back into command mode on the terminal server (like ~ in rlogin), and makes a set of protocol choices that provide an 8 bit transparent path with most of our server telnet implementations. You could do this by using telnet binary mode. However since binary mode doesn't always seem to work on Unix telnet, we do it in normal mode simply by making sure that we choose an end of line representation that is consistent with the one used by the Unix server telnet.
mckee@MITRE.ARPA (H. Craig McKee) (10/27/88)
Barry Margolin (Thinking Machines Corp) writes: >The problem isn't that TELNET can't do what RLOGIN does, it's that >nobody bothered to define the necessary TELNET enhancements before >RLOGIN proliferated. I think it's too late, and anyone who thinks >that RLOGIN can be phased out is dreaming. As if TELNET and RLOGIN weren't enough, there are folks busily developing a new standard for the ISO Virtual Terminal Protocol.
guy@auspex.UUCP (Guy Harris) (10/28/88)
>According to Mike Karels, there are no plans to write specifications >for the protocols used by the r-commands because they were originally >hacks to try out TCP and should die a natural death. If they were >documented, then people would be implementing them, they would >proliferate, and there would be no getting rid of them. Just like Sun and ND (yes, that's why it was never published).... >The party line is that 4.3 telnet is better anyway, so we should all be >using that. If "4.3" means "4.3BSD", rather than "4.3-tahoe", this isn't quite true; the 4.3BSD "telnet" doesn't pass the screen size over the wire, while the 4.3BSD "rlogin" does so every time it changes. I don't think I found any TELNET option to do that when I looked for one, but this doesn't mean it isn't there - is there such an option? Has one been proposed?
guy@auspex.UUCP (Guy Harris) (10/28/88)
>Don't forget the transparency. Full 8 bit file transfers (like uucp 'g') >don't work over telnet). Do people run UUCP over "rlogin"? If so, and the UUCP on both ends supports it, they should consider running UUCP with the 't' protocol directly over TCP instead. TELNET does have a binary mode; I don't know if this is the Right Thing here or not. It would be nice to have it support character sets wider than 7 bits - in fact, it would be nice to have it support character sets wider than 8 bits....
VAF@SCORE.STANFORD.EDU (Vince Fuller) (10/28/88)
(1) A TELNET server that supports such a feature could send IAC DO SEND-USERNAME (a new option I just made up) before sending the "login:" prompt. If the client supports this it will respond with IAC WILL SEND-USERNAME and then uses the subnegotiation mechanism to send the name. The server would then bypass the normal login prompt and log the user in, subject to access checks like those rlogin does. Actually, I think this capability is already defined in TELNET. Take a look at RFC927 for the details. Vince Fuller, Stanford Networking -------
henry@utzoo.uucp (Henry Spencer) (10/29/88)
In article <211@cwjcc.CWRU.Edu> chet@pirate.UUCP (Chet Ramey) writes: >Mike Karels... said he hoped that if that stuff got >into Telnet, rlogin and friends could just fade away quietly without >proliferating. I'm afraid he's being wildly optimistic. The time to kill rlogin and friends was five minutes before the 4.2 tapes started shipping. It's far too late now. >(Christ, Henry, don't you ever have anything nice to say about Berkeley? >Even once? (Henry? Say something nice about Berkeley? It is to laugh! :-)) You wound me, sir. I said something nice about Berkeley just last year. :-) Actually, they've done a lot of good stuff, and the world is better off with them than without them, but the world (especially the networking world) would be a nicer place if some of the effort that went into (e.g.) 1986's wonderful new ideas had gone into rethinking and cleaning up (e.g.) 1985's. -- The dream *IS* alive... | Henry Spencer at U of Toronto Zoology but not at NASA. |uunet!attcan!utzoo!henry henry@zoo.toronto.edu
barmar@think.COM (Barry Margolin) (10/29/88)
In article <12441844876.13.VAF@Score.Stanford.EDU> VAF@SCORE.STANFORD.EDU (Vince Fuller) writes: > > (1) A TELNET server that supports such a feature could send IAC DO > SEND-USERNAME (a new option I just made up) before sending the >Actually, I think this capability is already defined in TELNET. Take a look at >RFC927 for the details. So it is. I guess great minds think alike. One problem with the protocol in RFC927, though, is that the userid that is transmitted is interpreted as a 32-bit binary number. Not all OSes have numeric userids, though. Multics and Genera both use character string user names, and don't translate them into numbers internally. Why was the protocol defined in such a restrictive manner? Barry Margolin Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar
guy@auspex.UUCP (Guy Harris) (10/29/88)
> (1) A TELNET server that supports such a feature could send IAC DO > SEND-USERNAME (a new option I just made up) before sending the > "login:" prompt. .... > >Actually, I think this capability is already defined in TELNET. Take a look at >RFC927 for the details. Not quite. RFC927 specifies that the hosts exchange a 32-bit "UUID", not a name; "rlogin"s auto-login feature permits the same user name to have different UNIX numeric user IDs.