To: smail3-users@cs.athabascau.ca, smail3-wizards@cs.athabascau.ca, smail-alpha@veritas.com Subject: EMERGENCY PATCH (Official patch #24) Well, patch #23 was pretty short-lived. Please apply this patch to make your smail well again. -- tron |-<=>-| ARPAnet: veritas!tron@apple.com tron@veritas.com UUCPnet: {apple,pyramid}!veritas!tron --------------------------------------------------------------------------- CHANGES IN THE 3.1.24 RELEASE Release 3.1.24 is an emergency patch release to smail3.1.23. This release fixes two major bugs: 1. While reformatting the bind and tcpsmtp drivers, as written by Simon Leinen to match smail's coding style, I introduced a brace one line off, causing an infinite loop when writing some deferral messages to the log. 2. The "delete" operation in pathalias didn't work on the local host. This turns out to have been a bug in the general pathalias release, but smail's paths file generation facilities encourage use of this feature, causing this problem to be serious (for example, our site here started sending lots of mail through uunet, despite the fact that we only call uunet a few times per day, and only at night). This release also contains a conf/os file for AIX on the PS/2, which is, according to one person, substantially different from AIX3.1 on the RS/6000. --------------------------------------------------------------------------- The following changes should be applied to the version 3.1.23.6 sources for smail, to produce smail3.1.24.1. The version number that you are running can be found in the `level' file at the top of the source tree. It can also be found by running the command: smail -V -v For information on smail releases and how you can obtain a complete smail release or a patch release, send mail to the address: smail-patch@veritas.com or to the !-style address: ...{amdahl,apple,pyramid,uunet}!veritas!smail-patch include as the first line of the message one of the following lines: send help send index send patch where is a single patch number (e.g., 17) or a single patch range (e.g., 4-7) and where is your address relative to veritas. The is optional and if omitted your return path is used. The following patch should be applied to the smail3.1.23.6 release. To apply this patch, obtain a copy of the program patch, release 2.0 or higher. The patch utility has been posted to the USENET group comp.sources.unix, and is available from most sites that archive public domain programs. Apply this patch using the command: patch -p [-d /SMAIL_SOURCE_PATH] < this_patch_file where "-d /SMAIL_SOURCE_PATH" specifies a root based path to the top of the smail source tree, and where "patchfile" is the name of the file in which this patch is stored. The "-d /SMAIL_SOURCE_PATH" is not needed if the current directory is already the top of the smail source tree. NOTE: Don't forget the -p !!!!! Prereq: PATCH_NUMBER=23 Index: patchnum *************** *** 1,3 **** ! # @(#)patchnum 1.11 11 Nov 1991 05:45:23 ! PATCH_NUMBER=23 ! PATCH_DATE=11-nov-91 --- 1,3 ---- ! # @(#)patchnum 1.12 20 Nov 1991 01:02:34 ! PATCH_NUMBER=24 ! PATCH_DATE=20-nov-91 Prereq: 3.1.23.6 Index: level *************** *** 1,2 **** ! # @(#)level 1.12 11 Nov 1991 05:45:21 ! 3.1.23.6 Mon Nov 11 05:44:59 PST 1991 --- 1,2 ---- ! # @(#)level 1.13 20 Nov 1991 01:02:30 ! 3.1.24.1 Wed Nov 20 01:01:52 PST 1991 Index: conf/os/aix-ps2 *************** *** 0 **** --- 1,18 ---- + # @(#)conf/os/aix-ps2 1.1 20 Nov 1991 01:00:37 + # aix-ps2 - define the characteristics of IBM AIX For PS/2 + # + # Initial hack by Tim Daneliuk (tundra@tundraix.chi.il.us) + # VERY similar to BSD 4.3, but with minor variations because of the + # fascinating way IBM organizes directories (!) and the interesting (?) + # manner in which the glue SYS V and BSD together...sigh + + . $ROOT/conf/os/bsd4.3 + + # OSNAMES - Names defining this operating system + OSNAMES=$OSNAMES:AIX_PS2 + + # HAVE - what features should be used with this operating system + HAVE=$HAVE:USE_TZNAME + + # UUCP_SYSTEM_FILE - path to UUCP file containing remote systems + UUCP_SYSTEM_FILE=/usr/adm/uucp/Systems Index: README *************** *** 56,61 **** --- 56,83 ---- delivery_mode=queued + CHANGES IN THE 3.1.24 RELEASE + + Release 3.1.24 is an emergency patch release to smail3.1.23. This + release fixes two major bugs: + + 1. While reformatting the bind and tcpsmtp drivers, as written by + Simon Leinen to match smail's coding style, I introduced a brace + one line off, causing an infinite loop when writing some deferral + messages to the log. + + 2. The "delete" operation in pathalias didn't work on the local host. + This turns out to have been a bug in the general pathalias release, + but smail's paths file generation facilities encourage use of this + feature, causing this problem to be serious (for example, our site + here started sending lots of mail through uunet, despite the fact + that we only call uunet a few times per day, and only at night). + + This release also contains a conf/os file for AIX on the PS/2, which + is, according to one person, substantially different from AIX3.1 on + the RS/6000. + + CHANGES IN THE 3.1.23 RELEASE Release 3.1.23 is a patch release to smail3.1.22. This release is Index: pd/pathalias/parse.y *************** *** 1,5 **** %{ ! /* Smail SCCS ID: @(#)pd/pathalias/parse.y 1.4 %G 05:29:59 */ /* pathalias -- by steve bellovin, as told to peter honeyman */ #ifndef lint static char *sccsid = "@(#)parse.y 9.10 88/09/07"; --- 1,5 ---- %{ ! /* Smail SCCS ID: @(#)pd/pathalias/parse.y 1.5 %G 19:37:27 */ /* pathalias -- by steve bellovin, as told to peter honeyman */ #ifndef lint static char *sccsid = "@(#)parse.y 9.10 88/09/07"; *************** *** 28,33 **** --- 28,36 ---- extern int optind; extern char *Cfile, *Netchars, **Argv; extern int Lineno, Argc; + #ifdef SMAIL_3 + extern node *Home; /* node for local host */ + #endif /* privates */ STATIC void fixnet(), adjust(); *************** *** 197,203 **** --- 200,212 ---- n = addnode($1); deletelink(n, (node *) 0); + #ifndef SMAIL_3 n->n_flag |= ISPRIVATE; + #else + if (n != Home) { + n->n_flag |= ISPRIVATE; + } + #endif } | usite NET usite {deletelink($1, $3);} ; Index: src/sysdep.c *************** *** 1,4 **** ! /* @(#)src/sysdep.c 1.14 03 Nov 1991 04:56:52 */ /* * Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll --- 1,4 ---- ! /* @(#)src/sysdep.c 1.15 20 Nov 1991 00:57:50 */ /* * Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll *************** *** 95,101 **** extern char *getenv(); extern char *getlogin(); extern char *ctime(); ! #if !defined(UNIX_SYS5) && !defined(POSIX_OS) extern char *timezone(); #endif /* UNIX_SYS5 */ #ifndef ANSI_C --- 95,101 ---- extern char *getenv(); extern char *getlogin(); extern char *ctime(); ! #if !defined(UNIX_SYS5) && !defined(POSIX_OS) && !defined(USE_TZNAME) extern char *timezone(); #endif /* UNIX_SYS5 */ #ifndef ANSI_C *************** *** 208,214 **** get_time_zone(ltm) struct tm *ltm; { ! #if defined(UNIX_BSD) && !defined(POSIX_OS) || defined(USE_GETTIMEOFDAY) struct timeval tv; struct timezone tz; (void) gettimeofday(&tv, &tz); --- 208,214 ---- get_time_zone(ltm) struct tm *ltm; { ! #if (defined(UNIX_BSD) && !defined(POSIX_OS) || defined(USE_GETTIMEOFDAY)) && !defined(USE_TZNAME) struct timeval tv; struct timezone tz; (void) gettimeofday(&tv, &tz); *************** *** 217,223 **** if (tznodst) ltm->tm_isdst = 0; #endif /* GLOTZNET */ return timezone(tz.tz_minuteswest, ltm->tm_isdst); ! #else /* (not UNIX_BSD || POSIX_OS) && not USE_GETTIMEOFDAY */ # if defined(UNIX_SYS5) || defined(POSIX_OS) || defined(USE_TZNAME) extern char *tzname[2]; --- 217,223 ---- if (tznodst) ltm->tm_isdst = 0; #endif /* GLOTZNET */ return timezone(tz.tz_minuteswest, ltm->tm_isdst); ! #else /* (not UNIX_BSD || POSIX_OS) && !USE_GETTIMEOFDAY && !USE_TZNAME */ # if defined(UNIX_SYS5) || defined(POSIX_OS) || defined(USE_TZNAME) extern char *tzname[2]; Index: src/transports/tcpsmtp.c *************** *** 1,4 **** ! /* @(#)src/transports/tcpsmtp.c 1.8 10 Nov 1991 05:57:34 */ /* * Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll --- 1,4 ---- ! /* @(#)src/transports/tcpsmtp.c 1.9 20 Nov 1991 00:47:09 */ /* * Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll *************** *** 109,116 **** } } #undef mx_hint - insert_addr_list(addr, defer, error); } } else { struct in_addr ipaddr; short family; --- 109,116 ---- } } #undef mx_hint } + insert_addr_list(addr, defer, error); } else { struct in_addr ipaddr; short family;