wswietse@eutrc3.UUCP (Wietse Venema) (06/17/88)
Enclosed is a shar file wih two patches for smail 2.5. The first one (smail.patch) may be needed by System-V (not having sendmail) implementations in general. You can find out whether you need it by sending a mail message through smail to a non-existent local user. Smail will send the message back to the originator, including a copy of the standard error and standard output from the local-mail delivery program. If the diagnostic from the local-mail delivery program is garbled (the first part of the recipient's name is missing) you need the patch. The second one (uport.patch) is required in order to compile smail with the small memory model (8 kb stack) of Microport Unix 2.2. All the patch does is to move some large arrays from stack to static memory. #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: smail.patch uport.patch # Wrapped by wswietse@tuewsa on Thu Jun 16 19:31:53 1988 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f smail.patch -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"smail.patch\" else echo shar: Extracting \"smail.patch\" \(818 characters\) sed "s/^X//" >smail.patch <<'END_OF_smail.patch' XThe following patch for smail 2.5 prevents the local (SysV) mailer Xfrom clobbering its standard output with its standard error. X X Wietse Venema X X*** deliver.c- Fri Sep 25 14:44:51 1987 X--- deliver.c Sat Apr 23 17:02:14 1988 X*************** X*** 106,114 **** X (void) unlink(stderrfile); X (void) strcpy(stderrfile, "/tmp/stderrXXXXXX"); X (void) mktemp(stderrfile); X! (void) freopen(stderrfile, "w", stderr); X if(debug != YES) { X! (void) freopen(stderrfile, "w", stdout); X } X X *lend = *rend = *send = '\0'; X--- 106,114 ---- X (void) unlink(stderrfile); X (void) strcpy(stderrfile, "/tmp/stderrXXXXXX"); X (void) mktemp(stderrfile); X! (void) freopen(stderrfile, "a", stderr); X if(debug != YES) { X! (void) freopen(stderrfile, "a", stdout); X } X X *lend = *rend = *send = '\0'; END_OF_smail.patch if test 818 -ne `wc -c <smail.patch`; then echo shar: \"smail.patch\" unpacked with wrong size! fi # end of overwriting check fi if test -f uport.patch -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"uport.patch\" else echo shar: Extracting \"uport.patch\" \(785 characters\) sed "s/^X//" >uport.patch <<'END_OF_uport.patch' X*** main.c.orig Fri Sep 25 14:44:57 1987 X--- main.c Fri Apr 22 21:48:48 1988 X*************** X*** 97,106 **** X int argc; X char *argv[]; X { X! char *hostv[MAXARGS]; /* UUCP neighbor */ X! char *userv[MAXARGS]; /* address given to host */ X! int costv[MAXARGS]; /* cost of resolved route */ X! enum eform formv[MAXARGS]; /* invalid, local, or uucp */ X char *p; X int c; X int printaddr = 0; /* or set by -A */ X--- 97,106 ---- X int argc; X char *argv[]; X { X! static char *hostv[MAXARGS]; /* UUCP neighbor */ X! static char *userv[MAXARGS]; /* address given to host */ X! static int costv[MAXARGS]; /* cost of resolved route */ X! static enum eform formv[MAXARGS]; /* invalid, local, or uucp */ X char *p; X int c; X int printaddr = 0; /* or set by -A */ END_OF_uport.patch if test 785 -ne `wc -c <uport.patch`; then echo shar: \"uport.patch\" unpacked with wrong size! fi # end of overwriting check fi echo shar: End of shell archive. exit 0 -- uucp: mcvax!eutrc3!wswietse | Eindhoven University of Technology bitnet: wswietse@heithe5 | Dept. of Mathematics and Computer Science surf: tuerc5::wswietse | Eindhoven, The Netherlands.