summaryrefslogtreecommitdiffstats
path: root/usr.sbin/rarpd
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bunch of spelling errors in a bunch of man pages.mpp1996-01-301-2/+2
|
* recording cvs-1.6 file deathpeter1995-12-301-201/+0
|
* Use daemon() to deamonify ourselves.wpaul1995-07-181-9/+4
|
* Remove trailing whitespace.rgrimes1995-05-302-23/+23
|
* Get rid of ether_addr.c: it's been moved to libc. Also add properwpaul1995-04-022-4/+5
| | | | | | declaration for ether_ntohost(). (Does anyone know what header file is supposed to contain the declarations for the ether_addr functions? I can't them in the SunOS includes anywhere.)
* Make sure we free() the result returned to us by yp_match().wpaul1995-03-261-5/+15
|
* ether_addr.c:wpaul1995-03-052-55/+117
| | | | | | | | | | | | | | | | | - Implement ether_hostton() - Implement ether_aton() - Modify ether_aton() and ether_ntoa() to match the semantics of the SunOS versions of these functions. - Neaten up ether_hostton() and ether_ntohost() a little. - Get rid of ether_print() since it isn't needed for rarpd and it isn't documented as a standard ethers(5) function. rarpd.8: - Make it clear that the 'ipaddr' that rarpd looks for in /tftpboot is actually in hexadecimal (as in /tftpboot/803B4032) since those who are not versed in the black art of system administration are not likely to know this.
* Don't depend on <stdio.h> bogusly including <sys/types.h>.bde1995-03-051-4/+3
|
* Gave rarpd back the ability to poke temporary entries into the arpwpaul1995-03-034-8/+252
| | | | | | | | | | | | | | | | table; arptab.c is really a hacked up version of arp.c that only supports adding temporary entries. (This stuff is nasty -- I wish I knew what was so wrong with SIOCSARP/SIOCGARP/etc... that made the BSD developers decide to take it out.) The idea here is that the client issuing the rarp is expected to be in the middle of booting and would therefore be unable to answer arp queries from other machines on the wire. Having rarpd stuff a temporary entry for the booting host into the local arp table helps keep arp requests from going unanswered. Also added ether_print() and ether_ntoa() to the ether_addr.c module. Eventually I'll get ether_aton() and ether_hostton() written and then this file can be dropped straight into libc. (Assuming no one objects, of course. :)
* Obtained from: An old BPF release packaged with the tcpdump-2.0 source code.wpaul1995-03-024-0/+957
"Yes Virginia, there is a rarpd." (Before anyone asks, this *not* the rarpd from NetBSD. It did come from the same place as theirs, however.) This is a port of the rarpd program included with the tcpdump-2.0 source code (which I finally unearthed after scrounging around some of the darker corners of the Internet). It's as close to the original as I could keep it except for the following changes: - The original program was based on an older version of the Berkeley Packet Filter which used different filter programming instructions. Fortunately, an updated RARP packet filter is available right in the BPF man page so this was easy to fix. - The old code didn't know how to deal with variable length addresses in ifreq buffers. This has been fixed. - Some byte order weirdness had to be fixed. The sanity checks in rarp_check() needed some htons()es, and the rarp_reply() function needed to properly set the ether_type field in the ethernet header to ETHERTYPE_REVARP before transmitting the packet, otherwise the bytes in ether_type would wind up reversed. It is important to note that using htons(ETHERTYPE_REVARP) will not work. This is odd, because the NetBSD rarpd uses htons(ETHERTYPE_REVARP). (Praise be to tcpdump: I would never have been able to track this silliness down without it.) - The update_arptab() function has been castrated. It depends on SIOCSARP which has been deprecated in 4.4BSD. The NetBSD people don't seem to be using this function either. It wouldn't be too hard to replace this with equivalent code from arp.c, but it might not be necessary. - I put together an ether_ntohost() support function that allows both local (/etc/ethers) and NIS lookups. This stuff should go in libc at some point, but nothing else seems to need it for now, so it can wait a while. As you may have guessed, you need to have the Berkeley Packet Filter in your kernel in order to use this program. The good news is that together with the recently added bootparamd, you can use finally use a FreeBSD box to boot Sun boxes over the network. (This was my whole motivation for getting this stuff to work: I have this one subnet that has a whole bunch of Sun3 X-terminals on it with only two Sun4 workstations, both of which are locked in peoples' offices. If those two machines crash (and they do every so often) then none of the X-terms will boot. Now I can use a spare PC that I have as a boot server. :)
OpenPOWER on IntegriCloud