186d7f5d3SJohn MarinoRequest: after building the programs, please run the `tcpdchk' wrapper 286d7f5d3SJohn Marinoconfiguration checker. See the `tcpdchk.8' manual page (`nroff -man' 386d7f5d3SJohn Marinoformat) for instructions. `tcpdchk' automatically identifies the most 486d7f5d3SJohn Marinocommon configuration problems, and will save you and me a lot of time. 586d7f5d3SJohn Marino 686d7f5d3SJohn MarinoChanges per release 7.6 (Mar 1997) 786d7f5d3SJohn Marino================================== 886d7f5d3SJohn Marino 986d7f5d3SJohn Marino- Improved the anti source-routing protection. The code in version 1086d7f5d3SJohn Marino7.5 was not as strong as it could be, because I tried to be compatible 1186d7f5d3SJohn Marinowith Linux. That was a mistake. Sorry for the inconvenience. 1286d7f5d3SJohn Marino 1386d7f5d3SJohn Marino- The program no longer terminates case of a source-routed connection, 1486d7f5d3SJohn Marinomaking the IP-spoofing code more usable for long-running daemons. 1586d7f5d3SJohn Marino 1686d7f5d3SJohn Marino- When syslogging DNS hostname problems, always stop after a limited 1786d7f5d3SJohn Marinonumber of characters. 1886d7f5d3SJohn Marino 1986d7f5d3SJohn MarinoChanges per release 7.5 (Feb 1997) 2086d7f5d3SJohn Marino================================== 2186d7f5d3SJohn Marino 2286d7f5d3SJohn Marino- Optionally refuse source-routed TCP connections requests altogether. 2386d7f5d3SJohn MarinoCredits to Niels Provos of Universitaet Hamburg. File: fix_options.c. 2486d7f5d3SJohn Marino 2586d7f5d3SJohn Marino- Support for IRIX 6 (Lael Tucker). 2686d7f5d3SJohn Marino 2786d7f5d3SJohn Marino- Support for Amdahl UTS 2.1.5 (Richard E. Richmond). 2886d7f5d3SJohn Marino 2986d7f5d3SJohn Marino- Support for SINIX 5.42 (Klaus Nielsen). 3086d7f5d3SJohn Marino 3186d7f5d3SJohn Marino- SCO 5 now has vsyslog() (Bill Golden). 3286d7f5d3SJohn Marino 3386d7f5d3SJohn Marino- Hints and tips for dealing with IRIX inetd (Niko Makila, Aaron 3486d7f5d3SJohn MarinoM Lee). 3586d7f5d3SJohn Marino 3686d7f5d3SJohn Marino- Support for BSD/OS (Paul Borman). 3786d7f5d3SJohn Marino 3886d7f5d3SJohn Marino- Support for Tandem (Emad Qawas). 3986d7f5d3SJohn Marino 4086d7f5d3SJohn Marino- Support for ISC (Frederick B. Cohen). 4186d7f5d3SJohn Marino 4286d7f5d3SJohn Marino- Workaround for UNICOS - it would choke on a setjmp() expression 4386d7f5d3SJohn Marino(Bruce Kelly). File: hosts_access.c, tcpdchk.c. 4486d7f5d3SJohn Marino 4586d7f5d3SJohn Marino- Increased the level of buffer overflow paranoia when printing 4686d7f5d3SJohn Marinounwanted IP options. File: fix_options.c. 4786d7f5d3SJohn Marino 4886d7f5d3SJohn MarinoChanges per release 7.4 (Mar 1996) 4986d7f5d3SJohn Marino================================== 5086d7f5d3SJohn Marino 5186d7f5d3SJohn Marino- IRIX 5.3 (and possibly, earlier releases, too) library routines call 5286d7f5d3SJohn Marinothe non-reentrant strtok() routine. The result is that hosts may slip 5386d7f5d3SJohn Marinothrough allow/deny filters. Workaround is to not rely on the vendor's 5486d7f5d3SJohn Marinostrtok() routine (#ifdef LIBC_CALLS_STRTOK). Credits to Th. Eifert 5586d7f5d3SJohn Marino(Aachen University) for spotting this one. This fix supersedes the 5686d7f5d3SJohn Marinoearlier workaround for a similar problem in FreeBSD 2.0. 5786d7f5d3SJohn Marino 5886d7f5d3SJohn MarinoChanges per release 7.3 (Feb 1996) 5986d7f5d3SJohn Marino================================== 6086d7f5d3SJohn Marino 6186d7f5d3SJohn Marino- More tests added to tcpdchk and tcpdmatch: make sure that the 6286d7f5d3SJohn MarinoREAL_DAEMON_DIR actually is a directory and not a regular file; 6386d7f5d3SJohn Marinodetect if tcpd recursively calls itself. 6486d7f5d3SJohn Marino 6586d7f5d3SJohn Marino- Edwin Kremer found an amusing fencepost error in the xgets() 6686d7f5d3SJohn Marinoroutine: lines longer than BUFLEN characters would be garbled. 6786d7f5d3SJohn Marino 6886d7f5d3SJohn Marino- The access control routines now refuse to execute "dangerous" actions 6986d7f5d3SJohn Marinosuch as `twist' when they are called from within a resident process. 7086d7f5d3SJohn MarinoThis prevents you from shooting yourself into the foot with critical 7186d7f5d3SJohn Marinosystems programs such as, e.g., portmap or rpcbind. 7286d7f5d3SJohn Marino 7386d7f5d3SJohn Marino- Support for Unicos 8.x (Bruce Kelly). The program now closes the 7486d7f5d3SJohn Marinosyslog client socket before running the real daemon: Cray UNICOS 7586d7f5d3SJohn Marinorefuses to checkpoint processes with open network ports. 7686d7f5d3SJohn Marino 7786d7f5d3SJohn Marino- Support for MachTen UNIX (Albert M.C Tam). 7886d7f5d3SJohn Marino 7986d7f5d3SJohn Marino- Support for Interactive UNIX R3.2 V4.0 (Bobby D. Wright). 8086d7f5d3SJohn Marino 8186d7f5d3SJohn Marino- Support for SCO 3.2v5.0.0 OpenServer 5 (bob@odt.handy.com) 8286d7f5d3SJohn Marino 8386d7f5d3SJohn Marino- Support for Unixware 1.x and Unixware 2.x. The old Unixware Makefile 8486d7f5d3SJohn Marinorule was broken. Sorry about that. 8586d7f5d3SJohn Marino 8686d7f5d3SJohn Marino- Some FreeBSD 2.0 libc routines call strtok() and severely mess up the 8786d7f5d3SJohn Marinoallow/deny rule processing. This is very bad. Workaround: call our own 8886d7f5d3SJohn Marinostrtok() clone (#ifdef USE_STRSEP). 8986d7f5d3SJohn Marino 9086d7f5d3SJohn Marino- The programs now log a warning when they detect that a non-existent 9186d7f5d3SJohn Marinobanner directory is specified. 9286d7f5d3SJohn Marino 9386d7f5d3SJohn Marino- The hosts_access.3 manual page used obsolete names for the RQ_* 9486d7f5d3SJohn Marinoconstants. 9586d7f5d3SJohn Marino 9686d7f5d3SJohn MarinoChanges per release 7.2 (Jan 1995) 9786d7f5d3SJohn Marino================================== 9886d7f5d3SJohn Marino 9986d7f5d3SJohn Marino- Added a note to the README and manpages on using the IDENT service to 10086d7f5d3SJohn Marinodetect sequence number spoofing and other host impersonation attacks. 10186d7f5d3SJohn Marino 10286d7f5d3SJohn Marino- Portability: ConvexOS puts RPC version numbers before the daemon path 10386d7f5d3SJohn Marinoname (Jukka Ukkonen). 10486d7f5d3SJohn Marino 10586d7f5d3SJohn Marino- Portability: the AIX compiler disliked the strchr() declaration 10686d7f5d3SJohn Marinoin socket.c. I should have removed it when I included <string.h>. 10786d7f5d3SJohn Marino 10886d7f5d3SJohn Marino- Backwards compatibility: some people relied on the old leading dot or 10986d7f5d3SJohn Marinotrailing dot magic in daemon process names. 11086d7f5d3SJohn Marino 11186d7f5d3SJohn Marino- Backwards compatibility: hostname lookup remains enabled when 11286d7f5d3SJohn Marino-DPARANOID is turned off. In order to disable hostname lookups you 11386d7f5d3SJohn Marinomust turn off -DALWAYS_HOSTNAME. 11486d7f5d3SJohn Marino 11586d7f5d3SJohn Marino- Eliminated false complaints from the tcpdmatch/tcpdchk configuration 11686d7f5d3SJohn Marinochecking programs about process names not in inetd.conf or about KNOWN 11786d7f5d3SJohn Marinousername patterns. 11886d7f5d3SJohn Marino 11986d7f5d3SJohn MarinoChanges per release 7.1 (Jan 1995) 12086d7f5d3SJohn Marino================================== 12186d7f5d3SJohn Marino 12286d7f5d3SJohn Marino- Portability: HP-UX permits you to break inetd.conf entries with 12386d7f5d3SJohn Marinobackslash-newline. 12486d7f5d3SJohn Marino 12586d7f5d3SJohn Marino- Portability: EP/IX has no putenv() and some inetd.conf entries are 12686d7f5d3SJohn Marinospread out over two lines. 12786d7f5d3SJohn Marino 12886d7f5d3SJohn Marino- Portability: SCO with NIS support has no *netgrent() routines. 12986d7f5d3SJohn Marino 13086d7f5d3SJohn MarinoChanges per release 7.0 (Jan 1995) 13186d7f5d3SJohn Marino================================== 13286d7f5d3SJohn Marino 13386d7f5d3SJohn Marino- Added a last-minute workaround for a Solaris 2.4 gethostbyname() 13486d7f5d3SJohn Marinofoulup with multi-homed hosts in DNS through NIS mode. 13586d7f5d3SJohn Marino 13686d7f5d3SJohn Marino- Added a last-minute defense against TLI weirdness: address lookups 13786d7f5d3SJohn Marinoapparently succeed but the result netbuf is empty (ticlts transport). 13886d7f5d3SJohn Marino 13986d7f5d3SJohn Marino- Dropped several new solutions that were in need of a problem. Beta 14086d7f5d3SJohn Marinotesters may recognize what new features were kicked out during the last 14186d7f5d3SJohn Marinoweeks before release 7.0 came out. Such is life. 14286d7f5d3SJohn Marino 14386d7f5d3SJohn Marino- Got rid of out the environment replacement routines, at least for 14486d7f5d3SJohn Marinomost architectures. One should not have to replace working system 14586d7f5d3SJohn Marinosoftware when all that is needed is a 4.4BSD setenv() emulator. 14686d7f5d3SJohn Marino 14786d7f5d3SJohn Marino- By popular request I have added an option to send banner messages to 14886d7f5d3SJohn Marinoclients. There is a Banners.Makefile that gives some aid for sites that 14986d7f5d3SJohn Marinoare going to use this feature. John C. Wingenbach did some pioneering 15086d7f5d3SJohn Marinowork here. I used to think that banners are frivolous. Now that I had 15186d7f5d3SJohn Marinoa personal need for them I know that banners can be useful. 15286d7f5d3SJohn Marino 15386d7f5d3SJohn Marino- At last: an extensible functional interface to the pattern matching 15486d7f5d3SJohn Marinoengine. request_init() and request_set() accept a variable-length 15586d7f5d3SJohn Marinoname-value argument list. The result can be passed to hosts_access(). 15686d7f5d3SJohn Marino 15786d7f5d3SJohn Marino- When PARANOID mode is disabled (compile time), the wrapper does no 15886d7f5d3SJohn Marinohostname lookup or hostname double checks unless required by %letter 15986d7f5d3SJohn Marinoexpansions, or by access control rules that match host names. This is 16086d7f5d3SJohn Marinouseful for sites that don't care about internet hostnames anyway. 16186d7f5d3SJohn MarinoInspired by the authors of the firewalls and internet security book. 16286d7f5d3SJohn Marino 16386d7f5d3SJohn Marino- When PARANOID mode is disabled (compile time), hosts with a name/name 16486d7f5d3SJohn Marinoor name/address conflict can be matched with the PARANOID host wildcard 16586d7f5d3SJohn Marinopattern, so that you can take some intelligent action instead of just 16686d7f5d3SJohn Marinodropping clients. Like showing a banner that explains the problem. 16786d7f5d3SJohn Marino 16886d7f5d3SJohn Marino- New percent escapes: %A expands to the server address; %H expands to 16986d7f5d3SJohn Marinothe corresponding hostname (or address if no name is available); %n and 17086d7f5d3SJohn Marino%N expand to the client and server hostname (or "unknown"); %s expands 17186d7f5d3SJohn Marinoto everything we know about the server endpoint (the opposite of the %c 17286d7f5d3SJohn Marinosequence for client information). 17386d7f5d3SJohn Marino 17486d7f5d3SJohn Marino- Symmetry: server and client host information is now treated on equal 17586d7f5d3SJohn Marinofooting, so that we can reuse a lot of code. 17686d7f5d3SJohn Marino 17786d7f5d3SJohn Marino- Lazy evaluation of host names, host addresses, usernames, and so on, 17886d7f5d3SJohn Marinoto avoid doing unnecessary work. 17986d7f5d3SJohn Marino 18086d7f5d3SJohn Marino- Dropping #ifdefs for some archaic systems made the code simpler. 18186d7f5d3SJohn Marino 18286d7f5d3SJohn Marino- Dropping the FAIL pattern made the pattern matcher much simpler. Run 18386d7f5d3SJohn Marinothe "tcpdchk" program to scan your access control files for any uses of 18486d7f5d3SJohn Marinothis obscure language feature. 18586d7f5d3SJohn Marino 18686d7f5d3SJohn Marino- Moving host-specific pattern matching from string_match() to the 18786d7f5d3SJohn Marinohost_match() routine made the code more accurate. Run the "tcpdchk" 18886d7f5d3SJohn Marinoprogram to scan your access control files for any dependencies on 18986d7f5d3SJohn Marinoundocumented or obscure language features that are gone. 19086d7f5d3SJohn Marino 19186d7f5d3SJohn Marino- daemon@host patterns trigger on clients that connect to a specific 19286d7f5d3SJohn Marinointernet address. This can be useful for service providers that offer 19386d7f5d3SJohn Marinomultiple ftp or www archives on different internet addresses, all 19486d7f5d3SJohn Marinobelonging to one and the same host (www.foo.com, ftp.bar.com, you get 19586d7f5d3SJohn Marinothe idea). Inspired by a discussion with Rop Gonggrijp, Cor Bosman, 19686d7f5d3SJohn Marinoand Casper Dik, and earlier discussions with Adrian van Bloois. 19786d7f5d3SJohn Marino 19886d7f5d3SJohn Marino- The new "tcpdchk" program critcizes all your access control rules and 19986d7f5d3SJohn Marinoinetd.conf entries. Great for spotting obscure bugs in my own hosts.xxx 20086d7f5d3SJohn Marinofiles. This program also detects hosts with name/address conflicts and 20186d7f5d3SJohn Marinowith other DNS-related problems. See the "tcpdchk.8" manual page. 20286d7f5d3SJohn Marino 20386d7f5d3SJohn Marino- The "tcpdmatch" program replaces the poor old "try" command. The new 20486d7f5d3SJohn Marinoprogram looks in your inetd.conf file and therefore produces much more 20586d7f5d3SJohn Marinoaccurate predictions. In addition, it detects hosts with name/address 20686d7f5d3SJohn Marinoconflicts and with other DNS-related problems. See the "tcpdmatch.8" 20786d7f5d3SJohn Marinomanual page. The inetd.conf lookup was suggested by Everett F Batey. 20886d7f5d3SJohn Marino 20986d7f5d3SJohn Marino- In the access control tables, the `=' between option name and value 21086d7f5d3SJohn Marinois no longer required. 21186d7f5d3SJohn Marino 21286d7f5d3SJohn Marino- Added 60-second timeout to the safe_finger command, to cover another 21386d7f5d3SJohn Marinopotential problem. Suggested by Peter Wemm. 21486d7f5d3SJohn Marino 21586d7f5d3SJohn Marino- Andrew Maffei provided code that works with WIN-TCP on NCR System V.4 21686d7f5d3SJohn MarinoUNIX. It reportedly works with versions 02.02.01 and 02.03.00. The code 21786d7f5d3SJohn Marinopops off all streams modules above the device driver, pushes the timod 21886d7f5d3SJohn Marinomodule to get at the peer address, and then restores the streams stack 21986d7f5d3SJohn Marinoto the initial state. 22086d7f5d3SJohn Marino 22186d7f5d3SJohn MarinoChanges per release 6.3 (Mar 1994) 22286d7f5d3SJohn Marino================================== 22386d7f5d3SJohn Marino 22486d7f5d3SJohn Marino- Keepalives option, to get rid of stuck daemons when people turn off 22586d7f5d3SJohn Marinotheir PC while still connected. Files: options.c, hosts_options.5. 22686d7f5d3SJohn Marino 22786d7f5d3SJohn Marino- Nice option, to calm down network daemons that take away too much CPU 22886d7f5d3SJohn Marinotime. Files: options.c, hosts_options.5. 22986d7f5d3SJohn Marino 23086d7f5d3SJohn Marino- Ultrix perversion: the environ global pointer may be null. The 23186d7f5d3SJohn Marinoenvironment replacement routines now check for this. File: environ.c. 23286d7f5d3SJohn Marino 23386d7f5d3SJohn Marino- Fixed a few places that still assumed the socket is on standard 23486d7f5d3SJohn Marinoinput. Fixed some error messages that did not provide access control 23586d7f5d3SJohn Marinofile name and line number. File: options.c. 23686d7f5d3SJohn Marino 23786d7f5d3SJohn Marino- Just when I was going to release 6.2 I received code for Dynix/PTX. 23886d7f5d3SJohn MarinoThat code is specific to PTX 2.x, so I'll keep around my generic 23986d7f5d3SJohn MarinoPTX code just in case. The difference is in the handling of UDP 24086d7f5d3SJohn Marinoservices. Files: tli_sequent.[hc]. 24186d7f5d3SJohn Marino 24286d7f5d3SJohn MarinoChanges per release 6.2 (Feb 1994) 24386d7f5d3SJohn Marino================================== 24486d7f5d3SJohn Marino 24586d7f5d3SJohn Marino- Resurrected my year-old code to reduce DNS load by appending a dot to 24686d7f5d3SJohn Marinothe gethostbyname() argument. This feature is still experimental and it 24786d7f5d3SJohn Marinomay go away if it causes more problems than it solves. File: socket.c. 24886d7f5d3SJohn Marino 24986d7f5d3SJohn Marino- Auxiliary code for the Pyramid, BSD universe. Karl Vogel figured out 25086d7f5d3SJohn Marinowhat was missing: yp_get_default_domain() and vfprintf(). Files: 25186d7f5d3SJohn Marinoworkarounds.c, vfprintf.c. 25286d7f5d3SJohn Marino 25386d7f5d3SJohn Marino- Improved support for Dynix/PTX. The wrapper should now be able to 25486d7f5d3SJohn Marinodeal with all TLI over IP services. File: ptx.c. 25586d7f5d3SJohn Marino 25686d7f5d3SJohn Marino- The try command now uses the hostname that gethostbyaddr() would 25786d7f5d3SJohn Marinoreturn, instead of the hostname returned by gethostbyname(). This can 25886d7f5d3SJohn Marinobe significant on systems with NIS that have short host names in the 25986d7f5d3SJohn Marinohosts map. For example, gethostbyname("wzv.win.tue.nl") returns 26086d7f5d3SJohn Marino"wzv.win.tue.nl"; gethostbyaddr(131.155.210.17) returns "wzv", and 26186d7f5d3SJohn Marinothat is what we should test with. File: try.c. 26286d7f5d3SJohn Marino 26386d7f5d3SJohn MarinoChanges per release 6.1 (Dec 1993) 26486d7f5d3SJohn Marino================================== 26586d7f5d3SJohn Marino 26686d7f5d3SJohn Marino- Re-implemented all environment access routines. Most systems have 26786d7f5d3SJohn Marinoputenv() but no setenv(), some systems have setenv() but no putenv(), 26886d7f5d3SJohn Marinoand there are even systems that have neither setenv() nor putenv(). The 26986d7f5d3SJohn Marinobenefit of all this is that more systems can now be treated in the same 27086d7f5d3SJohn Marinoway. File: environ.c. 27186d7f5d3SJohn Marino 27286d7f5d3SJohn Marino- Workaround for a weird problem with DG/UX when the wrapper is run as 27386d7f5d3SJohn Marinonobody (i.e. fingerd). For some reason the ioctl(fd, I_FIND, "sockmod") 27486d7f5d3SJohn Marinocall fails even with socket-based applications. The "fix" is to always 27586d7f5d3SJohn Marinoassume sockets when the ioctl(fd, I_FIND, "timod") call fails. File: 27686d7f5d3SJohn Marinofromhost.c. Thanks to Paul de Vries (vries@dutentb.et.tudelft.nl) for 27786d7f5d3SJohn Marinohelping me to figure out this one. 27886d7f5d3SJohn Marino 27986d7f5d3SJohn Marino- Implemented a workaround for Dynix/PTX and other systems with TLI 28086d7f5d3SJohn Marinothat lack some essential support routines. Thanks to Bugs Brouillard 28186d7f5d3SJohn Marino(brouill@hsuseq.humboldt.edu) for the hospitality to try things out. 28286d7f5d3SJohn MarinoThe trick is to temporarily switch to the socket API to identify the 28386d7f5d3SJohn Marinoclient, and to switch back to TLI when done. It still does not work 28486d7f5d3SJohn Marinoright for basic network services such as telnet. File: fromhost.c. 28586d7f5d3SJohn Marino 28686d7f5d3SJohn Marino- Easy-to-build procedures for SCO UNIX, ConvexOS with UltraNet, EP/IX, 28786d7f5d3SJohn MarinoDynix 3.2, Dynix/PTX. File: Makefile. 28886d7f5d3SJohn Marino 28986d7f5d3SJohn Marino- Variable rfc931 timeout. Files: rfc931.c, options.c, log_tcp.h, try.c. 29086d7f5d3SJohn Marino 29186d7f5d3SJohn Marino- Further simplification of the rfc931 code. File: rfc931.c. 29286d7f5d3SJohn Marino 29386d7f5d3SJohn Marino- The fromhost() interface stinks: I cannot change that, but at least 29486d7f5d3SJohn Marinothe from_sock() and from_tli() functions now accept a file descriptor 29586d7f5d3SJohn Marinoargument. 29686d7f5d3SJohn Marino 29786d7f5d3SJohn Marino- Fixed a buglet: fromhost() would pass a garbage file descriptor to 29886d7f5d3SJohn Marinothe isastream() call. 29986d7f5d3SJohn Marino 30086d7f5d3SJohn Marino- On some systems the finger client program lives in /usr/bsd. File: 30186d7f5d3SJohn Marinosafe_finger.c. 30286d7f5d3SJohn Marino 30386d7f5d3SJohn MarinoChanges per release 6.0 (Sept 1993) 30486d7f5d3SJohn Marino=================================== 30586d7f5d3SJohn Marino 30686d7f5d3SJohn Marino- Easy build procedures for common platforms (sun, ultrix, aix, hpux 30786d7f5d3SJohn Marinoand others). 30886d7f5d3SJohn Marino 30986d7f5d3SJohn Marino- TLI support, System V.4 style (Solaris, DG/UX). 31086d7f5d3SJohn Marino 31186d7f5d3SJohn Marino- Username lookup integrated with the access control language. 31286d7f5d3SJohn MarinoSelective username lookups are now the default (was: no username 31386d7f5d3SJohn Marinolookups). 31486d7f5d3SJohn Marino 31586d7f5d3SJohn Marino- A safer finger command for booby traps. This one solves a host of 31686d7f5d3SJohn Marinopossible problems with automatic reverse fingers. Thanks, Borja Marcos 31786d7f5d3SJohn Marino(borjam@we.lc.ehu.es) for some inspiring discussions. 31886d7f5d3SJohn Marino 31986d7f5d3SJohn Marino- KNOWN pattern that matches hosts whose name and address are known. 32086d7f5d3SJohn Marino 32186d7f5d3SJohn Marino- Cleanup of diagnostics. Errors in access-control files are now shown 32286d7f5d3SJohn Marinowith file name and line number. 32386d7f5d3SJohn Marino 32486d7f5d3SJohn Marino- With AIX 3.2, hostnames longer than 32 would be truncated. This 32586d7f5d3SJohn Marinocaused hostname verification failures, so that service would be refused 32686d7f5d3SJohn Marinowhen paranoid mode was enabled. Found by: Adrian van Bloois 32786d7f5d3SJohn Marino(A.vanBloois@info.nic.surfnet.nl). 32886d7f5d3SJohn Marino 32986d7f5d3SJohn Marino- With some IRIX versions, remote username lookups failed because the 33086d7f5d3SJohn Marinofgets() library function does not handle partial read()s from sockets. 33186d7f5d3SJohn MarinoFound by: Daniel O'Callaghan (danny@austin.unimelb.edu.au). 33286d7f5d3SJohn Marino 33386d7f5d3SJohn Marino- Added a DISCLAIMER document to help you satisfy legal departments. 33486d7f5d3SJohn Marino 33586d7f5d3SJohn MarinoThe extension language module has undergone major revisions and 33686d7f5d3SJohn Marinoextensions. Thanks, John P. Rouillard (rouilj@ra.cs.umb.edu) for 33786d7f5d3SJohn Marinodiscussions, experiments, and for being a good guinea pig. The 33886d7f5d3SJohn Marinoextensions are documented in hosts_options.5, and are enabled by 33986d7f5d3SJohn Marinoediting the Makefile STYLE macro definition. 34086d7f5d3SJohn Marino 34186d7f5d3SJohn Marino- (Extension language) The ":" separator may now occur within options 34286d7f5d3SJohn Marinoas long as it is protected with a backslash. A warning is issued when 34386d7f5d3SJohn Marinoa rule ends on ":". 34486d7f5d3SJohn Marino 34586d7f5d3SJohn Marino- (Extension language) Better verification mode. When the `try' command 34686d7f5d3SJohn Marinois run, each option function now explains what it would do. 34786d7f5d3SJohn Marino 34886d7f5d3SJohn Marino- (Extension language) New "allow" and "deny" keywords so you can now 34986d7f5d3SJohn Marinohave all rules within a single file. See "nroff -man hosts_options.5" 35086d7f5d3SJohn Marinofor examples. 35186d7f5d3SJohn Marino 35286d7f5d3SJohn Marino- (Extension language) "linger" keyword to set the socket linger time 35386d7f5d3SJohn Marino(SO_LINGER). From: Marc Boucher <marc@cam.org>. 35486d7f5d3SJohn Marino 35586d7f5d3SJohn Marino- (Extension language) "severity" keyword to turn the logging noise up 35686d7f5d3SJohn Marinoor down. Many sites wanted a means to shut up the program; other sites 35786d7f5d3SJohn Marinowanted to emphasize specific events. Adapted from code contributed 35886d7f5d3SJohn Marinoby Dave Mitchell <D.Mitchell@dcs.shef.ac.uk>. 35986d7f5d3SJohn Marino 36086d7f5d3SJohn MarinoChanges per release 5.1 (Mar 1993) 36186d7f5d3SJohn Marino================================== 36286d7f5d3SJohn Marino 36386d7f5d3SJohn Marino- The additional protection against source-routing attacks from hosts 36486d7f5d3SJohn Marinothat pretend to have someone elses network address has become optional 36586d7f5d3SJohn Marinobecause it causes kernel panics with SunOS <= 4.1.3. 36686d7f5d3SJohn Marino 36786d7f5d3SJohn MarinoChanges per release 5.0 (Mar 1993) 36886d7f5d3SJohn Marino================================== 36986d7f5d3SJohn Marino 37086d7f5d3SJohn Marino- Additional protection against source-routing attacks from hosts that 37186d7f5d3SJohn Marinopretend to have someone elses network address. For example, the address 37286d7f5d3SJohn Marinoof a trusted host within your own network. 37386d7f5d3SJohn Marino 37486d7f5d3SJohn Marino- The access control language has been extended with a simple but 37586d7f5d3SJohn Marinopowerful operator that greatly simplifies the design of rule sets (ALL: 37686d7f5d3SJohn Marino.foo.edu EXCEPT dialup.foo.edu). Blank lines are permitted, and long 37786d7f5d3SJohn Marinolines can be continued with backslash-newline. 37886d7f5d3SJohn Marino 37986d7f5d3SJohn Marino- All configurable stuff, including path names, has been moved into the 38086d7f5d3SJohn MarinoMakefile so that you no longer have to hack source code to just 38186d7f5d3SJohn Marinoconfigure the programs. 38286d7f5d3SJohn Marino 38386d7f5d3SJohn Marino- Ported to Solaris 2. TLI-based applications not yet supported. 38486d7f5d3SJohn MarinoSeveral workarounds for System V bugs. 38586d7f5d3SJohn Marino 38686d7f5d3SJohn Marino- A small loophole in the netgroup lookup code was closed, and the 38786d7f5d3SJohn Marinoremote username lookup code was made more portable. 38886d7f5d3SJohn Marino 38986d7f5d3SJohn Marino- Still more documentation. The README file now provides tutorial 39086d7f5d3SJohn Marinosections with introductions to client, server, inetd and syslogd. 39186d7f5d3SJohn Marino 39286d7f5d3SJohn MarinoChanges per release 4.3 (Aug 1992) 39386d7f5d3SJohn Marino================================== 39486d7f5d3SJohn Marino 39586d7f5d3SJohn Marino- Some sites reported that connections would be rejected because 39686d7f5d3SJohn Marinolocalhost != localhost.domain. The host name checking code now 39786d7f5d3SJohn Marinospecial-cases localhost (problem reported by several sites). 39886d7f5d3SJohn Marino 39986d7f5d3SJohn Marino- The programs now report an error if an existing access control file 40086d7f5d3SJohn Marinocannot be opened (e.g. due to lack of privileges). Until now, the 40186d7f5d3SJohn Marinoprograms would just pretend that the access control file does not exist 40286d7f5d3SJohn Marino(reported by Darren Reed, avalon@coombs.anu.edu.au). 40386d7f5d3SJohn Marino 40486d7f5d3SJohn Marino- The timeout period for remote userid lookups was upped to 30 seconds, 40586d7f5d3SJohn Marinoin order to cope with slow hosts or networks. If this is too long for 40686d7f5d3SJohn Marinoyou, adjust the TIMEOUT definition in file rfc931.c (problem reported 40786d7f5d3SJohn Marinoby several sites). 40886d7f5d3SJohn Marino 40986d7f5d3SJohn Marino- On hosts with more than one IP network interface, remote userid 41086d7f5d3SJohn Marinolookups could use the IP address of the "wrong" local interface. The 41186d7f5d3SJohn Marinoproblem and its solution were discussed on the rfc931-users mailing 41286d7f5d3SJohn Marinolist. Scott Schwartz (schwartz@cs.psu.edu) folded the fix into the 41386d7f5d3SJohn Marinorfc931.c module. 41486d7f5d3SJohn Marino 41586d7f5d3SJohn Marino- The result of % expansion (in shell commands) is now checked for 41686d7f5d3SJohn Marinostuff that may confuse the shell; it is replaced by underscores 41786d7f5d3SJohn Marino(problem reported by Icarus Sparry, I.Sparry@gdr.bath.ac.uk). 41886d7f5d3SJohn Marino 41986d7f5d3SJohn Marino- A portability problem was fixed that caused compile-time problems 42086d7f5d3SJohn Marinoon a CRAY (problem reported by Michael Barnett, mikeb@rmit.edu.au). 42186d7f5d3SJohn Marino 42286d7f5d3SJohn MarinoChanges per release 4.0 (Jun 1992) 42386d7f5d3SJohn Marino================================== 42486d7f5d3SJohn Marino 42586d7f5d3SJohn Marino1 - network daemons no longer have to live within a common directory 42686d7f5d3SJohn Marino2 - the access control code now uses both the host address and name 42786d7f5d3SJohn Marino3 - an access control pattern that supports netmasks 42886d7f5d3SJohn Marino4 - additional protection against forged host names 42986d7f5d3SJohn Marino5 - a pattern that matches hosts whose name or address lookup fails 43086d7f5d3SJohn Marino6 - an operator that prevents hosts or services from being matched 43186d7f5d3SJohn Marino7 - optional remote username lookup with the RFC 931 protocol 43286d7f5d3SJohn Marino8 - an optional umask to prevent the creation of world-writable files 43386d7f5d3SJohn Marino9 - hooks for access control language extensions 43486d7f5d3SJohn Marino10 - last but not least, thoroughly revised documentation. 43586d7f5d3SJohn Marino 43686d7f5d3SJohn MarinoChanges per release 3.0 (Oct 1991) 43786d7f5d3SJohn Marino================================== 43886d7f5d3SJohn Marino 43986d7f5d3SJohn MarinoEnhancements over the previous release are: support for datagram (UDP 44086d7f5d3SJohn Marinoand RPC) services, and execution of shell commands when a (remote host, 44186d7f5d3SJohn Marinorequested service) pair matches a pattern in the access control tables. 44286d7f5d3SJohn Marino 44386d7f5d3SJohn MarinoChanges per release 2.0 (May 1991) 44486d7f5d3SJohn Marino================================== 44586d7f5d3SJohn Marino 44686d7f5d3SJohn MarinoEnhancements over the previous release are: protection against rlogin 44786d7f5d3SJohn Marinoand rsh attacks through compromised domain name servers, optional 44886d7f5d3SJohn Marinonetgroup support for systems with NIS (formerly YP), and an extension 44986d7f5d3SJohn Marinoof the wild card patterns supported by the access control files. 45086d7f5d3SJohn Marino 45186d7f5d3SJohn MarinoRelease 1.0 (Jan 1991) 452