This is a compliation of some net sources, mostly from bsd-net2. I have made an effort to get the programs to compile with few or no changes except for a new Makefile. This resulted in a bsd include directory and a bsd library. Take a look at them to see what types of things are required to get BSD sources to compile correctly without changes. Some of the tricks are pretty ugly. Please don't laugh... Everything should compile straight with the libc-4.2 libraries. Just type "make" in this directory. You may have to do some surgery on libbsd/libbsd.a to get things to compile with libc-4.1. Notes ===== bsd: The directory "bsd" contains include files that, for the most part, just overload include files of the same name from /usr/include. It provides some BSD things like "union wait" and others. libbsd: The libbsd.a archive is a small library of some functions that are not in our libc as well as some emulation support functions referenced in the bsd header files. Notably, it includes a half-decent transparent sgtty emulation package. inetd: Works. Only pathname changes. ftp: Works. No changes. ftpd: I find that ls with ftpd doesn't work very often. It reports "Transport endpoint already connected" 9 times out of 10. I think this is a bug in the kernel which will be fixed in a subsequent release. There was a memory allocation bug in the original source, look for "#ifdef linux". Also, the shadow password stuff is not compiled in as I haven't had a chance to mess with that. telnet: Works but see the man page for info about the .telnetrc file and other new options. This is a really nice telnet with rlogin emulation and lots of other stuff not present in older telnets. The original Linux port of telnet/telnetd was done by Pete Chown. telnetd: Several people have reported that the 0.1 telnetd sometimes disconnected before getting to the login prompt. The 0.2 version omits the vhangup stuff which might have been causing the problem. Also fixed is the problem with /etc/wtmp not being updated correctly on logout. It was trying to use /var/adm/wtmp. finger: Works. One minor change for POSIX timezone handling. fingerd: Works, no changes. ping: Works, no changes. Must be suid to root. named: Works. A few changes for pathnames and net device configuration stuff. nslookup: Works, but it's fussier than older nslookups about named being setup correctly. Note the -I option is needed for flex -- that was a tough one to find. No changes. named-xfer: Not tested. rcp: Works. Must be suid to root. rsh: Works. Must be suid to root. rshd: Works. rlogin: Works OK but needs more testing. This one depends pretty heavily on the sgtty emulation in libbsd which is not complete yet. There is an odd timing bug with select and termio settings. Look for "sleep(1)" to see what I mean. Must be suid to root. rlogind: Works with the URGENT stuff commented out. There was a nasty bug with shared libraries because environ was redefined. talk: Works. This is the new byte-order independent talk, not the old talk that, e.g., native SunOS uses. The old one wouldn't work with them anyway. Not the fault of Linux. Includes a one line patch for a bug in our curses and another for a bug in the original source dealing with select. ntalkd: Works. No changes. tftp: Works. No changes. tftpd: Works. No changes. Sample Entries for inetd.conf ============================= telnet stream tcp nowait root /usr/etc/inet/telnetd telnetd ntalk dgram udp wait root /usr/etc/inet/ntalkd ntalkd ftp stream tcp nowait root /usr/etc/inet/ftpd ftpd -l finger stream tcp nowait root /usr/etc/inet/fingerd finger shell stream tcp nowait root /usr/etc/inet/rshd rshd login stream tcp nowait root /usr/etc/inet/rlogind rlogind tftp dgram udp wait root /usr/etc/inet/tftpd tftpd Rick Sladkey jrs@world.std.com