12aef6930SMark MurrayRequest: after building the programs, please run the `tcpdchk' wrapper 22aef6930SMark Murrayconfiguration checker. See the `tcpdchk.8' manual page (`nroff -man' 32aef6930SMark Murrayformat) for instructions. `tcpdchk' automatically identifies the most 42aef6930SMark Murraycommon configuration problems, and will save you and me a lot of time. 52aef6930SMark Murray 62aef6930SMark MurrayChanges per release 7.6 (Mar 1997) 72aef6930SMark Murray================================== 82aef6930SMark Murray 92aef6930SMark Murray- Improved the anti source-routing protection. The code in version 102aef6930SMark Murray7.5 was not as strong as it could be, because I tried to be compatible 112aef6930SMark Murraywith Linux. That was a mistake. Sorry for the inconvenience. 122aef6930SMark Murray 132aef6930SMark Murray- The program no longer terminates case of a source-routed connection, 142aef6930SMark Murraymaking the IP-spoofing code more usable for long-running daemons. 152aef6930SMark Murray 162aef6930SMark Murray- When syslogging DNS hostname problems, always stop after a limited 172aef6930SMark Murraynumber of characters. 182aef6930SMark Murray 192aef6930SMark MurrayChanges per release 7.5 (Feb 1997) 202aef6930SMark Murray================================== 212aef6930SMark Murray 222aef6930SMark Murray- Optionally refuse source-routed TCP connections requests altogether. 232aef6930SMark MurrayCredits to Niels Provos of Universitaet Hamburg. File: fix_options.c. 242aef6930SMark Murray 252aef6930SMark Murray- Support for IRIX 6 (Lael Tucker). 262aef6930SMark Murray 272aef6930SMark Murray- Support for Amdahl UTS 2.1.5 (Richard E. Richmond). 282aef6930SMark Murray 292aef6930SMark Murray- Support for SINIX 5.42 (Klaus Nielsen). 302aef6930SMark Murray 312aef6930SMark Murray- SCO 5 now has vsyslog() (Bill Golden). 322aef6930SMark Murray 332aef6930SMark Murray- Hints and tips for dealing with IRIX inetd (Niko Makila, Aaron 342aef6930SMark MurrayM Lee). 352aef6930SMark Murray 362aef6930SMark Murray- Support for BSD/OS (Paul Borman). 372aef6930SMark Murray 382aef6930SMark Murray- Support for Tandem (Emad Qawas). 392aef6930SMark Murray 402aef6930SMark Murray- Support for ISC (Frederick B. Cohen). 412aef6930SMark Murray 422aef6930SMark Murray- Workaround for UNICOS - it would choke on a setjmp() expression 432aef6930SMark Murray(Bruce Kelly). File: hosts_access.c, tcpdchk.c. 442aef6930SMark Murray 452aef6930SMark Murray- Increased the level of buffer overflow paranoia when printing 462aef6930SMark Murrayunwanted IP options. File: fix_options.c. 472aef6930SMark Murray 482aef6930SMark MurrayChanges per release 7.4 (Mar 1996) 492aef6930SMark Murray================================== 502aef6930SMark Murray 512aef6930SMark Murray- IRIX 5.3 (and possibly, earlier releases, too) library routines call 522aef6930SMark Murraythe non-reentrant strtok() routine. The result is that hosts may slip 532aef6930SMark Murraythrough allow/deny filters. Workaround is to not rely on the vendor's 542aef6930SMark Murraystrtok() routine (#ifdef LIBC_CALLS_STRTOK). Credits to Th. Eifert 552aef6930SMark Murray(Aachen University) for spotting this one. This fix supersedes the 562aef6930SMark Murrayearlier workaround for a similar problem in FreeBSD 2.0. 572aef6930SMark Murray 582aef6930SMark MurrayChanges per release 7.3 (Feb 1996) 592aef6930SMark Murray================================== 602aef6930SMark Murray 612aef6930SMark Murray- More tests added to tcpdchk and tcpdmatch: make sure that the 622aef6930SMark MurrayREAL_DAEMON_DIR actually is a directory and not a regular file; 632aef6930SMark Murraydetect if tcpd recursively calls itself. 642aef6930SMark Murray 652aef6930SMark Murray- Edwin Kremer found an amusing fencepost error in the xgets() 662aef6930SMark Murrayroutine: lines longer than BUFLEN characters would be garbled. 672aef6930SMark Murray 682aef6930SMark Murray- The access control routines now refuse to execute "dangerous" actions 692aef6930SMark Murraysuch as `twist' when they are called from within a resident process. 702aef6930SMark MurrayThis prevents you from shooting yourself into the foot with critical 712aef6930SMark Murraysystems programs such as, e.g., portmap or rpcbind. 722aef6930SMark Murray 732aef6930SMark Murray- Support for Unicos 8.x (Bruce Kelly). The program now closes the 742aef6930SMark Murraysyslog client socket before running the real daemon: Cray UNICOS 752aef6930SMark Murrayrefuses to checkpoint processes with open network ports. 762aef6930SMark Murray 772aef6930SMark Murray- Support for MachTen UNIX (Albert M.C Tam). 782aef6930SMark Murray 792aef6930SMark Murray- Support for Interactive UNIX R3.2 V4.0 (Bobby D. Wright). 802aef6930SMark Murray 812aef6930SMark Murray- Support for SCO 3.2v5.0.0 OpenServer 5 (bob@odt.handy.com) 822aef6930SMark Murray 832aef6930SMark Murray- Support for Unixware 1.x and Unixware 2.x. The old Unixware Makefile 842aef6930SMark Murrayrule was broken. Sorry about that. 852aef6930SMark Murray 862aef6930SMark Murray- Some FreeBSD 2.0 libc routines call strtok() and severely mess up the 872aef6930SMark Murrayallow/deny rule processing. This is very bad. Workaround: call our own 882aef6930SMark Murraystrtok() clone (#ifdef USE_STRSEP). 892aef6930SMark Murray 902aef6930SMark Murray- The programs now log a warning when they detect that a non-existent 912aef6930SMark Murraybanner directory is specified. 922aef6930SMark Murray 932aef6930SMark Murray- The hosts_access.3 manual page used obsolete names for the RQ_* 942aef6930SMark Murrayconstants. 952aef6930SMark Murray 962aef6930SMark MurrayChanges per release 7.2 (Jan 1995) 972aef6930SMark Murray================================== 982aef6930SMark Murray 992aef6930SMark Murray- Added a note to the README and manpages on using the IDENT service to 1002aef6930SMark Murraydetect sequence number spoofing and other host impersonation attacks. 1012aef6930SMark Murray 1022aef6930SMark Murray- Portability: ConvexOS puts RPC version numbers before the daemon path 1032aef6930SMark Murrayname (Jukka Ukkonen). 1042aef6930SMark Murray 1052aef6930SMark Murray- Portability: the AIX compiler disliked the strchr() declaration 1062aef6930SMark Murrayin socket.c. I should have removed it when I included <string.h>. 1072aef6930SMark Murray 1082aef6930SMark Murray- Backwards compatibility: some people relied on the old leading dot or 1092aef6930SMark Murraytrailing dot magic in daemon process names. 1102aef6930SMark Murray 1112aef6930SMark Murray- Backwards compatibility: hostname lookup remains enabled when 1122aef6930SMark Murray-DPARANOID is turned off. In order to disable hostname lookups you 1132aef6930SMark Murraymust turn off -DALWAYS_HOSTNAME. 1142aef6930SMark Murray 1152aef6930SMark Murray- Eliminated false complaints from the tcpdmatch/tcpdchk configuration 1162aef6930SMark Murraychecking programs about process names not in inetd.conf or about KNOWN 1172aef6930SMark Murrayusername patterns. 1182aef6930SMark Murray 1192aef6930SMark MurrayChanges per release 7.1 (Jan 1995) 1202aef6930SMark Murray================================== 1212aef6930SMark Murray 1222aef6930SMark Murray- Portability: HP-UX permits you to break inetd.conf entries with 1232aef6930SMark Murraybackslash-newline. 1242aef6930SMark Murray 1252aef6930SMark Murray- Portability: EP/IX has no putenv() and some inetd.conf entries are 1262aef6930SMark Murrayspread out over two lines. 1272aef6930SMark Murray 1282aef6930SMark Murray- Portability: SCO with NIS support has no *netgrent() routines. 1292aef6930SMark Murray 1302aef6930SMark MurrayChanges per release 7.0 (Jan 1995) 1312aef6930SMark Murray================================== 1322aef6930SMark Murray 1332aef6930SMark Murray- Added a last-minute workaround for a Solaris 2.4 gethostbyname() 1342aef6930SMark Murrayfoulup with multi-homed hosts in DNS through NIS mode. 1352aef6930SMark Murray 1362aef6930SMark Murray- Added a last-minute defense against TLI weirdness: address lookups 1372aef6930SMark Murrayapparently succeed but the result netbuf is empty (ticlts transport). 1382aef6930SMark Murray 1392aef6930SMark Murray- Dropped several new solutions that were in need of a problem. Beta 1402aef6930SMark Murraytesters may recognize what new features were kicked out during the last 1412aef6930SMark Murrayweeks before release 7.0 came out. Such is life. 1422aef6930SMark Murray 1432aef6930SMark Murray- Got rid of out the environment replacement routines, at least for 1442aef6930SMark Murraymost architectures. One should not have to replace working system 1452aef6930SMark Murraysoftware when all that is needed is a 4.4BSD setenv() emulator. 1462aef6930SMark Murray 1472aef6930SMark Murray- By popular request I have added an option to send banner messages to 1482aef6930SMark Murrayclients. There is a Banners.Makefile that gives some aid for sites that 1492aef6930SMark Murrayare going to use this feature. John C. Wingenbach did some pioneering 1502aef6930SMark Murraywork here. I used to think that banners are frivolous. Now that I had 1512aef6930SMark Murraya personal need for them I know that banners can be useful. 1522aef6930SMark Murray 1532aef6930SMark Murray- At last: an extensible functional interface to the pattern matching 1542aef6930SMark Murrayengine. request_init() and request_set() accept a variable-length 1552aef6930SMark Murrayname-value argument list. The result can be passed to hosts_access(). 1562aef6930SMark Murray 1572aef6930SMark Murray- When PARANOID mode is disabled (compile time), the wrapper does no 1582aef6930SMark Murrayhostname lookup or hostname double checks unless required by %letter 1592aef6930SMark Murrayexpansions, or by access control rules that match host names. This is 1602aef6930SMark Murrayuseful for sites that don't care about internet hostnames anyway. 1612aef6930SMark MurrayInspired by the authors of the firewalls and internet security book. 1622aef6930SMark Murray 1632aef6930SMark Murray- When PARANOID mode is disabled (compile time), hosts with a name/name 1642aef6930SMark Murrayor name/address conflict can be matched with the PARANOID host wildcard 1652aef6930SMark Murraypattern, so that you can take some intelligent action instead of just 1662aef6930SMark Murraydropping clients. Like showing a banner that explains the problem. 1672aef6930SMark Murray 1682aef6930SMark Murray- New percent escapes: %A expands to the server address; %H expands to 1692aef6930SMark Murraythe corresponding hostname (or address if no name is available); %n and 1702aef6930SMark Murray%N expand to the client and server hostname (or "unknown"); %s expands 1712aef6930SMark Murrayto everything we know about the server endpoint (the opposite of the %c 1722aef6930SMark Murraysequence for client information). 1732aef6930SMark Murray 1742aef6930SMark Murray- Symmetry: server and client host information is now treated on equal 1752aef6930SMark Murrayfooting, so that we can reuse a lot of code. 1762aef6930SMark Murray 1772aef6930SMark Murray- Lazy evaluation of host names, host addresses, usernames, and so on, 1782aef6930SMark Murrayto avoid doing unnecessary work. 1792aef6930SMark Murray 1802aef6930SMark Murray- Dropping #ifdefs for some archaic systems made the code simpler. 1812aef6930SMark Murray 1822aef6930SMark Murray- Dropping the FAIL pattern made the pattern matcher much simpler. Run 1832aef6930SMark Murraythe "tcpdchk" program to scan your access control files for any uses of 1842aef6930SMark Murraythis obscure language feature. 1852aef6930SMark Murray 1862aef6930SMark Murray- Moving host-specific pattern matching from string_match() to the 1872aef6930SMark Murrayhost_match() routine made the code more accurate. Run the "tcpdchk" 1882aef6930SMark Murrayprogram to scan your access control files for any dependencies on 1892aef6930SMark Murrayundocumented or obscure language features that are gone. 1902aef6930SMark Murray 1912aef6930SMark Murray- daemon@host patterns trigger on clients that connect to a specific 1922aef6930SMark Murrayinternet address. This can be useful for service providers that offer 1932aef6930SMark Murraymultiple ftp or www archives on different internet addresses, all 1942aef6930SMark Murraybelonging to one and the same host (www.foo.com, ftp.bar.com, you get 1952aef6930SMark Murraythe idea). Inspired by a discussion with Rop Gonggrijp, Cor Bosman, 1962aef6930SMark Murrayand Casper Dik, and earlier discussions with Adrian van Bloois. 1972aef6930SMark Murray 1982aef6930SMark Murray- The new "tcpdchk" program critcizes all your access control rules and 1992aef6930SMark Murrayinetd.conf entries. Great for spotting obscure bugs in my own hosts.xxx 2002aef6930SMark Murrayfiles. This program also detects hosts with name/address conflicts and 2012aef6930SMark Murraywith other DNS-related problems. See the "tcpdchk.8" manual page. 2022aef6930SMark Murray 2032aef6930SMark Murray- The "tcpdmatch" program replaces the poor old "try" command. The new 2042aef6930SMark Murrayprogram looks in your inetd.conf file and therefore produces much more 2052aef6930SMark Murrayaccurate predictions. In addition, it detects hosts with name/address 2062aef6930SMark Murrayconflicts and with other DNS-related problems. See the "tcpdmatch.8" 2072aef6930SMark Murraymanual page. The inetd.conf lookup was suggested by Everett F Batey. 2082aef6930SMark Murray 2092aef6930SMark Murray- In the access control tables, the `=' between option name and value 2102aef6930SMark Murrayis no longer required. 2112aef6930SMark Murray 2122aef6930SMark Murray- Added 60-second timeout to the safe_finger command, to cover another 2132aef6930SMark Murraypotential problem. Suggested by Peter Wemm. 2142aef6930SMark Murray 2152aef6930SMark Murray- Andrew Maffei provided code that works with WIN-TCP on NCR System V.4 2162aef6930SMark MurrayUNIX. It reportedly works with versions 02.02.01 and 02.03.00. The code 2172aef6930SMark Murraypops off all streams modules above the device driver, pushes the timod 2182aef6930SMark Murraymodule to get at the peer address, and then restores the streams stack 2192aef6930SMark Murrayto the initial state. 2202aef6930SMark Murray 2212aef6930SMark MurrayChanges per release 6.3 (Mar 1994) 2222aef6930SMark Murray================================== 2232aef6930SMark Murray 2242aef6930SMark Murray- Keepalives option, to get rid of stuck daemons when people turn off 2252aef6930SMark Murraytheir PC while still connected. Files: options.c, hosts_options.5. 2262aef6930SMark Murray 2272aef6930SMark Murray- Nice option, to calm down network daemons that take away too much CPU 2282aef6930SMark Murraytime. Files: options.c, hosts_options.5. 2292aef6930SMark Murray 2302aef6930SMark Murray- Ultrix perversion: the environ global pointer may be null. The 2312aef6930SMark Murrayenvironment replacement routines now check for this. File: environ.c. 2322aef6930SMark Murray 2332aef6930SMark Murray- Fixed a few places that still assumed the socket is on standard 2342aef6930SMark Murrayinput. Fixed some error messages that did not provide access control 2352aef6930SMark Murrayfile name and line number. File: options.c. 2362aef6930SMark Murray 2372aef6930SMark Murray- Just when I was going to release 6.2 I received code for Dynix/PTX. 2382aef6930SMark MurrayThat code is specific to PTX 2.x, so I'll keep around my generic 2392aef6930SMark MurrayPTX code just in case. The difference is in the handling of UDP 2402aef6930SMark Murrayservices. Files: tli_sequent.[hc]. 2412aef6930SMark Murray 2422aef6930SMark MurrayChanges per release 6.2 (Feb 1994) 2432aef6930SMark Murray================================== 2442aef6930SMark Murray 2452aef6930SMark Murray- Resurrected my year-old code to reduce DNS load by appending a dot to 2462aef6930SMark Murraythe gethostbyname() argument. This feature is still experimental and it 2472aef6930SMark Murraymay go away if it causes more problems than it solves. File: socket.c. 2482aef6930SMark Murray 2492aef6930SMark Murray- Auxiliary code for the Pyramid, BSD universe. Karl Vogel figured out 2502aef6930SMark Murraywhat was missing: yp_get_default_domain() and vfprintf(). Files: 2512aef6930SMark Murrayworkarounds.c, vfprintf.c. 2522aef6930SMark Murray 2532aef6930SMark Murray- Improved support for Dynix/PTX. The wrapper should now be able to 2542aef6930SMark Murraydeal with all TLI over IP services. File: ptx.c. 2552aef6930SMark Murray 2562aef6930SMark Murray- The try command now uses the hostname that gethostbyaddr() would 2572aef6930SMark Murrayreturn, instead of the hostname returned by gethostbyname(). This can 2582aef6930SMark Murraybe significant on systems with NIS that have short host names in the 2592aef6930SMark Murrayhosts map. For example, gethostbyname("wzv.win.tue.nl") returns 2602aef6930SMark Murray"wzv.win.tue.nl"; gethostbyaddr(131.155.210.17) returns "wzv", and 2612aef6930SMark Murraythat is what we should test with. File: try.c. 2622aef6930SMark Murray 2632aef6930SMark MurrayChanges per release 6.1 (Dec 1993) 2642aef6930SMark Murray================================== 2652aef6930SMark Murray 2662aef6930SMark Murray- Re-implemented all environment access routines. Most systems have 2672aef6930SMark Murrayputenv() but no setenv(), some systems have setenv() but no putenv(), 2682aef6930SMark Murrayand there are even systems that have neither setenv() nor putenv(). The 2692aef6930SMark Murraybenefit of all this is that more systems can now be treated in the same 2702aef6930SMark Murrayway. File: environ.c. 2712aef6930SMark Murray 2722aef6930SMark Murray- Workaround for a weird problem with DG/UX when the wrapper is run as 2732aef6930SMark Murraynobody (i.e. fingerd). For some reason the ioctl(fd, I_FIND, "sockmod") 2742aef6930SMark Murraycall fails even with socket-based applications. The "fix" is to always 2752aef6930SMark Murrayassume sockets when the ioctl(fd, I_FIND, "timod") call fails. File: 2762aef6930SMark Murrayfromhost.c. Thanks to Paul de Vries (vries@dutentb.et.tudelft.nl) for 2772aef6930SMark Murrayhelping me to figure out this one. 2782aef6930SMark Murray 2792aef6930SMark Murray- Implemented a workaround for Dynix/PTX and other systems with TLI 2802aef6930SMark Murraythat lack some essential support routines. Thanks to Bugs Brouillard 2812aef6930SMark Murray(brouill@hsuseq.humboldt.edu) for the hospitality to try things out. 2822aef6930SMark MurrayThe trick is to temporarily switch to the socket API to identify the 2832aef6930SMark Murrayclient, and to switch back to TLI when done. It still does not work 2842aef6930SMark Murrayright for basic network services such as telnet. File: fromhost.c. 2852aef6930SMark Murray 2862aef6930SMark Murray- Easy-to-build procedures for SCO UNIX, ConvexOS with UltraNet, EP/IX, 2872aef6930SMark MurrayDynix 3.2, Dynix/PTX. File: Makefile. 2882aef6930SMark Murray 2892aef6930SMark Murray- Variable rfc931 timeout. Files: rfc931.c, options.c, log_tcp.h, try.c. 2902aef6930SMark Murray 2912aef6930SMark Murray- Further simplification of the rfc931 code. File: rfc931.c. 2922aef6930SMark Murray 2932aef6930SMark Murray- The fromhost() interface stinks: I cannot change that, but at least 2942aef6930SMark Murraythe from_sock() and from_tli() functions now accept a file descriptor 2952aef6930SMark Murrayargument. 2962aef6930SMark Murray 2972aef6930SMark Murray- Fixed a buglet: fromhost() would pass a garbage file descriptor to 2982aef6930SMark Murraythe isastream() call. 2992aef6930SMark Murray 3002aef6930SMark Murray- On some systems the finger client program lives in /usr/bsd. File: 3012aef6930SMark Murraysafe_finger.c. 3022aef6930SMark Murray 3032aef6930SMark MurrayChanges per release 6.0 (Sept 1993) 3042aef6930SMark Murray=================================== 3052aef6930SMark Murray 3062aef6930SMark Murray- Easy build procedures for common platforms (sun, ultrix, aix, hpux 3072aef6930SMark Murrayand others). 3082aef6930SMark Murray 3092aef6930SMark Murray- TLI support, System V.4 style (Solaris, DG/UX). 3102aef6930SMark Murray 3112aef6930SMark Murray- Username lookup integrated with the access control language. 3122aef6930SMark MurraySelective username lookups are now the default (was: no username 3132aef6930SMark Murraylookups). 3142aef6930SMark Murray 3152aef6930SMark Murray- A safer finger command for booby traps. This one solves a host of 3162aef6930SMark Murraypossible problems with automatic reverse fingers. Thanks, Borja Marcos 3172aef6930SMark Murray(borjam@we.lc.ehu.es) for some inspiring discussions. 3182aef6930SMark Murray 3192aef6930SMark Murray- KNOWN pattern that matches hosts whose name and address are known. 3202aef6930SMark Murray 3212aef6930SMark Murray- Cleanup of diagnostics. Errors in access-control files are now shown 3222aef6930SMark Murraywith file name and line number. 3232aef6930SMark Murray 3242aef6930SMark Murray- With AIX 3.2, hostnames longer than 32 would be truncated. This 3252aef6930SMark Murraycaused hostname verification failures, so that service would be refused 3262aef6930SMark Murraywhen paranoid mode was enabled. Found by: Adrian van Bloois 3272aef6930SMark Murray(A.vanBloois@info.nic.surfnet.nl). 3282aef6930SMark Murray 3292aef6930SMark Murray- With some IRIX versions, remote username lookups failed because the 3302aef6930SMark Murrayfgets() library function does not handle partial read()s from sockets. 3312aef6930SMark MurrayFound by: Daniel O'Callaghan (danny@austin.unimelb.edu.au). 3322aef6930SMark Murray 3332aef6930SMark Murray- Added a DISCLAIMER document to help you satisfy legal departments. 3342aef6930SMark Murray 3352aef6930SMark MurrayThe extension language module has undergone major revisions and 3362aef6930SMark Murrayextensions. Thanks, John P. Rouillard (rouilj@ra.cs.umb.edu) for 3372aef6930SMark Murraydiscussions, experiments, and for being a good guinea pig. The 3382aef6930SMark Murrayextensions are documented in hosts_options.5, and are enabled by 3392aef6930SMark Murrayediting the Makefile STYLE macro definition. 3402aef6930SMark Murray 3412aef6930SMark Murray- (Extension language) The ":" separator may now occur within options 3422aef6930SMark Murrayas long as it is protected with a backslash. A warning is issued when 3432aef6930SMark Murraya rule ends on ":". 3442aef6930SMark Murray 3452aef6930SMark Murray- (Extension language) Better verification mode. When the `try' command 3462aef6930SMark Murrayis run, each option function now explains what it would do. 3472aef6930SMark Murray 3482aef6930SMark Murray- (Extension language) New "allow" and "deny" keywords so you can now 3492aef6930SMark Murrayhave all rules within a single file. See "nroff -man hosts_options.5" 3502aef6930SMark Murrayfor examples. 3512aef6930SMark Murray 3522aef6930SMark Murray- (Extension language) "linger" keyword to set the socket linger time 3532aef6930SMark Murray(SO_LINGER). From: Marc Boucher <marc@cam.org>. 3542aef6930SMark Murray 3552aef6930SMark Murray- (Extension language) "severity" keyword to turn the logging noise up 3562aef6930SMark Murrayor down. Many sites wanted a means to shut up the program; other sites 3572aef6930SMark Murraywanted to emphasize specific events. Adapted from code contributed 3582aef6930SMark Murrayby Dave Mitchell <D.Mitchell@dcs.shef.ac.uk>. 3592aef6930SMark Murray 3602aef6930SMark MurrayChanges per release 5.1 (Mar 1993) 3612aef6930SMark Murray================================== 3622aef6930SMark Murray 3632aef6930SMark Murray- The additional protection against source-routing attacks from hosts 3642aef6930SMark Murraythat pretend to have someone elses network address has become optional 3652aef6930SMark Murraybecause it causes kernel panics with SunOS <= 4.1.3. 3662aef6930SMark Murray 3672aef6930SMark MurrayChanges per release 5.0 (Mar 1993) 3682aef6930SMark Murray================================== 3692aef6930SMark Murray 3702aef6930SMark Murray- Additional protection against source-routing attacks from hosts that 3712aef6930SMark Murraypretend to have someone elses network address. For example, the address 3722aef6930SMark Murrayof a trusted host within your own network. 3732aef6930SMark Murray 3742aef6930SMark Murray- The access control language has been extended with a simple but 3752aef6930SMark Murraypowerful operator that greatly simplifies the design of rule sets (ALL: 3762aef6930SMark Murray.foo.edu EXCEPT dialup.foo.edu). Blank lines are permitted, and long 3772aef6930SMark Murraylines can be continued with backslash-newline. 3782aef6930SMark Murray 3792aef6930SMark Murray- All configurable stuff, including path names, has been moved into the 3802aef6930SMark MurrayMakefile so that you no longer have to hack source code to just 3812aef6930SMark Murrayconfigure the programs. 3822aef6930SMark Murray 3832aef6930SMark Murray- Ported to Solaris 2. TLI-based applications not yet supported. 3842aef6930SMark MurraySeveral workarounds for System V bugs. 3852aef6930SMark Murray 3862aef6930SMark Murray- A small loophole in the netgroup lookup code was closed, and the 3872aef6930SMark Murrayremote username lookup code was made more portable. 3882aef6930SMark Murray 3892aef6930SMark Murray- Still more documentation. The README file now provides tutorial 3902aef6930SMark Murraysections with introductions to client, server, inetd and syslogd. 3912aef6930SMark Murray 3922aef6930SMark MurrayChanges per release 4.3 (Aug 1992) 3932aef6930SMark Murray================================== 3942aef6930SMark Murray 3952aef6930SMark Murray- Some sites reported that connections would be rejected because 3962aef6930SMark Murraylocalhost != localhost.domain. The host name checking code now 3972aef6930SMark Murrayspecial-cases localhost (problem reported by several sites). 3982aef6930SMark Murray 3992aef6930SMark Murray- The programs now report an error if an existing access control file 4002aef6930SMark Murraycannot be opened (e.g. due to lack of privileges). Until now, the 4012aef6930SMark Murrayprograms would just pretend that the access control file does not exist 4022aef6930SMark Murray(reported by Darren Reed, avalon@coombs.anu.edu.au). 4032aef6930SMark Murray 4042aef6930SMark Murray- The timeout period for remote userid lookups was upped to 30 seconds, 4052aef6930SMark Murrayin order to cope with slow hosts or networks. If this is too long for 4062aef6930SMark Murrayyou, adjust the TIMEOUT definition in file rfc931.c (problem reported 4072aef6930SMark Murrayby several sites). 4082aef6930SMark Murray 4092aef6930SMark Murray- On hosts with more than one IP network interface, remote userid 4102aef6930SMark Murraylookups could use the IP address of the "wrong" local interface. The 4112aef6930SMark Murrayproblem and its solution were discussed on the rfc931-users mailing 4122aef6930SMark Murraylist. Scott Schwartz (schwartz@cs.psu.edu) folded the fix into the 4132aef6930SMark Murrayrfc931.c module. 4142aef6930SMark Murray 4152aef6930SMark Murray- The result of % expansion (in shell commands) is now checked for 4162aef6930SMark Murraystuff that may confuse the shell; it is replaced by underscores 4172aef6930SMark Murray(problem reported by Icarus Sparry, I.Sparry@gdr.bath.ac.uk). 4182aef6930SMark Murray 4192aef6930SMark Murray- A portability problem was fixed that caused compile-time problems 4202aef6930SMark Murrayon a CRAY (problem reported by Michael Barnett, mikeb@rmit.edu.au). 4212aef6930SMark Murray 4222aef6930SMark MurrayChanges per release 4.0 (Jun 1992) 4232aef6930SMark Murray================================== 4242aef6930SMark Murray 4252aef6930SMark Murray1 - network daemons no longer have to live within a common directory 4262aef6930SMark Murray2 - the access control code now uses both the host address and name 4272aef6930SMark Murray3 - an access control pattern that supports netmasks 4282aef6930SMark Murray4 - additional protection against forged host names 4292aef6930SMark Murray5 - a pattern that matches hosts whose name or address lookup fails 4302aef6930SMark Murray6 - an operator that prevents hosts or services from being matched 4312aef6930SMark Murray7 - optional remote username lookup with the RFC 931 protocol 4322aef6930SMark Murray8 - an optional umask to prevent the creation of world-writable files 4332aef6930SMark Murray9 - hooks for access control language extensions 4342aef6930SMark Murray10 - last but not least, thoroughly revised documentation. 4352aef6930SMark Murray 4362aef6930SMark MurrayChanges per release 3.0 (Oct 1991) 4372aef6930SMark Murray================================== 4382aef6930SMark Murray 4392aef6930SMark MurrayEnhancements over the previous release are: support for datagram (UDP 4402aef6930SMark Murrayand RPC) services, and execution of shell commands when a (remote host, 4412aef6930SMark Murrayrequested service) pair matches a pattern in the access control tables. 4422aef6930SMark Murray 4432aef6930SMark MurrayChanges per release 2.0 (May 1991) 4442aef6930SMark Murray================================== 4452aef6930SMark Murray 4462aef6930SMark MurrayEnhancements over the previous release are: protection against rlogin 4472aef6930SMark Murrayand rsh attacks through compromised domain name servers, optional 4482aef6930SMark Murraynetgroup support for systems with NIS (formerly YP), and an extension 4492aef6930SMark Murrayof the wild card patterns supported by the access control files. 4502aef6930SMark Murray 4512aef6930SMark MurrayRelease 1.0 (Jan 1991) 452