diff -cr sendmail-8.9.1/BuildTools/M4/depend/BSD.m4 sendmail-8.9.2/BuildTools/M4/depend/BSD.m4 *** sendmail-8.9.1/BuildTools/M4/depend/BSD.m4 Tue May 19 16:33:25 1998 --- sendmail-8.9.2/BuildTools/M4/depend/BSD.m4 Tue Dec 29 09:39:20 1998 *************** *** 1,4 **** ! # @(#)BSD.m4 8.3 (Berkeley) 2/9/98 depend: ${BEFORE} @mv Makefile Makefile.old @sed -e '/^# Do not edit or remove this line or anything below it.$$/,$$d' < Makefile.old > Makefile --- 1,4 ---- ! # @(#)BSD.m4 8.3 (Berkeley) 2/9/1998 depend: ${BEFORE} @mv Makefile Makefile.old @sed -e '/^# Do not edit or remove this line or anything below it.$$/,$$d' < Makefile.old > Makefile diff -cr sendmail-8.9.1/BuildTools/M4/depend/CC-M.m4 sendmail-8.9.2/BuildTools/M4/depend/CC-M.m4 *** sendmail-8.9.1/BuildTools/M4/depend/CC-M.m4 Tue May 19 16:33:25 1998 --- sendmail-8.9.2/BuildTools/M4/depend/CC-M.m4 Tue Dec 29 09:39:20 1998 *************** *** 1,4 **** ! # @(#)CC-M.m4 8.2 (Berkeley) 2/19/98 depend: ${BEFORE} @mv Makefile Makefile.old @sed -e '/^# Do not edit or remove this line or anything below it.$$/,$$d' < Makefile.old > Makefile --- 1,4 ---- ! # @(#)CC-M.m4 8.2 (Berkeley) 2/19/1998 depend: ${BEFORE} @mv Makefile Makefile.old @sed -e '/^# Do not edit or remove this line or anything below it.$$/,$$d' < Makefile.old > Makefile diff -cr sendmail-8.9.1/BuildTools/M4/depend/NCR.m4 sendmail-8.9.2/BuildTools/M4/depend/NCR.m4 *** sendmail-8.9.1/BuildTools/M4/depend/NCR.m4 Tue May 19 16:33:25 1998 --- sendmail-8.9.2/BuildTools/M4/depend/NCR.m4 Tue Dec 29 09:39:21 1998 *************** *** 1,4 **** ! # @(#)NCR.m4 8.3 (Berkeley) 2/19/98 depend: ${BEFORE} @mv Makefile Makefile.old @sed -e '/^# Do not edit or remove this line or anything below it.$$/,$$d' < Makefile.old > Makefile --- 1,4 ---- ! # @(#)NCR.m4 8.3 (Berkeley) 2/19/1998 depend: ${BEFORE} @mv Makefile Makefile.old @sed -e '/^# Do not edit or remove this line or anything below it.$$/,$$d' < Makefile.old > Makefile diff -cr sendmail-8.9.1/BuildTools/M4/depend/Solaris.m4 sendmail-8.9.2/BuildTools/M4/depend/Solaris.m4 *** sendmail-8.9.1/BuildTools/M4/depend/Solaris.m4 Tue May 19 16:33:25 1998 --- sendmail-8.9.2/BuildTools/M4/depend/Solaris.m4 Tue Dec 29 09:39:21 1998 *************** *** 1,4 **** ! # @(#)Solaris.m4 8.1 (Berkeley) 3/5/98 depend: ${BEFORE} @mv Makefile Makefile.old @sed -e '/^# Do not edit or remove this line or anything below it.$$/,$$d' < Makefile.old > Makefile --- 1,4 ---- ! # @(#)Solaris.m4 8.1 (Berkeley) 3/5/1998 depend: ${BEFORE} @mv Makefile Makefile.old @sed -e '/^# Do not edit or remove this line or anything below it.$$/,$$d' < Makefile.old > Makefile diff -cr sendmail-8.9.1/BuildTools/M4/depend/X11.m4 sendmail-8.9.2/BuildTools/M4/depend/X11.m4 *** sendmail-8.9.1/BuildTools/M4/depend/X11.m4 Tue May 19 16:33:25 1998 --- sendmail-8.9.2/BuildTools/M4/depend/X11.m4 Tue Dec 29 09:39:21 1998 *************** *** 1,4 **** ! # @(#)X11.m4 8.1 (Berkeley) 4/8/98 depend: ${BEFORE} makedepend -- ${COPTS} -- *.c --- 1,4 ---- ! # @(#)X11.m4 8.1 (Berkeley) 4/8/1998 depend: ${BEFORE} makedepend -- ${COPTS} -- *.c diff -cr sendmail-8.9.1/BuildTools/M4/depend/generic.m4 sendmail-8.9.2/BuildTools/M4/depend/generic.m4 *** sendmail-8.9.1/BuildTools/M4/depend/generic.m4 Tue May 19 16:33:25 1998 --- sendmail-8.9.2/BuildTools/M4/depend/generic.m4 Tue Dec 29 09:39:21 1998 *************** *** 1,4 **** ! # @(#)generic.m4 8.2 (Berkeley) 2/9/98 # dependencies # gross overkill, and yet still not quite enough.... ${OBJS}: ${SRCDIR}/sendmail.h ${SRCDIR}/conf.h --- 1,4 ---- ! # @(#)generic.m4 8.2 (Berkeley) 2/9/1998 # dependencies # gross overkill, and yet still not quite enough.... ${OBJS}: ${SRCDIR}/sendmail.h ${SRCDIR}/conf.h diff -cr sendmail-8.9.1/BuildTools/M4/header.m4 sendmail-8.9.2/BuildTools/M4/header.m4 *** sendmail-8.9.1/BuildTools/M4/header.m4 Tue May 19 16:33:21 1998 --- sendmail-8.9.2/BuildTools/M4/header.m4 Tue Dec 29 09:39:17 1998 *************** *** 8,14 **** # # Definitions for Makefile construction for sendmail # ! # @(#)header.m4 8.14 (Berkeley) 5/19/98 # changecom(^A) undefine(`format') --- 8,14 ---- # # Definitions for Makefile construction for sendmail # ! # @(#)header.m4 8.14 (Berkeley) 5/19/1998 # changecom(^A) undefine(`format') diff -cr sendmail-8.9.1/BuildTools/OS/386BSD sendmail-8.9.2/BuildTools/OS/386BSD *** sendmail-8.9.1/BuildTools/OS/386BSD Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/386BSD Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)386BSD 8.1 (Berkeley) 1/30/98 define(`confENVDEF', ` -DMIME') define(`confLIBS', `-lutil') define(`confLINKS', `/usr/sbin/sendmail /usr/bin/newaliases \ --- 1,4 ---- ! # @(#)386BSD 8.1 (Berkeley) 1/30/1998 define(`confENVDEF', ` -DMIME') define(`confLIBS', `-lutil') define(`confLINKS', `/usr/sbin/sendmail /usr/bin/newaliases \ diff -cr sendmail-8.9.1/BuildTools/OS/A-UX sendmail-8.9.2/BuildTools/OS/A-UX *** sendmail-8.9.1/BuildTools/OS/A-UX Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/A-UX Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)A-UX 8.4 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-D_POSIX_SOURCE ') define(`confLIBS', `-ldbm -lposix -lUTIL') --- 1,4 ---- ! # @(#)A-UX 8.4 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-D_POSIX_SOURCE ') define(`confLIBS', `-ldbm -lposix -lUTIL') diff -cr sendmail-8.9.1/BuildTools/OS/AIX sendmail-8.9.2/BuildTools/OS/AIX *** sendmail-8.9.1/BuildTools/OS/AIX Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/AIX Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)AIX 8.6 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-D_AIX3 ') define(`confOPTIMIZE', `-g') --- 1,4 ---- ! # @(#)AIX 8.6 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-D_AIX3 ') define(`confOPTIMIZE', `-g') diff -cr sendmail-8.9.1/BuildTools/OS/AIX.2 sendmail-8.9.2/BuildTools/OS/AIX.2 *** sendmail-8.9.1/BuildTools/OS/AIX.2 Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/AIX.2 Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)AIX.2 8.8 (Berkeley) 3/12/98 PUSHDIVERT(1) SMROOT= /usr/local/newmail POPDIVERT --- 1,4 ---- ! # @(#)AIX.2 8.8 (Berkeley) 3/12/1998 PUSHDIVERT(1) SMROOT= /usr/local/newmail POPDIVERT diff -cr sendmail-8.9.1/BuildTools/OS/AIX.4.2 sendmail-8.9.2/BuildTools/OS/AIX.4.2 *** sendmail-8.9.1/BuildTools/OS/AIX.4.2 Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/AIX.4.2 Tue Dec 29 09:39:49 1998 *************** *** 1,7 **** ! # @(#)AIX.4.2 8.5 (Berkeley) 3/14/98 define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-D_AIX4=40200 ') ! define(`confOPTIMIZE', `-O3') define(`confLIBS', `-ldbm') define(`confSTDIR', `/etc') define(`confHFDIR', `/usr/lib') --- 1,7 ---- ! # @(#)AIX.4.2 8.6 (Berkeley) 8/6/1998 define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-D_AIX4=40200 ') ! define(`confOPTIMIZE', `-O3 -qstrict') define(`confLIBS', `-ldbm') define(`confSTDIR', `/etc') define(`confHFDIR', `/usr/lib') diff -cr sendmail-8.9.1/BuildTools/OS/AIX.4.3 sendmail-8.9.2/BuildTools/OS/AIX.4.3 *** sendmail-8.9.1/BuildTools/OS/AIX.4.3 Tue May 19 16:33:45 1998 --- sendmail-8.9.2/BuildTools/OS/AIX.4.3 Tue Dec 29 09:39:53 1998 *************** *** 1,7 **** ! # @(#)AIX.4.3 8.4 (Berkeley) 3/14/98 define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-D_AIX4=40300 ') ! define(`confOPTIMIZE', `-O3') define(`confCC', `/usr/bin/xlc') define(`confLIBS', `-ldbm') define(`confSTDIR', `/etc') --- 1,7 ---- ! # @(#)AIX.4.3 8.5 (Berkeley) 8/6/1998 define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-D_AIX4=40300 ') ! define(`confOPTIMIZE', `-O3 -qstrict') define(`confCC', `/usr/bin/xlc') define(`confLIBS', `-ldbm') define(`confSTDIR', `/etc') diff -cr sendmail-8.9.1/BuildTools/OS/AIX.4.x sendmail-8.9.2/BuildTools/OS/AIX.4.x *** sendmail-8.9.1/BuildTools/OS/AIX.4.x Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/AIX.4.x Tue Dec 29 09:39:49 1998 *************** *** 1,7 **** ! # @(#)AIX.4.x 8.7 (Berkeley) 3/14/98 define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-D_AIX4 ') ! define(`confOPTIMIZE', `-O3') define(`confLIBS', `-ldbm') define(`confSTDIR', `/etc') define(`confHFDIR', `/usr/lib') --- 1,7 ---- ! # @(#)AIX.4.x 8.8 (Berkeley) 8/6/1998 define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-D_AIX4 ') ! define(`confOPTIMIZE', `-O3 -qstrict') define(`confLIBS', `-ldbm') define(`confSTDIR', `/etc') define(`confHFDIR', `/usr/lib') diff -cr sendmail-8.9.1/BuildTools/OS/Altos sendmail-8.9.2/BuildTools/OS/Altos *** sendmail-8.9.1/BuildTools/OS/Altos Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/Altos Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)Altos 8.6 (Berkeley) 2/19/98 define(`confCC', `gcc') define(`confENVDEF', `-DALTOS_SYSTEM_V ') define(`confLIBS', `-lsocket -lrpc') --- 1,4 ---- ! # @(#)Altos 8.6 (Berkeley) 2/19/1998 define(`confCC', `gcc') define(`confENVDEF', `-DALTOS_SYSTEM_V ') define(`confLIBS', `-lsocket -lrpc') diff -cr sendmail-8.9.1/BuildTools/OS/BSD-OS sendmail-8.9.2/BuildTools/OS/BSD-OS *** sendmail-8.9.1/BuildTools/OS/BSD-OS Wed Jun 3 19:14:22 1998 --- sendmail-8.9.2/BuildTools/OS/BSD-OS Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)BSD-OS 8.8 (Berkeley) 6/3/98 define(`confMAPDEF', `-DNEWDB -DMAP_REGEX') define(`confENVDEF', `-DNETISO') define(`confLIBS', `-lutil -lkvm') --- 1,4 ---- ! # @(#)BSD-OS 8.8 (Berkeley) 6/3/1998 define(`confMAPDEF', `-DNEWDB -DMAP_REGEX') define(`confENVDEF', `-DNETISO') define(`confLIBS', `-lutil -lkvm') diff -cr sendmail-8.9.1/BuildTools/OS/BSD43 sendmail-8.9.2/BuildTools/OS/BSD43 *** sendmail-8.9.1/BuildTools/OS/BSD43 Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/BSD43 Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)BSD43 8.5 (Berkeley) 3/12/98 define(`confBEFORE', `unistd.h stddef.h stdlib.h dirent.h sys/time.h') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DoldBSD43 ') --- 1,4 ---- ! # @(#)BSD43 8.5 (Berkeley) 3/12/1998 define(`confBEFORE', `unistd.h stddef.h stdlib.h dirent.h sys/time.h') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DoldBSD43 ') diff -cr sendmail-8.9.1/BuildTools/OS/CLIX sendmail-8.9.2/BuildTools/OS/CLIX *** sendmail-8.9.1/BuildTools/OS/CLIX Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/CLIX Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)CLIX 8.8 (Berkeley) 3/12/98 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DCLIX ') --- 1,4 ---- ! # @(#)CLIX 8.8 (Berkeley) 3/12/1998 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DCLIX ') diff -cr sendmail-8.9.1/BuildTools/OS/CRAYT3E.2.0.x sendmail-8.9.2/BuildTools/OS/CRAYT3E.2.0.x *** sendmail-8.9.1/BuildTools/OS/CRAYT3E.2.0.x Tue May 19 16:33:45 1998 --- sendmail-8.9.2/BuildTools/OS/CRAYT3E.2.0.x Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)CRAYT3E.2.0.x 8.1 (Berkeley) 4/21/98 define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DUNICOS ') define(`confOPTIMIZE', `-O') --- 1,4 ---- ! # @(#)CRAYT3E.2.0.x 8.1 (Berkeley) 4/21/1998 define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DUNICOS ') define(`confOPTIMIZE', `-O') diff -cr sendmail-8.9.1/BuildTools/OS/CSOS sendmail-8.9.2/BuildTools/OS/CSOS *** sendmail-8.9.1/BuildTools/OS/CSOS Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/CSOS Tue Dec 29 09:39:47 1998 *************** *** 1,4 **** ! # @(#)CSOS 8.5 (Berkeley) 2/8/98 define(`confLIBS', `-lnet') define(`confMBINDIR', `/usr/lib') define(`confSBINDIR', `/usr/etc') --- 1,4 ---- ! # @(#)CSOS 8.5 (Berkeley) 2/8/1998 define(`confLIBS', `-lnet') define(`confMBINDIR', `/usr/lib') define(`confSBINDIR', `/usr/etc') diff -cr sendmail-8.9.1/BuildTools/OS/ConvexOS sendmail-8.9.2/BuildTools/OS/ConvexOS *** sendmail-8.9.1/BuildTools/OS/ConvexOS Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/ConvexOS Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)ConvexOS 8.6 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM -DYPCOMPAT -DNIS') define(`confENVDEF', `-D__STDC__ -d non_int_bit_field') define(`confOPTIMIZE', `-g') --- 1,4 ---- ! # @(#)ConvexOS 8.6 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM -DYPCOMPAT -DNIS') define(`confENVDEF', `-D__STDC__ -d non_int_bit_field') define(`confOPTIMIZE', `-g') diff -cr sendmail-8.9.1/BuildTools/OS/Dell sendmail-8.9.2/BuildTools/OS/Dell *** sendmail-8.9.1/BuildTools/OS/Dell Tue May 19 16:33:39 1998 --- sendmail-8.9.2/BuildTools/OS/Dell Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)Dell 8.8 (Berkeley) 3/12/98 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-D__svr4__ ') --- 1,4 ---- ! # @(#)Dell 8.8 (Berkeley) 3/12/1998 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-D__svr4__ ') diff -cr sendmail-8.9.1/BuildTools/OS/DomainOS sendmail-8.9.2/BuildTools/OS/DomainOS *** sendmail-8.9.1/BuildTools/OS/DomainOS Wed Jun 24 21:02:38 1998 --- sendmail-8.9.2/BuildTools/OS/DomainOS Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)DomainOS 8.6 (Berkeley) 6/24/98 define(`confCC', `cc -A nansi -A,systype,any -A,runtype,bsd4.3') define(`confBEFORE', `unistd.h dirent.h') define(`confMAPDEF', `-DNDBM') --- 1,4 ---- ! # @(#)DomainOS 8.6 (Berkeley) 6/24/1998 define(`confCC', `cc -A nansi -A,systype,any -A,runtype,bsd4.3') define(`confBEFORE', `unistd.h dirent.h') define(`confMAPDEF', `-DNDBM') diff -cr sendmail-8.9.1/BuildTools/OS/DomainOS.10.4 sendmail-8.9.2/BuildTools/OS/DomainOS.10.4 *** sendmail-8.9.1/BuildTools/OS/DomainOS.10.4 Wed Jun 24 21:02:43 1998 --- sendmail-8.9.2/BuildTools/OS/DomainOS.10.4 Tue Dec 29 09:39:54 1998 *************** *** 1,4 **** ! # @(#)DomainOS.10.4 8.1 (Berkeley) 6/24/98 define(`confCC', `cc -A nansi -A,systype,any -A,runtype,bsd4.3') define(`confBEFORE', `dirent.h') define(`confMAPDEF', `-DNDBM') --- 1,4 ---- ! # @(#)DomainOS.10.4 8.1 (Berkeley) 6/24/1998 define(`confCC', `cc -A nansi -A,systype,any -A,runtype,bsd4.3') define(`confBEFORE', `dirent.h') define(`confMAPDEF', `-DNDBM') diff -cr sendmail-8.9.1/BuildTools/OS/Dynix sendmail-8.9.2/BuildTools/OS/Dynix *** sendmail-8.9.1/BuildTools/OS/Dynix Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/Dynix Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)Dynix 8.7 (Berkeley) 2/26/98 define(`confCC', `gcc') define(`confOPTIMIZE', `-O -g') define(`confLIBS', `-lseq') --- 1,4 ---- ! # @(#)Dynix 8.7 (Berkeley) 2/26/1998 define(`confCC', `gcc') define(`confOPTIMIZE', `-O -g') define(`confLIBS', `-lseq') diff -cr sendmail-8.9.1/BuildTools/OS/EWS-UX_V sendmail-8.9.2/BuildTools/OS/EWS-UX_V *** sendmail-8.9.1/BuildTools/OS/EWS-UX_V Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/EWS-UX_V Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)EWS-UX_V 8.6 (Berkeley) 3/12/98 define(`confCC', `/usr/abiccs/bin/cc -KOlimit=900') define(`confBEFORE', `sysexits.h ndbm.h ndbm.o') define(`confMAPDEF', `-DNDBM -DNIS') --- 1,4 ---- ! # @(#)EWS-UX_V 8.6 (Berkeley) 3/12/1998 define(`confCC', `/usr/abiccs/bin/cc -KOlimit=900') define(`confBEFORE', `sysexits.h ndbm.h ndbm.o') define(`confMAPDEF', `-DNDBM -DNIS') diff -cr sendmail-8.9.1/BuildTools/OS/FreeBSD sendmail-8.9.2/BuildTools/OS/FreeBSD *** sendmail-8.9.1/BuildTools/OS/FreeBSD Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/FreeBSD Tue Dec 29 09:39:48 1998 *************** *** 1,3 **** ! # @(#)FreeBSD 8.5 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confLIBS', `-lutil') --- 1,3 ---- ! # @(#)FreeBSD 8.5 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confLIBS', `-lutil') diff -cr sendmail-8.9.1/BuildTools/OS/HP-UX sendmail-8.9.2/BuildTools/OS/HP-UX *** sendmail-8.9.1/BuildTools/OS/HP-UX Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/HP-UX Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)HP-UX 8.9 (Berkeley) 3/14/98 define(`confCC', `cc -Aa -D_HPUX_SOURCE') define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confOPTIMIZE', `+O1') --- 1,4 ---- ! # @(#)HP-UX 8.9 (Berkeley) 3/14/1998 define(`confCC', `cc -Aa -D_HPUX_SOURCE') define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confOPTIMIZE', `+O1') diff -cr sendmail-8.9.1/BuildTools/OS/HP-UX.10.x sendmail-8.9.2/BuildTools/OS/HP-UX.10.x *** sendmail-8.9.1/BuildTools/OS/HP-UX.10.x Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/HP-UX.10.x Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)HP-UX.10.x 8.10 (Berkeley) 3/21/98 define(`confCC', `cc -Aa -D_HPUX_SOURCE') define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-DV4FS ') --- 1,4 ---- ! # @(#)HP-UX.10.x 8.10 (Berkeley) 3/21/1998 define(`confCC', `cc -Aa -D_HPUX_SOURCE') define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-DV4FS ') diff -cr sendmail-8.9.1/BuildTools/OS/HP-UX.11.x sendmail-8.9.2/BuildTools/OS/HP-UX.11.x *** sendmail-8.9.1/BuildTools/OS/HP-UX.11.x Tue May 19 16:33:45 1998 --- sendmail-8.9.2/BuildTools/OS/HP-UX.11.x Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)HP-UX.11.x 8.7 (Berkeley) 3/30/98 define(`confCC', `cc -Ae') define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-DV4FS -DHPUX11 ') --- 1,4 ---- ! # @(#)HP-UX.11.x 8.7 (Berkeley) 3/30/1998 define(`confCC', `cc -Ae') define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confENVDEF', `-DV4FS -DHPUX11 ') diff -cr sendmail-8.9.1/BuildTools/OS/IRIX sendmail-8.9.2/BuildTools/OS/IRIX *** sendmail-8.9.1/BuildTools/OS/IRIX Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/IRIX Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)IRIX 8.7 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DIRIX ') define(`confLIBS', `-lmld -lmalloc -lsun') --- 1,4 ---- ! # @(#)IRIX 8.7 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DIRIX ') define(`confLIBS', `-lmld -lmalloc -lsun') diff -cr sendmail-8.9.1/BuildTools/OS/IRIX.5.x sendmail-8.9.2/BuildTools/OS/IRIX.5.x *** sendmail-8.9.1/BuildTools/OS/IRIX.5.x Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/IRIX.5.x Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)IRIX.5.x 8.7 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DIRIX5 ') define(`confLIBS', `-lmld -lmalloc') --- 1,4 ---- ! # @(#)IRIX.5.x 8.7 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DIRIX5 ') define(`confLIBS', `-lmld -lmalloc') diff -cr sendmail-8.9.1/BuildTools/OS/IRIX.6.5 sendmail-8.9.2/BuildTools/OS/IRIX.6.5 *** sendmail-8.9.1/BuildTools/OS/IRIX.6.5 Tue May 19 16:33:45 1998 --- sendmail-8.9.2/BuildTools/OS/IRIX.6.5 Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)IRIX.6.5 8.2 (Berkeley) 4/24/98 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) --- 1,4 ---- ! # @(#)IRIX.6.5 8.2 (Berkeley) 4/24/1998 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) diff -cr sendmail-8.9.1/BuildTools/OS/IRIX.6.x sendmail-8.9.2/BuildTools/OS/IRIX.6.x *** sendmail-8.9.1/BuildTools/OS/IRIX.6.x Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/IRIX.6.x Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)IRIX.6.x 8.11 (Berkeley) 4/24/98 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) --- 1,4 ---- ! # @(#)IRIX.6.x 8.11 (Berkeley) 4/24/1998 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) diff -cr sendmail-8.9.1/BuildTools/OS/IRIX64.6.0 sendmail-8.9.2/BuildTools/OS/IRIX64.6.0 *** sendmail-8.9.1/BuildTools/OS/IRIX64.6.0 Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/IRIX64.6.0 Tue Dec 29 09:39:49 1998 *************** *** 1,4 **** ! # @(#)IRIX64.6.0 8.10 (Berkeley) 3/12/98 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) --- 1,4 ---- ! # @(#)IRIX64.6.0 8.10 (Berkeley) 3/12/1998 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) diff -cr sendmail-8.9.1/BuildTools/OS/IRIX64.6.1 sendmail-8.9.2/BuildTools/OS/IRIX64.6.1 *** sendmail-8.9.1/BuildTools/OS/IRIX64.6.1 Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/IRIX64.6.1 Tue Dec 29 09:39:49 1998 *************** *** 1,4 **** ! # @(#)IRIX64.6.1 8.10 (Berkeley) 3/12/98 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) --- 1,4 ---- ! # @(#)IRIX64.6.1 8.10 (Berkeley) 3/12/1998 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) Only in sendmail-8.9.2/BuildTools/OS: IRIX64.6.5 diff -cr sendmail-8.9.1/BuildTools/OS/IRIX64.6.x sendmail-8.9.2/BuildTools/OS/IRIX64.6.x *** sendmail-8.9.1/BuildTools/OS/IRIX64.6.x Tue May 19 16:33:40 1998 --- sendmail-8.9.2/BuildTools/OS/IRIX64.6.x Tue Dec 29 09:39:48 1998 *************** *** 1,4 **** ! # @(#)IRIX64.6.x 8.11 (Berkeley) 4/24/98 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) --- 1,4 ---- ! # @(#)IRIX64.6.x 8.11 (Berkeley) 4/24/1998 PUSHDIVERT(1) # Select what ABI we are using -- see abi(5) for details # -32 ~ IRIX 5.3 (default: -mips2) diff -cr sendmail-8.9.1/BuildTools/OS/ISC sendmail-8.9.2/BuildTools/OS/ISC *** sendmail-8.9.1/BuildTools/OS/ISC Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/ISC Tue Dec 29 09:39:49 1998 *************** *** 1,4 **** ! # @(#)ISC 8.5 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DISC_UNIX -D_POSIX_SOURCE -D_SYSV3 ') define(`confLIBS', `-lyp -lrpc -lndbm -linet -lcposix') --- 1,4 ---- ! # @(#)ISC 8.5 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DISC_UNIX -D_POSIX_SOURCE -D_SYSV3 ') define(`confLIBS', `-lyp -lrpc -lndbm -linet -lcposix') diff -cr sendmail-8.9.1/BuildTools/OS/KSR sendmail-8.9.2/BuildTools/OS/KSR *** sendmail-8.9.1/BuildTools/OS/KSR Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/KSR Tue Dec 29 09:39:49 1998 *************** *** 1,4 **** ! # @(#)KSR 8.4 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM -DNIS') define(`confLIBDIRS', `-L/usr/shlib -L/usr/lib') define(`confLIBS', `-ldbm') --- 1,4 ---- ! # @(#)KSR 8.4 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM -DNIS') define(`confLIBDIRS', `-L/usr/shlib -L/usr/lib') define(`confLIBS', `-ldbm') diff -cr sendmail-8.9.1/BuildTools/OS/LUNA sendmail-8.9.2/BuildTools/OS/LUNA *** sendmail-8.9.1/BuildTools/OS/LUNA Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/LUNA Tue Dec 29 09:39:49 1998 *************** *** 1,4 **** ! # @(#)LUNA 8.8 (Berkeley) 3/12/98 define(`confBEFORE', `dirent.h stddef.h stdlib.h unistd.h limits.h time.h sys/time.h') define(`confMAPDEF', `-DNDBM') define(`confMBINDIR', `/usr/lib') --- 1,4 ---- ! # @(#)LUNA 8.8 (Berkeley) 3/12/1998 define(`confBEFORE', `dirent.h stddef.h stdlib.h unistd.h limits.h time.h sys/time.h') define(`confMAPDEF', `-DNDBM') define(`confMBINDIR', `/usr/lib') diff -cr sendmail-8.9.1/BuildTools/OS/Linux sendmail-8.9.2/BuildTools/OS/Linux *** sendmail-8.9.1/BuildTools/OS/Linux Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/Linux Tue Dec 29 09:39:49 1998 *************** *** 1,4 **** ! # @(#)Linux 8.4 (Berkeley) 3/22/98 define(`confSTDIR', `/etc') define(`confHFDIR', `/usr/lib') define(`confDEPEND_TYPE', `CC-M') --- 1,4 ---- ! # @(#)Linux 8.4 (Berkeley) 3/22/1998 define(`confSTDIR', `/etc') define(`confHFDIR', `/usr/lib') define(`confDEPEND_TYPE', `CC-M') diff -cr sendmail-8.9.1/BuildTools/OS/Linux.ppc sendmail-8.9.2/BuildTools/OS/Linux.ppc *** sendmail-8.9.1/BuildTools/OS/Linux.ppc Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/Linux.ppc Tue Dec 29 09:39:49 1998 *************** *** 1,3 **** ! # @(#)Linux.ppc 8.3 (Berkeley) 2/12/98 define(`confHFDIR', `/usr/lib') define(`confSBINGRP', `mail') --- 1,3 ---- ! # @(#)Linux.ppc 8.3 (Berkeley) 2/12/1998 define(`confHFDIR', `/usr/lib') define(`confSBINGRP', `mail') diff -cr sendmail-8.9.1/BuildTools/OS/Mach386 sendmail-8.9.2/BuildTools/OS/Mach386 *** sendmail-8.9.1/BuildTools/OS/Mach386 Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/Mach386 Tue Dec 29 09:39:49 1998 *************** *** 1,4 **** ! # @(#)Mach386 8.6 (Berkeley) 3/12/98 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confLIBS', `-ldbm') --- 1,4 ---- ! # @(#)Mach386 8.6 (Berkeley) 3/12/1998 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confLIBS', `-ldbm') diff -cr sendmail-8.9.1/BuildTools/OS/NCR.MP-RAS.2.x sendmail-8.9.2/BuildTools/OS/NCR.MP-RAS.2.x *** sendmail-8.9.1/BuildTools/OS/NCR.MP-RAS.2.x Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/NCR.MP-RAS.2.x Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)NCR.MP-RAS.2.x 8.9 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DNCR_MP_RAS2 ') define(`confOPTIMIZE', `-O2') --- 1,4 ---- ! # @(#)NCR.MP-RAS.2.x 8.9 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DNCR_MP_RAS2 ') define(`confOPTIMIZE', `-O2') diff -cr sendmail-8.9.1/BuildTools/OS/NCR.MP-RAS.3.x sendmail-8.9.2/BuildTools/OS/NCR.MP-RAS.3.x *** sendmail-8.9.1/BuildTools/OS/NCR.MP-RAS.3.x Tue May 19 16:33:41 1998 --- sendmail-8.9.2/BuildTools/OS/NCR.MP-RAS.3.x Tue Dec 29 09:39:50 1998 *************** *** 1,10 **** ! # @(#)NCR.MP-RAS.3.x 8.9 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DNCR_MP_RAS3 ') define(`confOPTIMIZE', `-O2') define(`confINCDIRS', `-I/usr/include -I/usr/ucbinclude') define(`confLIBDIRS', `-L/usr/ucblib') ! define(`confLIBS', `-lsocket -lnsl -lelf -lc -lucb') define(`confMBINDIR', `/usr/ucblib') define(`confSBINDIR', `/usr/ucbetc') define(`confUBINDIR', `/usr/ucb') --- 1,10 ---- ! # @(#)NCR.MP-RAS.3.x 8.10 (Berkeley) 8/6/1998 define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DNCR_MP_RAS3 ') define(`confOPTIMIZE', `-O2') define(`confINCDIRS', `-I/usr/include -I/usr/ucbinclude') define(`confLIBDIRS', `-L/usr/ucblib') ! define(`confLIBS', `-lresolv -lsocket -lnsl -lelf -lc -lucb') define(`confMBINDIR', `/usr/ucblib') define(`confSBINDIR', `/usr/ucbetc') define(`confUBINDIR', `/usr/ucb') diff -cr sendmail-8.9.1/BuildTools/OS/NEWS-OS.4.x sendmail-8.9.2/BuildTools/OS/NEWS-OS.4.x *** sendmail-8.9.1/BuildTools/OS/NEWS-OS.4.x Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/NEWS-OS.4.x Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)NEWS-OS.4.x 8.6 (Berkeley) 3/12/98 define(`confBEFORE', `limits.h') define(`confMAPDEF', `-DNDBM') define(`confLIBS', `-lmld') --- 1,4 ---- ! # @(#)NEWS-OS.4.x 8.6 (Berkeley) 3/12/1998 define(`confBEFORE', `limits.h') define(`confMAPDEF', `-DNDBM') define(`confLIBS', `-lmld') diff -cr sendmail-8.9.1/BuildTools/OS/NEWS-OS.6.x sendmail-8.9.2/BuildTools/OS/NEWS-OS.6.x *** sendmail-8.9.1/BuildTools/OS/NEWS-OS.6.x Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/NEWS-OS.6.x Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)NEWS-OS.6.x 8.8 (Berkeley) 3/12/98 define(`confCC', `/bin/cc') define(`confBEFORE', `sysexits.h ndbm.o') define(`confMAPDEF', `-DNDBM -DNIS') --- 1,4 ---- ! # @(#)NEWS-OS.6.x 8.8 (Berkeley) 3/12/1998 define(`confCC', `/bin/cc') define(`confBEFORE', `sysexits.h ndbm.o') define(`confMAPDEF', `-DNDBM -DNIS') diff -cr sendmail-8.9.1/BuildTools/OS/NEXTSTEP.4.x sendmail-8.9.2/BuildTools/OS/NEXTSTEP.4.x *** sendmail-8.9.1/BuildTools/OS/NEXTSTEP.4.x Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/NEXTSTEP.4.x Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)NEXTSTEP.4.x 8.1 (Berkeley) 3/21/98 PUSHDIVERT(1) # NEXTSTEP 3.1 and 3.2 only support m68k and i386 #ARCH= -arch m68k -arch i386 -arch hppa -arch sparc --- 1,4 ---- ! # @(#)NEXTSTEP.4.x 8.1 (Berkeley) 3/21/1998 PUSHDIVERT(1) # NEXTSTEP 3.1 and 3.2 only support m68k and i386 #ARCH= -arch m68k -arch i386 -arch hppa -arch sparc diff -cr sendmail-8.9.1/BuildTools/OS/NeXT.2.x sendmail-8.9.2/BuildTools/OS/NeXT.2.x *** sendmail-8.9.1/BuildTools/OS/NeXT.2.x Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/NeXT.2.x Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)NeXT.2.x 8.7 (Berkeley) 3/12/98 define(`confBEFORE', `unistd.h dirent.h') define(`confMAPDEF', `-DNDBM -DNIS -DNETINFO') define(`confENVDEF', `-DNeXT ') --- 1,4 ---- ! # @(#)NeXT.2.x 8.7 (Berkeley) 3/12/1998 define(`confBEFORE', `unistd.h dirent.h') define(`confMAPDEF', `-DNDBM -DNIS -DNETINFO') define(`confENVDEF', `-DNeXT ') diff -cr sendmail-8.9.1/BuildTools/OS/NeXT.3.x sendmail-8.9.2/BuildTools/OS/NeXT.3.x *** sendmail-8.9.1/BuildTools/OS/NeXT.3.x Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/NeXT.3.x Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)NeXT.3.x 8.7 (Berkeley) 3/12/98 PUSHDIVERT(1) # NEXTSTEP 3.1 and 3.2 only support m68k and i386 #ARCH= -arch m68k -arch i386 -arch hppa -arch sparc --- 1,4 ---- ! # @(#)NeXT.3.x 8.7 (Berkeley) 3/12/1998 PUSHDIVERT(1) # NEXTSTEP 3.1 and 3.2 only support m68k and i386 #ARCH= -arch m68k -arch i386 -arch hppa -arch sparc diff -cr sendmail-8.9.1/BuildTools/OS/NeXT.4.x sendmail-8.9.2/BuildTools/OS/NeXT.4.x *** sendmail-8.9.1/BuildTools/OS/NeXT.4.x Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/NeXT.4.x Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)NeXT.4.x 8.8 (Berkeley) 5/25/98 PUSHDIVERT(1) # NEXTSTEP 3.1 and 3.2 only support m68k and i386 #ARCH= -arch m68k -arch i386 -arch hppa -arch sparc --- 1,4 ---- ! # @(#)NeXT.4.x 8.9 (Berkeley) 7/15/1998 PUSHDIVERT(1) # NEXTSTEP 3.1 and 3.2 only support m68k and i386 #ARCH= -arch m68k -arch i386 -arch hppa -arch sparc *************** *** 11,17 **** define(`confENVDEF', `-DNeXT -Wno-precomp -pipe ${RC_CFLAGS}') define(`confLDOPTS', `${RC_CFLAGS}') define(`confLIBS', `-ldbm') ! define(`confMANROOT', `/usr/lib/man/cat') define(`confMBINDIR', `/usr/lib') define(`confSBINDIR', `/usr/etc') define(`confUBINDIR', `/usr/ucb') --- 11,17 ---- define(`confENVDEF', `-DNeXT -Wno-precomp -pipe ${RC_CFLAGS}') define(`confLDOPTS', `${RC_CFLAGS}') define(`confLIBS', `-ldbm') ! define(`confMANROOT', `/usr/man/cat') define(`confMBINDIR', `/usr/lib') define(`confSBINDIR', `/usr/etc') define(`confUBINDIR', `/usr/ucb') diff -cr sendmail-8.9.1/BuildTools/OS/NetBSD sendmail-8.9.2/BuildTools/OS/NetBSD *** sendmail-8.9.1/BuildTools/OS/NetBSD Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/NetBSD Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)NetBSD 8.6 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confENVDEF', ` -DNETISO') define(`confDEPEND_TYPE', `CC-M') --- 1,4 ---- ! # @(#)NetBSD 8.6 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confENVDEF', ` -DNETISO') define(`confDEPEND_TYPE', `CC-M') diff -cr sendmail-8.9.1/BuildTools/OS/NetBSD.8.3 sendmail-8.9.2/BuildTools/OS/NetBSD.8.3 *** sendmail-8.9.1/BuildTools/OS/NetBSD.8.3 Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/NetBSD.8.3 Tue Dec 29 09:39:50 1998 *************** *** 1,3 **** ! # @(#)NetBSD.8.3 8.6 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confENVDEF', ` # -DNETISO') --- 1,3 ---- ! # @(#)NetBSD.8.3 8.6 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confENVDEF', ` # -DNETISO') diff -cr sendmail-8.9.1/BuildTools/OS/NonStop-UX sendmail-8.9.2/BuildTools/OS/NonStop-UX *** sendmail-8.9.1/BuildTools/OS/NonStop-UX Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/NonStop-UX Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)NonStop-UX 8.8 (Berkeley) 3/12/98 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DNonStop_UX_BXX -D_SVID ') --- 1,4 ---- ! # @(#)NonStop-UX 8.8 (Berkeley) 3/12/1998 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-DNonStop_UX_BXX -D_SVID ') diff -cr sendmail-8.9.1/BuildTools/OS/OSF1 sendmail-8.9.2/BuildTools/OS/OSF1 *** sendmail-8.9.1/BuildTools/OS/OSF1 Wed Jul 1 12:27:19 1998 --- sendmail-8.9.2/BuildTools/OS/OSF1 Tue Dec 29 09:39:49 1998 *************** *** 1,4 **** ! # @(#)OSF1 8.7 (Berkeley) 3/14/98 define(`confCC', `cc -Olimit 1000') define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confLIBS', `-ldbm') --- 1,4 ---- ! # @(#)OSF1 8.7 (Berkeley) 3/14/1998 define(`confCC', `cc -Olimit 1000') define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX') define(`confLIBS', `-ldbm') diff -cr sendmail-8.9.1/BuildTools/OS/OpenBSD sendmail-8.9.2/BuildTools/OS/OpenBSD *** sendmail-8.9.1/BuildTools/OS/OpenBSD Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/OpenBSD Tue Dec 29 09:39:50 1998 *************** *** 1,3 **** ! # @(#)OpenBSD 8.5 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confENVDEF', ` -DNETISO') --- 1,3 ---- ! # @(#)OpenBSD 8.5 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confENVDEF', ` -DNETISO') diff -cr sendmail-8.9.1/BuildTools/OS/PTX sendmail-8.9.2/BuildTools/OS/PTX *** sendmail-8.9.1/BuildTools/OS/PTX Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/PTX Tue Dec 29 09:39:50 1998 *************** *** 1,4 **** ! # @(#)PTX 8.6 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM') define(`confOPTIMIZE', `-g') define(`confLIBS', `-lsocket -linet -lelf -lnsl -lseq') --- 1,4 ---- ! # @(#)PTX 8.6 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM') define(`confOPTIMIZE', `-g') define(`confLIBS', `-lsocket -linet -lelf -lnsl -lseq') diff -cr sendmail-8.9.1/BuildTools/OS/Paragon sendmail-8.9.2/BuildTools/OS/Paragon *** sendmail-8.9.1/BuildTools/OS/Paragon Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/Paragon Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)Paragon 8.3 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM') define(`confLIBDIRS', `-L/usr/shlib -L/usr/lib') define(`confLIBS', `-ldbm') --- 1,4 ---- ! # @(#)Paragon 8.3 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM') define(`confLIBDIRS', `-L/usr/shlib -L/usr/lib') define(`confLIBS', `-ldbm') diff -cr sendmail-8.9.1/BuildTools/OS/PowerUX sendmail-8.9.2/BuildTools/OS/PowerUX *** sendmail-8.9.1/BuildTools/OS/PowerUX Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/PowerUX Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)PowerUX 8.5 (Berkeley) 2/12/98 define(`confENVDEF', `-D__svr4__ ') define(`confLIBS', `-Bstatic -lsocket -lnsl -lelf -lgen') define(`confMBINDIR', `/usr/local/etc') --- 1,4 ---- ! # @(#)PowerUX 8.5 (Berkeley) 2/12/1998 define(`confENVDEF', `-D__svr4__ ') define(`confLIBS', `-Bstatic -lsocket -lnsl -lelf -lgen') define(`confMBINDIR', `/usr/local/etc') diff -cr sendmail-8.9.1/BuildTools/OS/QNX sendmail-8.9.2/BuildTools/OS/QNX *** sendmail-8.9.1/BuildTools/OS/QNX Tue May 19 16:33:42 1998 --- sendmail-8.9.2/BuildTools/OS/QNX Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)QNX 8.4 (Berkeley) 2/19/98 PUSHDIVERT(1) # # For this Makefile to work you must compile and install the libdb package --- 1,4 ---- ! # @(#)QNX 8.4 (Berkeley) 2/19/1998 PUSHDIVERT(1) # # For this Makefile to work you must compile and install the libdb package diff -cr sendmail-8.9.1/BuildTools/OS/RISCos sendmail-8.9.2/BuildTools/OS/RISCos *** sendmail-8.9.1/BuildTools/OS/RISCos Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/RISCos Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)RISCos 8.5 (Berkeley) 3/12/98 define(`confCC', `cc -systype bsd43 -Olimit 900') define(`confBEFORE', `stdlib.h dirent.h unistd.h stddef.h') define(`confMAPDEF', `-DNDBM') --- 1,4 ---- ! # @(#)RISCos 8.5 (Berkeley) 3/12/1998 define(`confCC', `cc -systype bsd43 -Olimit 900') define(`confBEFORE', `stdlib.h dirent.h unistd.h stddef.h') define(`confMAPDEF', `-DNDBM') diff -cr sendmail-8.9.1/BuildTools/OS/RISCos.4_0 sendmail-8.9.2/BuildTools/OS/RISCos.4_0 *** sendmail-8.9.1/BuildTools/OS/RISCos.4_0 Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/RISCos.4_0 Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)RISCos.4_0 8.6 (Berkeley) 3/12/98 define(`confCC', `cc -systype bsd43 -Olimit 900') define(`confBEFORE', `stdlib.h dirent.h unistd.h stddef.h') define(`confMAPDEF', `-DNDBM') --- 1,4 ---- ! # @(#)RISCos.4_0 8.6 (Berkeley) 3/12/1998 define(`confCC', `cc -systype bsd43 -Olimit 900') define(`confBEFORE', `stdlib.h dirent.h unistd.h stddef.h') define(`confMAPDEF', `-DNDBM') Only in sendmail-8.9.2/BuildTools/OS: Rhapsody diff -cr sendmail-8.9.1/BuildTools/OS/SCO sendmail-8.9.2/BuildTools/OS/SCO *** sendmail-8.9.1/BuildTools/OS/SCO Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SCO Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)SCO 8.3 (Berkeley) 2/8/98 define(`confENVDEF', `-D_SCO_unix_ ') define(`confLIBS', `-lsocket -lprot_s -lx -lc_s') define(`confMBINDIR', `/usr/lib') --- 1,4 ---- ! # @(#)SCO 8.3 (Berkeley) 2/8/1998 define(`confENVDEF', `-D_SCO_unix_ ') define(`confLIBS', `-lsocket -lprot_s -lx -lc_s') define(`confMBINDIR', `/usr/lib') diff -cr sendmail-8.9.1/BuildTools/OS/SCO.4.2 sendmail-8.9.2/BuildTools/OS/SCO.4.2 *** sendmail-8.9.1/BuildTools/OS/SCO.4.2 Tue Jun 30 15:11:23 1998 --- sendmail-8.9.2/BuildTools/OS/SCO.4.2 Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)SCO.4.2 8.5 (Berkeley) 6/30/98 define(`confENVDEF', `-D_SCO_unix_4_2 ') define(`confLIBS', `-lsocket -lndbm -lprot_s -lx -lc_s') define(`confMAPDEF', `-DNDBM') --- 1,4 ---- ! # @(#)SCO.4.2 8.5 (Berkeley) 6/30/1998 define(`confENVDEF', `-D_SCO_unix_4_2 ') define(`confLIBS', `-lsocket -lndbm -lprot_s -lx -lc_s') define(`confMAPDEF', `-DNDBM') diff -cr sendmail-8.9.1/BuildTools/OS/SCO.5.x sendmail-8.9.2/BuildTools/OS/SCO.5.x *** sendmail-8.9.1/BuildTools/OS/SCO.5.x Tue Jun 30 15:11:23 1998 --- sendmail-8.9.2/BuildTools/OS/SCO.5.x Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)SCO.5.x 8.10 (Berkeley) 6/30/98 define(`confCC', `cc -b elf') define(`confLIBS', `-lsocket -lndbm -lprot -lcurses -lm -lx -lgen') define(`confMAPDEF', `-DMAP_REGEX -DNDBM') --- 1,4 ---- ! # @(#)SCO.5.x 8.10 (Berkeley) 6/30/1998 define(`confCC', `cc -b elf') define(`confLIBS', `-lsocket -lndbm -lprot -lcurses -lm -lx -lgen') define(`confMAPDEF', `-DMAP_REGEX -DNDBM') diff -cr sendmail-8.9.1/BuildTools/OS/SINIX sendmail-8.9.2/BuildTools/OS/SINIX *** sendmail-8.9.1/BuildTools/OS/SINIX Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SINIX Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)SINIX 8.5 (Berkeley) 2/12/98 define(`confCC', `/usr/bin/cc') define(`confENVDEF', `-D__svr4__ ') define(`confLIBS', `-lsocket -lnsl -lelf') --- 1,4 ---- ! # @(#)SINIX 8.5 (Berkeley) 2/12/1998 define(`confCC', `/usr/bin/cc') define(`confENVDEF', `-D__svr4__ ') define(`confLIBS', `-lsocket -lnsl -lelf') diff -cr sendmail-8.9.1/BuildTools/OS/SVR4 sendmail-8.9.2/BuildTools/OS/SVR4 *** sendmail-8.9.1/BuildTools/OS/SVR4 Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SVR4 Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)SVR4 8.6 (Berkeley) 3/12/98 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-D__svr4__ ') --- 1,4 ---- ! # @(#)SVR4 8.6 (Berkeley) 3/12/1998 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-D__svr4__ ') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS sendmail-8.9.2/BuildTools/OS/SunOS *** sendmail-8.9.1/BuildTools/OS/SunOS Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)SunOS 8.6 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM -DNIS') define(`confLDOPTS', `-Bstatic') define(`confMBINDIR', `/usr/lib') --- 1,4 ---- ! # @(#)SunOS 8.6 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM -DNIS') define(`confLDOPTS', `-Bstatic') define(`confMBINDIR', `/usr/lib') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS.4.0 sendmail-8.9.2/BuildTools/OS/SunOS.4.0 *** sendmail-8.9.1/BuildTools/OS/SunOS.4.0 Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS.4.0 Tue Dec 29 09:39:51 1998 *************** *** 1,4 **** ! # @(#)SunOS.4.0 8.6 (Berkeley) 3/12/98 define(`confBEFORE', `stdlib.h stddef.h limits.h') define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DSUNOS403 ') --- 1,4 ---- ! # @(#)SunOS.4.0 8.6 (Berkeley) 3/12/1998 define(`confBEFORE', `stdlib.h stddef.h limits.h') define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DSUNOS403 ') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS.5.1 sendmail-8.9.2/BuildTools/OS/SunOS.5.1 *** sendmail-8.9.1/BuildTools/OS/SunOS.5.1 Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS.5.1 Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)SunOS.5.1 8.8 (Berkeley) 3/21/98 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS') --- 1,4 ---- ! # @(#)SunOS.5.1 8.8 (Berkeley) 3/21/1998 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS.5.2 sendmail-8.9.2/BuildTools/OS/SunOS.5.2 *** sendmail-8.9.1/BuildTools/OS/SunOS.5.2 Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS.5.2 Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)SunOS.5.2 8.8 (Berkeley) 3/21/98 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS') --- 1,4 ---- ! # @(#)SunOS.5.2 8.8 (Berkeley) 3/21/1998 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS.5.3 sendmail-8.9.2/BuildTools/OS/SunOS.5.3 *** sendmail-8.9.1/BuildTools/OS/SunOS.5.3 Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS.5.3 Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)SunOS.5.3 8.8 (Berkeley) 3/21/98 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS') --- 1,4 ---- ! # @(#)SunOS.5.3 8.8 (Berkeley) 3/21/1998 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS.5.4 sendmail-8.9.2/BuildTools/OS/SunOS.5.4 *** sendmail-8.9.1/BuildTools/OS/SunOS.5.4 Tue May 19 16:33:43 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS.5.4 Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)SunOS.5.4 8.10 (Berkeley) 3/21/98 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS') --- 1,4 ---- ! # @(#)SunOS.5.4 8.10 (Berkeley) 3/21/1998 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS.5.5 sendmail-8.9.2/BuildTools/OS/SunOS.5.5 *** sendmail-8.9.1/BuildTools/OS/SunOS.5.5 Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS.5.5 Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)SunOS.5.5 8.11 (Berkeley) 3/21/98 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX') --- 1,4 ---- ! # @(#)SunOS.5.5 8.11 (Berkeley) 3/21/1998 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS.5.6 sendmail-8.9.2/BuildTools/OS/SunOS.5.6 *** sendmail-8.9.1/BuildTools/OS/SunOS.5.6 Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS.5.6 Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)SunOS.5.6 8.10 (Berkeley) 3/21/98 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX') --- 1,4 ---- ! # @(#)SunOS.5.6 8.10 (Berkeley) 3/21/1998 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX') diff -cr sendmail-8.9.1/BuildTools/OS/SunOS.5.7 sendmail-8.9.2/BuildTools/OS/SunOS.5.7 *** sendmail-8.9.1/BuildTools/OS/SunOS.5.7 Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/SunOS.5.7 Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)SunOS.5.7 8.11 (Berkeley) 3/21/98 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX') --- 1,4 ---- ! # @(#)SunOS.5.7 8.11 (Berkeley) 3/21/1998 define(`confCC', `gcc') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX') diff -cr sendmail-8.9.1/BuildTools/OS/Titan sendmail-8.9.2/BuildTools/OS/Titan *** sendmail-8.9.1/BuildTools/OS/Titan Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/Titan Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)Titan 8.5 (Berkeley) 3/12/98 define(`confCC', `cc -43') define(`confBEFORE', `stddef.h stdlib.h') define(`confMAPDEF', `-DNDBM') --- 1,4 ---- ! # @(#)Titan 8.5 (Berkeley) 3/12/1998 define(`confCC', `cc -43') define(`confBEFORE', `stddef.h stdlib.h') define(`confMAPDEF', `-DNDBM') diff -cr sendmail-8.9.1/BuildTools/OS/ULTRIX sendmail-8.9.2/BuildTools/OS/ULTRIX *** sendmail-8.9.1/BuildTools/OS/ULTRIX Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/ULTRIX Tue Dec 29 09:39:52 1998 *************** *** 1,5 **** ! # @(#)ULTRIX 8.7 (Berkeley) 3/12/98 ! define(`confCC', `cc -Olimit 950') define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DIDENTPROTO=0 ') define(`confMBINDIR', `/usr/lib') --- 1,5 ---- ! # @(#)ULTRIX 8.8 (Berkeley) 12/18/1998 ! define(`confCC', `cc -Olimit 970') define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DIDENTPROTO=0 ') define(`confMBINDIR', `/usr/lib') diff -cr sendmail-8.9.1/BuildTools/OS/UMAX sendmail-8.9.2/BuildTools/OS/UMAX *** sendmail-8.9.1/BuildTools/OS/UMAX Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/UMAX Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)UMAX 8.5 (Berkeley) 3/12/98 define(`confBEFORE', `stddef.h') define(`confMAPDEF', `-DNIS') define(`confENVDEF', `-DUMAXV ') --- 1,4 ---- ! # @(#)UMAX 8.5 (Berkeley) 3/12/1998 define(`confBEFORE', `stddef.h') define(`confMAPDEF', `-DNIS') define(`confENVDEF', `-DUMAXV ') diff -cr sendmail-8.9.1/BuildTools/OS/UNICOS sendmail-8.9.2/BuildTools/OS/UNICOS *** sendmail-8.9.1/BuildTools/OS/UNICOS Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/UNICOS Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)UNICOS 8.7 (Berkeley) 2/26/98 define(`confENVDEF', `-DUNICOS ') define(`confOPTIMIZE', `-O') define(`confMBINDIR', `/usr/lib') --- 1,4 ---- ! # @(#)UNICOS 8.7 (Berkeley) 2/26/1998 define(`confENVDEF', `-DUNICOS ') define(`confOPTIMIZE', `-O') define(`confMBINDIR', `/usr/lib') diff -cr sendmail-8.9.1/BuildTools/OS/UNIX_SV.4.x.i386 sendmail-8.9.2/BuildTools/OS/UNIX_SV.4.x.i386 *** sendmail-8.9.1/BuildTools/OS/UNIX_SV.4.x.i386 Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/UNIX_SV.4.x.i386 Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)UNIX_SV.4.x.i386 8.6 (Berkeley) 3/12/98 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-D__svr4__ -DUNIXWARE ') --- 1,4 ---- ! # @(#)UNIX_SV.4.x.i386 8.6 (Berkeley) 3/12/1998 define(`confCC', `gcc') define(`confMAPDEF', `-DNDBM') define(`confENVDEF', `-D__svr4__ -DUNIXWARE ') diff -cr sendmail-8.9.1/BuildTools/OS/UX4800 sendmail-8.9.2/BuildTools/OS/UX4800 *** sendmail-8.9.1/BuildTools/OS/UX4800 Thu Jun 18 10:47:29 1998 --- sendmail-8.9.2/BuildTools/OS/UX4800 Tue Dec 29 09:39:52 1998 *************** *** 1,4 **** ! # @(#)UX4800 8.8 (Berkeley) 3/12/98 define(`confCC', `/usr/abiccs/bin/cc -KOlimit=900') define(`confBEFORE', `sysexits.h ndbm.h') define(`confMAPDEF', `-DNDBM -DNIS # without NEWDB') --- 1,4 ---- ! # @(#)UX4800 8.8 (Berkeley) 3/12/1998 define(`confCC', `/usr/abiccs/bin/cc -KOlimit=900') define(`confBEFORE', `sysexits.h ndbm.h') define(`confMAPDEF', `-DNDBM -DNIS # without NEWDB') diff -cr sendmail-8.9.1/BuildTools/OS/UXPDS.V10 sendmail-8.9.2/BuildTools/OS/UXPDS.V10 *** sendmail-8.9.1/BuildTools/OS/UXPDS.V10 Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/UXPDS.V10 Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)UXPDS.V10 8.9 (Berkeley) 3/12/98 define(`confCC', `/usr/ccs/bin/cc') define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DUXPDS=10 ') --- 1,4 ---- ! # @(#)UXPDS.V10 8.9 (Berkeley) 3/12/1998 define(`confCC', `/usr/ccs/bin/cc') define(`confMAPDEF', `-DNDBM -DNIS') define(`confENVDEF', `-DUXPDS=10 ') diff -cr sendmail-8.9.1/BuildTools/OS/UXPDS.V20 sendmail-8.9.2/BuildTools/OS/UXPDS.V20 *** sendmail-8.9.1/BuildTools/OS/UXPDS.V20 Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/UXPDS.V20 Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)UXPDS.V20 8.8 (Berkeley) 3/12/98 define(`confCC', `/usr/ccs/bin/cc') define(`confBEFORE', `netinet/ip_var.h') define(`confMAPDEF', `-DNDBM -DNIS') --- 1,4 ---- ! # @(#)UXPDS.V20 8.8 (Berkeley) 3/12/1998 define(`confCC', `/usr/ccs/bin/cc') define(`confBEFORE', `netinet/ip_var.h') define(`confMAPDEF', `-DNDBM -DNIS') Only in sendmail-8.9.2/BuildTools/OS: UnixWare.5.i386 diff -cr sendmail-8.9.1/BuildTools/OS/dcosx.1.x.NILE sendmail-8.9.2/BuildTools/OS/dcosx.1.x.NILE *** sendmail-8.9.1/BuildTools/OS/dcosx.1.x.NILE Tue May 19 16:33:45 1998 --- sendmail-8.9.2/BuildTools/OS/dcosx.1.x.NILE Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)dcosx.1.x.NILE 8.3 (Berkeley) 2/8/98 define(`confENVDEF', `-D__svr4__ -DDCOSx ') define(`confLIBS', `-lsocket -lnsl -lelf') define(`confHFDIR', `/usr/share/lib/mail') --- 1,4 ---- ! # @(#)dcosx.1.x.NILE 8.3 (Berkeley) 2/8/1998 define(`confENVDEF', `-D__svr4__ -DDCOSx ') define(`confLIBS', `-lsocket -lnsl -lelf') define(`confHFDIR', `/usr/share/lib/mail') diff -cr sendmail-8.9.1/BuildTools/OS/dgux sendmail-8.9.2/BuildTools/OS/dgux *** sendmail-8.9.1/BuildTools/OS/dgux Tue May 19 16:33:44 1998 --- sendmail-8.9.2/BuildTools/OS/dgux Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)dgux 8.5 (Berkeley) 3/12/98 define(`confMAPDEF', `-DNDBM -DNIS') define(`confLIBS', `-ldbm') define(`confMBINDIR', `/usr/bin') --- 1,4 ---- ! # @(#)dgux 8.5 (Berkeley) 3/12/1998 define(`confMAPDEF', `-DNDBM -DNIS') define(`confLIBS', `-ldbm') define(`confMBINDIR', `/usr/bin') diff -cr sendmail-8.9.1/BuildTools/OS/maxion sendmail-8.9.2/BuildTools/OS/maxion *** sendmail-8.9.1/BuildTools/OS/maxion Tue May 19 16:33:45 1998 --- sendmail-8.9.2/BuildTools/OS/maxion Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)maxion 8.6 (Berkeley) 3/12/98 define(`confCC', `/usr/ucb/cc') define(`confMAPDEF', `-DNDBM -DNIS') define(`confLIBDIRS', `-L/usr/ucblib') --- 1,4 ---- ! # @(#)maxion 8.6 (Berkeley) 3/12/1998 define(`confCC', `/usr/ucb/cc') define(`confMAPDEF', `-DNDBM -DNIS') define(`confLIBDIRS', `-L/usr/ucblib') diff -cr sendmail-8.9.1/BuildTools/OS/uts.systemV sendmail-8.9.2/BuildTools/OS/uts.systemV *** sendmail-8.9.1/BuildTools/OS/uts.systemV Tue May 19 16:33:45 1998 --- sendmail-8.9.2/BuildTools/OS/uts.systemV Tue Dec 29 09:39:53 1998 *************** *** 1,4 **** ! # @(#)uts.systemV 8.10 (Berkeley) 3/12/98 PUSHDIVERT(1) # Sendmail 8 on UTS requires BIND 4.9's include files and lib44bsd and # libresolv libraries. The BIND version on UTS is much too old. --- 1,4 ---- ! # @(#)uts.systemV 8.10 (Berkeley) 3/12/1998 PUSHDIVERT(1) # Sendmail 8 on UTS requires BIND 4.9's include files and lib44bsd and # libresolv libraries. The BIND version on UTS is much too old. diff -cr sendmail-8.9.1/BuildTools/README sendmail-8.9.2/BuildTools/README *** sendmail-8.9.1/BuildTools/README Tue Jun 30 23:06:45 1998 --- sendmail-8.9.2/BuildTools/README Tue Dec 29 09:39:14 1998 *************** *** 107,110 **** confUBINMODE 555 The mode for user-executable binaries. ! @(#)README 8.22 (Berkeley) 6/30/98 --- 107,110 ---- confUBINMODE 555 The mode for user-executable binaries. ! @(#)README 8.22 (Berkeley) 6/30/1998 diff -cr sendmail-8.9.1/BuildTools/Site/README sendmail-8.9.2/BuildTools/Site/README *** sendmail-8.9.1/BuildTools/Site/README Tue May 19 16:33:50 1998 --- sendmail-8.9.2/BuildTools/Site/README Tue Dec 29 09:40:01 1998 *************** *** 13,16 **** See the README in the BuildTools directory for more information. ! @(#)README 8.3 (Berkeley) 3/27/98 --- 13,16 ---- See the README in the BuildTools directory for more information. ! @(#)README 8.3 (Berkeley) 3/27/1998 diff -cr sendmail-8.9.1/BuildTools/bin/Build sendmail-8.9.2/BuildTools/bin/Build *** sendmail-8.9.1/BuildTools/bin/Build Wed Jun 24 21:10:11 1998 --- sendmail-8.9.2/BuildTools/bin/Build Tue Dec 29 09:40:09 1998 *************** *** 10,16 **** # the sendmail distribution. # # ! # @(#)Build 8.93 (Berkeley) 6/24/98 # # --- 10,16 ---- # the sendmail distribution. # # ! # @(#)Build 8.93 (Berkeley) 6/24/1998 # # diff -cr sendmail-8.9.1/BuildTools/bin/configure.sh sendmail-8.9.2/BuildTools/bin/configure.sh *** sendmail-8.9.1/BuildTools/bin/configure.sh Tue May 19 16:33:54 1998 --- sendmail-8.9.2/BuildTools/bin/configure.sh Tue Dec 29 09:40:09 1998 *************** *** 7,13 **** # the sendmail distribution. # # ! # @(#)configure.sh 8.27 (Berkeley) 5/19/98 # # Special script to autoconfigure for M4 generation of Makefile --- 7,13 ---- # the sendmail distribution. # # ! # @(#)configure.sh 8.27 (Berkeley) 5/19/1998 # # Special script to autoconfigure for M4 generation of Makefile diff -cr sendmail-8.9.1/BuildTools/bin/find_m4.sh sendmail-8.9.2/BuildTools/bin/find_m4.sh *** sendmail-8.9.1/BuildTools/bin/find_m4.sh Tue May 19 16:33:54 1998 --- sendmail-8.9.2/BuildTools/bin/find_m4.sh Tue Dec 29 09:40:09 1998 *************** *** 7,13 **** # the sendmail distribution. # # ! # @(#)find_m4.sh 8.4 (Berkeley) 5/19/98 # # Try to find a working M4 program. --- 7,13 ---- # the sendmail distribution. # # ! # @(#)find_m4.sh 8.4 (Berkeley) 5/19/1998 # # Try to find a working M4 program. diff -cr sendmail-8.9.1/BuildTools/bin/install.sh sendmail-8.9.2/BuildTools/bin/install.sh *** sendmail-8.9.1/BuildTools/bin/install.sh Tue May 19 16:33:54 1998 --- sendmail-8.9.2/BuildTools/bin/install.sh Tue Dec 29 09:40:09 1998 *************** *** 7,13 **** # the sendmail distribution. # # ! # @(#)install.sh 8.9 (Berkeley) 5/19/98 # Set default program program=mv --- 7,13 ---- # the sendmail distribution. # # ! # @(#)install.sh 8.9 (Berkeley) 5/19/1998 # Set default program program=mv diff -cr sendmail-8.9.1/KNOWNBUGS sendmail-8.9.2/KNOWNBUGS *** sendmail-8.9.1/KNOWNBUGS Tue Jun 30 14:44:31 1998 --- sendmail-8.9.2/KNOWNBUGS Tue Dec 29 09:39:08 1998 *************** *** 65,73 **** * accept() problem on Linux. ! Apparently, the accept() in sendmail daemon loop can return ETIMEDOUT ! and cause sendmail to sleep for 5 seconds during which time no new ! connections will be accepted. An error is reported to syslog: Jun 9 17:14:12 hostname sendmail[207]: NOQUEUE: SYSERR(root): getrequests: accept: Connection timed out --- 65,72 ---- * accept() problem on Linux. ! The accept() in sendmail daemon loop can return ETIMEDOUT. An ! error is reported to syslog: Jun 9 17:14:12 hostname sendmail[207]: NOQUEUE: SYSERR(root): getrequests: accept: Connection timed out *************** *** 143,147 **** MustQuoteChars even though it is not listed as a special character in STD 11. ! (Version 8.32, last updated 6/30/98) --- 142,153 ---- MustQuoteChars even though it is not listed as a special character in STD 11. + * bestmx map with -z flag truncates the list of MX hosts ! A bestmx map configured with the -z flag will truncate the list ! of MX hosts. This prevents creation of strings which are too ! long for ruleset parsing. This can have an adverse effect on the ! relay_based_on_MX feature. ! ! ! (Version 8.34, last updated 12/17/1998) diff -cr sendmail-8.9.1/LICENSE sendmail-8.9.2/LICENSE *** sendmail-8.9.1/LICENSE Wed Jun 24 18:53:02 1998 --- sendmail-8.9.2/LICENSE Tue Dec 29 09:39:10 1998 *************** *** 86,89 **** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ! (Version 8.6, last updated 6/24/98) --- 86,89 ---- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ! (Version 8.6, last updated 6/24/1998) diff -cr sendmail-8.9.1/Makefile sendmail-8.9.2/Makefile *** sendmail-8.9.1/Makefile Tue May 19 16:33:00 1998 --- sendmail-8.9.2/Makefile Tue Dec 29 09:39:10 1998 *************** *** 1,4 **** ! # @(#)Makefile.dist 8.2 (Berkeley) 2/17/98 SHELL= /bin/sh SUBDIRS= src mail.local mailstats makemap praliases rmail smrsh --- 1,4 ---- ! # @(#)Makefile.dist 8.2 (Berkeley) 2/17/1998 SHELL= /bin/sh SUBDIRS= src mail.local mailstats makemap praliases rmail smrsh diff -cr sendmail-8.9.1/README sendmail-8.9.2/README *** sendmail-8.9.1/README Tue May 19 17:17:40 1998 --- sendmail-8.9.2/README Tue Dec 29 09:39:10 1998 *************** *** 1,5 **** /*- ! * @(#)README 8.48 (Berkeley) 5/19/98 */ SENDMAIL RELEASE 8 --- 1,5 ---- /*- ! * @(#)README 8.50 (Berkeley) 12/17/1998 */ SENDMAIL RELEASE 8 *************** *** 13,23 **** the latest updates. ****************************************************************** ! ** DO NOT USE MAKE to compile sendmail. Instead, cd src and ** ! ** use the "Build" shell script. On many environments this ** ! ** will do everything for you, no fuss, no muss. See ** ! ** src/README for more details of compilation. See cf/README ** ! ** for details about building a runtime configuration file. ** ****************************************************************** Sendmail is a trademark of Sendmail, Inc. --- 13,24 ---- the latest updates. ****************************************************************** ! ** A new Build architecture is in place that allows you to ** ! ** use the "Build" shell script in any of the program ** ! ** directories. On many environments this will do everything ** ! ** for you, no fuss, no muss. See src/README for more details ** ! ** of compilation. See cf/README for details about building ** ! ** a runtime configuration file. ** ****************************************************************** Sendmail is a trademark of Sendmail, Inc. *************** *** 232,237 **** --- 233,239 ---- RFC1894 An Extensible Message Format for Delivery Status Notifications RFC1985 SMTP Service Extension for Remote Message Queue Starting + RFC2033 Local Mail Transfer Protocol Other standards that may be of interest (but which are less directly relevant to sendmail) are: diff -cr sendmail-8.9.1/RELEASE_NOTES sendmail-8.9.2/RELEASE_NOTES *** sendmail-8.9.1/RELEASE_NOTES Thu Jul 2 11:06:17 1998 --- sendmail-8.9.2/RELEASE_NOTES Tue Dec 29 10:34:13 1998 *************** *** 1,11 **** SENDMAIL RELEASE NOTES ! @(#)RELEASE_NOTES 8.9.1.1 (Berkeley) 7/2/98 This listing shows the version of the sendmail binary, the version of the sendmail configuration files, the date of release, and a summary of the changes in that release. 8.9.1/8.9.1 98/07/02 If both an OS specific site configuration file and a generic site.config.m4 file existed, only the latter was used --- 1,187 ---- SENDMAIL RELEASE NOTES ! @(#)RELEASE_NOTES 8.9.2.4 (Berkeley) 12/29/1998 This listing shows the version of the sendmail binary, the version of the sendmail configuration files, the date of release, and a summary of the changes in that release. + 8.9.2/8.9.2 98/12/30 + SECURITY: Remove five second sleep on accepting daemon connections + due to an accept() failure. This sleep could be used + for a denial of service attack. + Do not silently ignore queue files with names which are too long. + Patch from Bryan Costales of InfoBeat, Inc. + Do not store failures closing an SMTP session in persistent + host status. Reported by Graeme Hewson of Oracle + Corporation UK. + Allow symbolic link forward files if they are in safe directories. + Problem noted by Andreas Schott of the Max Planck Society. + Missing columns in a text map could cause a segmentation fault. + Fix from David Lee of the University of Durham. + Note that for 8.9.X, PrivacyFlags=goaway also includes the + noetrn flag. This is scheduled to change in a future + version of sendmail. Problem noted by Theo Van Dinter of + Chrysalis Symbolic Designa and Alan Brown of Manawatu + Internet Services. + When trying to do host canonification in a Wildcard MX + environment, try an MX lookup of the hostname without the + default domain appended. Problem noted by Olaf Seibert of + Polderland Language & Speech Technology. + Reject SMTP RCPT To: commands with only comments (i.e. + 'RCPT TO: (comment)'. Problem noted by Earle Ake of + Hassler Communication Systems Technology, Inc. + Handle any number of %s in the LDAP filter spec. Patch from + Per Hedeland of Ericsson. + Clear ldapx open timeouts even if the map open failed to prevent + a segmentation fault. Patch from Wayne Knowles of the + National Institute of Water & Atmospheric Research Ltd. + Do not syslog envelope clone messages when using address + verification (-bv). Problem noted by Kari Hurtta of the + Finnish Meteorological Institute. + Continue to perform queue runs while in daemon mode even if the + daemon is rejecting connections due to a disk full + condition. Problem noted by JR Oldroyd of TerraNet + Internet Services. + Include full filename on installation of the sendmail.hf file + in case the $HFDIR directory does not exist. Problem + noted by Josef Svitak of Montana State University. + Close all maps when exiting the process with one exception. + Berkeley DB can use internal shared memory locking for + its memory pool. Closing a map opened by another process + will interfere with the shared memory and locks of the + parent process leaving things in a bad state. For + Berkeley DB, only close the map if the current process + is also the one that opened the map, otherwise only close + the map file descriptor. Thanks to Yoseff Francus of + Collective Technologies for volunteering his system for + extended testing. + Avoid null pointer dereference on XDEBUG output for SMTP reply + failures. Problem noted by Carlos Canau of EUnet Portugal. + On mailq and hoststat listings being piped to another program, such + as more, if the pipe closes (i.e. the user quits more), + stop sending output and exit. Patch from Allan E Johannesen + of Worcester Polytechnic Institute. + In accordance with the documentation, LDAP map lookup failures + are now considered temporary failures instead of permanent + failures unless the -t flag is used in the map definition. + Problem noted by Booker Bense of Stanford University and + Eric C. Hagberg of Morgan Stanley. + Fix by one error reporting on long alias names. Problem noted by + H. Paul Hammann of the Missouri Research and Education + Network. + Fix DontBlameSendmail=IncludeFileInUnsafeDirPath behavior. Problem + noted by Barry S. Finkel of Argonne National Laboratory. + When automatically converting from 8 bit to quoted printable MIME, + be careful not to miss a multi-part boundary if that + boundary is preceded by a boundary-like line. Problem + noted by Andreas Raschle of Ansid Inc. Fix from + Kari Hurtta of the Finnish Meteorological Institute. + Avoid bogus reporting of "LMTP tobuf overflow" when the buffer + has enough space for the additional address. Problem + noted by Steve Cliffe of the University of Wollongong. + Fix DontBlameSendmail=FileDeliveryToSymlinks behavior. Problem + noted by Alex Vorobiev of Swarthmore College. + If the check_compat ruleset resolves to the $#discard mailer, + discard the current recipient. Unlike check_relay, + check_mail, and check_rcpt, the entire envelope is not + discarded. Problem noted by RZ D. Rahlfs. Fix from + Claus Assmann of Christian-Albrechts-University of Kiel. + Avoid segmentation fault when reading ServiceSwitch files with + bogus formatting. Patch from Kari Hurtta of the Finnish + Meteorological Institute. + Support Berkeley DB 2.6.4 API change. + OP.ME: Pages weren't properly output on duplexed printers. Fix + from Matthew Black of CSU Long Beach. + Portability: + Apple Rhapsody from Wilfredo Sanchez of Apple Computer, Inc. + Avoid a clash with IRIX 6.2 getopt.h and the UserDatabase + option structure. Problem noted by Ashley M. + Kirchner of Photo Craft Laboratories, Inc. + Break out IP address to hostname translation for + reading network interface addresses into + class 'w'. Patch from John Kennedy of + Cal State University, Chico. + AIX 4.x use -qstrict with -O3 to prevent the optimized + from changing the semantics of the compiled + program. From Simon Travaglia of the + University of Waikato, New Zealand. + FreeBSD 2.2.2 and later support setusercontext(). From + Peter Wemm of DIALix. + FreeBSD 3.x fix from Peter Wemm of DIALix. + IRIX 5.x has a syslog buffer size of 512 bytes. From + Nao NINOMIYA of Utsunomiya University. + IRIX 6.5 64-bit Build support. + LDAP Version 3 support from John Beck and Ravi Iyer + of Sun Microsystems. + Linux does not implement seteuid() properly. From + John Kennedy of Cal State University, Chico. + Linux timezone type was set improperly. From Takeshi Itoh + of Bits Co., Ltd. + NCR MP-RAS 3.x needs -lresolv for confLIBS. From + Tom J. Moore of NCR. + NeXT 4.x correction to man page path. From J. P. McCann + of E I A. + System V Rel 5.x (a.k.a Unixware7 w/o BSD-Compatibility Libs) + from Paul Gampe of the Asia Pacific Network + Information Center. + ULTRIX now requires an optimization limit of 970 from + Allan E Johannesen of Worcester Polytechnic + Institute. + Fix extern declaration for sm_dopr(). Fix from Henk + van Oers of Algemeen Nederlands Persbureau. + CONFIG: Catch @hostname,user@anotherhost.domain as relaying. + Problem noted by Mark Rogov of AirMedia, Inc. Fix from + Claus Assmann of Christian-Albrechts-University of Kiel. + CONFIG: Do not refer to http://maps.vix.com/ on RBL rejections as + there are multiple RBL's available and the MAPS RBL may + not be the one in use. Suggested by Alan Brown of + Manawatu Internet Services. + CONFIG: Properly strip route addresses (i.e. @host1:user@host2) + when stripping down a recipient address to check for + relaying. Patch from Claus Assmann of + Christian-Albrechts-University of Kiel and Neil W Rickert + of Northern Illinois University. + CONFIG: Allow the access database to override RBL lookups. Patch + from Claus Assmann of Christian-Albrechts-University of + Kiel. + CONFIG: UnixWare 7 support from Phillip P. Porch of The Porch + Dot Com. + CONFIG: Fixed check for deferred delivery mode warning. Patch + from Claus Assmann of Christian-Albrechts-University of + Kiel and Per Hedeland of Ericsson. + CONFIG: If a recipient using % addressing is used, e.g. + user%site@othersite, and othersite's MX records are now + checked for local hosts if FEATURE(relay_based_on_MX) is + used. Problem noted by Alexander Litvin of Lucky Net Ltd. + Patch from Alexander Litvin of Lucky Net Ltd and + Claus Assmann of Christian-Albrechts-University of Kiel. + MAIL.LOCAL: Prevent warning messages from appearing in the LMTP + stream. Do not allow more than one response per recipient. + MAIL.LOCAL: Handle routed addresses properly when using LMTP. Fix + from John Beck of Sun Microsystems. + MAIL.LOCAL: Properly check for CRLF when using LMTP. Fix from + John Beck of Sun Microsystems. + MAIL.LOCAL: Substitute MAILER-DAEMON for the LMTP empty sender in + the envelope From header. + MAIL.LOCAL: Accept underscores in hostnames in LMTP mode. + Problem noted by Glenn A. Malling of Syracuse University. + MAILSTATS: Document msgsrej and msgsdis fields in the man page. + Problem noted by Richard Wong of Princeton University. + MAKEMAP: Build group list so group writable files are allowed with + the -s flag. Problem noted by Curt Sampson of Internet + Portal Services, Inc. + PRALIASES: Automatically handle alias files created without the + NULL byte at the end of the key. Patch from John Beck of + Sun Microsystems. + PRALIASES: Support Berkeley DB 2.6.4 API change. + New Files: + BuildTools/OS/IRIX64.6.5 + BuildTools/OS/UnixWare.5.i386 + cf/cf/unixware7.m4 + contrib/smcontrol.pl + src/control.c + 8.9.1/8.9.1 98/07/02 If both an OS specific site configuration file and a generic site.config.m4 file existed, only the latter was used *************** *** 88,93 **** --- 264,271 ---- RMAIL: Do not install rmail by default, require 'make force-install' as this rmail isn't the same as others. Suggested by Kari Hurtta of the Finnish Meteorological Institute. + New Files: + BuildTools/OS/DomainOS.10.4 8.9.0/8.9.0 98/05/19 SECURITY: To prevent users from reading files not normally diff -cr sendmail-8.9.1/cf/README sendmail-8.9.2/cf/README *** sendmail-8.9.1/cf/README Tue Jun 30 14:16:35 1998 --- sendmail-8.9.2/cf/README Tue Dec 29 09:53:55 1998 *************** *** 4,10 **** Eric Allman ! @(#)README 8.174 (Berkeley) 6/30/98 This document describes the sendmail configuration files being used --- 4,10 ---- Eric Allman ! @(#)README 8.184 (Berkeley) 12/29/1998 This document describes the sendmail configuration files being used *************** *** 719,724 **** --- 719,727 ---- they are qualified with the masquerade name, which defaults to the name of the hub machine). No mailers should be defined. No aliasing or forwarding is done. + Also, note that absolutely no anti-spam or anti-relaying + is done in a null client configuration. More information + can be found in the ANTI-SPAM CONFIGURATION CONTROL section. local_lmtp Use an LMTP capable local mailer. The argument to this feature is the pathname of an LMTP capable mailer. By *************** *** 783,796 **** relay_based_on_MX Turns on the ability to allow relaying based on the MX ! records of the host portion of an incoming recipient. See description below for more information before using this ! feature. relay_local_from Allows relaying if the domain portion of the mail sender is a local host. This should only be used if absolutely ! necessary as it opens a window for spammers. accept_unqualified_senders Normally, MAIL FROM: commands in the SMTP session will be --- 786,812 ---- relay_based_on_MX Turns on the ability to allow relaying based on the MX ! records of the host portion of an incoming recipient; that ! is, if an MX record for host foo.com points to your site, ! you will accept and relay mail addressed to foo.com. See description below for more information before using this ! feature. Also, see the KNOWNBUGS entry regarding bestmx ! map lookups. ! ! FEATURE(relay_based_on_MX) does not necessarily allow ! routing of these messages which you expect to be allowed, ! if route address syntax (or %-hack syntax) is used. If ! this is a problem, add entries to the access-table or use ! FEATURE(loose_relay_check). relay_local_from Allows relaying if the domain portion of the mail sender is a local host. This should only be used if absolutely ! necessary as it opens a window for spammers. Specifically, ! they can send mail to your mail server that claims to be ! from your domain (either directly or via a routed address), ! and you will go ahead and relay it out to arbitrary hosts ! on the Internet. accept_unqualified_senders Normally, MAIL FROM: commands in the SMTP session will be *************** *** 1203,1209 **** FEATURE(relay_entire_domain) then any host in any of your local domains (that is, the $=m class) ! will be relayed. You can also allow relaying based on the MX records of the host portion of an incoming recipient address by using --- 1219,1226 ---- FEATURE(relay_entire_domain) then any host in any of your local domains (that is, the $=m class) ! will be relayed (that is, you will accept mail either to or from any ! host in your domain). You can also allow relaying based on the MX records of the host portion of an incoming recipient address by using *************** *** 1212,1220 **** For example, if your server receives a recipient of user@domain.com and domain.com lists your server in its MX records, the mail will be ! accepted. Note that this will stop spammers from using your host to ! relay spam but it will not stop outsiders from using your server as a ! relay for their site. Along the same lines, FEATURE(relay_local_from) --- 1229,1239 ---- For example, if your server receives a recipient of user@domain.com and domain.com lists your server in its MX records, the mail will be ! accepted for relay to domain.com. Note that this will stop spammers ! from using your host to relay spam but it will not stop outsiders from ! using your server as a relay for their site (that is, they set up an ! MX record pointing to your mail server, and you will relay mail addressed ! to them without any prior arrangement). Along the same lines, FEATURE(relay_local_from) *************** *** 1265,1292 **** FEATURE(access_db, hash -o /etc/mail/access) The table itself uses e-mail addresses, domain names, and network numbers as keys. For example, spammer@aol.com REJECT cyberspammer.com REJECT ! 206.117.147 REJECT would refuse mail from spammer@aol.com, any user from cyberspammer.com (or any host within the cyberspammer.com domain), and any host on the ! 206.117.147.* network. The value part of the map can contain: ! OK accept mail even if other rules in the ! running ruleset would reject it. ! RELAY Allow domain to relay through your SMTP ! server. RELAY also serves an implicit ! OK for the other checks. ! REJECT reject the sender/recipient with a general purpose message. ! DISCARD discard the message completely using ! the $#discard mailer ### any text where ### is an RFC 821 compliant error code and "any text" is a message to return for the command. --- 1284,1322 ---- FEATURE(access_db, hash -o /etc/mail/access) + Remember, since /etc/mail/access is a database, after creating the text + file as described below, you must use makemap to create the database + map. For example: + + makemap hash /etc/mail/access < /etc/mail/access + The table itself uses e-mail addresses, domain names, and network numbers as keys. For example, spammer@aol.com REJECT cyberspammer.com REJECT ! 192.168.212 REJECT would refuse mail from spammer@aol.com, any user from cyberspammer.com (or any host within the cyberspammer.com domain), and any host on the ! 192.168.212.* network. The value part of the map can contain: ! OK Accept mail even if other rules in the ! running ruleset would reject it, for example, ! if the domain name is unresolvable. ! RELAY Accept mail addressed to the indicated domain or ! received from the indicated domain for relaying ! through your SMTP server. RELAY also serves as ! an implicit OK for the other checks. ! REJECT Reject the sender or recipient with a general purpose message. ! DISCARD Discard the message completely using the ! $#discard mailer. This only works for sender ! addresses (i.e., it indicates that you should ! discard anything received from the indicated ! domain). ### any text where ### is an RFC 821 compliant error code and "any text" is a message to return for the command. *************** *** 1333,1339 **** This would prevent a recipient of badlocaluser@mydomain.com, any user at host.mydomain.com, and the single address ! user@otherhost.mydomain.com from receiving mail. There is also a ``Realtime Blackhole List'' run by the MAPS project at http://maps.vix.com/. This is a database maintained in DNS of --- 1363,1377 ---- This would prevent a recipient of badlocaluser@mydomain.com, any user at host.mydomain.com, and the single address ! user@otherhost.mydomain.com from receiving mail. Enabling this ! feature will keep you from sending mails to all addresses that ! have an error message or REJECT as value part in the access map. ! Taking the example from above: ! ! spammer@aol.com REJECT ! cyberspammer.com REJECT ! ! Mail can't be sent to spammer@aol.com or anyone at cyberspammer.com. There is also a ``Realtime Blackhole List'' run by the MAPS project at http://maps.vix.com/. This is a database maintained in DNS of *************** *** 1382,1387 **** --- 1420,1436 ---- R< $+ @ $+ > $@ OK R$* $#error $: 553 Header Error + Users of FEATURE(nullclient) who desire to use the anti-spam and + anti-relaying capabilities should replace FEATURE(nullclient, mailhub) + with: + + undefine(`ALIAS_FILE') + define(`MAIL_HUB', `mailhub') + define(`SMART_HOST', `mailhub') + define(`confFORWARD_PATH', `') + + where mailhub is the fully qualified hostname for their mail server. + +--------------------------------+ | ADDING NEW MAILERS OR RULESETS | *************** *** 1712,1718 **** file if needed. confERROR_MODE ErrorMode [print] Error message mode. confERROR_MESSAGE ErrorHeader [undefined] Error message header/file. ! confSAVE_FROM_LINES SafeFromLine Save extra leading From_ lines. confTEMP_FILE_MODE TempFileMode [0600] Temporary file mode. confMATCH_GECOS MatchGECOS [False] Match GECOS field. confMAX_HOP MaxHopCount [25] Maximum hop count. --- 1761,1767 ---- file if needed. confERROR_MODE ErrorMode [print] Error message mode. confERROR_MESSAGE ErrorHeader [undefined] Error message header/file. ! confSAVE_FROM_LINES SaveFromLine Save extra leading From_ lines. confTEMP_FILE_MODE TempFileMode [0600] Temporary file mode. confMATCH_GECOS MatchGECOS [False] Match GECOS field. confMAX_HOP MaxHopCount [25] Maximum hop count. diff -cr sendmail-8.9.1/cf/cf/Build sendmail-8.9.2/cf/cf/Build *** sendmail-8.9.1/cf/cf/Build Tue May 19 16:34:11 1998 --- sendmail-8.9.2/cf/cf/Build Tue Dec 29 09:42:05 1998 *************** *** 7,13 **** # the sendmail distribution. # # ! # @(#)Build 8.3 (Berkeley) 5/19/98 # # --- 7,13 ---- # the sendmail distribution. # # ! # @(#)Build 8.3 (Berkeley) 5/19/1998 # # diff -cr sendmail-8.9.1/cf/cf/Makefile sendmail-8.9.2/cf/cf/Makefile *** sendmail-8.9.1/cf/cf/Makefile Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/Makefile Tue Dec 29 09:42:04 1998 *************** *** 1,7 **** # # Makefile for configuration files. # ! # @(#)Makefile 8.17 (Berkeley) 4/2/98 # # --- 1,7 ---- # # Makefile for configuration files. # ! # @(#)Makefile 8.17 (Berkeley) 4/2/1998 # # diff -cr sendmail-8.9.1/cf/cf/chez.cs.mc sendmail-8.9.2/cf/cf/chez.cs.mc *** sendmail-8.9.1/cf/cf/chez.cs.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/chez.cs.mc Tue Dec 29 09:42:05 1998 *************** *** 23,29 **** # divert(0)dnl ! VERSIONID(`@(#)chez.cs.mc 8.11 (Berkeley) 5/19/98') OSTYPE(bsd4.4)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`LOCAL_RELAY', vangogh.CS.Berkeley.EDU)dnl --- 23,29 ---- # divert(0)dnl ! VERSIONID(`@(#)chez.cs.mc 8.11 (Berkeley) 5/19/1998') OSTYPE(bsd4.4)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`LOCAL_RELAY', vangogh.CS.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/cf/clientproto.mc sendmail-8.9.2/cf/cf/clientproto.mc *** sendmail-8.9.1/cf/cf/clientproto.mc Tue May 19 16:34:09 1998 --- sendmail-8.9.2/cf/cf/clientproto.mc Tue Dec 29 09:42:04 1998 *************** *** 27,33 **** # divert(0)dnl ! VERSIONID(`@(#)clientproto.mc 8.12 (Berkeley) 5/19/98') OSTYPE(unknown) FEATURE(nullclient, mailhost.$m) --- 27,33 ---- # divert(0)dnl ! VERSIONID(`@(#)clientproto.mc 8.12 (Berkeley) 5/19/1998') OSTYPE(unknown) FEATURE(nullclient, mailhost.$m) diff -cr sendmail-8.9.1/cf/cf/cs-hpux10.mc sendmail-8.9.2/cf/cf/cs-hpux10.mc *** sendmail-8.9.1/cf/cf/cs-hpux10.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/cs-hpux10.mc Tue Dec 29 09:42:04 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)cs-hpux10.mc 8.10 (Berkeley) 5/19/98') OSTYPE(hpux10)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`MAIL_HUB', mailspool.CS.Berkeley.EDU)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)cs-hpux10.mc 8.10 (Berkeley) 5/19/1998') OSTYPE(hpux10)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`MAIL_HUB', mailspool.CS.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/cf/cs-hpux9.mc sendmail-8.9.2/cf/cf/cs-hpux9.mc *** sendmail-8.9.1/cf/cf/cs-hpux9.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/cs-hpux9.mc Tue Dec 29 09:42:05 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)cs-hpux9.mc 8.11 (Berkeley) 5/19/98') OSTYPE(hpux9)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`MAIL_HUB', mailspool.CS.Berkeley.EDU)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)cs-hpux9.mc 8.11 (Berkeley) 5/19/1998') OSTYPE(hpux9)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`MAIL_HUB', mailspool.CS.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/cf/cs-osf1.mc sendmail-8.9.2/cf/cf/cs-osf1.mc *** sendmail-8.9.1/cf/cf/cs-osf1.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/cs-osf1.mc Tue Dec 29 09:42:04 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)cs-osf1.mc 8.10 (Berkeley) 5/19/98') OSTYPE(osf1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)cs-osf1.mc 8.10 (Berkeley) 5/19/1998') OSTYPE(osf1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/cs-solaris2.mc sendmail-8.9.2/cf/cf/cs-solaris2.mc *** sendmail-8.9.1/cf/cf/cs-solaris2.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/cs-solaris2.mc Tue Dec 29 09:42:05 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)cs-solaris2.mc 8.9 (Berkeley) 5/19/98') OSTYPE(solaris2)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)cs-solaris2.mc 8.9 (Berkeley) 5/19/1998') OSTYPE(solaris2)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/cs-sunos4.1.mc sendmail-8.9.2/cf/cf/cs-sunos4.1.mc *** sendmail-8.9.1/cf/cf/cs-sunos4.1.mc Tue May 19 16:34:09 1998 --- sendmail-8.9.2/cf/cf/cs-sunos4.1.mc Tue Dec 29 09:42:04 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)cs-sunos4.1.mc 8.10 (Berkeley) 5/19/98') OSTYPE(sunos4.1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)cs-sunos4.1.mc 8.10 (Berkeley) 5/19/1998') OSTYPE(sunos4.1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/cs-ultrix4.mc sendmail-8.9.2/cf/cf/cs-ultrix4.mc *** sendmail-8.9.1/cf/cf/cs-ultrix4.mc Tue May 19 16:34:09 1998 --- sendmail-8.9.2/cf/cf/cs-ultrix4.mc Tue Dec 29 09:42:04 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)cs-ultrix4.mc 8.10 (Berkeley) 5/19/98') OSTYPE(ultrix4)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)cs-ultrix4.mc 8.10 (Berkeley) 5/19/1998') OSTYPE(ultrix4)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/generic-bsd4.4.mc sendmail-8.9.2/cf/cf/generic-bsd4.4.mc *** sendmail-8.9.1/cf/cf/generic-bsd4.4.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/generic-bsd4.4.mc Tue Dec 29 09:42:05 1998 *************** *** 20,26 **** # divert(0)dnl ! VERSIONID(`@(#)generic-bsd4.4.mc 8.7 (Berkeley) 5/19/98') OSTYPE(bsd4.4)dnl DOMAIN(generic)dnl MAILER(local)dnl --- 20,26 ---- # divert(0)dnl ! VERSIONID(`@(#)generic-bsd4.4.mc 8.7 (Berkeley) 5/19/1998') OSTYPE(bsd4.4)dnl DOMAIN(generic)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/generic-hpux10.mc sendmail-8.9.2/cf/cf/generic-hpux10.mc *** sendmail-8.9.1/cf/cf/generic-hpux10.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/generic-hpux10.mc Tue Dec 29 09:42:05 1998 *************** *** 19,25 **** # divert(0)dnl ! VERSIONID(`@(#)generic-hpux10.mc 8.8 (Berkeley) 5/19/98') OSTYPE(hpux10)dnl DOMAIN(generic)dnl MAILER(local)dnl --- 19,25 ---- # divert(0)dnl ! VERSIONID(`@(#)generic-hpux10.mc 8.8 (Berkeley) 5/19/1998') OSTYPE(hpux10)dnl DOMAIN(generic)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/generic-hpux9.mc sendmail-8.9.2/cf/cf/generic-hpux9.mc *** sendmail-8.9.1/cf/cf/generic-hpux9.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/generic-hpux9.mc Tue Dec 29 09:42:05 1998 *************** *** 19,25 **** # divert(0)dnl ! VERSIONID(`@(#)generic-hpux9.mc 8.8 (Berkeley) 5/19/98') OSTYPE(hpux9)dnl DOMAIN(generic)dnl MAILER(local)dnl --- 19,25 ---- # divert(0)dnl ! VERSIONID(`@(#)generic-hpux9.mc 8.8 (Berkeley) 5/19/1998') OSTYPE(hpux9)dnl DOMAIN(generic)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/generic-nextstep3.3.mc sendmail-8.9.2/cf/cf/generic-nextstep3.3.mc *** sendmail-8.9.1/cf/cf/generic-nextstep3.3.mc Tue May 19 16:34:11 1998 --- sendmail-8.9.2/cf/cf/generic-nextstep3.3.mc Tue Dec 29 09:42:05 1998 *************** *** 19,25 **** # divert(0)dnl ! VERSIONID(`@(#)generic-nextstep3.3.mc 8.7 (Berkeley) 5/19/98') OSTYPE(nextstep)dnl DOMAIN(generic)dnl MAILER(local)dnl --- 19,25 ---- # divert(0)dnl ! VERSIONID(`@(#)generic-nextstep3.3.mc 8.7 (Berkeley) 5/19/1998') OSTYPE(nextstep)dnl DOMAIN(generic)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/generic-osf1.mc sendmail-8.9.2/cf/cf/generic-osf1.mc *** sendmail-8.9.1/cf/cf/generic-osf1.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/generic-osf1.mc Tue Dec 29 09:42:05 1998 *************** *** 19,25 **** # divert(0)dnl ! VERSIONID(`@(#)generic-osf1.mc 8.8 (Berkeley) 5/19/98') OSTYPE(osf1)dnl DOMAIN(generic)dnl MAILER(local)dnl --- 19,25 ---- # divert(0)dnl ! VERSIONID(`@(#)generic-osf1.mc 8.8 (Berkeley) 5/19/1998') OSTYPE(osf1)dnl DOMAIN(generic)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/generic-solaris2.mc sendmail-8.9.2/cf/cf/generic-solaris2.mc *** sendmail-8.9.1/cf/cf/generic-solaris2.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/generic-solaris2.mc Tue Dec 29 09:42:05 1998 *************** *** 19,25 **** # divert(0)dnl ! VERSIONID(`@(#)generic-solaris2.mc 8.8 (Berkeley) 5/19/98') OSTYPE(solaris2)dnl DOMAIN(generic)dnl MAILER(local)dnl --- 19,25 ---- # divert(0)dnl ! VERSIONID(`@(#)generic-solaris2.mc 8.8 (Berkeley) 5/19/1998') OSTYPE(solaris2)dnl DOMAIN(generic)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/generic-sunos4.1.mc sendmail-8.9.2/cf/cf/generic-sunos4.1.mc *** sendmail-8.9.1/cf/cf/generic-sunos4.1.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/generic-sunos4.1.mc Tue Dec 29 09:42:05 1998 *************** *** 19,25 **** # divert(0)dnl ! VERSIONID(`@(#)generic-sunos4.1.mc 8.8 (Berkeley) 5/19/98') OSTYPE(sunos4.1)dnl DOMAIN(generic)dnl MAILER(local)dnl --- 19,25 ---- # divert(0)dnl ! VERSIONID(`@(#)generic-sunos4.1.mc 8.8 (Berkeley) 5/19/1998') OSTYPE(sunos4.1)dnl DOMAIN(generic)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/generic-ultrix4.mc sendmail-8.9.2/cf/cf/generic-ultrix4.mc *** sendmail-8.9.1/cf/cf/generic-ultrix4.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/generic-ultrix4.mc Tue Dec 29 09:42:05 1998 *************** *** 19,25 **** # divert(0)dnl ! VERSIONID(`@(#)generic-ultrix4.mc 8.8 (Berkeley) 5/19/98') OSTYPE(ultrix4)dnl DOMAIN(generic)dnl MAILER(local)dnl --- 19,25 ---- # divert(0)dnl ! VERSIONID(`@(#)generic-ultrix4.mc 8.8 (Berkeley) 5/19/1998') OSTYPE(ultrix4)dnl DOMAIN(generic)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/huginn.cs.mc sendmail-8.9.2/cf/cf/huginn.cs.mc *** sendmail-8.9.1/cf/cf/huginn.cs.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/huginn.cs.mc Tue Dec 29 09:42:05 1998 *************** *** 21,27 **** # divert(0)dnl ! VERSIONID(`@(#)huginn.cs.mc 8.12 (Berkeley) 5/19/98') OSTYPE(hpux9)dnl DOMAIN(CS.Berkeley.EDU)dnl MASQUERADE_AS(CS.Berkeley.EDU)dnl --- 21,27 ---- # divert(0)dnl ! VERSIONID(`@(#)huginn.cs.mc 8.12 (Berkeley) 5/19/1998') OSTYPE(hpux9)dnl DOMAIN(CS.Berkeley.EDU)dnl MASQUERADE_AS(CS.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/cf/knecht.mc sendmail-8.9.2/cf/cf/knecht.mc *** sendmail-8.9.1/cf/cf/knecht.mc Thu Jun 11 13:33:12 1998 --- sendmail-8.9.2/cf/cf/knecht.mc Tue Dec 29 09:42:05 1998 *************** *** 16,22 **** # divert(0)dnl ! VERSIONID(`@(#)knecht.mc 8.30 (Berkeley) 6/11/98') OSTYPE(bsd4.4)dnl DOMAIN(generic)dnl define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward+$h:$z/.forward')dnl --- 16,22 ---- # divert(0)dnl ! VERSIONID(`@(#)knecht.mc 8.30 (Berkeley) 6/11/1998') OSTYPE(bsd4.4)dnl DOMAIN(generic)dnl define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward+$h:$z/.forward')dnl diff -cr sendmail-8.9.1/cf/cf/mail.cs.mc sendmail-8.9.2/cf/cf/mail.cs.mc *** sendmail-8.9.1/cf/cf/mail.cs.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/mail.cs.mc Tue Dec 29 09:42:04 1998 *************** *** 21,27 **** # divert(0)dnl ! VERSIONID(`@(#)mail.cs.mc 8.15 (Berkeley) 5/19/98') OSTYPE(ultrix4)dnl DOMAIN(Berkeley.EDU)dnl MASQUERADE_AS(CS.Berkeley.EDU)dnl --- 21,27 ---- # divert(0)dnl ! VERSIONID(`@(#)mail.cs.mc 8.15 (Berkeley) 5/19/1998') OSTYPE(ultrix4)dnl DOMAIN(Berkeley.EDU)dnl MASQUERADE_AS(CS.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/cf/mail.eecs.mc sendmail-8.9.2/cf/cf/mail.eecs.mc *** sendmail-8.9.1/cf/cf/mail.eecs.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/mail.eecs.mc Tue Dec 29 09:42:04 1998 *************** *** 21,27 **** # divert(0)dnl ! VERSIONID(`@(#)mail.eecs.mc 8.15 (Berkeley) 5/19/98') OSTYPE(ultrix4)dnl DOMAIN(EECS.Berkeley.EDU)dnl MASQUERADE_AS(EECS.Berkeley.EDU)dnl --- 21,27 ---- # divert(0)dnl ! VERSIONID(`@(#)mail.eecs.mc 8.15 (Berkeley) 5/19/1998') OSTYPE(ultrix4)dnl DOMAIN(EECS.Berkeley.EDU)dnl MASQUERADE_AS(EECS.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/cf/mailspool.cs.mc sendmail-8.9.2/cf/cf/mailspool.cs.mc *** sendmail-8.9.1/cf/cf/mailspool.cs.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/mailspool.cs.mc Tue Dec 29 09:42:05 1998 *************** *** 23,29 **** # divert(0)dnl ! VERSIONID(`@(#)mailspool.cs.mc 8.9 (Berkeley) 5/19/98') OSTYPE(sunos4.1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl --- 23,29 ---- # divert(0)dnl ! VERSIONID(`@(#)mailspool.cs.mc 8.9 (Berkeley) 5/19/1998') OSTYPE(sunos4.1)dnl DOMAIN(CS.Berkeley.EDU)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/python.cs.mc sendmail-8.9.2/cf/cf/python.cs.mc *** sendmail-8.9.1/cf/cf/python.cs.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/python.cs.mc Tue Dec 29 09:42:04 1998 *************** *** 23,29 **** # divert(0)dnl ! VERSIONID(`@(#)python.cs.mc 8.9 (Berkeley) 5/19/98') OSTYPE(bsd4.4)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`LOCAL_RELAY', vangogh.CS.Berkeley.EDU)dnl --- 23,29 ---- # divert(0)dnl ! VERSIONID(`@(#)python.cs.mc 8.9 (Berkeley) 5/19/1998') OSTYPE(bsd4.4)dnl DOMAIN(CS.Berkeley.EDU)dnl define(`LOCAL_RELAY', vangogh.CS.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/cf/s2k-osf1.mc sendmail-8.9.2/cf/cf/s2k-osf1.mc *** sendmail-8.9.1/cf/cf/s2k-osf1.mc Tue May 19 16:34:09 1998 --- sendmail-8.9.2/cf/cf/s2k-osf1.mc Tue Dec 29 09:42:04 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)s2k-osf1.mc 8.10 (Berkeley) 5/19/98') OSTYPE(osf1)dnl DOMAIN(S2K.Berkeley.EDU)dnl MAILER(local)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)s2k-osf1.mc 8.10 (Berkeley) 5/19/1998') OSTYPE(osf1)dnl DOMAIN(S2K.Berkeley.EDU)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/s2k-ultrix4.mc sendmail-8.9.2/cf/cf/s2k-ultrix4.mc *** sendmail-8.9.1/cf/cf/s2k-ultrix4.mc Tue May 19 16:34:11 1998 --- sendmail-8.9.2/cf/cf/s2k-ultrix4.mc Tue Dec 29 09:42:05 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)s2k-ultrix4.mc 8.10 (Berkeley) 5/19/98') OSTYPE(ultrix4)dnl DOMAIN(S2K.Berkeley.EDU)dnl MAILER(local)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)s2k-ultrix4.mc 8.10 (Berkeley) 5/19/1998') OSTYPE(ultrix4)dnl DOMAIN(S2K.Berkeley.EDU)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/tcpproto.mc sendmail-8.9.2/cf/cf/tcpproto.mc *** sendmail-8.9.1/cf/cf/tcpproto.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/tcpproto.mc Tue Dec 29 09:42:04 1998 *************** *** 25,31 **** # divert(0)dnl ! VERSIONID(`@(#)tcpproto.mc 8.10 (Berkeley) 5/19/98') OSTYPE(unknown) FEATURE(nouucp) MAILER(local) --- 25,31 ---- # divert(0)dnl ! VERSIONID(`@(#)tcpproto.mc 8.10 (Berkeley) 5/19/1998') OSTYPE(unknown) FEATURE(nouucp) MAILER(local) diff -cr sendmail-8.9.1/cf/cf/ucbarpa.mc sendmail-8.9.2/cf/cf/ucbarpa.mc *** sendmail-8.9.1/cf/cf/ucbarpa.mc Tue May 19 16:34:09 1998 --- sendmail-8.9.2/cf/cf/ucbarpa.mc Tue Dec 29 09:42:04 1998 *************** *** 20,26 **** # divert(0)dnl ! VERSIONID(`@(#)ucbarpa.mc 8.9 (Berkeley) 5/19/98') DOMAIN(CS.Berkeley.EDU)dnl OSTYPE(bsd4.4)dnl MAILER(local)dnl --- 20,26 ---- # divert(0)dnl ! VERSIONID(`@(#)ucbarpa.mc 8.9 (Berkeley) 5/19/1998') DOMAIN(CS.Berkeley.EDU)dnl OSTYPE(bsd4.4)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/cf/ucbvax.mc sendmail-8.9.2/cf/cf/ucbvax.mc *** sendmail-8.9.1/cf/cf/ucbvax.mc Tue May 19 16:34:09 1998 --- sendmail-8.9.2/cf/cf/ucbvax.mc Tue Dec 29 09:42:04 1998 *************** *** 21,27 **** # divert(0)dnl ! VERSIONID(`@(#)ucbvax.mc 8.11 (Berkeley) 5/19/98') OSTYPE(bsd4.3) DOMAIN(CS.Berkeley.EDU) MASQUERADE_AS(CS.Berkeley.EDU) --- 21,27 ---- # divert(0)dnl ! VERSIONID(`@(#)ucbvax.mc 8.11 (Berkeley) 5/19/1998') OSTYPE(bsd4.3) DOMAIN(CS.Berkeley.EDU) MASQUERADE_AS(CS.Berkeley.EDU) diff -cr sendmail-8.9.1/cf/cf/uucpproto.mc sendmail-8.9.2/cf/cf/uucpproto.mc *** sendmail-8.9.1/cf/cf/uucpproto.mc Tue May 19 16:34:10 1998 --- sendmail-8.9.2/cf/cf/uucpproto.mc Tue Dec 29 09:42:04 1998 *************** *** 25,31 **** # divert(0)dnl ! VERSIONID(`@(#)uucpproto.mc 8.12 (Berkeley) 5/19/98') OSTYPE(unknown) FEATURE(promiscuous_relay)dnl FEATURE(accept_unresolvable_domains)dnl --- 25,31 ---- # divert(0)dnl ! VERSIONID(`@(#)uucpproto.mc 8.12 (Berkeley) 5/19/1998') OSTYPE(unknown) FEATURE(promiscuous_relay)dnl FEATURE(accept_unresolvable_domains)dnl diff -cr sendmail-8.9.1/cf/cf/vangogh.cs.mc sendmail-8.9.2/cf/cf/vangogh.cs.mc *** sendmail-8.9.1/cf/cf/vangogh.cs.mc Tue May 19 16:34:09 1998 --- sendmail-8.9.2/cf/cf/vangogh.cs.mc Tue Dec 29 09:42:04 1998 *************** *** 22,28 **** # divert(0)dnl ! VERSIONID(`@(#)vangogh.cs.mc 8.10 (Berkeley) 5/19/98') DOMAIN(CS.Berkeley.EDU)dnl OSTYPE(bsd4.4)dnl MAILER(local)dnl --- 22,28 ---- # divert(0)dnl ! VERSIONID(`@(#)vangogh.cs.mc 8.10 (Berkeley) 5/19/1998') DOMAIN(CS.Berkeley.EDU)dnl OSTYPE(bsd4.4)dnl MAILER(local)dnl diff -cr sendmail-8.9.1/cf/domain/Berkeley.EDU.m4 sendmail-8.9.2/cf/domain/Berkeley.EDU.m4 *** sendmail-8.9.1/cf/domain/Berkeley.EDU.m4 Tue May 19 16:34:26 1998 --- sendmail-8.9.2/cf/domain/Berkeley.EDU.m4 Tue Dec 29 09:42:06 1998 *************** *** 11,17 **** # # divert(0) ! VERSIONID(`@(#)Berkeley.EDU.m4 8.14 (Berkeley) 5/19/98') DOMAIN(berkeley-only)dnl define(`BITNET_RELAY', `bitnet-relay.Berkeley.EDU')dnl define(`UUCP_RELAY', `uucp-relay.Berkeley.EDU')dnl --- 11,17 ---- # # divert(0) ! VERSIONID(`@(#)Berkeley.EDU.m4 8.14 (Berkeley) 5/19/1998') DOMAIN(berkeley-only)dnl define(`BITNET_RELAY', `bitnet-relay.Berkeley.EDU')dnl define(`UUCP_RELAY', `uucp-relay.Berkeley.EDU')dnl diff -cr sendmail-8.9.1/cf/domain/CS.Berkeley.EDU.m4 sendmail-8.9.2/cf/domain/CS.Berkeley.EDU.m4 *** sendmail-8.9.1/cf/domain/CS.Berkeley.EDU.m4 Tue May 19 16:34:26 1998 --- sendmail-8.9.2/cf/domain/CS.Berkeley.EDU.m4 Tue Dec 29 09:42:07 1998 *************** *** 11,17 **** # # divert(0) ! VERSIONID(`@(#)CS.Berkeley.EDU.m4 8.7 (Berkeley) 5/19/98') DOMAIN(Berkeley.EDU)dnl HACK(cssubdomain)dnl define(`confUSERDB_SPEC', --- 11,17 ---- # # divert(0) ! VERSIONID(`@(#)CS.Berkeley.EDU.m4 8.7 (Berkeley) 5/19/1998') DOMAIN(Berkeley.EDU)dnl HACK(cssubdomain)dnl define(`confUSERDB_SPEC', diff -cr sendmail-8.9.1/cf/domain/EECS.Berkeley.EDU.m4 sendmail-8.9.2/cf/domain/EECS.Berkeley.EDU.m4 *** sendmail-8.9.1/cf/domain/EECS.Berkeley.EDU.m4 Tue May 19 16:34:26 1998 --- sendmail-8.9.2/cf/domain/EECS.Berkeley.EDU.m4 Tue Dec 29 09:42:07 1998 *************** *** 11,16 **** # # divert(0) ! VERSIONID(`@(#)EECS.Berkeley.EDU.m4 8.7 (Berkeley) 5/19/98') DOMAIN(Berkeley.EDU)dnl MASQUERADE_AS(EECS.Berkeley.EDU)dnl --- 11,16 ---- # # divert(0) ! VERSIONID(`@(#)EECS.Berkeley.EDU.m4 8.7 (Berkeley) 5/19/1998') DOMAIN(Berkeley.EDU)dnl MASQUERADE_AS(EECS.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/domain/S2K.Berkeley.EDU.m4 sendmail-8.9.2/cf/domain/S2K.Berkeley.EDU.m4 *** sendmail-8.9.1/cf/domain/S2K.Berkeley.EDU.m4 Tue May 19 16:34:26 1998 --- sendmail-8.9.2/cf/domain/S2K.Berkeley.EDU.m4 Tue Dec 29 09:42:06 1998 *************** *** 11,16 **** # # divert(0) ! VERSIONID(`@(#)S2K.Berkeley.EDU.m4 8.7 (Berkeley) 5/19/98') DOMAIN(CS.Berkeley.EDU)dnl MASQUERADE_AS(postgres.Berkeley.EDU)dnl --- 11,16 ---- # # divert(0) ! VERSIONID(`@(#)S2K.Berkeley.EDU.m4 8.7 (Berkeley) 5/19/1998') DOMAIN(CS.Berkeley.EDU)dnl MASQUERADE_AS(postgres.Berkeley.EDU)dnl diff -cr sendmail-8.9.1/cf/domain/berkeley-only.m4 sendmail-8.9.2/cf/domain/berkeley-only.m4 *** sendmail-8.9.1/cf/domain/berkeley-only.m4 Tue May 19 16:34:26 1998 --- sendmail-8.9.2/cf/domain/berkeley-only.m4 Tue Dec 29 09:42:07 1998 *************** *** 11,17 **** # # divert(0) ! VERSIONID(`@(#)unspecified-domain.m4 8.7 (Berkeley) 5/19/98') errprint(`*** ERROR: You are trying to use the Berkeley sample configuration') errprint(` files outside of the Computer Science Division at Berkeley.') errprint(` The configuration (.mc) files must be customized to reference') --- 11,17 ---- # # divert(0) ! VERSIONID(`@(#)unspecified-domain.m4 8.7 (Berkeley) 5/19/1998') errprint(`*** ERROR: You are trying to use the Berkeley sample configuration') errprint(` files outside of the Computer Science Division at Berkeley.') errprint(` The configuration (.mc) files must be customized to reference') diff -cr sendmail-8.9.1/cf/domain/generic.m4 sendmail-8.9.2/cf/domain/generic.m4 *** sendmail-8.9.1/cf/domain/generic.m4 Tue May 19 16:34:26 1998 --- sendmail-8.9.2/cf/domain/generic.m4 Tue Dec 29 09:42:06 1998 *************** *** 19,25 **** # files. # divert(0) ! VERSIONID(`@(#)generic.m4 8.9 (Berkeley) 5/19/98') define(`confFORWARD_PATH', `$z/.forward.$w+$h:$z/.forward+$h:$z/.forward.$w:$z/.forward')dnl FEATURE(redirect)dnl FEATURE(use_cw_file)dnl --- 19,25 ---- # files. # divert(0) ! VERSIONID(`@(#)generic.m4 8.9 (Berkeley) 5/19/1998') define(`confFORWARD_PATH', `$z/.forward.$w+$h:$z/.forward+$h:$z/.forward.$w:$z/.forward')dnl FEATURE(redirect)dnl FEATURE(use_cw_file)dnl diff -cr sendmail-8.9.1/cf/feature/accept_unqualified_senders.m4 sendmail-8.9.2/cf/feature/accept_unqualified_senders.m4 *** sendmail-8.9.1/cf/feature/accept_unqualified_senders.m4 Tue May 19 16:34:34 1998 --- sendmail-8.9.2/cf/feature/accept_unqualified_senders.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)accept_unqualified_senders.m4 8.3 (Berkeley) 5/19/98') divert(-1) define(`_ACCEPT_UNQUALIFIED_SENDERS_', 1) --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)accept_unqualified_senders.m4 8.3 (Berkeley) 5/19/1998') divert(-1) define(`_ACCEPT_UNQUALIFIED_SENDERS_', 1) diff -cr sendmail-8.9.1/cf/feature/accept_unresolvable_domains.m4 sendmail-8.9.2/cf/feature/accept_unresolvable_domains.m4 *** sendmail-8.9.1/cf/feature/accept_unresolvable_domains.m4 Tue May 19 16:34:34 1998 --- sendmail-8.9.2/cf/feature/accept_unresolvable_domains.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)accept_unresolvable_domains.m4 8.7 (Berkeley) 5/19/98') divert(-1) define(`_ACCEPT_UNRESOLVABLE_DOMAINS_', 1) --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)accept_unresolvable_domains.m4 8.7 (Berkeley) 5/19/1998') divert(-1) define(`_ACCEPT_UNRESOLVABLE_DOMAINS_', 1) diff -cr sendmail-8.9.1/cf/feature/access_db.m4 sendmail-8.9.2/cf/feature/access_db.m4 *** sendmail-8.9.1/cf/feature/access_db.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/access_db.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)access_db.m4 8.8 (Berkeley) 5/19/98') divert(-1) define(`ACCESS_TABLE', --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)access_db.m4 8.8 (Berkeley) 5/19/1998') divert(-1) define(`ACCESS_TABLE', diff -cr sendmail-8.9.1/cf/feature/allmasquerade.m4 sendmail-8.9.2/cf/feature/allmasquerade.m4 *** sendmail-8.9.1/cf/feature/allmasquerade.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/allmasquerade.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)allmasquerade.m4 8.7 (Berkeley) 5/19/98') divert(-1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)allmasquerade.m4 8.7 (Berkeley) 5/19/1998') divert(-1) diff -cr sendmail-8.9.1/cf/feature/always_add_domain.m4 sendmail-8.9.2/cf/feature/always_add_domain.m4 *** sendmail-8.9.1/cf/feature/always_add_domain.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/always_add_domain.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)always_add_domain.m4 8.6 (Berkeley) 5/19/98') divert(-1) define(`_ALWAYS_ADD_DOMAIN_', 1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)always_add_domain.m4 8.6 (Berkeley) 5/19/1998') divert(-1) define(`_ALWAYS_ADD_DOMAIN_', 1) diff -cr sendmail-8.9.1/cf/feature/bestmx_is_local.m4 sendmail-8.9.2/cf/feature/bestmx_is_local.m4 *** sendmail-8.9.1/cf/feature/bestmx_is_local.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/bestmx_is_local.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,19 **** # divert(0) ! VERSIONID(`@(#)bestmx_is_local.m4 8.12 (Berkeley) 5/19/98') divert(-1) LOCAL_CONFIG # turn on bestMX lookup table --- 12,21 ---- # divert(0) ! VERSIONID(`@(#)bestmx_is_local.m4 8.13 (Berkeley) 8/13/1998') divert(-1) + + define(_BESTMX_IS_LOCAL_, _ARG_) LOCAL_CONFIG # turn on bestMX lookup table diff -cr sendmail-8.9.1/cf/feature/bitdomain.m4 sendmail-8.9.2/cf/feature/bitdomain.m4 *** sendmail-8.9.1/cf/feature/bitdomain.m4 Tue May 19 16:34:32 1998 --- sendmail-8.9.2/cf/feature/bitdomain.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)bitdomain.m4 8.13 (Berkeley) 5/19/98') divert(-1) ! define(`BITDOMAIN_TABLE', ifelse(_ARG_, `', DATABASE_MAP_TYPE` -o /etc/bitdomain', `_ARG_'))dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)bitdomain.m4 8.14 (Berkeley) 10/6/1998') divert(-1) ! define(`BITDOMAIN_TABLE', ifelse(_ARG_, `', ! ifdef(`_USE_ETC_MAIL_', ! DATABASE_MAP_TYPE` -o /etc/mail/bitdomain', ! DATABASE_MAP_TYPE` -o /etc/bitdomain'), ! `_ARG_'))dnl diff -cr sendmail-8.9.1/cf/feature/blacklist_recipients.m4 sendmail-8.9.2/cf/feature/blacklist_recipients.m4 *** sendmail-8.9.1/cf/feature/blacklist_recipients.m4 Tue May 19 16:34:34 1998 --- sendmail-8.9.2/cf/feature/blacklist_recipients.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)blacklist_recipients.m4 8.9 (Berkeley) 5/19/98') divert(-1) ifdef(`ACCESS_TABLE', --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)blacklist_recipients.m4 8.9 (Berkeley) 5/19/1998') divert(-1) ifdef(`ACCESS_TABLE', diff -cr sendmail-8.9.1/cf/feature/domaintable.m4 sendmail-8.9.2/cf/feature/domaintable.m4 *** sendmail-8.9.1/cf/feature/domaintable.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/domaintable.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)domaintable.m4 8.8 (Berkeley) 5/19/98') divert(-1) ! define(`DOMAIN_TABLE', ifelse(_ARG_, `', DATABASE_MAP_TYPE` -o /etc/domaintable', `_ARG_'))dnl --- 12,23 ---- # divert(0) ! VERSIONID(`@(#)domaintable.m4 8.9 (Berkeley) 10/6/1998') divert(-1) ! define(`DOMAIN_TABLE', ifelse(_ARG_, `', ! ifdef(`_USE_ETC_MAIL_', ! DATABASE_MAP_TYPE` -o /etc/mail/domaintable', ! DATABASE_MAP_TYPE` -o /etc/domaintable'), ! `_ARG_'))dnl ! diff -cr sendmail-8.9.1/cf/feature/genericstable.m4 sendmail-8.9.2/cf/feature/genericstable.m4 *** sendmail-8.9.1/cf/feature/genericstable.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/genericstable.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)genericstable.m4 8.7 (Berkeley) 5/19/98') divert(-1) ! define(`GENERICS_TABLE', ifelse(_ARG_, `', DATABASE_MAP_TYPE` -o /etc/genericstable', `_ARG_'))dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)genericstable.m4 8.8 (Berkeley) 10/6/1998') divert(-1) ! define(`GENERICS_TABLE', ifelse(_ARG_, `', ! ifdef(`_USE_ETC_MAIL_', ! DATABASE_MAP_TYPE` -o /etc/mail/genericstable', ! DATABASE_MAP_TYPE` -o /etc/genericstable'), ! `_ARG_'))dnl diff -cr sendmail-8.9.1/cf/feature/limited_masquerade.m4 sendmail-8.9.2/cf/feature/limited_masquerade.m4 *** sendmail-8.9.1/cf/feature/limited_masquerade.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/limited_masquerade.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)limited_masquerade.m4 8.6 (Berkeley) 5/19/98') divert(-1) define(`_LIMITED_MASQUERADE_', 1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)limited_masquerade.m4 8.6 (Berkeley) 5/19/1998') divert(-1) define(`_LIMITED_MASQUERADE_', 1) diff -cr sendmail-8.9.1/cf/feature/local_lmtp.m4 sendmail-8.9.2/cf/feature/local_lmtp.m4 *** sendmail-8.9.1/cf/feature/local_lmtp.m4 Tue May 19 16:34:34 1998 --- sendmail-8.9.2/cf/feature/local_lmtp.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)local_lmtp.m4 8.5 (Berkeley) 5/19/98') divert(-1) define(`LOCAL_MAILER_PATH', --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)local_lmtp.m4 8.5 (Berkeley) 5/19/1998') divert(-1) define(`LOCAL_MAILER_PATH', diff -cr sendmail-8.9.1/cf/feature/local_procmail.m4 sendmail-8.9.2/cf/feature/local_procmail.m4 *** sendmail-8.9.1/cf/feature/local_procmail.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/local_procmail.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)local_procmail.m4 8.11 (Berkeley) 5/19/98') divert(-1) define(`LOCAL_MAILER_PATH', --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)local_procmail.m4 8.11 (Berkeley) 5/19/1998') divert(-1) define(`LOCAL_MAILER_PATH', diff -cr sendmail-8.9.1/cf/feature/loose_relay_check.m4 sendmail-8.9.2/cf/feature/loose_relay_check.m4 *** sendmail-8.9.1/cf/feature/loose_relay_check.m4 Tue May 19 16:34:34 1998 --- sendmail-8.9.2/cf/feature/loose_relay_check.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)loose_relay_check.m4 8.3 (Berkeley) 5/19/98') divert(-1) define(`_LOOSE_RELAY_CHECK_', 1) --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)loose_relay_check.m4 8.3 (Berkeley) 5/19/1998') divert(-1) define(`_LOOSE_RELAY_CHECK_', 1) diff -cr sendmail-8.9.1/cf/feature/mailertable.m4 sendmail-8.9.2/cf/feature/mailertable.m4 *** sendmail-8.9.1/cf/feature/mailertable.m4 Tue May 19 16:34:32 1998 --- sendmail-8.9.2/cf/feature/mailertable.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)mailertable.m4 8.9 (Berkeley) 5/19/98') divert(-1) ! define(`MAILER_TABLE', ifelse(_ARG_, `', DATABASE_MAP_TYPE` -o /etc/mailertable', `_ARG_'))dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)mailertable.m4 8.10 (Berkeley) 10/6/1998') divert(-1) ! define(`MAILER_TABLE', ifelse(_ARG_, `', ! ifdef(`_USE_ETC_MAIL_', ! DATABASE_MAP_TYPE` -o /etc/mail/mailertable', ! DATABASE_MAP_TYPE` -o /etc/mailertable'), ! `_ARG_'))dnl diff -cr sendmail-8.9.1/cf/feature/masquerade_entire_domain.m4 sendmail-8.9.2/cf/feature/masquerade_entire_domain.m4 *** sendmail-8.9.1/cf/feature/masquerade_entire_domain.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/masquerade_entire_domain.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)masquerade_entire_domain.m4 8.6 (Berkeley) 5/19/98') divert(-1) define(`_MASQUERADE_ENTIRE_DOMAIN_', 1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)masquerade_entire_domain.m4 8.6 (Berkeley) 5/19/1998') divert(-1) define(`_MASQUERADE_ENTIRE_DOMAIN_', 1) diff -cr sendmail-8.9.1/cf/feature/masquerade_envelope.m4 sendmail-8.9.2/cf/feature/masquerade_envelope.m4 *** sendmail-8.9.1/cf/feature/masquerade_envelope.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/masquerade_envelope.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)masquerade_envelope.m4 8.6 (Berkeley) 5/19/98') divert(-1) define(`_MASQUERADE_ENVELOPE_', 1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)masquerade_envelope.m4 8.6 (Berkeley) 5/19/1998') divert(-1) define(`_MASQUERADE_ENVELOPE_', 1) diff -cr sendmail-8.9.1/cf/feature/nocanonify.m4 sendmail-8.9.2/cf/feature/nocanonify.m4 *** sendmail-8.9.1/cf/feature/nocanonify.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/nocanonify.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)nocanonify.m4 8.6 (Berkeley) 5/19/98') divert(-1) define(`_NO_CANONIFY_', 1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)nocanonify.m4 8.6 (Berkeley) 5/19/1998') divert(-1) define(`_NO_CANONIFY_', 1) diff -cr sendmail-8.9.1/cf/feature/nodns.m4 sendmail-8.9.2/cf/feature/nodns.m4 *** sendmail-8.9.1/cf/feature/nodns.m4 Tue May 19 16:34:32 1998 --- sendmail-8.9.2/cf/feature/nodns.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,21 **** # divert(0) ! VERSIONID(`@(#)nodns.m4 8.8 (Berkeley) 5/19/98') divert(-1) undefine(`confBIND_OPTS')dnl errprint(`FEATURE(nodns) is no-op. ! Use ServiceSwitchFile ('ifdef(`confSERVICE_SWITCH_FILE',confSERVICE_SWITCH_FILE,`/etc/service.switch' if your OS does not provide its own)`) instead. ') --- 12,21 ---- # divert(0) ! VERSIONID(`@(#)nodns.m4 8.9 (Berkeley) 10/6/1998') divert(-1) undefine(`confBIND_OPTS')dnl errprint(`FEATURE(nodns) is no-op. ! Use ServiceSwitchFile ('ifdef(`confSERVICE_SWITCH_FILE',confSERVICE_SWITCH_FILE,ifdef(`_USE_ETC_MAIL_',`/etc/mail/service.switch',`/etc/service.switch'))`) if your OS does not provide its own instead. ') diff -cr sendmail-8.9.1/cf/feature/notsticky.m4 sendmail-8.9.2/cf/feature/notsticky.m4 *** sendmail-8.9.1/cf/feature/notsticky.m4 Tue May 19 16:34:32 1998 --- sendmail-8.9.2/cf/feature/notsticky.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)notsticky.m4 8.8 (Berkeley) 5/19/98') # # This is now the default. Use ``FEATURE(stickyhost)'' if you want # the old default behaviour. --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)notsticky.m4 8.8 (Berkeley) 5/19/1998') # # This is now the default. Use ``FEATURE(stickyhost)'' if you want # the old default behaviour. diff -cr sendmail-8.9.1/cf/feature/nouucp.m4 sendmail-8.9.2/cf/feature/nouucp.m4 *** sendmail-8.9.1/cf/feature/nouucp.m4 Tue May 19 16:34:32 1998 --- sendmail-8.9.2/cf/feature/nouucp.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)nouucp.m4 8.6 (Berkeley) 5/19/98') divert(-1) define(`_NO_UUCP_', 1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)nouucp.m4 8.6 (Berkeley) 5/19/1998') divert(-1) define(`_NO_UUCP_', 1) diff -cr sendmail-8.9.1/cf/feature/nullclient.m4 sendmail-8.9.2/cf/feature/nullclient.m4 *** sendmail-8.9.1/cf/feature/nullclient.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/nullclient.m4 Tue Dec 29 09:42:12 1998 *************** *** 23,29 **** # sendmail. # ! VERSIONID(`@(#)nullclient.m4 8.12 (Berkeley) 5/19/98') PUSHDIVERT(6) # hub host (to which all mail is sent) --- 23,29 ---- # sendmail. # ! VERSIONID(`@(#)nullclient.m4 8.12 (Berkeley) 5/19/1998') PUSHDIVERT(6) # hub host (to which all mail is sent) diff -cr sendmail-8.9.1/cf/feature/promiscuous_relay.m4 sendmail-8.9.2/cf/feature/promiscuous_relay.m4 *** sendmail-8.9.1/cf/feature/promiscuous_relay.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/promiscuous_relay.m4 Tue Dec 29 09:42:12 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)promiscuous_relay.m4 8.7 (Berkeley) 5/19/98') divert(-1) define(`_PROMISCUOUS_RELAY_', 1) --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)promiscuous_relay.m4 8.7 (Berkeley) 5/19/1998') divert(-1) define(`_PROMISCUOUS_RELAY_', 1) diff -cr sendmail-8.9.1/cf/feature/rbl.m4 sendmail-8.9.2/cf/feature/rbl.m4 *** sendmail-8.9.1/cf/feature/rbl.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/rbl.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)rbl.m4 8.8 (Berkeley) 5/19/98') divert(-1) define(`_RBL_', ifelse(_ARG_, `', `rbl.maps.vix.com', `_ARG_'))dnl --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)rbl.m4 8.8 (Berkeley) 5/19/1998') divert(-1) define(`_RBL_', ifelse(_ARG_, `', `rbl.maps.vix.com', `_ARG_'))dnl diff -cr sendmail-8.9.1/cf/feature/redirect.m4 sendmail-8.9.2/cf/feature/redirect.m4 *** sendmail-8.9.1/cf/feature/redirect.m4 Tue May 19 16:34:32 1998 --- sendmail-8.9.2/cf/feature/redirect.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)redirect.m4 8.10 (Berkeley) 5/19/98') divert(-1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)redirect.m4 8.10 (Berkeley) 5/19/1998') divert(-1) diff -cr sendmail-8.9.1/cf/feature/relay_based_on_MX.m4 sendmail-8.9.2/cf/feature/relay_based_on_MX.m4 *** sendmail-8.9.1/cf/feature/relay_based_on_MX.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/relay_based_on_MX.m4 Tue Dec 29 09:42:12 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)relay_based_on_MX.m4 8.7 (Berkeley) 5/19/98') divert(-1) define(`_RELAY_MX_SERVED_', 1) --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)relay_based_on_MX.m4 8.7 (Berkeley) 5/19/1998') divert(-1) define(`_RELAY_MX_SERVED_', 1) diff -cr sendmail-8.9.1/cf/feature/relay_entire_domain.m4 sendmail-8.9.2/cf/feature/relay_entire_domain.m4 *** sendmail-8.9.1/cf/feature/relay_entire_domain.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/relay_entire_domain.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)relay_entire_domain.m4 8.7 (Berkeley) 5/19/98') divert(-1) define(`_RELAY_ENTIRE_DOMAIN_', 1) --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)relay_entire_domain.m4 8.7 (Berkeley) 5/19/1998') divert(-1) define(`_RELAY_ENTIRE_DOMAIN_', 1) diff -cr sendmail-8.9.1/cf/feature/relay_hosts_only.m4 sendmail-8.9.2/cf/feature/relay_hosts_only.m4 *** sendmail-8.9.1/cf/feature/relay_hosts_only.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/relay_hosts_only.m4 Tue Dec 29 09:42:12 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)relay_hosts_only.m4 8.7 (Berkeley) 5/19/98') divert(-1) define(`_RELAY_HOSTS_ONLY_', 1) --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)relay_hosts_only.m4 8.7 (Berkeley) 5/19/1998') divert(-1) define(`_RELAY_HOSTS_ONLY_', 1) diff -cr sendmail-8.9.1/cf/feature/relay_local_from.m4 sendmail-8.9.2/cf/feature/relay_local_from.m4 *** sendmail-8.9.1/cf/feature/relay_local_from.m4 Tue May 19 16:34:34 1998 --- sendmail-8.9.2/cf/feature/relay_local_from.m4 Tue Dec 29 09:42:13 1998 *************** *** 9,15 **** # divert(0) ! VERSIONID(`@(#)relay_local_from.m4 8.2 (Berkeley) 5/19/98') divert(-1) define(`_RELAY_LOCAL_FROM_', 1) --- 9,15 ---- # divert(0) ! VERSIONID(`@(#)relay_local_from.m4 8.2 (Berkeley) 5/19/1998') divert(-1) define(`_RELAY_LOCAL_FROM_', 1) diff -cr sendmail-8.9.1/cf/feature/smrsh.m4 sendmail-8.9.2/cf/feature/smrsh.m4 *** sendmail-8.9.1/cf/feature/smrsh.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/smrsh.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)smrsh.m4 8.8 (Berkeley) 5/19/98') divert(-1) ifdef(`_MAILER_local_', --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)smrsh.m4 8.8 (Berkeley) 5/19/1998') divert(-1) ifdef(`_MAILER_local_', diff -cr sendmail-8.9.1/cf/feature/stickyhost.m4 sendmail-8.9.2/cf/feature/stickyhost.m4 *** sendmail-8.9.1/cf/feature/stickyhost.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/stickyhost.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)stickyhost.m4 8.6 (Berkeley) 5/19/98') divert(-1) define(`_STICKY_LOCAL_DOMAIN_', 1) --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)stickyhost.m4 8.6 (Berkeley) 5/19/1998') divert(-1) define(`_STICKY_LOCAL_DOMAIN_', 1) diff -cr sendmail-8.9.1/cf/feature/use_ct_file.m4 sendmail-8.9.2/cf/feature/use_ct_file.m4 *** sendmail-8.9.1/cf/feature/use_ct_file.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/use_ct_file.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)use_ct_file.m4 8.6 (Berkeley) 5/19/98') divert(-1) # if defined, the sendmail.cf will read the /etc/sendmail.ct file --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)use_ct_file.m4 8.6 (Berkeley) 5/19/1998') divert(-1) # if defined, the sendmail.cf will read the /etc/sendmail.ct file diff -cr sendmail-8.9.1/cf/feature/use_cw_file.m4 sendmail-8.9.2/cf/feature/use_cw_file.m4 *** sendmail-8.9.1/cf/feature/use_cw_file.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/use_cw_file.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)use_cw_file.m4 8.6 (Berkeley) 5/19/98') divert(-1) # if defined, the sendmail.cf will read the /etc/sendmail.cw file --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)use_cw_file.m4 8.6 (Berkeley) 5/19/1998') divert(-1) # if defined, the sendmail.cf will read the /etc/sendmail.cw file diff -cr sendmail-8.9.1/cf/feature/uucpdomain.m4 sendmail-8.9.2/cf/feature/uucpdomain.m4 *** sendmail-8.9.1/cf/feature/uucpdomain.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/uucpdomain.m4 Tue Dec 29 09:42:11 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)uucpdomain.m4 8.13 (Berkeley) 5/19/98') divert(-1) ! define(`UUDOMAIN_TABLE', ifelse(_ARG_, `', DATABASE_MAP_TYPE` -o /etc/uudomain', `_ARG_'))dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)uucpdomain.m4 8.14 (Berkeley) 10/6/1998') divert(-1) ! define(`UUDOMAIN_TABLE', ifelse(_ARG_, `', ! ifdef(`_USE_ETC_MAIL_', ! DATABASE_MAP_TYPE` -o /etc/mail/uudomain', ! DATABASE_MAP_TYPE` -o /etc/uudomain'), ! `_ARG_'))dnl diff -cr sendmail-8.9.1/cf/feature/virtusertable.m4 sendmail-8.9.2/cf/feature/virtusertable.m4 *** sendmail-8.9.1/cf/feature/virtusertable.m4 Tue May 19 16:34:33 1998 --- sendmail-8.9.2/cf/feature/virtusertable.m4 Tue Dec 29 09:42:12 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)virtusertable.m4 8.7 (Berkeley) 5/19/98') divert(-1) ! define(`VIRTUSER_TABLE', ifelse(_ARG_, `', DATABASE_MAP_TYPE` -o /etc/virtusertable', `_ARG_'))dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)virtusertable.m4 8.8 (Berkeley) 10/6/1998') divert(-1) ! define(`VIRTUSER_TABLE', ifelse(_ARG_, `', ! ifdef(`_USE_ETC_MAIL_', ! DATABASE_MAP_TYPE` -o /etc/mail/virtusertable', ! DATABASE_MAP_TYPE` -o /etc/virtusertable'), ! `_ARG_'))dnl diff -cr sendmail-8.9.1/cf/hack/cssubdomain.m4 sendmail-8.9.2/cf/hack/cssubdomain.m4 *** sendmail-8.9.1/cf/hack/cssubdomain.m4 Tue May 19 16:34:37 1998 --- sendmail-8.9.2/cf/hack/cssubdomain.m4 Tue Dec 29 09:42:08 1998 *************** *** 11,17 **** # # divert(0) ! VERSIONID(`@(#)cssubdomain.m4 8.6 (Berkeley) 5/19/98') divert(2) # find possible (old & new) versions of our name via short circuit hack --- 11,17 ---- # # divert(0) ! VERSIONID(`@(#)cssubdomain.m4 8.6 (Berkeley) 5/19/1998') divert(2) # find possible (old & new) versions of our name via short circuit hack diff -cr sendmail-8.9.1/cf/m4/cf.m4 sendmail-8.9.2/cf/m4/cf.m4 *** sendmail-8.9.1/cf/m4/cf.m4 Tue May 19 16:34:41 1998 --- sendmail-8.9.2/cf/m4/cf.m4 Tue Dec 29 09:42:07 1998 *************** *** 25,28 **** divert(0)dnl ifdef(`OSTYPE', `dnl', `include(_CF_DIR_`'m4/cfhead.m4)dnl ! VERSIONID(`@(#)cf.m4 8.29 (Berkeley) 5/19/98')') --- 25,28 ---- divert(0)dnl ifdef(`OSTYPE', `dnl', `include(_CF_DIR_`'m4/cfhead.m4)dnl ! VERSIONID(`@(#)cf.m4 8.29 (Berkeley) 5/19/1998')') diff -cr sendmail-8.9.1/cf/m4/cfhead.m4 sendmail-8.9.2/cf/m4/cfhead.m4 *** sendmail-8.9.1/cf/m4/cfhead.m4 Tue May 19 16:34:41 1998 --- sendmail-8.9.2/cf/m4/cfhead.m4 Tue Dec 29 09:42:08 1998 *************** *** 105,111 **** m4wrap(`include(_CF_DIR_`m4/proto.m4')') # set up default values for options ! define(`ALIAS_FILE', `/etc/aliases') define(`confMAILER_NAME', ``MAILER-DAEMON'') define(`confFROM_LINE', `From $g $d') define(`confOPERATORS', `.:%@!^/[]+') --- 105,111 ---- m4wrap(`include(_CF_DIR_`m4/proto.m4')') # set up default values for options ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/etc/aliases')) define(`confMAILER_NAME', ``MAILER-DAEMON'') define(`confFROM_LINE', `From $g $d') define(`confOPERATORS', `.:%@!^/[]+') *************** *** 133,142 **** define(`confTO_QUEUERETURN', `5d') define(`confTO_QUEUEWARN', `4h') define(`confTIME_ZONE', `USE_SYSTEM') ! define(`confCW_FILE', `/etc/sendmail.cw') define(`confMIME_FORMAT_ERRORS', `True') define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward') define(`confCR_FILE', `-o /etc/mail/relay-domains') divert(0)dnl ! VERSIONID(`@(#)cfhead.m4 8.22 (Berkeley) 5/19/98') --- 133,142 ---- define(`confTO_QUEUERETURN', `5d') define(`confTO_QUEUEWARN', `4h') define(`confTIME_ZONE', `USE_SYSTEM') ! define(`confCW_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/local-host-names', `/etc/sendmail.cw')) define(`confMIME_FORMAT_ERRORS', `True') define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward') define(`confCR_FILE', `-o /etc/mail/relay-domains') divert(0)dnl ! VERSIONID(`@(#)cfhead.m4 8.23 (Berkeley) 10/6/1998') diff -cr sendmail-8.9.1/cf/m4/nullrelay.m4 sendmail-8.9.2/cf/m4/nullrelay.m4 *** sendmail-8.9.1/cf/m4/nullrelay.m4 Tue May 19 16:34:41 1998 --- sendmail-8.9.2/cf/m4/nullrelay.m4 Tue Dec 29 09:42:07 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)nullrelay.m4 8.19 (Berkeley) 5/19/98') # # This configuration applies only to relay-only hosts. They send --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)nullrelay.m4 8.19 (Berkeley) 5/19/1998') # # This configuration applies only to relay-only hosts. They send diff -cr sendmail-8.9.1/cf/m4/proto.m4 sendmail-8.9.2/cf/m4/proto.m4 *** sendmail-8.9.1/cf/m4/proto.m4 Tue Jun 30 11:23:41 1998 --- sendmail-8.9.2/cf/m4/proto.m4 Tue Dec 29 09:42:07 1998 *************** *** 12,23 **** # divert(0) ! VERSIONID(`@(#)proto.m4 8.223 (Berkeley) 6/30/98') MAILER(local)dnl # level 8 config file format ! V8/Berkeley divert(-1) # do some sanity checking --- 12,23 ---- # divert(0) ! VERSIONID(`@(#)proto.m4 8.237 (Berkeley) 12/17/1998') MAILER(local)dnl # level 8 config file format ! V8/ifdef(`VENDOR_NAME', `VENDOR_NAME', `Berkeley') divert(-1) # do some sanity checking *************** *** 220,226 **** _OPTION(AliasWait, `confALIAS_WAIT', 5m) # location of alias file ! _OPTION(AliasFile, `ALIAS_FILE', /etc/aliases) ') # minimum number of free blocks on filesystem _OPTION(MinFreeBlocks, `confMIN_FREE_BLOCKS', 100) --- 220,226 ---- _OPTION(AliasWait, `confALIAS_WAIT', 5m) # location of alias file ! _OPTION(AliasFile, `ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', /etc/mail/aliases, /etc/aliases)) ') # minimum number of free blocks on filesystem _OPTION(MinFreeBlocks, `confMIN_FREE_BLOCKS', 100) *************** *** 244,250 **** _OPTION(AutoRebuildAliases, `confAUTO_REBUILD') # error message header/file ! _OPTION(ErrorHeader, `confERROR_MESSAGE', /etc/sendmail.oE) # error mode _OPTION(ErrorMode, `confERROR_MODE', print) --- 244,250 ---- _OPTION(AutoRebuildAliases, `confAUTO_REBUILD') # error message header/file ! _OPTION(ErrorHeader, `confERROR_MESSAGE', ifdef(`_USE_ETC_MAIL_', /etc/mail/error-header, /etc/sendmail.oE)) # error mode _OPTION(ErrorMode, `confERROR_MODE', print) *************** *** 262,268 **** _OPTION(MaxHopCount, `confMAX_HOP', 17) # location of help file ! O HelpFile=ifdef(`HELP_FILE', HELP_FILE, /usr/lib/sendmail.hf) # ignore dots as terminators in incoming messages? _OPTION(IgnoreDots, `confIGNORE_DOTS') --- 262,268 ---- _OPTION(MaxHopCount, `confMAX_HOP', 17) # location of help file ! O HelpFile=ifdef(`HELP_FILE', HELP_FILE, ifdef(`_USE_ETC_MAIL_', /etc/mail/helpfile, /usr/lib/sendmail.hf)) # ignore dots as terminators in incoming messages? _OPTION(IgnoreDots, `confIGNORE_DOTS') *************** *** 351,357 **** _OPTION(SuperSafe, `confSAFE_QUEUE') # status file ! O StatusFile=ifdef(`STATUS_FILE', `STATUS_FILE', /etc/sendmail.st) # time zone handling: # if undefined, use system default --- 351,357 ---- _OPTION(SuperSafe, `confSAFE_QUEUE') # status file ! O StatusFile=ifdef(`STATUS_FILE', `STATUS_FILE', ifdef(`_USE_ETC_MAIL_', /etc/mail/statistics, /etc/sendmail.st)) # time zone handling: # if undefined, use system default *************** *** 365,371 **** _OPTION(DefaultUser, `confDEF_USER_ID', mailnull) # list of locations of user database file (null means no lookup) ! _OPTION(UserDatabaseSpec, `confUSERDB_SPEC', /etc/userdb) # fallback MX host _OPTION(FallbackMXhost, `confFALLBACK_MX', fall.back.host.net) --- 365,371 ---- _OPTION(DefaultUser, `confDEF_USER_ID', mailnull) # list of locations of user database file (null means no lookup) ! _OPTION(UserDatabaseSpec, `confUSERDB_SPEC', ifdef(`_USE_ETC_MAIL_', /etc/mail/userdb, /etc/userdb)) # fallback MX host _OPTION(FallbackMXhost, `confFALLBACK_MX', fall.back.host.net) *************** *** 407,413 **** _OPTION(DefaultCharSet, `confDEF_CHAR_SET', iso-8859-1) # service switch file (ignored on Solaris, Ultrix, OSF/1, others) ! _OPTION(ServiceSwitchFile, `confSERVICE_SWITCH_FILE', /etc/service.switch) # hosts file (normally /etc/hosts) _OPTION(HostsFile, `confHOSTS_FILE', /etc/hosts) --- 407,413 ---- _OPTION(DefaultCharSet, `confDEF_CHAR_SET', iso-8859-1) # service switch file (ignored on Solaris, Ultrix, OSF/1, others) ! _OPTION(ServiceSwitchFile, `confSERVICE_SWITCH_FILE', ifdef(`_USE_ETC_MAIL_', /etc/mail/service.switch, /etc/service.switch)) # hosts file (normally /etc/hosts) _OPTION(HostsFile, `confHOSTS_FILE', /etc/hosts) *************** *** 466,471 **** --- 466,484 ---- # shall we get local names from our installed interfaces? _OPTION(DontProbeInterfaces, `confDONT_PROBE_INTERFACES') + ifdef(`confTRUSTED_USER', + `# Trusted user for file ownership and starting the daemon + O TrustedUser=confTRUSTED_USER + ') + ifdef(`confCONTROL_SOCKET_NAME', + `# Control socket for daemon management + O ControlSocketName=confCONTROL_SOCKET_NAME + ') + ifdef(`confMAX_MIME_HEADER_LENGTH', + `# Maximum MIME header length to protect MUAs + O MaxMimeHeaderLength=confMAX_MIME_HEADER_LENGTH + ') + ########################### # Message precedences # ########################### *************** *** 481,487 **** ##################### # this is equivalent to setting class "t" ! ifdef(`_USE_CT_FILE_', `', `#')Ft`'ifdef(`confCT_FILE', confCT_FILE, `/etc/sendmail.ct') Troot Tdaemon ifdef(`_NO_UUCP_', `dnl', `Tuucp') --- 494,500 ---- ##################### # this is equivalent to setting class "t" ! ifdef(`_USE_CT_FILE_', `', `#')Ft`'ifdef(`confCT_FILE', confCT_FILE, ifdef(`_USE_ETC_MAIL_', `/etc/mail/trusted-users', `/etc/sendmail.ct')) Troot Tdaemon ifdef(`_NO_UUCP_', `dnl', `Tuucp') *************** *** 827,833 **** # deal with other remote names ifdef(`_MAILER_smtp_', `R$* < @$* > $* $#_SMTP_ $@ $2 $: $1 < @ $2 > $3 user@host.domain', ! `R$* < @$* > $* $#error $@ 5.1.2 $: "Unrecognized host name" $2') # handle locally delivered names R$=L $#_LOCAL_ $: @ $1 special local names --- 840,846 ---- # deal with other remote names ifdef(`_MAILER_smtp_', `R$* < @$* > $* $#_SMTP_ $@ $2 $: $1 < @ $2 > $3 user@host.domain', ! `R$* < @$* > $* $#error $@ 5.1.2 $: "Unrecognized host name " $2') # handle locally delivered names R$=L $#_LOCAL_ $: @ $1 special local names *************** *** 965,971 **** S98 undivert(3)dnl ! ifelse(confDELIVERY_MODE, defer, `errprint(`WARNING: Antispam rules not available in deferred delivery mode.')') ifdef(`ACCESS_TABLE', `dnl ###################################################################### ### LookUpDomain -- search for domain in access database --- 978,984 ---- S98 undivert(3)dnl ! ifelse(substr(confDELIVERY_MODE,0,1), `d', `errprint(`WARNING: Antispam rules not available in deferred delivery mode.')') ifdef(`ACCESS_TABLE', `dnl ###################################################################### ### LookUpDomain -- search for domain in access database *************** *** 999,1004 **** --- 1012,1035 ---- `dnl') ###################################################################### + ### CanonAddr -- Convert an address into a standard form for + ### relay checking. Route address syntax is + ### crudely converted into a %-hack address. + ### + ### Parameters: + ### $1 -- full recipient address + ### + ### Returns: + ### parsed address, not in source route form + ###################################################################### + + SCanonAddr + R$* $: $>Parse0 $>3 $1 make domain canonical + R< @ $+ > : $* @ $* < @ $1 > : $2 % $3 change @ to % in src route + R$* < @ $+ > : $* : $* $3 $1 < @ $2 > : $4 change to % hack. + R$* < @ $+ > : $* $3 $1 < @ $2 > + + ###################################################################### ### ParseRecipient -- Strip off hosts in $=R as well as possibly ### $* $=m or the access database. ### Check user portion for host separators. *************** *** 1011,1037 **** ###################################################################### SParseRecipient ! R$* $: $>Parse0 $>3 $1 ! R $* < @ $* . > $1 < @ $2 > strip trailing dots ! R $- < @ $* > $: $(dequote $1 $) < @ $2 > dequote local part # if no $=O character, no host in the user portion, we are done ! R $* $=O $* < @ $* > $: $1 $2 $3 < @ $4> ! R $* $@ $1 ifdef(`_RELAY_ENTIRE_DOMAIN_', `dnl # if we relay, check username portion for user%host so host can be checked also ! R $* < @ $* $=m > $: $1 < @ $2 $3 >', `dnl') ifdef(`_RELAY_HOSTS_ONLY_', ! `R $* < @ $=R > $: $1 < @ $2 > ifdef(`ACCESS_TABLE', `dnl ! R $* < @ $* > $: <$(access $2 $: NO $)> $1 < @ $2 >',`dnl')', ! `R $* < @ $* $=R > $: $1 < @ $2 $3 > ifdef(`ACCESS_TABLE', `dnl ! R $* < @ $* > $: $>LookUpDomain <$2> <$1 < @ $2 >> ! R<$+> <$+> $: <$1> $2',`dnl')') ! R $* < @ $* > $@ $>ParseRecipient $1 ! R<$-> $* $@ $2 ###################################################################### ### check_relay -- check hostname/address on SMTP startup --- 1042,1076 ---- ###################################################################### SParseRecipient ! R$* $: $>CanonAddr $1 ! R $* < @ $* . > $1 < @ $2 > strip trailing dots ! R $- < @ $* > $: $(dequote $1 $) < @ $2 > dequote local part # if no $=O character, no host in the user portion, we are done ! R $* $=O $* < @ $* > $: $1 $2 $3 < @ $4> ! R $* $@ $1 ifdef(`_RELAY_ENTIRE_DOMAIN_', `dnl # if we relay, check username portion for user%host so host can be checked also ! R $* < @ $* $=m > $: $1 < @ $2 $3 >', `dnl') ! ! ifdef(`_RELAY_MX_SERVED_', `dnl ! R $* < @ $+ > $: < : $(mxserved $2 $) : > < $1 < @$2 > > ! R < : $* : > $* $#error $@ 4.7.1 $: "450 Can not check MX records for recipient host " $1 ! R < $* : $=w. : $* > < $+ > $: $4 ! R < : $* : > < $+ > $: $2', `dnl') ! ifdef(`_RELAY_HOSTS_ONLY_', ! `R $* < @ $=R > $: $1 < @ $2 > ifdef(`ACCESS_TABLE', `dnl ! R $* < @ $+ > $: <$(access $2 $: NO $)> $1 < @ $2 >',`dnl')', ! `R $* < @ $* $=R > $: $1 < @ $2 $3 > ifdef(`ACCESS_TABLE', `dnl ! R $* < @ $+ > $: $>LookUpDomain <$2> <$1 < @ $2 >> ! R<$+> <$+> $: <$1> $2',`dnl')') ! ! R $* < @ $* > $@ $>ParseRecipient $1 ! R<$-> $* $@ $2 ###################################################################### ### check_relay -- check hostname/address on SMTP startup *************** *** 1051,1069 **** ifdef(`ACCESS_TABLE', `dnl R$+ $| $+ $: $>LookUpDomain < $1 > < $2 > ! R < $+ > $: $>LookUpAddress < $1 > < $1 > ! R < $* > $: $1 ! R < $* > $: $1 R $* $#error $@ 5.7.1 $: "ifdef(`confREJECT_MSG', `confREJECT_MSG', `550 Access denied')" R $* $#discard $: discard R<$+> $* $#error $@ 5.7.1 $: $1', `dnl') ifdef(`_RBL_', `dnl ! # MAPS project checks -- http://maps.vix.com/ R$* $: $&{client_addr} R$-.$-.$-.$- $: $(host $4.$3.$2.$1._RBL_. $: OK $) ROK $@ OK ! R$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused; see http://maps.vix.com/rbl/"', `dnl') ###################################################################### --- 1090,1109 ---- ifdef(`ACCESS_TABLE', `dnl R$+ $| $+ $: $>LookUpDomain < $1 > < $2 > ! R < $+ > $: $>LookUpAddress < $1 > < $1 > ! R < $+ > $: $1 ! R < $* > $@ OK ! R < $* > $@ RELAY R $* $#error $@ 5.7.1 $: "ifdef(`confREJECT_MSG', `confREJECT_MSG', `550 Access denied')" R $* $#discard $: discard R<$+> $* $#error $@ 5.7.1 $: $1', `dnl') ifdef(`_RBL_', `dnl ! # DNS based IP address spam lists R$* $: $&{client_addr} R$-.$-.$-.$- $: $(host $4.$3.$2.$1._RBL_. $: OK $) ROK $@ OK ! R$+ $#error $@ 5.7.1 $: "Mail from " $&{client_addr} " refused by blackhole site _RBL_"', `dnl') ###################################################################### *************** *** 1083,1090 **** R< $* > $* $: $2 R<> $@ ! R$* $: $>Parse0 $>3 $1 make domain canonical ! R $* < @ $+ . > $* $1 < @ $2 > $3 strip trailing dots # handle non-DNS hostnames (*.bitnet, *.decnet, *.uucp, etc) R $* < $* $=P > $* $: $1 < @ $2 $3 > $4 ifdef(`_ACCEPT_UNRESOLVABLE_DOMAINS_', --- 1123,1130 ---- R< $* > $* $: $2 R<> $@ ! R$* $: $>CanonAddr $1 ! R $* < @ $+ . > $1 < @ $2 > strip trailing dots # handle non-DNS hostnames (*.bitnet, *.decnet, *.uucp, etc) R $* < $* $=P > $* $: $1 < @ $2 $3 > $4 ifdef(`_ACCEPT_UNRESOLVABLE_DOMAINS_', *************** *** 1158,1167 **** R< $* > $* $: $2 ifdef(`_LOOSE_RELAY_CHECK_',`dnl ! R$* $: $>Parse0 $>3 $1 R$* < @ $* . > $1 < @ $2 > strip trailing dots', `R$* $: $>ParseRecipient $1 strip relayable hosts') ifdef(`_BLACKLIST_RCPT_',`dnl ifdef(`ACCESS_TABLE', `dnl # blacklist local users or any host from receiving mail --- 1198,1218 ---- R< $* > $* $: $2 ifdef(`_LOOSE_RELAY_CHECK_',`dnl ! R$* $: $>CanonAddr $1 R$* < @ $* . > $1 < @ $2 > strip trailing dots', `R$* $: $>ParseRecipient $1 strip relayable hosts') + ifdef(`_BESTMX_IS_LOCAL_',`dnl + ifelse(_BESTMX_IS_LOCAL_, `', `dnl + # unlimited bestmx + R$* < @ $* > $* $: $1 < @ $2 @@ $(bestmx $2 $) > $3', + `dnl + # limit bestmx to $=B + R$* < @ $* $=B > $* $: $1 < @ $2 $3 . @@ $(bestmx $2 $3 $) > $4') + R$* $=O $* < @ $* @@ $=w . > $* $@ $>Basic_check_rcpt $1 $2 $3 + R$* < @ $* @@ $=w . > $* $: $1 < @ $3 > $4 + R$* < @ $* @@ $* > $* $: $1 < @ $2 > $4') + ifdef(`_BLACKLIST_RCPT_',`dnl ifdef(`ACCESS_TABLE', `dnl # blacklist local users or any host from receiving mail *************** *** 1201,1212 **** R$+ < @ $* > $: < : $(mxserved $2 $) : > $1 < @ $2 > R< : $* : > $* $#error $@ 4.7.1 $: "450 Can not check MX records for recipient host " $1 R<$* : $=w . : $*> $* $@ OK ! R<$*> $* $: $2', `dnl') # check for local user (i.e. unqualified address) R$* $: $1 ! R $+ < @ $+ > $: $1 < @ $2 > # local user is ok R $+ $@ OK R<$+> $* $: $2 --- 1252,1263 ---- R$+ < @ $* > $: < : $(mxserved $2 $) : > $1 < @ $2 > R< : $* : > $* $#error $@ 4.7.1 $: "450 Can not check MX records for recipient host " $1 R<$* : $=w . : $*> $* $@ OK ! R< : $* : > $* $: $2', `dnl') # check for local user (i.e. unqualified address) R$* $: $1 ! R $* < @ $+ > $: $1 < @ $2 > # local user is ok R $+ $@ OK R<$+> $* $: $2 *************** *** 1248,1254 **** ifdef(`_RELAY_LOCAL_FROM_', `dnl # anything with a local FROM is ok ! R$* $: $1 $| $>Parse0 $>3 $&f R$* $| $+ < @ $=w . > $@ OK FROM local R$* $| $* $: $1 ', `dnl') --- 1299,1305 ---- ifdef(`_RELAY_LOCAL_FROM_', `dnl # anything with a local FROM is ok ! R$* $: $1 $| $>CanonAddr $&f R$* $| $+ < @ $=w . > $@ OK FROM local R$* $| $* $: $1 ', `dnl') diff -cr sendmail-8.9.1/cf/m4/version.m4 sendmail-8.9.2/cf/m4/version.m4 *** sendmail-8.9.1/cf/m4/version.m4 Thu Jul 2 11:05:26 1998 --- sendmail-8.9.2/cf/m4/version.m4 Tue Dec 29 09:58:11 1998 *************** *** 10,17 **** # the sendmail distribution. # # ! VERSIONID(`@(#)version.m4 8.9.1.1 (Berkeley) 7/2/98') # divert(0) # Configuration version number ! DZ8.9.1`'ifdef(`confCF_VERSION', `/confCF_VERSION') --- 10,17 ---- # the sendmail distribution. # # ! VERSIONID(`@(#)version.m4 8.9.2.1 (Berkeley) 12/29/1998') # divert(0) # Configuration version number ! DZ8.9.2`'ifdef(`confCF_VERSION', `/confCF_VERSION') diff -cr sendmail-8.9.1/cf/mailer/cyrus.m4 sendmail-8.9.2/cf/mailer/cyrus.m4 *** sendmail-8.9.1/cf/mailer/cyrus.m4 Tue May 19 16:34:47 1998 --- sendmail-8.9.2/cf/mailer/cyrus.m4 Tue Dec 29 09:42:06 1998 *************** *** 47,53 **** ### Cyrus Mailer specification ### ################################################## ! VERSIONID(`@(#)cyrus.m4 8.9 (Carnegie Mellon) 5/19/98') Mcyrus, P=CYRUS_MAILER_PATH, F=CONCAT(`lsDFMnPq', CYRUS_MAILER_FLAGS), S=10, R=20/40, T=X-Unix, ifdef(`CYRUS_MAILER_MAX', `M=CYRUS_MAILER_MAX, ')U=CYRUS_MAILER_USER, --- 47,53 ---- ### Cyrus Mailer specification ### ################################################## ! VERSIONID(`@(#)cyrus.m4 8.9 (Carnegie Mellon) 5/19/1998') Mcyrus, P=CYRUS_MAILER_PATH, F=CONCAT(`lsDFMnPq', CYRUS_MAILER_FLAGS), S=10, R=20/40, T=X-Unix, ifdef(`CYRUS_MAILER_MAX', `M=CYRUS_MAILER_MAX, ')U=CYRUS_MAILER_USER, diff -cr sendmail-8.9.1/cf/mailer/fax.m4 sendmail-8.9.2/cf/mailer/fax.m4 *** sendmail-8.9.1/cf/mailer/fax.m4 Tue May 19 16:34:47 1998 --- sendmail-8.9.2/cf/mailer/fax.m4 Tue Dec 29 09:42:06 1998 *************** *** 26,32 **** ### FAX Mailer specification ### #################################### ! VERSIONID(`@(#)fax.m4 8.11 (Berkeley) 5/19/98') Mfax, P=FAX_MAILER_PATH, F=DFMhu, S=14, R=24, M=FAX_MAILER_MAX, T=X-Phone/X-FAX/X-Unix, A=FAX_MAILER_ARGS --- 26,32 ---- ### FAX Mailer specification ### #################################### ! VERSIONID(`@(#)fax.m4 8.11 (Berkeley) 5/19/1998') Mfax, P=FAX_MAILER_PATH, F=DFMhu, S=14, R=24, M=FAX_MAILER_MAX, T=X-Phone/X-FAX/X-Unix, A=FAX_MAILER_ARGS diff -cr sendmail-8.9.1/cf/mailer/local.m4 sendmail-8.9.2/cf/mailer/local.m4 *** sendmail-8.9.1/cf/mailer/local.m4 Tue Jun 30 11:28:18 1998 --- sendmail-8.9.2/cf/mailer/local.m4 Tue Dec 29 09:42:06 1998 *************** *** 23,29 **** ### Local and Program Mailer specification ### ################################################## ! VERSIONID(`@(#)local.m4 8.30 (Berkeley) 6/30/98') Mlocal, P=LOCAL_MAILER_PATH, F=CONCAT(`lsDFMAw5:/|@q', LOCAL_MAILER_FLAGS), S=10/30, R=20/40, _OPTINS(`LOCAL_MAILER_MAX', `M=', `, ')_OPTINS(`LOCAL_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/X-Unix, --- 23,29 ---- ### Local and Program Mailer specification ### ################################################## ! VERSIONID(`@(#)local.m4 8.30 (Berkeley) 6/30/1998') Mlocal, P=LOCAL_MAILER_PATH, F=CONCAT(`lsDFMAw5:/|@q', LOCAL_MAILER_FLAGS), S=10/30, R=20/40, _OPTINS(`LOCAL_MAILER_MAX', `M=', `, ')_OPTINS(`LOCAL_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/X-Unix, diff -cr sendmail-8.9.1/cf/mailer/mail11.m4 sendmail-8.9.2/cf/mailer/mail11.m4 *** sendmail-8.9.1/cf/mailer/mail11.m4 Tue May 19 16:34:47 1998 --- sendmail-8.9.2/cf/mailer/mail11.m4 Tue Dec 29 09:42:06 1998 *************** *** 40,46 **** ### UTK-MAIL11 Mailer specification ### ########################################### ! VERSIONID(`@(#)mail11.m4 8.8 (Berkeley) 5/19/98') Mmail11, P=MAIL11_MAILER_PATH, F=MAIL11_MAILER_FLAGS, S=15, R=25, A=MAIL11_MAILER_ARGS --- 40,46 ---- ### UTK-MAIL11 Mailer specification ### ########################################### ! VERSIONID(`@(#)mail11.m4 8.8 (Berkeley) 5/19/1998') Mmail11, P=MAIL11_MAILER_PATH, F=MAIL11_MAILER_FLAGS, S=15, R=25, A=MAIL11_MAILER_ARGS diff -cr sendmail-8.9.1/cf/mailer/phquery.m4 sendmail-8.9.2/cf/mailer/phquery.m4 *** sendmail-8.9.1/cf/mailer/phquery.m4 Tue May 19 16:34:47 1998 --- sendmail-8.9.2/cf/mailer/phquery.m4 Tue Dec 29 09:42:06 1998 *************** *** 23,29 **** ### PH Mailer specification ### #################################### ! VERSIONID(`@(#)phquery.m4 8.6 (Berkeley) 5/19/98') Mph, P=PH_MAILER_PATH, F=CONCAT(`nrDFM', PH_MAILER_FLAGS), S=10, R=20/40, A=PH_MAILER_ARGS --- 23,29 ---- ### PH Mailer specification ### #################################### ! VERSIONID(`@(#)phquery.m4 8.6 (Berkeley) 5/19/1998') Mph, P=PH_MAILER_PATH, F=CONCAT(`nrDFM', PH_MAILER_FLAGS), S=10, R=20/40, A=PH_MAILER_ARGS diff -cr sendmail-8.9.1/cf/mailer/pop.m4 sendmail-8.9.2/cf/mailer/pop.m4 *** sendmail-8.9.1/cf/mailer/pop.m4 Tue May 19 16:34:47 1998 --- sendmail-8.9.2/cf/mailer/pop.m4 Tue Dec 29 09:42:06 1998 *************** *** 21,27 **** ### POP Mailer specification ### #################################### ! VERSIONID(`@(#)pop.m4 8.11 (Berkeley) 5/19/98') Mpop, P=POP_MAILER_PATH, F=CONCAT(`lsDFMq', POP_MAILER_FLAGS), S=10, R=20/40, T=DNS/RFC822/X-Unix, A=POP_MAILER_ARGS --- 21,27 ---- ### POP Mailer specification ### #################################### ! VERSIONID(`@(#)pop.m4 8.11 (Berkeley) 5/19/1998') Mpop, P=POP_MAILER_PATH, F=CONCAT(`lsDFMq', POP_MAILER_FLAGS), S=10, R=20/40, T=DNS/RFC822/X-Unix, A=POP_MAILER_ARGS diff -cr sendmail-8.9.1/cf/mailer/procmail.m4 sendmail-8.9.2/cf/mailer/procmail.m4 *** sendmail-8.9.1/cf/mailer/procmail.m4 Tue May 19 16:34:47 1998 --- sendmail-8.9.2/cf/mailer/procmail.m4 Tue Dec 29 09:42:06 1998 *************** *** 26,32 **** ### PROCMAIL Mailer specification ### ##################*****################## ! VERSIONID(`@(#)procmail.m4 8.11 (Berkeley) 5/19/98') Mprocmail, P=PROCMAIL_MAILER_PATH, F=CONCAT(`DFM', PROCMAIL_MAILER_FLAGS), S=11/31, R=21/31, T=DNS/RFC822/X-Unix, ifdef(`PROCMAIL_MAILER_MAX', `M=PROCMAIL_MAILER_MAX, ')A=PROCMAIL_MAILER_ARGS --- 26,32 ---- ### PROCMAIL Mailer specification ### ##################*****################## ! VERSIONID(`@(#)procmail.m4 8.11 (Berkeley) 5/19/1998') Mprocmail, P=PROCMAIL_MAILER_PATH, F=CONCAT(`DFM', PROCMAIL_MAILER_FLAGS), S=11/31, R=21/31, T=DNS/RFC822/X-Unix, ifdef(`PROCMAIL_MAILER_MAX', `M=PROCMAIL_MAILER_MAX, ')A=PROCMAIL_MAILER_ARGS diff -cr sendmail-8.9.1/cf/mailer/smtp.m4 sendmail-8.9.2/cf/mailer/smtp.m4 *** sendmail-8.9.1/cf/mailer/smtp.m4 Tue May 19 16:34:46 1998 --- sendmail-8.9.2/cf/mailer/smtp.m4 Tue Dec 29 09:42:06 1998 *************** *** 22,28 **** ### SMTP Mailer specification ### ##################################### ! VERSIONID(`@(#)smtp.m4 8.38 (Berkeley) 5/19/98') Msmtp, P=[IPC], F=CONCAT(mDFMuX, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), E=\r\n, L=990, _OPTINS(`SMTP_MAILER_MAX', `M=', `, ')_OPTINS(`SMTP_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP, --- 22,28 ---- ### SMTP Mailer specification ### ##################################### ! VERSIONID(`@(#)smtp.m4 8.38 (Berkeley) 5/19/1998') Msmtp, P=[IPC], F=CONCAT(mDFMuX, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), E=\r\n, L=990, _OPTINS(`SMTP_MAILER_MAX', `M=', `, ')_OPTINS(`SMTP_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP, diff -cr sendmail-8.9.1/cf/mailer/usenet.m4 sendmail-8.9.2/cf/mailer/usenet.m4 *** sendmail-8.9.1/cf/mailer/usenet.m4 Tue May 19 16:34:47 1998 --- sendmail-8.9.2/cf/mailer/usenet.m4 Tue Dec 29 09:42:06 1998 *************** *** 19,25 **** ### USENET Mailer specification ### #################################### ! VERSIONID(`@(#)usenet.m4 8.10 (Berkeley) 5/19/98') Musenet, P=USENET_MAILER_PATH, F=USENET_MAILER_FLAGS, S=10, R=20, _OPTINS(`USENET_MAILER_MAX', `M=', `, ')T=X-Usenet/X-Usenet/X-Unix, --- 19,25 ---- ### USENET Mailer specification ### #################################### ! VERSIONID(`@(#)usenet.m4 8.10 (Berkeley) 5/19/1998') Musenet, P=USENET_MAILER_PATH, F=USENET_MAILER_FLAGS, S=10, R=20, _OPTINS(`USENET_MAILER_MAX', `M=', `, ')T=X-Usenet/X-Usenet/X-Unix, diff -cr sendmail-8.9.1/cf/mailer/uucp.m4 sendmail-8.9.2/cf/mailer/uucp.m4 *** sendmail-8.9.1/cf/mailer/uucp.m4 Tue May 19 16:34:47 1998 --- sendmail-8.9.2/cf/mailer/uucp.m4 Tue Dec 29 09:42:06 1998 *************** *** 22,28 **** ### UUCP Mailer specification ### ##################################### ! VERSIONID(`@(#)uucp.m4 8.30 (Berkeley) 5/19/98') # # There are innumerable variations on the UUCP mailer. It really --- 22,28 ---- ### UUCP Mailer specification ### ##################################### ! VERSIONID(`@(#)uucp.m4 8.30 (Berkeley) 5/19/1998') # # There are innumerable variations on the UUCP mailer. It really diff -cr sendmail-8.9.1/cf/ostype/aix2.m4 sendmail-8.9.2/cf/ostype/aix2.m4 *** sendmail-8.9.1/cf/ostype/aix2.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/aix2.m4 Tue Dec 29 09:42:10 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)aix2.m4 8.8 (Berkeley) 5/19/98') define(`LOCAL_MAILER_PATH', /bin/bellmail)dnl define(`LOCAL_MAILER_ARGS', mail $u)dnl define(`LOCAL_MAILER_FLAGS', `mn9')dnl --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)aix2.m4 8.8 (Berkeley) 5/19/1998') define(`LOCAL_MAILER_PATH', /bin/bellmail)dnl define(`LOCAL_MAILER_ARGS', mail $u)dnl define(`LOCAL_MAILER_FLAGS', `mn9')dnl diff -cr sendmail-8.9.1/cf/ostype/aix3.m4 sendmail-8.9.2/cf/ostype/aix3.m4 *** sendmail-8.9.1/cf/ostype/aix3.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/aix3.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)aix3.m4 8.12 (Berkeley) 5/19/98') ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/bellmail)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', mail $u)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `mn9')')dnl --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)aix3.m4 8.12 (Berkeley) 5/19/1998') ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/bellmail)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', mail $u)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `mn9')')dnl diff -cr sendmail-8.9.1/cf/ostype/aix4.m4 sendmail-8.9.2/cf/ostype/aix4.m4 *** sendmail-8.9.1/cf/ostype/aix4.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/aix4.m4 Tue Dec 29 09:42:10 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)aix4.m4 8.7 (Berkeley) 5/19/98') ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/bellmail)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', mail -F $g $u)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `mn9')')dnl --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)aix4.m4 8.7 (Berkeley) 5/19/1998') ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/bellmail)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', mail -F $g $u)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `mn9')')dnl diff -cr sendmail-8.9.1/cf/ostype/altos.m4 sendmail-8.9.2/cf/ostype/altos.m4 *** sendmail-8.9.1/cf/ostype/altos.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/altos.m4 Tue Dec 29 09:42:10 1998 *************** *** 14,24 **** # divert(0) ! VERSIONID(`@(#)altos.m4 8.9 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', /usr/lib/mail/aliases)dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/bin/lmail)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', mPuhCE9)')dnl --- 14,24 ---- # divert(0) ! VERSIONID(`@(#)altos.m4 8.10 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/mail/aliases'))dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/bin/lmail)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', mPuhCE9)')dnl diff -cr sendmail-8.9.1/cf/ostype/amdahl-uts.m4 sendmail-8.9.2/cf/ostype/amdahl-uts.m4 *** sendmail-8.9.1/cf/ostype/amdahl-uts.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/amdahl-uts.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,23 **** # divert(0) ! VERSIONID(`@(#)amdahl-uts.m4 8.10 (Berkeley) 5/19/98') divert(-1) define(`ALIAS_FILE', /etc/mail/aliases) ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/mail/sendmail.hf)') ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `fSn9')') ! define(`confCW_FILE', /etc/mail/sendmail.cw) define(`confEBINDIR', `/usr/lib')dnl --- 12,23 ---- # divert(0) ! VERSIONID(`@(#)amdahl-uts.m4 8.11 (Berkeley) 10/6/1998') divert(-1) define(`ALIAS_FILE', /etc/mail/aliases) ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/mail/sendmail.hf'))') ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `fSn9')') ! define(`confCW_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/local-host-names', `/etc/mail/sendmail.cw')) define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/aux.m4 sendmail-8.9.2/cf/ostype/aux.m4 *** sendmail-8.9.1/cf/ostype/aux.m4 Tue May 19 16:34:50 1998 --- sendmail-8.9.2/cf/ostype/aux.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,21 **** # divert(0) ! VERSIONID(`@(#)aux.m4 8.10 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', /usr/lib/aliases)dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', mn9)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -d -r $f $u')')dnl --- 12,21 ---- # divert(0) ! VERSIONID(`@(#)aux.m4 8.11 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/aliases'))dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', mn9)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -d -r $f $u')')dnl diff -cr sendmail-8.9.1/cf/ostype/bsd4.3.m4 sendmail-8.9.2/cf/ostype/bsd4.3.m4 *** sendmail-8.9.1/cf/ostype/bsd4.3.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/bsd4.3.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,17 **** # divert(0) ! VERSIONID(`@(#)bsd4.3.m4 8.9 (Berkeley) 5/19/98') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$g $h!rmail ($u)')')dnl --- 12,17 ---- # divert(0) ! VERSIONID(`@(#)bsd4.3.m4 8.9 (Berkeley) 5/19/1998') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$g $h!rmail ($u)')')dnl diff -cr sendmail-8.9.1/cf/ostype/bsd4.4.m4 sendmail-8.9.2/cf/ostype/bsd4.4.m4 *** sendmail-8.9.1/cf/ostype/bsd4.4.m4 Tue May 19 16:34:50 1998 --- sendmail-8.9.2/cf/ostype/bsd4.4.m4 Tue Dec 29 09:42:08 1998 *************** *** 13,20 **** # divert(0) ! VERSIONID(`@(#)bsd4.4.m4 8.9 (Berkeley) 5/19/98') ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/share/misc/sendmail.hf)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /var/log/sendmail.st)')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/libexec/mail.local)')dnl ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$g $h!rmail ($u)')')dnl --- 13,20 ---- # divert(0) ! VERSIONID(`@(#)bsd4.4.m4 8.10 (Berkeley) 10/6/1998') ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/share/misc/sendmail.hf'))')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/var/log/sendmail.st'))')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/libexec/mail.local)')dnl ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$g $h!rmail ($u)')')dnl diff -cr sendmail-8.9.1/cf/ostype/bsdi1.0.m4 sendmail-8.9.2/cf/ostype/bsdi1.0.m4 *** sendmail-8.9.1/cf/ostype/bsdi1.0.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/bsdi1.0.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,16 **** # divert(0) ! VERSIONID(`@(#)bsdi1.0.m4 8.7 (Berkeley) 5/19/98')dnl include(_CF_DIR_`'ostype/bsd4.4.m4)dnl --- 12,16 ---- # divert(0) ! VERSIONID(`@(#)bsdi1.0.m4 8.7 (Berkeley) 5/19/1998')dnl include(_CF_DIR_`'ostype/bsd4.4.m4)dnl diff -cr sendmail-8.9.1/cf/ostype/bsdi2.0.m4 sendmail-8.9.2/cf/ostype/bsdi2.0.m4 *** sendmail-8.9.1/cf/ostype/bsdi2.0.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/bsdi2.0.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,16 **** # divert(0) ! VERSIONID(`@(#)bsdi2.0.m4 8.6 (Berkeley) 5/19/98')dnl include(_CF_DIR_`'ostype/bsd4.4.m4)dnl --- 12,16 ---- # divert(0) ! VERSIONID(`@(#)bsdi2.0.m4 8.6 (Berkeley) 5/19/1998')dnl include(_CF_DIR_`'ostype/bsd4.4.m4)dnl diff -cr sendmail-8.9.1/cf/ostype/dgux.m4 sendmail-8.9.2/cf/ostype/dgux.m4 *** sendmail-8.9.1/cf/ostype/dgux.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/dgux.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)dgux.m4 8.10 (Berkeley) 5/19/98') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', m9)')dnl define(`confTIME_ZONE', `USE_TZ')dnl define(`confEBINDIR', `/usr/lib')dnl --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)dgux.m4 8.10 (Berkeley) 5/19/1998') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', m9)')dnl define(`confTIME_ZONE', `USE_TZ')dnl define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/domainos.m4 sendmail-8.9.2/cf/ostype/domainos.m4 *** sendmail-8.9.1/cf/ostype/domainos.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/domainos.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,21 **** # divert(0) ! VERSIONID(`@(#)domainos.m4 8.9 (Berkeley) 5/19/98') divert(-1) ! define(`ALIAS_FILE', /usr/lib/aliases) ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)') define(`confEBINDIR', `/usr/lib')dnl --- 12,21 ---- # divert(0) ! VERSIONID(`@(#)domainos.m4 8.10 (Berkeley) 10/6/1998') divert(-1) ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/aliases')) ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)') define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/dynix3.2.m4 sendmail-8.9.2/cf/ostype/dynix3.2.m4 *** sendmail-8.9.1/cf/ostype/dynix3.2.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/dynix3.2.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)dynix3.2.m4 8.9 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', /usr/lib/aliases)dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl define(`confEBINDIR', `/usr/lib')dnl --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)dynix3.2.m4 8.10 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/aliases'))dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/gnuhurd.m4 sendmail-8.9.2/cf/ostype/gnuhurd.m4 *** sendmail-8.9.1/cf/ostype/gnuhurd.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/gnuhurd.m4 Tue Dec 29 09:42:10 1998 *************** *** 13,20 **** # divert(0) ! VERSIONID(`@(#)gnuhurd.m4 8.7 (Berkeley) 5/19/98') ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /share/misc/sendmail.hf)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /var/log/sendmail.st)')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /libexec/mail.local)')dnl define(`confEBINDIR', `/libexec')dnl --- 13,20 ---- # divert(0) ! VERSIONID(`@(#)gnuhurd.m4 8.8 (Berkeley) 10/6/1998') ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/share/misc/sendmail.hf'))')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/var/log/sendmail.st'))')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /libexec/mail.local)')dnl define(`confEBINDIR', `/libexec')dnl diff -cr sendmail-8.9.1/cf/ostype/hpux10.m4 sendmail-8.9.2/cf/ostype/hpux10.m4 *** sendmail-8.9.1/cf/ostype/hpux10.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/hpux10.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,23 **** # divert(0) ! VERSIONID(`@(#)hpux10.m4 8.13 (Berkeley) 5/19/98') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl define(`ALIAS_FILE', /etc/mail/aliases)dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /etc/mail/sendmail.st)')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/share/lib/sendmail.hf)')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/bin/rmail)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `m9')')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl --- 12,23 ---- # divert(0) ! VERSIONID(`@(#)hpux10.m4 8.14 (Berkeley) 10/6/1998') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl define(`ALIAS_FILE', /etc/mail/aliases)dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/etc/mail/sendmail.st'))')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/share/lib/sendmail.hf'))')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/bin/rmail)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `m9')')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl diff -cr sendmail-8.9.1/cf/ostype/hpux9.m4 sendmail-8.9.2/cf/ostype/hpux9.m4 *** sendmail-8.9.1/cf/ostype/hpux9.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/hpux9.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,22 **** # divert(0) ! VERSIONID(`@(#)hpux9.m4 8.18 (Berkeley) 5/19/98') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! define(`ALIAS_FILE', /usr/lib/aliases)dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', `/bin/rmail')')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `m9')')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)hpux9.m4 8.19 (Berkeley) 10/6/1998') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/aliases'))dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', `/bin/rmail')')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `m9')')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl diff -cr sendmail-8.9.1/cf/ostype/irix4.m4 sendmail-8.9.2/cf/ostype/irix4.m4 *** sendmail-8.9.1/cf/ostype/irix4.m4 Tue May 19 16:34:50 1998 --- sendmail-8.9.2/cf/ostype/irix4.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,20 **** # divert(0) ! VERSIONID(`@(#)irix4.m4 8.13 (Berkeley) 5/19/98') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehm9)')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! define(`ALIAS_FILE', /usr/lib/aliases)dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl define(`confEBINDIR', `/usr/lib')dnl --- 12,20 ---- # divert(0) ! VERSIONID(`@(#)irix4.m4 8.14 (Berkeley) 10/6/1998') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehm9)')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/aliases'))dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))')dnl define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/irix5.m4 sendmail-8.9.2/cf/ostype/irix5.m4 *** sendmail-8.9.1/cf/ostype/irix5.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/irix5.m4 Tue Dec 29 09:42:09 1998 *************** *** 28,40 **** # divert(0) ! VERSIONID(`@(#)irix5.m4 8.10 (Berkeley) 5/19/98') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehmu9)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -s -d $u')')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl ! define(`ALIAS_FILE', /etc/aliases)dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /var/sendmail.st)')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/sendmail.hf)')dnl define(`confDEF_USER_ID', `998:998')dnl define(`confTIME_ZONE', USE_TZ)dnl define(`confEBINDIR', `/usr/lib')dnl --- 28,40 ---- # divert(0) ! VERSIONID(`@(#)irix5.m4 8.11 (Berkeley) 10/6/1998') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehmu9)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -s -d $u')')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/etc/aliases'))dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/var/sendmail.st'))')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/sendmail.hf'))')dnl define(`confDEF_USER_ID', `998:998')dnl define(`confTIME_ZONE', USE_TZ)dnl define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/irix6.m4 sendmail-8.9.2/cf/ostype/irix6.m4 *** sendmail-8.9.1/cf/ostype/irix6.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/irix6.m4 Tue Dec 29 09:42:10 1998 *************** *** 28,40 **** # divert(0) ! VERSIONID(`@(#)irix6.m4 8.7 (Berkeley) 5/19/98') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehmu9)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -s -d $u')')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl ! define(`ALIAS_FILE', /etc/aliases)dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /var/sendmail.st)')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/sendmail.hf)')dnl define(`confDEF_USER_ID', `998:998')dnl define(`confTIME_ZONE', USE_TZ)dnl define(`confEBINDIR', `/usr/lib')dnl --- 28,40 ---- # divert(0) ! VERSIONID(`@(#)irix6.m4 8.8 (Berkeley) 10/6/1998') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehmu9)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -s -d $u')')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/etc/aliases'))dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/var/sendmail.st'))')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/sendmail.hf'))')dnl define(`confDEF_USER_ID', `998:998')dnl define(`confTIME_ZONE', USE_TZ)dnl define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/isc4.1.m4 sendmail-8.9.2/cf/ostype/isc4.1.m4 *** sendmail-8.9.1/cf/ostype/isc4.1.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/isc4.1.m4 Tue Dec 29 09:42:09 1998 *************** *** 13,26 **** # divert(0) ! VERSIONID(`@(#)isc4.1.m4 8.10 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', /usr/lib/aliases)dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/lib/sendmail.hf)')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `lmail -s $u')')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `humS9')')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/lmail)')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -gC $h!rmail ($u)')')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl define(`confTIME_ZONE', `USE_TZ')dnl --- 13,26 ---- # divert(0) ! VERSIONID(`@(#)isc4.1.m4 8.11 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/aliases'))dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/lib/sendmail.hf'))')dnl ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `lmail -s $u')')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `humS9')')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/lmail)')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))')dnl ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -gC $h!rmail ($u)')')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl define(`confTIME_ZONE', `USE_TZ')dnl diff -cr sendmail-8.9.1/cf/ostype/linux.m4 sendmail-8.9.2/cf/ostype/linux.m4 *** sendmail-8.9.1/cf/ostype/linux.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/linux.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,16 **** # divert(0) ! VERSIONID(`@(#)linux.m4 8.7 (Berkeley) 5/19/98') define(`LOCAL_MAILER_PATH', /bin/mail.local)dnl --- 12,16 ---- # divert(0) ! VERSIONID(`@(#)linux.m4 8.7 (Berkeley) 5/19/1998') define(`LOCAL_MAILER_PATH', /bin/mail.local)dnl diff -cr sendmail-8.9.1/cf/ostype/maxion.m4 sendmail-8.9.2/cf/ostype/maxion.m4 *** sendmail-8.9.1/cf/ostype/maxion.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/maxion.m4 Tue Dec 29 09:42:10 1998 *************** *** 15,26 **** # divert(0) ! VERSIONID(`@(#)maxion.m4 8.10 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', `/etc/ucbmail/aliases')dnl ! define(`HELP_FILE', `/etc/ucbmail/sendmail.hf')dnl define(`QUEUE_DIR', `/var/spool/mqueue')dnl ! define(`STATUS_FILE', `/var/adm/log/sendmail.st')dnl define(`LOCAL_MAILER_PATH', `/usr/bin/mail')dnl define(`LOCAL_MAILER_FLAGS',`rmn9')dnl define(`LOCAL_SHELL_FLAGS', `ehuP')dnl --- 15,26 ---- # divert(0) ! VERSIONID(`@(#)maxion.m4 8.11 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/etc/ucbmail/aliases'))dnl ! define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/ucbmail/sendmail.hf'))dnl define(`QUEUE_DIR', `/var/spool/mqueue')dnl ! define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/var/adm/log/sendmail.st'))dnl define(`LOCAL_MAILER_PATH', `/usr/bin/mail')dnl define(`LOCAL_MAILER_FLAGS',`rmn9')dnl define(`LOCAL_SHELL_FLAGS', `ehuP')dnl diff -cr sendmail-8.9.1/cf/ostype/mklinux.m4 sendmail-8.9.2/cf/ostype/mklinux.m4 *** sendmail-8.9.1/cf/ostype/mklinux.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/mklinux.m4 Tue Dec 29 09:42:10 1998 *************** *** 14,22 **** # divert(0) ! VERSIONID(`@(#)mklinux.m4 8.7 (Berkeley) 5/19/98') ifdef(`STATUS_FILE',, ! `define(`STATUS_FILE', /var/log/sendmail.st)') ifdef(`PROCMAIL_MAILER_PATH',, define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')) FEATURE(local_procmail) --- 14,22 ---- # divert(0) ! VERSIONID(`@(#)mklinux.m4 8.8 (Berkeley) 10/6/1998') ifdef(`STATUS_FILE',, ! `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/var/log/sendmail.st'))') ifdef(`PROCMAIL_MAILER_PATH',, define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')) FEATURE(local_procmail) diff -cr sendmail-8.9.1/cf/ostype/nextstep.m4 sendmail-8.9.2/cf/ostype/nextstep.m4 *** sendmail-8.9.1/cf/ostype/nextstep.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/nextstep.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,22 **** # divert(0) ! VERSIONID(`@(#)nextstep.m4 8.14 (Berkeley) 5/19/98') define(`ALIAS_FILE', /etc/sendmail/aliases)dnl ! define(`confCW_FILE', /etc/sendmail/sendmail.cw)dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/lib/sendmail.hf)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /etc/sendmail/sendmail.st)')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `rmnP9')')dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)nextstep.m4 8.15 (Berkeley) 10/6/1998') define(`ALIAS_FILE', /etc/sendmail/aliases)dnl ! define(`confCW_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/local-host-names', `/etc/sendmail/sendmail.cw'))dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/lib/sendmail.hf'))')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/etc/sendmail/sendmail.st'))')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `rmnP9')')dnl diff -cr sendmail-8.9.1/cf/ostype/osf1.m4 sendmail-8.9.2/cf/ostype/osf1.m4 *** sendmail-8.9.1/cf/ostype/osf1.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/osf1.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,19 **** # divert(0) ! VERSIONID(`@(#)osf1.m4 8.10 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', /usr/adm/sendmail/aliases)dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/adm/sendmail/sendmail.st)')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/share/lib/sendmail.hf)')dnl define(`confDEF_USER_ID', `daemon') --- 12,19 ---- # divert(0) ! VERSIONID(`@(#)osf1.m4 8.11 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/adm/sendmail/aliases'))dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/adm/sendmail/sendmail.st'))')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/share/lib/sendmail.hf'))')dnl define(`confDEF_USER_ID', `daemon') diff -cr sendmail-8.9.1/cf/ostype/powerux.m4 sendmail-8.9.2/cf/ostype/powerux.m4 *** sendmail-8.9.1/cf/ostype/powerux.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/powerux.m4 Tue Dec 29 09:42:10 1998 *************** *** 12,22 **** # divert(0) ! VERSIONID(`@(#)powerux.m4 8.7 (Berkeley) 5/19/98') define(`ALIAS_FILE', /etc/mail/aliases)dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', /etc/mail/sendmail.hf)')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', /etc/mail/sendmail.st)')dnl define(`LOCAL_MAILER_PATH', `/usr/bin/rmail')dnl define(`LOCAL_MAILER_FLAGS', `mn9')dnl define(`LOCAL_MAILER_ARGS', `rmail $u')dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)powerux.m4 8.8 (Berkeley) 10/6/1998') define(`ALIAS_FILE', /etc/mail/aliases)dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/mail/sendmail.hf'))')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/etc/mail/sendmail.st'))')dnl define(`LOCAL_MAILER_PATH', `/usr/bin/rmail')dnl define(`LOCAL_MAILER_FLAGS', `mn9')dnl define(`LOCAL_MAILER_ARGS', `rmail $u')dnl diff -cr sendmail-8.9.1/cf/ostype/ptx2.m4 sendmail-8.9.2/cf/ostype/ptx2.m4 *** sendmail-8.9.1/cf/ostype/ptx2.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/ptx2.m4 Tue Dec 29 09:42:09 1998 *************** *** 14,24 **** # Support for DYNIX/ptx 2.x. divert(0) ! VERSIONID(`@(#)ptx2.m4 8.11 (Berkeley) 5/19/98') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! define(`ALIAS_FILE', /usr/lib/aliases)dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', /usr/lib/sendmail.hf)')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl define(`LOCAL_MAILER_PATH', `/bin/mail')dnl define(`LOCAL_MAILER_FLAGS', `fmn9')dnl define(`LOCAL_SHELL_FLAGS', `eu')dnl --- 14,24 ---- # Support for DYNIX/ptx 2.x. divert(0) ! VERSIONID(`@(#)ptx2.m4 8.12 (Berkeley) 10/6/1998') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/aliases'))dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/lib/sendmail.hf'))')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))')dnl define(`LOCAL_MAILER_PATH', `/bin/mail')dnl define(`LOCAL_MAILER_FLAGS', `fmn9')dnl define(`LOCAL_SHELL_FLAGS', `eu')dnl diff -cr sendmail-8.9.1/cf/ostype/qnx.m4 sendmail-8.9.2/cf/ostype/qnx.m4 *** sendmail-8.9.1/cf/ostype/qnx.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/qnx.m4 Tue Dec 29 09:42:10 1998 *************** *** 12,20 **** # divert(0) ! VERSIONID(`@(#)qnx.m4 8.7 (Berkeley) 5/19/98') define(`QUEUE_DIR', /usr/spool/mqueue)dnl ! define(`HELP_FILE', /etc/sendmail.hf)dnl define(`LOCAL_MAILER_ARGS', `mail $u')dnl define(`LOCAL_MAILER_FLAGS', `Sh')dnl define(`LOCAL_MAILER_PATH', /usr/bin/mailx)dnl --- 12,20 ---- # divert(0) ! VERSIONID(`@(#)qnx.m4 8.8 (Berkeley) 10/6/1998') define(`QUEUE_DIR', /usr/spool/mqueue)dnl ! define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/sendmail.hf'))dnl define(`LOCAL_MAILER_ARGS', `mail $u')dnl define(`LOCAL_MAILER_FLAGS', `Sh')dnl define(`LOCAL_MAILER_PATH', /usr/bin/mailx)dnl diff -cr sendmail-8.9.1/cf/ostype/riscos4.5.m4 sendmail-8.9.2/cf/ostype/riscos4.5.m4 *** sendmail-8.9.1/cf/ostype/riscos4.5.m4 Tue May 19 16:34:50 1998 --- sendmail-8.9.2/cf/ostype/riscos4.5.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,21 **** # divert(0) ! VERSIONID(`@(#)riscos4.5.m4 8.10 (Berkeley) 5/19/98') ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl ! define(`ALIAS_FILE', `/usr/lib/aliases')dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', `/usr/spool/mqueue')')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', `/usr/lib/sendmail.hf')')dnl define(`confEBINDIR', `/usr/lib')dnl --- 12,21 ---- # divert(0) ! VERSIONID(`@(#)riscos4.5.m4 8.11 (Berkeley) 10/6/1998') ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/aliases'))dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', `/usr/spool/mqueue')')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/lib/sendmail.hf'))')dnl define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/sco-uw-2.1.m4 sendmail-8.9.2/cf/ostype/sco-uw-2.1.m4 *** sendmail-8.9.1/cf/ostype/sco-uw-2.1.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/sco-uw-2.1.m4 Tue Dec 29 09:42:10 1998 *************** *** 12,22 **** # Contributed by Christopher Durham of SCO. # divert(0) ! VERSIONID(`@(#)sco-uw-2.1.m4 8.6 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', /usr/lib/mail/aliases)dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', /usr/ucblib/sendmail.hf)')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', /usr/ucblib/sendmail.st)')dnl define(`LOCAL_MAILER_PATH', `/usr/bin/rmail')dnl define(`LOCAL_MAILER_FLAGS', `fhCEn9')dnl define(`LOCAL_SHELL_FLAGS', `ehuP')dnl --- 12,22 ---- # Contributed by Christopher Durham of SCO. # divert(0) ! VERSIONID(`@(#)sco-uw-2.1.m4 8.7 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/mail/aliases'))dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/ucblib/sendmail.hf'))')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/ucblib/sendmail.st'))')dnl define(`LOCAL_MAILER_PATH', `/usr/bin/rmail')dnl define(`LOCAL_MAILER_FLAGS', `fhCEn9')dnl define(`LOCAL_SHELL_FLAGS', `ehuP')dnl diff -cr sendmail-8.9.1/cf/ostype/sco3.2.m4 sendmail-8.9.2/cf/ostype/sco3.2.m4 *** sendmail-8.9.1/cf/ostype/sco3.2.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/sco3.2.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,21 **** # divert(0) ! VERSIONID(`@(#)sco3.2.m4 8.10 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', /usr/lib/mail/aliases)dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/bin/lmail)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', PuhCE9)')dnl --- 12,21 ---- # divert(0) ! VERSIONID(`@(#)sco3.2.m4 8.11 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/lib/mail/aliases'))dnl ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/lib/sendmail.st'))')dnl ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/bin/lmail)')dnl ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', PuhCE9)')dnl diff -cr sendmail-8.9.1/cf/ostype/sinix.m4 sendmail-8.9.2/cf/ostype/sinix.m4 *** sendmail-8.9.1/cf/ostype/sinix.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/sinix.m4 Tue Dec 29 09:42:10 1998 *************** *** 12,21 **** # divert(0) ! VERSIONID(`@(#)sinix.m4 8.8 (Berkeley) 5/19/98') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl ! define(`ALIAS_FILE', /etc/aliases)dnl define(`LOCAL_MAILER_PATH', `/bin/mail.local')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /var/sendmail.st)')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/sendmail.hf)')dnl define(`confEBINDIR', `/usr/ucblib')dnl --- 12,21 ---- # divert(0) ! VERSIONID(`@(#)sinix.m4 8.9 (Berkeley) 10/6/1998') ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/etc/aliases'))dnl define(`LOCAL_MAILER_PATH', `/bin/mail.local')dnl ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/var/sendmail.st'))')dnl ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/sendmail.hf'))')dnl define(`confEBINDIR', `/usr/ucblib')dnl diff -cr sendmail-8.9.1/cf/ostype/solaris2.m4 sendmail-8.9.2/cf/ostype/solaris2.m4 *** sendmail-8.9.1/cf/ostype/solaris2.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/solaris2.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,25 **** # divert(0) ! VERSIONID(`@(#)solaris2.m4 8.15 (Berkeley) 5/19/98') divert(-1) define(`ALIAS_FILE', /etc/mail/aliases) ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/mail/sendmail.hf)') ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /etc/mail/sendmail.st)') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `SnE9')') ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -f $g -d $u')') ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g $h!rmail ($u)')') ! define(`confCW_FILE', /etc/mail/sendmail.cw) define(`confEBINDIR', `/usr/lib')dnl --- 12,25 ---- # divert(0) ! VERSIONID(`@(#)solaris2.m4 8.16 (Berkeley) 10/6/1998') divert(-1) define(`ALIAS_FILE', /etc/mail/aliases) ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/mail/sendmail.hf'))') ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/etc/mail/sendmail.st'))') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `SnE9')') ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -f $g -d $u')') ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g $h!rmail ($u)')') ! define(`confCW_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/local-host-names', `/etc/mail/sendmail.cw')) define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/solaris2.ml.m4 sendmail-8.9.2/cf/ostype/solaris2.ml.m4 *** sendmail-8.9.1/cf/ostype/solaris2.ml.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/solaris2.ml.m4 Tue Dec 29 09:42:10 1998 *************** *** 16,30 **** # divert(0) ! VERSIONID(`@(#)solaris2.ml.m4 8.8 (Berkeley) 5/19/98') divert(-1) define(`ALIAS_FILE', /etc/mail/aliases) ! ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/mail/sendmail.hf)') ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /etc/mail/sendmail.st)') ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', `/usr/lib/mail.local')') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `fSmn9')') ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail.local -d $u')') ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g $h!rmail ($u)')') ! define(`confCW_FILE', /etc/mail/sendmail.cw) define(`confEBINDIR', `/usr/lib')dnl --- 16,30 ---- # divert(0) ! VERSIONID(`@(#)solaris2.ml.m4 8.9 (Berkeley) 10/6/1998') divert(-1) define(`ALIAS_FILE', /etc/mail/aliases) ! ifdef(`HELP_FILE',, `define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/etc/mail/sendmail.hf'))') ! ifdef(`STATUS_FILE',, `define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/etc/mail/sendmail.st'))') ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', `/usr/lib/mail.local')') ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `fSmn9')') ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail.local -d $u')') ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g $h!rmail ($u)')') ! define(`confCW_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/local-host-names', `/etc/mail/sendmail.cw')) define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/sunos3.5.m4 sendmail-8.9.2/cf/ostype/sunos3.5.m4 *** sendmail-8.9.1/cf/ostype/sunos3.5.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/sunos3.5.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,17 **** # divert(0) ! VERSIONID(`@(#)sunos3.5.m4 8.7 (Berkeley) 5/19/98') define(`confEBINDIR', `/usr/lib')dnl --- 12,17 ---- # divert(0) ! VERSIONID(`@(#)sunos3.5.m4 8.7 (Berkeley) 5/19/1998') define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/sunos4.1.m4 sendmail-8.9.2/cf/ostype/sunos4.1.m4 *** sendmail-8.9.1/cf/ostype/sunos4.1.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/sunos4.1.m4 Tue Dec 29 09:42:08 1998 *************** *** 12,17 **** # divert(0) ! VERSIONID(`@(#)sunos4.1.m4 8.7 (Berkeley) 5/19/98') define(`confEBINDIR', `/usr/lib')dnl --- 12,17 ---- # divert(0) ! VERSIONID(`@(#)sunos4.1.m4 8.7 (Berkeley) 5/19/1998') define(`confEBINDIR', `/usr/lib')dnl diff -cr sendmail-8.9.1/cf/ostype/svr4.m4 sendmail-8.9.2/cf/ostype/svr4.m4 *** sendmail-8.9.1/cf/ostype/svr4.m4 Tue May 19 16:34:51 1998 --- sendmail-8.9.2/cf/ostype/svr4.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,22 **** # divert(0) ! VERSIONID(`@(#)svr4.m4 8.10 (Berkeley) 5/19/98') ! define(`ALIAS_FILE', /usr/ucblib/aliases)dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', /usr/ucblib/sendmail.hf)')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', /usr/ucblib/sendmail.st)')dnl define(`LOCAL_MAILER_PATH', `/usr/ucblib/binmail')dnl define(`LOCAL_MAILER_FLAGS', `rmn9')dnl define(`LOCAL_SHELL_FLAGS', `ehuP')dnl --- 12,22 ---- # divert(0) ! VERSIONID(`@(#)svr4.m4 8.11 (Berkeley) 10/6/1998') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/ucblib/aliases'))dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/ucblib/sendmail.hf'))')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/ucblib/sendmail.st'))')dnl define(`LOCAL_MAILER_PATH', `/usr/ucblib/binmail')dnl define(`LOCAL_MAILER_FLAGS', `rmn9')dnl define(`LOCAL_SHELL_FLAGS', `ehuP')dnl diff -cr sendmail-8.9.1/cf/ostype/ultrix4.m4 sendmail-8.9.2/cf/ostype/ultrix4.m4 *** sendmail-8.9.1/cf/ostype/ultrix4.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/ultrix4.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,17 **** # divert(0) ! VERSIONID(`@(#)ultrix4.m4 8.8 (Berkeley) 5/19/98') define(`confEBINDIR', `/usr/lib')dnl --- 12,17 ---- # divert(0) ! VERSIONID(`@(#)ultrix4.m4 8.8 (Berkeley) 5/19/1998') define(`confEBINDIR', `/usr/lib')dnl Only in sendmail-8.9.2/cf/ostype: unixware7.m4 diff -cr sendmail-8.9.1/cf/ostype/unknown.m4 sendmail-8.9.2/cf/ostype/unknown.m4 *** sendmail-8.9.1/cf/ostype/unknown.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/unknown.m4 Tue Dec 29 09:42:09 1998 *************** *** 12,18 **** # divert(0) ! VERSIONID(`@(#)unknown.m4 8.6 (Berkeley) 5/19/98') errprint(`*** ERROR: You have not specified a valid operating system type.') errprint(` Use the OSTYPE macro to select a valid system type. This') errprint(` is necessary in order to get the proper pathnames and flags') --- 12,18 ---- # divert(0) ! VERSIONID(`@(#)unknown.m4 8.6 (Berkeley) 5/19/1998') errprint(`*** ERROR: You have not specified a valid operating system type.') errprint(` Use the OSTYPE macro to select a valid system type. This') errprint(` is necessary in order to get the proper pathnames and flags') diff -cr sendmail-8.9.1/cf/ostype/uxpds.m4 sendmail-8.9.2/cf/ostype/uxpds.m4 *** sendmail-8.9.1/cf/ostype/uxpds.m4 Tue May 19 16:34:52 1998 --- sendmail-8.9.2/cf/ostype/uxpds.m4 Tue Dec 29 09:42:10 1998 *************** *** 15,26 **** # divert(0) ! VERSIONID(`@(#)uxpds.m4 8.9 (Berkeley) 5/19/98') define(`confDEF_GROUP_ID', `6') ! define(`ALIAS_FILE', /usr/ucblib/aliases)dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', /usr/ucblib/sendmail.hf)')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', /usr/ucblib/sendmail.st)')dnl define(`LOCAL_MAILER_PATH', `/usr/ucblib/binmail')dnl define(`LOCAL_MAILER_FLAGS', `rmn9')dnl define(`LOCAL_SHELL_FLAGS', `ehuP')dnl --- 15,26 ---- # divert(0) ! VERSIONID(`@(#)uxpds.m4 8.10 (Berkeley) 10/6/1998') define(`confDEF_GROUP_ID', `6') ! define(`ALIAS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/aliases', `/usr/ucblib/aliases'))dnl ! ifdef(`HELP_FILE',,`define(`HELP_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/helpfile', `/usr/ucblib/sendmail.hf'))')dnl ! ifdef(`STATUS_FILE',,`define(`STATUS_FILE', ifdef(`_USE_ETC_MAIL_', `/etc/mail/statistics', `/usr/ucblib/sendmail.st'))')dnl define(`LOCAL_MAILER_PATH', `/usr/ucblib/binmail')dnl define(`LOCAL_MAILER_FLAGS', `rmn9')dnl define(`LOCAL_SHELL_FLAGS', `ehuP')dnl diff -cr sendmail-8.9.1/cf/sh/makeinfo.sh sendmail-8.9.2/cf/sh/makeinfo.sh *** sendmail-8.9.1/cf/sh/makeinfo.sh Tue May 19 16:34:55 1998 --- sendmail-8.9.2/cf/sh/makeinfo.sh Tue Dec 29 09:42:07 1998 *************** *** 10,16 **** # the sendmail distribution. # # ! # @(#)makeinfo.sh 8.11 (Berkeley) 5/19/98 # usewhoami=0 --- 10,16 ---- # the sendmail distribution. # # ! # @(#)makeinfo.sh 8.11 (Berkeley) 5/19/1998 # usewhoami=0 Only in sendmail-8.9.2/contrib: smcontrol.pl diff -cr sendmail-8.9.1/doc/changes/Makefile sendmail-8.9.2/doc/changes/Makefile *** sendmail-8.9.1/doc/changes/Makefile Tue May 19 16:35:13 1998 --- sendmail-8.9.2/doc/changes/Makefile Tue Dec 29 09:42:03 1998 *************** *** 1,4 **** ! # @(#)Makefile 8.1 (Berkeley) 4/13/94 DIR= smm/09.sendmail SRCS= changes.me --- 1,4 ---- ! # @(#)Makefile 8.1 (Berkeley) 4/13/1994 DIR= smm/09.sendmail SRCS= changes.me diff -cr sendmail-8.9.1/doc/changes/changes.me sendmail-8.9.2/doc/changes/changes.me *** sendmail-8.9.1/doc/changes/changes.me Tue May 19 16:35:13 1998 --- sendmail-8.9.2/doc/changes/changes.me Tue Dec 29 09:42:03 1998 *************** *** 8,14 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)changes.me 8.7 (Berkeley) 5/19/98 .\" .\" ditroff -me -Pxx changes.me .eh '%''Changes in Sendmail Version 8' --- 8,14 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)changes.me 8.7 (Berkeley) 5/19/1998 .\" .\" ditroff -me -Pxx changes.me .eh '%''Changes in Sendmail Version 8' diff -cr sendmail-8.9.1/doc/intro/Makefile sendmail-8.9.2/doc/intro/Makefile *** sendmail-8.9.1/doc/intro/Makefile Tue May 19 16:35:15 1998 --- sendmail-8.9.2/doc/intro/Makefile Tue Dec 29 09:42:01 1998 *************** *** 1,4 **** ! # @(#)Makefile 8.2 (Berkeley) 2/28/94 DIR= smm/09.sendmail SRCS= intro.me --- 1,4 ---- ! # @(#)Makefile 8.2 (Berkeley) 2/28/1994 DIR= smm/09.sendmail SRCS= intro.me diff -cr sendmail-8.9.1/doc/intro/intro.me sendmail-8.9.2/doc/intro/intro.me *** sendmail-8.9.1/doc/intro/intro.me Tue May 19 16:35:15 1998 --- sendmail-8.9.2/doc/intro/intro.me Tue Dec 29 09:42:01 1998 *************** *** 8,14 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)intro.me 8.7 (Berkeley) 5/19/98 .\" .\" pic -Pxx intro.me | ditroff -me -Pxx .eh 'SMM:9-%''SENDMAIL \*- An Internetwork Mail Router' --- 8,14 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)intro.me 8.7 (Berkeley) 5/19/1998 .\" .\" pic -Pxx intro.me | ditroff -me -Pxx .eh 'SMM:9-%''SENDMAIL \*- An Internetwork Mail Router' diff -cr sendmail-8.9.1/doc/op/Makefile sendmail-8.9.2/doc/op/Makefile *** sendmail-8.9.1/doc/op/Makefile Tue May 19 16:35:17 1998 --- sendmail-8.9.2/doc/op/Makefile Tue Dec 29 09:42:02 1998 *************** *** 1,4 **** ! # @(#)Makefile 8.2 (Berkeley) 2/28/94 DIR= smm/08.sendmailop SRCS= op.me --- 1,4 ---- ! # @(#)Makefile 8.2 (Berkeley) 2/28/1994 DIR= smm/08.sendmailop SRCS= op.me diff -cr sendmail-8.9.1/doc/op/op.me sendmail-8.9.2/doc/op/op.me *** sendmail-8.9.1/doc/op/op.me Mon Jun 29 17:09:19 1998 --- sendmail-8.9.2/doc/op/op.me Tue Dec 29 09:42:02 1998 *************** *** 8,14 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)op.me 8.129 (Berkeley) 6/29/98 .\" .\" eqn op.me | pic | troff -me .eh 'SMM:08-%''Sendmail Installation and Operation Guide' --- 8,14 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)op.me 8.134 (Berkeley) 9/16/1998 .\" .\" eqn op.me | pic | troff -me .eh 'SMM:08-%''Sendmail Installation and Operation Guide' *************** *** 46,52 **** Sendmail, Inc. eric@Sendmail.COM .sp ! Version 8.129 .sp For Sendmail Version 8.9 .)l --- 46,52 ---- Sendmail, Inc. eric@Sendmail.COM .sp ! Version 8.134 .sp For Sendmail Version 8.9 .)l *************** *** 259,265 **** For now, see the file BuildTools/README for details.) .sh 3 "Tweaking the Makefile" .pp ! .b "XXX This should all be in the Site Configuration File section." .i Sendmail supports two different formats for the local (on disk) version of databases, --- 259,265 ---- For now, see the file BuildTools/README for details.) .sh 3 "Tweaking the Makefile" .pp ! .\" .b "XXX This should all be in the Site Configuration File section." .i Sendmail supports two different formats for the local (on disk) version of databases, *************** *** 1157,1163 **** .)f .pp If the underlying operating system does not support a service switch ! (e.g., SunOS, HP-UX, BSD) then .i sendmail will provide a stub implementation. --- 1157,1163 ---- .)f .pp If the underlying operating system does not support a service switch ! (e.g., SunOS 4.X, HP-UX, BSD) then .i sendmail will provide a stub implementation. *************** *** 2083,2088 **** --- 2083,2090 ---- .(f \**On some systems the default is zero to turn the protocol off entirely. .)f + .ip fileopen + The timeout for opening .forward and :include: files [60s, none]. .ip hoststatus How long status information about a host (e.g., host down) *************** *** 2731,2737 **** service for user name lookups by .i getpwname ). .pp ! However, some systems (such as SunOS) will do DNS lookups regardless of the setting of the service switch entry. In particular, the system routine --- 2733,2739 ---- service for user name lookups by .i getpwname ). .pp ! However, some systems (such as SunOS 4.X) will do DNS lookups regardless of the setting of the service switch entry. In particular, the system routine *************** *** 2823,2829 **** .pp To completely turn off all name server access on systems without service switch support ! (such as SunOS) you will have to recompile with \-DNAMED_BIND=0 and remove \-lresolv from the list of libraries to be searched --- 2825,2831 ---- .pp To completely turn off all name server access on systems without service switch support ! (such as SunOS 4.X) you will have to recompile with \-DNAMED_BIND=0 and remove \-lresolv from the list of libraries to be searched *************** *** 3674,3680 **** or whatever is appropriate for the receiving mailer. .ip $h The recipient host. ! This is set in ruleset 0 from the $# field of a parsed address. .ip $i The queue id, e.g., --- 3676,3682 ---- or whatever is appropriate for the receiving mailer. .ip $h The recipient host. ! This is set in ruleset 0 from the $@ field of a parsed address. .ip $i The queue id, e.g., *************** *** 3788,3793 **** --- 3790,3798 ---- Defined in the SMTP server only. .ip ${client_name} The host name of the SMTP client. + This may be the client's bracketed IP address + in the form [ nnn.nnn.nnn.nnn ] if the client's + IP address is not resolvable. Defined in the SMTP server only. .ip ${client_port} The port number of the SMTP client. *************** *** 4599,4604 **** --- 4604,4610 ---- if so, the first rewriting set is applied to envelope addresses and the second is applied to headers. + Setting any value zero disables corresponding mailer-specific rewriting. .pp The Directory is actually a colon-separated path of directories to try. *************** *** 6123,6129 **** as of this writing version 8 config files (specifically, 8.9) ! used version level 7 configurations. .pp .q Old configuration files are defined as version level one. --- 6129,6135 ---- as of this writing version 8 config files (specifically, 8.9) ! used version level 8 configurations. .pp .q Old configuration files are defined as version level one. *************** *** 6218,6223 **** --- 6224,6233 ---- commands) was assumed. .pp + Version level eight configuration files allow + .b $# + on the left hand side of ruleset lines. + .pp The .b V line may have an optional *************** *** 6516,6522 **** .b $| or the string specified with the the .b \-d ! flag. The flags availble for the map are .(b -n not -f case sensitive --- 6526,6532 ---- .b $| or the string specified with the the .b \-d ! flag. The flags available for the map are .(b -n not -f case sensitive *************** *** 6529,6535 **** replace/discard value .)b The ! .b \-s flag can include an optional parameter which can be used to select the substrings in the result of the lookup. For example, .(b -s1,3,4 --- 6539,6546 ---- replace/discard value .)b The ! .b \-s ! flag can include an optional parameter which can be used to select the substrings in the result of the lookup. For example, .(b -s1,3,4 *************** *** 8178,8184 **** used during queue file rebuild. .ip /var/spool/mqueue/xf* A transcript of the current session. ! .if e \ \{\ . bp . rs --- 8189,8195 ---- used during queue file rebuild. .ip /var/spool/mqueue/xf* A transcript of the current session. ! .if o \ \{\ . bp . rs *************** *** 8202,8208 **** .\".sz 10 .\"Eric Allman .\".sp ! .\"Version 8.129 .\".ce 0 .bp 3 .ce --- 8213,8219 ---- .\".sz 10 .\"Eric Allman .\".sp ! .\"Version 8.134 .\".ce 0 .bp 3 .ce *************** *** 8224,8226 **** --- 8235,8246 ---- .rm ef .rm of .xp + .if o \ + \{\ + . bp + . rs + . sp |4i + . ce 2 + This page intentionally left blank; + replace it with a blank sheet for double-sided output. + .\} diff -cr sendmail-8.9.1/doc/usenix/Makefile sendmail-8.9.2/doc/usenix/Makefile *** sendmail-8.9.1/doc/usenix/Makefile Tue May 19 16:35:26 1998 --- sendmail-8.9.2/doc/usenix/Makefile Tue Dec 29 09:42:02 1998 *************** *** 1,4 **** ! # @(#)Makefile 8.2 (Berkeley) 2/28/94 SRCS= usenix.me MACROS= -me --- 1,4 ---- ! # @(#)Makefile 8.2 (Berkeley) 2/28/1994 SRCS= usenix.me MACROS= -me diff -cr sendmail-8.9.1/doc/usenix/usenix.me sendmail-8.9.2/doc/usenix/usenix.me *** sendmail-8.9.1/doc/usenix/usenix.me Tue May 19 16:35:26 1998 --- sendmail-8.9.2/doc/usenix/usenix.me Tue Dec 29 09:42:02 1998 *************** *** 1,6 **** .nr si 3n .he 'Mail Systems and Addressing in 4.2bsd''%' ! .fo 'Version 8.2'USENIX \- Jan 83'Last Mod 11/27/93' .if n .ls 2 .+c .(l C --- 1,6 ---- .nr si 3n .he 'Mail Systems and Addressing in 4.2bsd''%' ! .fo 'Version 8.2'USENIX \- Jan 83'Last Mod 11/27/1993' .if n .ls 2 .+c .(l C diff -cr sendmail-8.9.1/mail.local/Makefile.m4 sendmail-8.9.2/mail.local/Makefile.m4 *** sendmail-8.9.1/mail.local/Makefile.m4 Thu Jun 4 14:27:14 1998 --- sendmail-8.9.2/mail.local/Makefile.m4 Tue Dec 29 09:43:05 1998 *************** *** 1,7 **** # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.21 (Berkeley) 6/4/98 # # C compiler --- 1,7 ---- # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.22 (Berkeley) 7/12/1998 # # C compiler *************** *** 34,40 **** LIBS= ifdef(`confLIBS', `confLIBS') # location of mail.local binary (usually /usr/sbin or /usr/etc) ! BINDIR= ${DESTDIR}ifdef(`confEBINDIR', `confEBINDIR', `/usr/libexec') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') --- 34,40 ---- LIBS= ifdef(`confLIBS', `confLIBS') # location of mail.local binary (usually /usr/sbin or /usr/etc) ! EBINDIR=${DESTDIR}ifdef(`confEBINDIR', `confEBINDIR', `/usr/libexec') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') *************** *** 91,97 **** force-install: install-mail.local install-docs install-mail.local: mail.local ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} mail.local ${BINDIR} install-docs: mail.local.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', --- 91,97 ---- force-install: install-mail.local install-docs install-mail.local: mail.local ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} mail.local ${EBINDIR} install-docs: mail.local.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', diff -cr sendmail-8.9.1/mail.local/README sendmail-8.9.2/mail.local/README *** sendmail-8.9.1/mail.local/README Tue May 19 16:35:36 1998 --- sendmail-8.9.2/mail.local/README Tue Dec 29 09:43:05 1998 *************** *** 1,4 **** ! # @(#)README 8.1 (Berkeley) 2/17/98 This directory contains the source files for mail.local. --- 1,4 ---- ! # @(#)README 8.1 (Berkeley) 2/17/1998 This directory contains the source files for mail.local. diff -cr sendmail-8.9.1/mail.local/mail.local.8 sendmail-8.9.2/mail.local/mail.local.8 *** sendmail-8.9.1/mail.local/mail.local.8 Tue May 19 16:35:35 1998 --- sendmail-8.9.2/mail.local/mail.local.8 Tue Dec 29 09:43:05 1998 *************** *** 7,13 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)mail.local.8 8.7 (Berkeley) 5/19/98 .\" .Dd May 19, 1998 .Dt MAIL.LOCAL 8 --- 7,13 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)mail.local.8 8.7 (Berkeley) 5/19/1998 .\" .Dd May 19, 1998 .Dt MAIL.LOCAL 8 diff -cr sendmail-8.9.1/mail.local/mail.local.c sendmail-8.9.2/mail.local/mail.local.c *** sendmail-8.9.1/mail.local/mail.local.c Tue May 19 16:41:42 1998 --- sendmail-8.9.2/mail.local/mail.local.c Tue Dec 29 09:42:53 1998 *************** *** 1,4 **** ! /*- * Copyright (c) 1998 Sendmail, Inc. All rights reserved. * Copyright (c) 1990, 1993, 1994 * The Regents of the University of California. All rights reserved. --- 1,4 ---- ! /* * Copyright (c) 1998 Sendmail, Inc. All rights reserved. * Copyright (c) 1990, 1993, 1994 * The Regents of the University of California. All rights reserved. *************** *** 16,22 **** #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)mail.local.c 8.78 (Berkeley) 5/19/98"; #endif /* not lint */ /* --- 16,22 ---- #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)mail.local.c 8.83 (Berkeley) 12/17/1998"; #endif /* not lint */ /* *************** *** 102,108 **** # define USE_VSYSLOG 0 #endif ! #if defined(NeXT) # include # define _PATH_MAILDIR "/usr/spool/mail" # define __dead /* empty */ --- 102,108 ---- # define USE_VSYSLOG 0 #endif ! #if defined(NeXT) && !defined(__APPLE__) # include # define _PATH_MAILDIR "/usr/spool/mail" # define __dead /* empty */ *************** *** 216,233 **** # define S_ISREG(mode) (((mode) & _S_IFMT) == S_IFREG) #endif int eval = EX_OK; /* sysexits.h error value. */ int lmtpmode = 0; u_char tTdvect[100]; void deliver __P((int, char *)); void e_to_sys __P((int)); - __dead void err __P((const char *, ...)); void notifybiff __P((char *)); int store __P((char *, int)); void usage __P((void)); void vwarn __P((const char *, _BSD_VA_LIST_)); - void warn __P((const char *, ...)); void lockmbox __P((char *)); void unlockmbox __P((void)); void mailerr __P((const char *, const char *, ...)); --- 216,235 ---- # define S_ISREG(mode) (((mode) & _S_IFMT) == S_IFREG) #endif + #ifndef MAILER_DAEMON + # define MAILER_DAEMON "MAILER-DAEMON" + #endif + int eval = EX_OK; /* sysexits.h error value. */ int lmtpmode = 0; u_char tTdvect[100]; void deliver __P((int, char *)); void e_to_sys __P((int)); void notifybiff __P((char *)); int store __P((char *, int)); void usage __P((void)); void vwarn __P((const char *, _BSD_VA_LIST_)); void lockmbox __P((char *)); void unlockmbox __P((void)); void mailerr __P((const char *, const char *, ...)); *************** *** 266,272 **** case 'f': case 'r': /* Backward compatible. */ if (from != NULL) { ! warn("multiple -f options"); usage(); } from = optarg; --- 268,274 ---- case 'f': case 'r': /* Backward compatible. */ if (from != NULL) { ! mailerr(NULL, "multiple -f options"); usage(); } from = optarg; *************** *** 336,342 **** return NULL; } else { while ((isascii(*p) && isalnum(*p)) || ! *p == '.' || *p == '-') p++; } if (*p == ',' && p[1] == '@') --- 338,344 ---- return NULL; } else { while ((isascii(*p) && isalnum(*p)) || ! strchr(".-_", *p)) p++; } if (*p == ',' && p[1] == '@') *************** *** 347,352 **** --- 349,356 ---- return NULL; } + s = p; + /* local-part */ if (*p == '\"') { p++; *************** *** 386,392 **** return NULL; } else { while ((isascii(*p) && isalnum(*p)) || ! *p == '.' || *p == '-') p++; } } --- 390,396 ---- return NULL; } else { while ((isascii(*p) && isalnum(*p)) || ! strchr(".-_", *p)) p++; } } *************** *** 396,401 **** --- 400,410 ---- if (*p && *p != ' ') return NULL; len = p - s - 1; + if (*s == '\0' || len <= 0) + { + s = MAILER_DAEMON; + len = strlen(s); + } p = malloc(len + 1); if (p == NULL) { *************** *** 581,587 **** char *from; int lmtprcpts; { ! FILE *fp; time_t tval; int fd, eline; char line[2048]; --- 590,596 ---- char *from; int lmtprcpts; { ! FILE *fp = NULL; time_t tval; int fd, eline; char line[2048]; *************** *** 593,600 **** printf("451 4.3.0 unable to open temporary file\r\n"); return -1; } else { ! e_to_sys(errno); ! err("unable to open temporary file"); } } (void)unlink(tmpbuf); --- 602,609 ---- printf("451 4.3.0 unable to open temporary file\r\n"); return -1; } else { ! mailerr("451 4.3.0", "unable to open temporary file"); ! exit(eval); } } (void)unlink(tmpbuf); *************** *** 609,621 **** line[0] = '\0'; for (eline = 1; fgets(line, sizeof(line), stdin);) { ! if (line[strlen(line)-2] == '\r') { ! strcpy(line+strlen(line)-2, "\n"); } if (lmtprcpts && line[0] == '.') { if (line[1] == '\n') goto lmtpdot; ! strcpy(line, line+1); } if (line[0] == '\n') eline = 1; --- 618,638 ---- line[0] = '\0'; for (eline = 1; fgets(line, sizeof(line), stdin);) { ! size_t line_len = strlen(line); ! ! if (line_len >= 2 && ! line[line_len - 2] == '\r' && ! line[line_len - 1] == '\n') { ! strcpy(line + line_len - 2, "\n"); } if (lmtprcpts && line[0] == '.') { + char *src = line + 1, *dest = line; + if (line[1] == '\n') goto lmtpdot; ! while (*src != '\0') ! *dest++ = *src++; ! *dest = '\0'; } if (line[0] == '\n') eline = 1; *************** *** 634,641 **** fclose(fp); return -1; } else { ! e_to_sys(errno); ! err("temporary file write error"); } } } --- 651,660 ---- fclose(fp); return -1; } else { ! mailerr("451 4.3.0", ! "temporary file write error"); ! fclose(fp); ! exit(eval); } } } *************** *** 662,669 **** fclose(fp); return -1; } else { ! e_to_sys(errno); ! err("temporary file write error"); } } return (fd); --- 681,689 ---- fclose(fp); return -1; } else { ! mailerr("451 4.3.0", "temporary file write error"); ! fclose(fp); ! exit(eval); } } return (fd); *************** *** 697,703 **** } } else { ! warn("unknown name: %s", name); } return; } --- 717,729 ---- } } else { ! char *errcode = NULL; ! ! if (eval == EX_TEMPFAIL) ! errcode = "451 4.3.0"; ! else ! errcode = "550 5.1.1"; ! mailerr(errcode, "unknown name: %s", name); } return; } *************** *** 752,758 **** if (lstat(path, &sb) < 0) { eval = EX_CANTCREAT; ! warn("%s: lstat: file changed after open", path); goto err1; } else --- 778,785 ---- if (lstat(path, &sb) < 0) { eval = EX_CANTCREAT; ! mailerr("550 5.2.0", ! "%s: lstat: file changed after open", path); goto err1; } else *************** *** 791,797 **** #endif sb.st_uid != fsb.st_uid) { eval = EX_TEMPFAIL; ! warn("%s: fstat: file changed after open", path); goto err1; } --- 818,825 ---- #endif sb.st_uid != fsb.st_uid) { eval = EX_TEMPFAIL; ! mailerr("550 5.2.0", "%s: fstat: file changed after open", ! path); goto err1; } *************** *** 842,850 **** --- 870,881 ---- mailerr("450 4.2.0", "%s: %s", path, strerror(errno)); err3: if (setreuid(0, 0) < 0) { + #if 0 + /* already printed an error above for this recipient */ e_to_sys(errno); mailerr("450 4.2.0", "setreuid(0, 0): %s", strerror(errno)); + #endif } #ifdef DEBUG printf("reset euid = %d\n", geteuid()); *************** *** 947,953 **** if ((sp = getservbyname("biff", "udp")) == NULL) return; if ((hp = gethostbyname("localhost")) == NULL) { - warn("localhost: %s", strerror(errno)); return; } addr.sin_family = hp->h_addrtype; --- 978,983 ---- *************** *** 955,974 **** addr.sin_port = sp->s_port; } if (f < 0 && (f = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { - warn("socket: %s", strerror(errno)); return; } len = strlen(msg) + 1; ! if (sendto(f, msg, len, 0, (struct sockaddr *)&addr, sizeof(addr)) ! != len) ! warn("sendto biff: %s", strerror(errno)); } void usage() { eval = EX_USAGE; ! err("usage: mail.local [-l] [-f from] user ..."); } void --- 985,1002 ---- addr.sin_port = sp->s_port; } if (f < 0 && (f = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { return; } len = strlen(msg) + 1; ! (void) sendto(f, msg, len, 0, (struct sockaddr *)&addr, sizeof(addr)); } void usage() { eval = EX_USAGE; ! mailerr(NULL, "usage: mail.local [-l] [-f from] user ..."); ! exit(eval); } void *************** *** 990,996 **** #endif if (lmtpmode) { ! printf("%s ", hdr); vprintf(fmt, ap); printf("\r\n"); } --- 1018,1025 ---- #endif if (lmtpmode) { ! if (hdr != NULL) ! printf("%s ", hdr); vprintf(fmt, ap); printf("\r\n"); } *************** *** 999,1047 **** e_to_sys(errno); vwarn(fmt, ap); } - } - - #ifdef __STDC__ - void - err(const char *fmt, ...) - #else - void - err(fmt, va_alist) - const char *fmt; - va_dcl - #endif - { - va_list ap; - - #ifdef __STDC__ - va_start(ap, fmt); - #else - va_start(ap); - #endif - vwarn(fmt, ap); - va_end(ap); - - exit(eval); - } - - void - #ifdef __STDC__ - warn(const char *fmt, ...) - #else - warn(fmt, va_alist) - const char *fmt; - va_dcl - #endif - { - va_list ap; - - #ifdef __STDC__ - va_start(ap, fmt); - #else - va_start(ap); - #endif - vwarn(fmt, ap); - va_end(ap); } void --- 1028,1033 ---- diff -cr sendmail-8.9.1/mail.local/pathnames.h sendmail-8.9.2/mail.local/pathnames.h *** sendmail-8.9.1/mail.local/pathnames.h Tue May 19 16:35:35 1998 --- sendmail-8.9.2/mail.local/pathnames.h Tue Dec 29 09:42:53 1998 *************** *** 8,14 **** * the sendmail distribution. * * ! * @(#)pathnames.h 8.5 (Berkeley) 5/19/98 */ #include --- 8,14 ---- * the sendmail distribution. * * ! * @(#)pathnames.h 8.5 (Berkeley) 5/19/1998 */ #include diff -cr sendmail-8.9.1/mailstats/Makefile.m4 sendmail-8.9.2/mailstats/Makefile.m4 *** sendmail-8.9.1/mailstats/Makefile.m4 Mon Jun 8 14:06:48 1998 --- sendmail-8.9.2/mailstats/Makefile.m4 Tue Dec 29 09:42:01 1998 *************** *** 1,7 **** # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.14 (Berkeley) 6/4/98 # # C compiler --- 1,7 ---- # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.15 (Berkeley) 7/12/1998 # # C compiler *************** *** 34,40 **** LIBS= ifdef(`confLIBS', `confLIBS') # location of mailstats binary (usually /usr/sbin or /usr/etc) ! BINDIR= ${DESTDIR}ifdef(`confSBINDIR', `confSBINDIR', `/usr/sbin') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') --- 34,40 ---- LIBS= ifdef(`confLIBS', `confLIBS') # location of mailstats binary (usually /usr/sbin or /usr/etc) ! SBINDIR=${DESTDIR}ifdef(`confSBINDIR', `confSBINDIR', `/usr/sbin') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') *************** *** 82,88 **** install: install-mailstats install-docs install-mailstats: mailstats ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} mailstats ${BINDIR} install-docs: mailstats.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', --- 82,88 ---- install: install-mailstats install-docs install-mailstats: mailstats ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} mailstats ${SBINDIR} install-docs: mailstats.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', diff -cr sendmail-8.9.1/mailstats/mailstats.8 sendmail-8.9.2/mailstats/mailstats.8 *** sendmail-8.9.1/mailstats/mailstats.8 Tue May 19 16:35:39 1998 --- sendmail-8.9.2/mailstats/mailstats.8 Tue Dec 29 09:42:01 1998 *************** *** 5,11 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)mailstats.8 8.5 (Berkeley) 5/19/98 .\" .Dd April 25, 1996 .Dt MAILSTATS 1 --- 5,11 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)mailstats.8 8.8 (Berkeley) 11/13/1998 .\" .Dd April 25, 1996 .Dt MAILSTATS 1 *************** *** 16,21 **** --- 16,22 ---- .Sh SYNOPSIS .Nm mailstats .Op Fl o + .if \nP .Op Fl p .Op Fl C Ar cffile .Op Fl f Ar stfile .Sh DESCRIPTION *************** *** 41,46 **** --- 42,51 ---- Number of messages to the mailer. .It Sy bytes_to Kbytes to the mailer. + .It Sy msgsrej + Number of messages rejected. + .It Sy msgsdis + Number of messages discarded. .It Sy Mailer The name of the mailer. .El *************** *** 64,69 **** --- 69,79 ---- .Nm sendmail .Dq cf file. + .if \nP \ + \{ + .It Fl p + Output information in program-readable mode and clear statistics. + .\} .It Fl o Don't display the name of the mailer in the output. .El *************** *** 73,84 **** utility exits 0 on success, and >0 if an error occurs. .Sh FILES .Bl -tag -width /var/log/sendmail.stXX -compact ! .It Pa /etc/sendmail.cf The default .Nm sendmail .Dq cf file. ! .It Pa /var/log/sendmail.st The default .Nm sendmail statistics file. --- 83,96 ---- utility exits 0 on success, and >0 if an error occurs. .Sh FILES .Bl -tag -width /var/log/sendmail.stXX -compact ! .ie \nP .It Pa /etc/mail/sendmail.cf ! .el .It Pa /etc/sendmail.cf The default .Nm sendmail .Dq cf file. ! .ie \nP .It Pa /etc/mail/statistics ! .el .It Pa /var/log/sendmail.st The default .Nm sendmail statistics file. diff -cr sendmail-8.9.1/mailstats/mailstats.c sendmail-8.9.2/mailstats/mailstats.c *** sendmail-8.9.1/mailstats/mailstats.c Thu Jul 2 11:27:59 1998 --- sendmail-8.9.2/mailstats/mailstats.c Tue Dec 29 09:42:01 1998 *************** *** 18,24 **** #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)mailstats.c 8.26 (Berkeley) 7/2/98"; #endif /* not lint */ #ifndef NOT_SENDMAIL --- 18,24 ---- #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)mailstats.c 8.28 (Berkeley) 9/14/1998"; #endif /* not lint */ #ifndef NOT_SENDMAIL *************** *** 45,61 **** char *cfile; FILE *cfp; bool mnames; long frmsgs = 0, frbytes = 0, tomsgs = 0, tobytes = 0, rejmsgs = 0; long dismsgs = 0; char mtable[MAXMAILERS][MNAMELEN+1]; char sfilebuf[MAXLINE]; char buf[MAXLINE]; extern char *ctime(); cfile = _PATH_SENDMAILCF; sfile = NULL; mnames = TRUE; ! while ((ch = getopt(argc, argv, "C:f:o")) != EOF) { switch (ch) { --- 45,64 ---- char *cfile; FILE *cfp; bool mnames; + bool progmode; long frmsgs = 0, frbytes = 0, tomsgs = 0, tobytes = 0, rejmsgs = 0; long dismsgs = 0; char mtable[MAXMAILERS][MNAMELEN+1]; char sfilebuf[MAXLINE]; char buf[MAXLINE]; + time_t now; extern char *ctime(); cfile = _PATH_SENDMAILCF; sfile = NULL; mnames = TRUE; ! progmode = FALSE; ! while ((ch = getopt(argc, argv, "C:f:op")) != EOF) { switch (ch) { *************** *** 71,81 **** mnames = FALSE; break; case '?': default: usage: ! fputs("usage: mailstats [-C cffile] [-f stfile] -o\n", stderr); exit(EX_USAGE); } } --- 74,95 ---- mnames = FALSE; break; + #if _FFR_MAILSTATS_PROGMODE + case 'p': + progmode = TRUE; + break; + #endif + case '?': default: usage: ! #if _FFR_MAILSTATS_PROGMODE ! fputs("usage: mailstats [-C cffile] [-f stfile] -o -p\n", ! stderr); ! #else ! fputs("usage: mailstats [-C cffile] [-f stfile] -o \n", stderr); + #endif exit(EX_USAGE); } } *************** *** 226,240 **** } } ! printf("Statistics from %s", ctime(&stat.stat_itime)); ! printf(" M msgsfr bytes_from msgsto bytes_to msgsrej msgsdis%s\n", ! mnames ? " Mailer" : ""); for (i = 0; i < MAXMAILERS; i++) { if (stat.stat_nf[i] || stat.stat_nt[i] || stat.stat_nr[i] || stat.stat_nd[i]) { ! printf("%2d %8ld %10ldK %8ld %10ldK %6ld %6ld", i, stat.stat_nf[i], stat.stat_bf[i], stat.stat_nt[i], stat.stat_bt[i], stat.stat_nr[i], stat.stat_nd[i]); --- 240,268 ---- } } ! if (progmode) ! { ! time(&now); ! printf("%ld %ld\n", (long) stat.stat_itime, (long) now); ! } ! else ! { ! printf("Statistics from %s", ctime(&stat.stat_itime)); ! printf(" M msgsfr bytes_from msgsto bytes_to msgsrej msgsdis%s\n", ! mnames ? " Mailer" : ""); ! } for (i = 0; i < MAXMAILERS; i++) { if (stat.stat_nf[i] || stat.stat_nt[i] || stat.stat_nr[i] || stat.stat_nd[i]) { ! char *format; ! ! if (progmode) ! format = "%2d %8ld %10ld %8ld %10ld %6ld %6ld"; ! else ! format = "%2d %8ld %10ldK %8ld %10ldK %6ld %6ld"; ! printf(format, i, stat.stat_nf[i], stat.stat_bf[i], stat.stat_nt[i], stat.stat_bt[i], stat.stat_nr[i], stat.stat_nd[i]); *************** *** 249,256 **** dismsgs += stat.stat_nd[i]; } } ! printf("=============================================================\n"); ! printf(" T %8ld %10ldK %8ld %10ldK %6ld %6ld\n", ! frmsgs, frbytes, tomsgs, tobytes, rejmsgs, dismsgs); exit(EX_OK); } --- 277,296 ---- dismsgs += stat.stat_nd[i]; } } ! if (progmode) ! { ! printf(" T %8ld %10ld %8ld %10ld %6ld %6ld\n", ! frmsgs, frbytes, tomsgs, tobytes, rejmsgs, dismsgs); ! close(fd); ! fd = open(sfile, O_RDWR | O_TRUNC); ! if (fd > 0) ! close(fd); ! } ! else ! { ! printf("=============================================================\n"); ! printf(" T %8ld %10ldK %8ld %10ldK %6ld %6ld\n", ! frmsgs, frbytes, tomsgs, tobytes, rejmsgs, dismsgs); ! } exit(EX_OK); } diff -cr sendmail-8.9.1/makemap/Makefile.m4 sendmail-8.9.2/makemap/Makefile.m4 *** sendmail-8.9.1/makemap/Makefile.m4 Thu Jun 4 14:27:18 1998 --- sendmail-8.9.2/makemap/Makefile.m4 Tue Dec 29 09:42:03 1998 *************** *** 1,7 **** # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.20 (Berkeley) 6/4/98 # # C compiler --- 1,7 ---- # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.21 (Berkeley) 7/12/1998 # # C compiler *************** *** 41,47 **** LIBS= ifdef(`confLIBS', `confLIBS') # location of makemap binary (usually /usr/sbin or /usr/etc) ! BINDIR= ${DESTDIR}ifdef(`confSBINDIR', `confSBINDIR', `/usr/sbin') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') --- 41,47 ---- LIBS= ifdef(`confLIBS', `confLIBS') # location of makemap binary (usually /usr/sbin or /usr/etc) ! SBINDIR=${DESTDIR}ifdef(`confSBINDIR', `confSBINDIR', `/usr/sbin') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') *************** *** 95,101 **** install: install-makemap install-docs install-makemap: makemap ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} makemap ${BINDIR} install-docs: makemap.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', --- 95,101 ---- install: install-makemap install-docs install-makemap: makemap ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} makemap ${SBINDIR} install-docs: makemap.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', diff -cr sendmail-8.9.1/makemap/makemap.8 sendmail-8.9.2/makemap/makemap.8 *** sendmail-8.9.1/makemap/makemap.8 Tue May 19 16:35:42 1998 --- sendmail-8.9.2/makemap/makemap.8 Tue Dec 29 09:42:03 1998 *************** *** 7,13 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)makemap.8 8.10 (Berkeley) 5/19/98 .\" .Dd November 16, 1992 .Dt MAKEMAP 8 --- 7,13 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)makemap.8 8.12 (Berkeley) 11/13/1998 .\" .Dd November 16, 1992 .Dt MAKEMAP 8 *************** *** 18,25 **** --- 18,27 ---- .Sh SYNOPSIS .Nm .Op Fl N + .if \nP .Op Fl c Ar cachesize .Op Fl d .Op Fl f + .if \nP .Op Fl l .Op Fl o .Op Fl r .Op Fl s *************** *** 76,81 **** --- 78,88 ---- in the map. This must match the \-N flag in the sendmail.cf ``K'' line. + .if \nP \ + \{\ + .It Fl c + Use the specified hash and B-Tree cache size. + .\} .It Fl d Allow duplicate keys in the map. This is only allowed on B-Tree format maps. *************** *** 90,95 **** --- 97,107 ---- \fBK\fP line in sendmail.cf. The value is never case folded. + .if \nP \ + \{\ + .It Fl l + List supported map types. + .\} .It Fl o Append to an old file. This allows you to augment an existing file. diff -cr sendmail-8.9.1/makemap/makemap.c sendmail-8.9.2/makemap/makemap.c *** sendmail-8.9.1/makemap/makemap.c Wed Jun 24 21:48:00 1998 --- sendmail-8.9.2/makemap/makemap.c Tue Dec 29 09:42:03 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)makemap.c 8.62 (Berkeley) 6/24/98"; #endif /* not lint */ #include --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)makemap.c 8.71 (Berkeley) 11/29/1998"; #endif /* not lint */ #include *************** *** 57,66 **** uid_t RunAsGid; char *RunAsUserName; int Verbose = 2; ! bool DontInitGroups = TRUE; long DontBlameSendmail = DBS_SAFE; u_char tTdvect[100]; ! uid_t TrustedFileUid = 0; #define BUFSIZE 1024 --- 57,66 ---- uid_t RunAsGid; char *RunAsUserName; int Verbose = 2; ! bool DontInitGroups = FALSE; long DontBlameSendmail = DBS_SAFE; u_char tTdvect[100]; ! uid_t TrustedUid = 0; #define BUFSIZE 1024 *************** *** 79,94 **** bool foldcase = TRUE; int exitstat; int opt; ! char *typename; ! char *mapname; ! char *ext; int lineno; int st; int mode; ! int putflags; long dbcachesize = 1024 * 1024; enum type type; int fd; int sff = SFF_ROOTOK|SFF_REGONLY; struct passwd *pw; union --- 79,98 ---- bool foldcase = TRUE; int exitstat; int opt; ! char *typename = NULL; ! char *mapname = NULL; ! char *ext = NULL; int lineno; int st; int mode; ! int putflags = 0; ! #ifdef NEWDB long dbcachesize = 1024 * 1024; + #endif enum type type; + #if !O_EXLOCK int fd; + #endif int sff = SFF_ROOTOK|SFF_REGONLY; struct passwd *pw; union *************** *** 116,122 **** #ifdef NDBM char pbuf[MAXNAME]; #endif ! #if _FFR_TRUSTED_FILE_OWNER FILE *cfp; char buf[MAXLINE]; #endif --- 120,126 ---- #ifdef NDBM char pbuf[MAXNAME]; #endif ! #if _FFR_TRUSTED_USER FILE *cfp; char buf[MAXLINE]; #endif *************** *** 145,151 **** RunAsUserName = RealUserName = rnamebuf; #if _FFR_NEW_MAKEMAP_FLAGS ! #define OPTIONS "C:Nc:dforsv" #else #define OPTIONS "C:Ndforsv" #endif --- 149,155 ---- RunAsUserName = RealUserName = rnamebuf; #if _FFR_NEW_MAKEMAP_FLAGS ! #define OPTIONS "C:Nc:dflorsv" #else #define OPTIONS "C:Ndforsv" #endif *************** *** 163,169 **** --- 167,175 ---- #if _FFR_NEW_MAKEMAP_FLAGS case 'c': + # ifdef NEWDB dbcachesize = atol(optarg); + # endif break; #endif *************** *** 175,180 **** --- 181,199 ---- foldcase = FALSE; break; + #if _FFR_NEW_MAKEMAP_FLAGS + case 'l': + # ifdef NDBM + printf("dbm\n"); + # endif + # ifdef NEWDB + printf("hash\n"); + printf("btree\n"); + # endif + exit(EX_OK); + break; + #endif + case 'o': notrunc = TRUE; break; *************** *** 232,238 **** type = T_UNKNOWN; } ! #if _FFR_TRUSTED_FILE_OWNER if ((cfp = fopen(cfile, "r")) == NULL) { fprintf(stderr, "mailstats: "); --- 251,257 ---- type = T_UNKNOWN; } ! #if _FFR_TRUSTED_USER if ((cfp = fopen(cfile, "r")) == NULL) { fprintf(stderr, "mailstats: "); *************** *** 250,257 **** switch (*b++) { case 'O': /* option */ ! if (strncasecmp(b, " TrustedFileOwner", 17) == 0 && ! !(isascii(b[17]) && isalnum(b[17]))) { b = strchr(b, '='); if (b == NULL) --- 269,276 ---- switch (*b++) { case 'O': /* option */ ! if (strncasecmp(b, " TrustedUser", 12) == 0 && ! !(isascii(b[12]) && isalnum(b[12]))) { b = strchr(b, '='); if (b == NULL) *************** *** 259,284 **** while (isascii(*++b) && isspace(*b)) continue; if (isascii(*b) && isdigit(*b)) ! TrustedFileUid = atoi(b); else { register struct passwd *pw; ! TrustedFileUid = 0; pw = getpwnam(b); if (pw == NULL) fprintf(stderr, ! "TrustedFileOwner: unknown user %s", b); else ! TrustedFileUid = pw->pw_uid; } # ifdef UID_MAX ! if (TrustedFileUid > UID_MAX) { ! syserr("TrustedFileOwner: uid value (%ld) > UID_MAX (%ld)", ! TrustedFileUid, UID_MAX); ! TrustedFileUid = 0; } # endif break; --- 278,303 ---- while (isascii(*++b) && isspace(*b)) continue; if (isascii(*b) && isdigit(*b)) ! TrustedUid = atoi(b); else { register struct passwd *pw; ! TrustedUid = 0; pw = getpwnam(b); if (pw == NULL) fprintf(stderr, ! "TrustedUser: unknown user %s\n", b); else ! TrustedUid = pw->pw_uid; } # ifdef UID_MAX ! if (TrustedUid > UID_MAX) { ! syserr("TrustedUser: uid value (%ld) > UID_MAX (%ld)", ! TrustedUid, UID_MAX); ! TrustedUid = 0; } # endif break; *************** *** 296,302 **** case T_ERR: #if _FFR_NEW_MAKEMAP_FLAGS fprintf(stderr, ! "Usage: %s [-N] [-c cachesize] [-d] [-f] [-o] [-r] [-s] [-v] type mapname\n", progname); #else fprintf(stderr, "Usage: %s [-N] [-d] [-f] [-o] [-r] [-s] [-v] type mapname\n", progname); --- 315,321 ---- case T_ERR: #if _FFR_NEW_MAKEMAP_FLAGS fprintf(stderr, ! "Usage: %s [-N] [-c cachesize] [-d] [-f] [-l] [-o] [-r] [-s] [-v] type mapname\n", progname); #else fprintf(stderr, "Usage: %s [-N] [-d] [-f] [-o] [-r] [-s] [-v] type mapname\n", progname); *************** *** 505,520 **** dbm_close(dbp.dbm); exit(EX_CANTCREAT); } ! if (geteuid() == 0 && TrustedFileUid != 0) { ! if (fchown(dbm_dirfno(dbp.dbm), TrustedFileUid, -1) < 0 || ! fchown(dbm_pagfno(dbp.dbm), TrustedFileUid, -1) < 0) { fprintf(stderr, "WARNING: ownership change on %s failed: %s", mapname, errstring(errno)); } } break; #endif --- 524,541 ---- dbm_close(dbp.dbm); exit(EX_CANTCREAT); } ! #if _FFR_TRUSTED_USER ! if (geteuid() == 0 && TrustedUid != 0) { ! if (fchown(dbm_dirfno(dbp.dbm), TrustedUid, -1) < 0 || ! fchown(dbm_pagfno(dbp.dbm), TrustedUid, -1) < 0) { fprintf(stderr, "WARNING: ownership change on %s failed: %s", mapname, errstring(errno)); } } + #endif break; #endif *************** *** 569,583 **** exit(EX_CANTCREAT); } (void) (*dbp.db->sync)(dbp.db, 0); ! if (geteuid() == 0 && TrustedFileUid != 0) { ! if (fchown(fd, TrustedFileUid, -1) < 0) { fprintf(stderr, "WARNING: ownership change on %s failed: %s", mapname, errstring(errno)); } } } break; --- 590,606 ---- exit(EX_CANTCREAT); } (void) (*dbp.db->sync)(dbp.db, 0); ! #if _FFR_TRUSTED_USER ! if (geteuid() == 0 && TrustedUid != 0) { ! if (fchown(fd, TrustedUid, -1) < 0) { fprintf(stderr, "WARNING: ownership change on %s failed: %s", mapname, errstring(errno)); } } + #endif } break; *************** *** 628,642 **** exit(EX_CANTCREAT); } (void) (*dbp.db->sync)(dbp.db, 0); ! if (geteuid() == 0 && TrustedFileUid != 0) { ! if (fchown(fd, TrustedFileUid, -1) < 0) { fprintf(stderr, "WARNING: ownership change on %s failed: %s", mapname, errstring(errno)); } } } break; #endif --- 651,667 ---- exit(EX_CANTCREAT); } (void) (*dbp.db->sync)(dbp.db, 0); ! #if _FFR_TRUSTED_USER ! if (geteuid() == 0 && TrustedUid != 0) { ! if (fchown(fd, TrustedUid, -1) < 0) { fprintf(stderr, "WARNING: ownership change on %s failed: %s", mapname, errstring(errno)); } } + #endif } break; #endif *************** *** 936,945 **** errstring(err) int err; { static char errstr[64]; ! #if !HASSTRERROR && !defined(ERRLIST_PREDEFINED) extern char *sys_errlist[]; extern int sys_nerr; #endif /* handle pseudo-errors internal to sendmail */ --- 961,972 ---- errstring(err) int err; { + #if !HASSTRERROR static char errstr[64]; ! # if !defined(ERRLIST_PREDEFINED) extern char *sys_errlist[]; extern int sys_nerr; + # endif #endif /* handle pseudo-errors internal to sendmail */ diff -cr sendmail-8.9.1/praliases/Makefile.m4 sendmail-8.9.2/praliases/Makefile.m4 *** sendmail-8.9.1/praliases/Makefile.m4 Thu Jun 4 14:27:19 1998 --- sendmail-8.9.2/praliases/Makefile.m4 Tue Dec 29 09:42:04 1998 *************** *** 1,7 **** # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.15 (Berkeley) 6/4/98 # # C compiler --- 1,7 ---- # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.16 (Berkeley) 7/12/1998 # # C compiler *************** *** 41,47 **** LIBS= ifdef(`confLIBS', `confLIBS') # location of praliases binary (usually /usr/sbin or /usr/etc) ! BINDIR= ${DESTDIR}ifdef(`confSBINDIR', `confSBINDIR', `/usr/sbin') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') --- 41,47 ---- LIBS= ifdef(`confLIBS', `confLIBS') # location of praliases binary (usually /usr/sbin or /usr/etc) ! SBINDIR=${DESTDIR}ifdef(`confSBINDIR', `confSBINDIR', `/usr/sbin') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') *************** *** 89,95 **** install: install-praliases install-docs install-praliases: praliases ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} praliases ${BINDIR} install-docs: praliases.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', --- 89,95 ---- install: install-praliases install-docs install-praliases: praliases ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} praliases ${SBINDIR} install-docs: praliases.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', diff -cr sendmail-8.9.1/praliases/praliases.8 sendmail-8.9.2/praliases/praliases.8 *** sendmail-8.9.1/praliases/praliases.8 Tue May 19 16:35:47 1998 --- sendmail-8.9.2/praliases/praliases.8 Tue Dec 29 09:42:04 1998 *************** *** 5,11 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)praliases.8 8.5 (Berkeley) 5/19/98 .\" .Dd April 25, 1996 .Dt PRALIASES 1 --- 5,11 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)praliases.8 8.5 (Berkeley) 5/19/1998 .\" .Dd April 25, 1996 .Dt PRALIASES 1 diff -cr sendmail-8.9.1/praliases/praliases.c sendmail-8.9.2/praliases/praliases.c *** sendmail-8.9.1/praliases/praliases.c Thu Jun 25 23:25:04 1998 --- sendmail-8.9.2/praliases/praliases.c Tue Dec 29 09:42:03 1998 *************** *** 17,23 **** #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)praliases.c 8.17 (Berkeley) 6/25/98"; #endif /* not lint */ #if !defined(NDBM) && !defined(NEWDB) --- 17,23 ---- #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)praliases.c 8.21 (Berkeley) 12/27/1998"; #endif /* not lint */ #if !defined(NDBM) && !defined(NEWDB) *************** *** 32,37 **** --- 32,38 ---- # define NOT_SENDMAIL #endif #include + #include #ifdef NEWDB # include # ifndef DB_VERSION_MAJOR *************** *** 50,55 **** --- 51,61 ---- extern char *strerror __P((int)); #endif + static void praliases __P((char *, int, char **)); + #ifdef NDBM + static void praliases_dbm __P((char *, int, char **)); + #endif + int main(argc, argv) int argc; *************** *** 57,88 **** { extern char *optarg; extern int optind; ! #ifdef NDBM ! DBM *dbp; ! datum content, key; #endif ! char *filename; int ch; ! #ifdef NEWDB ! DB *db; ! DBT newdbkey, newdbcontent; ! char buf[MAXNAME]; ! #endif ! filename = "/etc/aliases"; while ((ch = getopt(argc, argv, "f:")) != EOF) ! switch((char)ch) { case 'f': filename = optarg; break; case '?': default: ! (void)fprintf(stderr, "usage: praliases [-f file]\n"); exit(EX_USAGE); } argc -= optind; argv += optind; #ifdef NEWDB if (strlen(filename) + 4 >= sizeof buf) { --- 63,210 ---- { extern char *optarg; extern int optind; ! char *cfile; ! #if _FFR_GRAB_ALIASFILE_OPTION ! char *filename = NULL; ! #else ! char *filename = "/etc/aliases"; #endif ! FILE *cfp; int ch; ! char afilebuf[MAXLINE]; ! char buf[MAXLINE]; ! cfile = _PATH_SENDMAILCF; ! #if _FFR_GRAB_ALIASFILE_OPTION ! while ((ch = getopt(argc, argv, "C:f:")) != EOF) ! #else while ((ch = getopt(argc, argv, "f:")) != EOF) ! #endif ! { ! switch ((char)ch) { ! case 'C': ! cfile = optarg; ! break; case 'f': filename = optarg; break; case '?': default: ! (void)fprintf(stderr, ! #if _FFR_GRAB_ALIASFILE_OPTION ! "usage: praliases [-C cffile] [-f aliasfile]\n"); ! #else ! "usage: praliases [-f aliasfile]\n"); ! #endif exit(EX_USAGE); } + } argc -= optind; argv += optind; + if (filename != NULL) + { + praliases(filename, argc, argv); + exit(EX_OK); + } + + if ((cfp = fopen(cfile, "r")) == NULL) + { + fprintf(stderr, "praliases: "); + perror(cfile); + exit(EX_NOINPUT); + } + + while (fgets(buf, sizeof(buf), cfp) != NULL) + { + register char *b, *p; + + b = buf; + switch (*b++) + { + case 'O': /* option -- see if alias file */ + if (strncasecmp(b, " AliasFile", 10) == 0 && + !(isascii(b[10]) && isalnum(b[10]))) + { + /* new form -- find value */ + b = strchr(b, '='); + if (b == NULL) + continue; + while (isascii(*++b) && isspace(*b)) + continue; + } + else if (*b++ != 'A') + { + /* something else boring */ + continue; + } + + /* this is the A or AliasFile option -- save it */ + if (strlen(b) >= sizeof afilebuf) + { + fprintf(stderr, + "AliasFile filename too long: %.30s...\n", + b); + (void) fclose(cfp); + exit(EX_CONFIG); + } + strcpy(afilebuf, b); + b = afilebuf; + + for (p = b; p != NULL; ) + { + while (isascii(*p) && isspace(*p)) + p++; + if (*p == '\0') + break; + b = p; + + p = strpbrk(p, " ,/"); + /* find end of spec */ + if (p != NULL) + p = strpbrk(p, ",\n"); + if (p != NULL) + *p++ = '\0'; + + praliases(b, argc, argv); + } + + default: + continue; + } + } + (void) fclose(cfp); + exit(EX_OK); + } + + static void + praliases(filename, argc, argv) + char *filename; + int argc; + char **argv; + { + #ifdef NEWDB + DB *db; + DBT newdbkey, newdbcontent; + char buf[MAXNAME]; + #endif + char *class; + + class = strchr(filename, ':'); + if (class != NULL) + { + if (strncasecmp(filename, "dbm:", 4) == 0) + { + #ifdef NDBM + praliases_dbm(class + 1, argc, argv); + return; + #else + fprintf(stderr, "class dbm not available\n"); + exit(EX_DATAERR); + #endif + } + filename = class + 1; + } #ifdef NEWDB if (strlen(filename) + 4 >= sizeof buf) { *************** *** 99,105 **** # endif if (db != NULL) { ! if (!argc) { # if DB_VERSION_MAJOR > 1 DBC *dbc; # endif --- 221,228 ---- # endif if (db != NULL) { ! if (!argc) ! { # if DB_VERSION_MAJOR > 1 DBC *dbc; # endif *************** *** 109,115 **** --- 232,242 ---- # if DB_VERSION_MAJOR < 2 while(!db->seq(db, &newdbkey, &newdbcontent, R_NEXT)) # else + # if DB_VERSION_MAJOR > 2 || DB_VERSION_MINOR >=6 + if ((errno = db->cursor(db, NULL, &dbc, 0)) == 0) + # else if ((errno = db->cursor(db, NULL, &dbc)) == 0) + # endif { while ((errno = dbc->c_get(dbc, &newdbkey, &newdbcontent, *************** *** 128,138 **** fprintf(stderr, "praliases: %s: Could not set cursor: %s\n", buf, strerror(errno)); exit(EX_DATAERR); } # endif } ! else for (; *argv; ++argv) { bzero(&newdbkey, sizeof newdbkey); bzero(&newdbcontent, sizeof newdbcontent); newdbkey.data = *argv; --- 255,267 ---- fprintf(stderr, "praliases: %s: Could not set cursor: %s\n", buf, strerror(errno)); + errno = db->close(db, 0); exit(EX_DATAERR); } # endif } ! else for (; *argv; ++argv) ! { bzero(&newdbkey, sizeof newdbkey); bzero(&newdbcontent, sizeof newdbcontent); newdbkey.data = *argv; *************** *** 156,194 **** errno = db->close(db, 0); # endif } ! else { #endif #ifdef NDBM ! if ((dbp = dbm_open(filename, O_RDONLY, 0)) == NULL) { ! (void)fprintf(stderr, ! "praliases: %s: %s\n", filename, strerror(errno)); ! exit(EX_OSFILE); } ! if (!argc) ! for (key = dbm_firstkey(dbp); ! key.dptr != NULL; key = dbm_nextkey(dbp)) { ! content = dbm_fetch(dbp, key); ! (void)printf("%.*s:%.*s\n", ! (int) key.dsize, key.dptr, ! (int) content.dsize, content.dptr); ! } ! else for (; *argv; ++argv) { key.dptr = *argv; ! key.dsize = strlen(*argv) + 1; content = dbm_fetch(dbp, key); ! if (!content.dptr) ! (void)printf("%s: No such key\n", key.dptr); ! else (void)printf("%s:%.*s\n", key.dptr, (int) content.dsize, content.dptr); } - dbm_close(dbp); - #endif - #ifdef NEWDB } ! #endif ! exit(EX_OK); } #if !HASSTRERROR --- 285,355 ---- errno = db->close(db, 0); # endif } ! else ! { ! #endif ! #ifdef NDBM ! praliases_dbm(filename, argc, argv); ! #endif ! #ifdef NEWDB ! } #endif + } + #ifdef NDBM ! static void ! praliases_dbm(filename, argc, argv) ! char *filename; ! int argc; ! char **argv; ! { ! DBM *dbp; ! datum content, key; ! ! if ((dbp = dbm_open(filename, O_RDONLY, 0)) == NULL) ! { ! (void)fprintf(stderr, ! "praliases: %s: %s\n", filename, strerror(errno)); ! exit(EX_OSFILE); ! } ! if (!argc) ! { ! for (key = dbm_firstkey(dbp); ! key.dptr != NULL; key = dbm_nextkey(dbp)) ! { ! content = dbm_fetch(dbp, key); ! (void)printf("%.*s:%.*s\n", ! (int) key.dsize, key.dptr, ! (int) content.dsize, content.dptr); } ! } ! else ! { ! for (; *argv; ++argv) ! { ! /* ! ** Use the sendmail adaptive algorithm of trying ! ** the key first without, then if needed with, ! ** the terminating NULL byte. ! */ key.dptr = *argv; ! key.dsize = strlen(*argv); content = dbm_fetch(dbp, key); ! if (content.dptr == NULL) ! { ! key.dsize++; ! content = dbm_fetch(dbp, key); ! } ! if (content.dptr != NULL) (void)printf("%s:%.*s\n", key.dptr, (int) content.dsize, content.dptr); + else + (void)printf("%s: No such key\n", key.dptr); } } ! dbm_close(dbp); } + #endif #if !HASSTRERROR diff -cr sendmail-8.9.1/rmail/Makefile.m4 sendmail-8.9.2/rmail/Makefile.m4 *** sendmail-8.9.1/rmail/Makefile.m4 Thu Jun 18 10:47:53 1998 --- sendmail-8.9.2/rmail/Makefile.m4 Tue Dec 29 09:43:05 1998 *************** *** 1,7 **** # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.16 (Berkeley) 6/18/98 # # C compiler --- 1,7 ---- # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.17 (Berkeley) 7/12/1998 # # C compiler *************** *** 34,40 **** LIBS= ifdef(`confLIBS', `confLIBS') # location of rmail binary (usually /usr/sbin or /usr/etc) ! BINDIR= ${DESTDIR}ifdef(`confUBINDIR', `confUBINDIR', `/usr/bin') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') --- 34,40 ---- LIBS= ifdef(`confLIBS', `confLIBS') # location of rmail binary (usually /usr/sbin or /usr/etc) ! UBINDIR=${DESTDIR}ifdef(`confUBINDIR', `confUBINDIR', `/usr/bin') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') *************** *** 90,96 **** force-install: install-rmail install-docs install-rmail: rmail ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} rmail ${BINDIR} install-docs: rmail.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', --- 90,96 ---- force-install: install-rmail install-docs install-rmail: rmail ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} rmail ${UBINDIR} install-docs: rmail.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', diff -cr sendmail-8.9.1/rmail/rmail.8 sendmail-8.9.2/rmail/rmail.8 *** sendmail-8.9.1/rmail/rmail.8 Tue May 19 16:35:51 1998 --- sendmail-8.9.2/rmail/rmail.8 Tue Dec 29 09:43:05 1998 *************** *** 7,13 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)rmail.8 6.14 (Berkeley) 5/19/98 .\" .Dd May 19, 1998 .Dt RMAIL 8 --- 7,13 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)rmail.8 6.14 (Berkeley) 5/19/1998 .\" .Dd May 19, 1998 .Dt RMAIL 8 diff -cr sendmail-8.9.1/rmail/rmail.c sendmail-8.9.2/rmail/rmail.c *** sendmail-8.9.1/rmail/rmail.c Tue May 19 16:35:51 1998 --- sendmail-8.9.2/rmail/rmail.c Tue Dec 29 09:43:05 1998 *************** *** 16,22 **** #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)rmail.c 8.17 (Berkeley) 5/19/98"; #endif /* not lint */ /* --- 16,22 ---- #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)rmail.c 8.18 (Berkeley) 10/23/1998"; #endif /* not lint */ /* *************** *** 136,145 **** extern int errno, optind; FILE *fp; struct stat sb; ! size_t fplen, fptlen, len; off_t offset; int ch, debug, i, pdes[2], pid, status; ! char *addrp, *domain, *p, *t; char *from_path, *from_sys, *from_user; char *args[100], buf[2048], lbuf[2048]; --- 136,145 ---- extern int errno, optind; FILE *fp; struct stat sb; ! size_t fplen = 0, fptlen = 0, len; off_t offset; int ch, debug, i, pdes[2], pid, status; ! char *addrp = NULL, *domain, *p, *t; char *from_path, *from_sys, *from_user; char *args[100], buf[2048], lbuf[2048]; diff -cr sendmail-8.9.1/smrsh/Makefile.m4 sendmail-8.9.2/smrsh/Makefile.m4 *** sendmail-8.9.1/smrsh/Makefile.m4 Thu Jun 4 14:27:22 1998 --- sendmail-8.9.2/smrsh/Makefile.m4 Tue Dec 29 09:42:52 1998 *************** *** 1,7 **** # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.13 (Berkeley) 6/4/98 # # C compiler --- 1,7 ---- # # This Makefile is designed to work on the old "make" program. # ! # @(#)Makefile.m4 8.14 (Berkeley) 7/12/1998 # # C compiler *************** *** 32,38 **** LIBS= ifdef(`confLIBS', `confLIBS') # location of smrsh binary (usually /usr/libexec or /usr/etc) ! BINDIR= ${DESTDIR}ifdef(`confEBINDIR', `confEBINDIR', `/usr/libexec') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') --- 32,38 ---- LIBS= ifdef(`confLIBS', `confLIBS') # location of smrsh binary (usually /usr/libexec or /usr/etc) ! EBINDIR=${DESTDIR}ifdef(`confEBINDIR', `confEBINDIR', `/usr/libexec') # additional .o files needed OBJADD= ifdef(`confOBJADD', `confOBJADD') *************** *** 81,87 **** install: install-smrsh install-docs install-smrsh: smrsh ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} smrsh ${BINDIR} install-docs: smrsh.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', --- 81,87 ---- install: install-smrsh install-docs install-smrsh: smrsh ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} smrsh ${EBINDIR} install-docs: smrsh.${MAN8SRC} ifdef(`confNO_MAN_INSTALL', `dnl', diff -cr sendmail-8.9.1/smrsh/README sendmail-8.9.2/smrsh/README *** sendmail-8.9.1/smrsh/README Tue May 19 16:35:57 1998 --- sendmail-8.9.2/smrsh/README Tue Dec 29 09:42:52 1998 *************** *** 3,9 **** README smrsh - sendmail restricted shell. ! @(#)README 8.2 11/11/95 This README file is provided as a courtesy of the CERT Coordination Center, --- 3,9 ---- README smrsh - sendmail restricted shell. ! @(#)README 8.2 11/11/1995 This README file is provided as a courtesy of the CERT Coordination Center, diff -cr sendmail-8.9.1/smrsh/smrsh.8 sendmail-8.9.2/smrsh/smrsh.8 *** sendmail-8.9.1/smrsh/smrsh.8 Tue May 19 16:35:57 1998 --- sendmail-8.9.2/smrsh/smrsh.8 Tue Dec 29 09:42:52 1998 *************** *** 8,14 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)smrsh.8 8.7 (Berkeley) 5/19/98 .\" .TH SMRSH 8 11/02/93 .SH NAME --- 8,14 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)smrsh.8 8.7 (Berkeley) 5/19/1998 .\" .TH SMRSH 8 11/02/93 .SH NAME diff -cr sendmail-8.9.1/smrsh/smrsh.c sendmail-8.9.2/smrsh/smrsh.c *** sendmail-8.9.1/smrsh/smrsh.c Tue May 19 16:35:57 1998 --- sendmail-8.9.2/smrsh/smrsh.c Tue Dec 29 09:42:52 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)smrsh.c 8.11 (Berkeley) 5/19/98"; #endif /* not lint */ /* --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)smrsh.c 8.11 (Berkeley) 5/19/1998"; #endif /* not lint */ /* diff -cr sendmail-8.9.1/src/Makefile.m4 sendmail-8.9.2/src/Makefile.m4 *** sendmail-8.9.1/src/Makefile.m4 Tue Jun 16 09:46:56 1998 --- sendmail-8.9.2/src/Makefile.m4 Tue Dec 29 09:42:27 1998 *************** *** 2,8 **** # This Makefile is designed to work on any reasonably current version of # "make" program. # ! # @(#)Makefile.m4 8.23 (Berkeley) 6/16/98 # # C compiler --- 2,8 ---- # This Makefile is designed to work on any reasonably current version of # "make" program. # ! # @(#)Makefile.m4 8.25 (Berkeley) 10/5/1998 # # C compiler *************** *** 68,76 **** CFLAGS= $O ${COPTS} BEFORE= confBEFORE ! OBJS= alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o \ ! deliver.o domain.o envelope.o err.o headers.o macro.o main.o \ ! map.o mci.o mime.o parseaddr.o queue.o readcf.o recipient.o \ safefile.o savemail.o snprintf.o srvrsmtp.o stab.o stats.o \ sysexits.o trace.o udb.o usersmtp.o util.o version.o ${OBJADD} --- 68,76 ---- CFLAGS= $O ${COPTS} BEFORE= confBEFORE ! OBJS= alias.o arpadate.o clock.o collect.o conf.o control.o convtime.o \ ! daemon.o deliver.o domain.o envelope.o err.o headers.o macro.o \ ! main.o map.o mci.o mime.o parseaddr.o queue.o readcf.o recipient.o \ safefile.o savemail.o snprintf.o srvrsmtp.o stab.o stats.o \ sysexits.o trace.o udb.o usersmtp.o util.o version.o ${OBJADD} *************** *** 130,136 **** install-sendmail: sendmail ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR} for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR} ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 sendmail.st \ ${STDIR}/sendmail.st --- 130,137 ---- install-sendmail: sendmail ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR} for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf \ ! ${HFDIR}/sendmail.hf ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 sendmail.st \ ${STDIR}/sendmail.st diff -cr sendmail-8.9.1/src/README sendmail-8.9.2/src/README *** sendmail-8.9.1/src/README Tue Jun 30 23:08:37 1998 --- sendmail-8.9.2/src/README Tue Dec 29 09:42:13 1998 *************** *** 8,14 **** # the sendmail distribution. # # ! # @(#)README 8.206 (Berkeley) 6/30/98 # This directory contains the source files for sendmail(TM). --- 8,14 ---- # the sendmail distribution. # # ! # @(#)README 8.209 (Berkeley) 10/6/1998 # This directory contains the source files for sendmail(TM). *************** *** 844,849 **** --- 844,855 ---- This warning can be ignored. + Digital UNIX's linker checks /usr/ccs/lib/ before /usr/lib/. + If you have installed a new version of BIND in /usr/include + and /usr/lib, you will experience difficulties as Digital ships + libresolv.a in /usr/ccs/lib/ as well. Be sure to replace both + copies of libresolv.a. + IRIX The header files on SGI IRIX are completely prototyped, and as a result you can sometimes get some warning messages during *************** *** 1072,1077 **** --- 1078,1090 ---- to LIBS. Data structures may change and you'd be asking for a core dump. + AIX 4.2 + The AIX m4 implements a different mechanism for ifdef which is + inconsistent with other versions of m4. Therefore, it will not + work properly with the sendmail Build architecture or m4 + configuration method. To work around this problem, please use + GNU m4 from ftp://ftp.gnu.org/pub/gnu/. + AIX 3.x This version of sendmail does not support MB, MG, and MR resource records, which are supported by AIX sendmail. *************** *** 1439,1442 **** Eric Allman ! (Version 8.206, last update 6/30/98 22:08:36) --- 1452,1455 ---- Eric Allman ! (Version 8.209, last update 10/6/1998 17:10:21) diff -cr sendmail-8.9.1/src/TRACEFLAGS sendmail-8.9.2/src/TRACEFLAGS *** sendmail-8.9.1/src/TRACEFLAGS Tue May 19 16:36:10 1998 --- sendmail-8.9.2/src/TRACEFLAGS Tue Dec 29 09:42:26 1998 *************** *** 1,4 **** ! # @(#)TRACEFLAGS 8.21 (Berkeley) 4/27/98 0, 1 main.c main skip background fork 0, 4 main.c main canonical name, UUCP node name, a.k.a.s 0, 15 main.c main print configuration --- 1,4 ---- ! # @(#)TRACEFLAGS 8.21 (Berkeley) 4/27/1998 0, 1 main.c main skip background fork 0, 4 main.c main canonical name, UUCP node name, a.k.a.s 0, 15 main.c main print configuration diff -cr sendmail-8.9.1/src/alias.c sendmail-8.9.2/src/alias.c *** sendmail-8.9.1/src/alias.c Mon Jun 8 14:24:55 1998 --- sendmail-8.9.2/src/alias.c Tue Dec 29 09:42:25 1998 *************** *** 13,19 **** # include "sendmail.h" #ifndef lint ! static char sccsid[] = "@(#)alias.c 8.92 (Berkeley) 6/5/98"; #endif /* not lint */ --- 13,19 ---- # include "sendmail.h" #ifndef lint ! static char sccsid[] = "@(#)alias.c 8.96 (Berkeley) 12/18/1998"; #endif /* not lint */ *************** *** 382,388 **** /* database is out of date */ if (AutoRebuild && stb.st_ino != 0 && (stb.st_uid == geteuid() || ! (geteuid() == 0 && stb.st_uid == TrustedFileUid))) { bool oldSuprErrs; --- 382,388 ---- /* database is out of date */ if (AutoRebuild && stb.st_ino != 0 && (stb.st_uid == geteuid() || ! (geteuid() == 0 && stb.st_uid == TrustedUid))) { bool oldSuprErrs; *************** *** 510,515 **** --- 510,516 ---- username()); } map->map_mflags |= MF_OPEN|MF_WRITABLE; + map->map_pid = getpid(); readaliases(map, af, !automatic, TRUE); success = TRUE; } diff -cr sendmail-8.9.1/src/aliases.5 sendmail-8.9.2/src/aliases.5 *** sendmail-8.9.1/src/aliases.5 Tue May 19 16:36:05 1998 --- sendmail-8.9.2/src/aliases.5 Tue Dec 29 09:42:19 1998 *************** *** 8,14 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)aliases.5 8.8 (Berkeley) 5/19/98 .\" .Dd May 19, 1998 .Dt ALIASES 5 --- 8,14 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)aliases.5 8.8 (Berkeley) 5/19/1998 .\" .Dd May 19, 1998 .Dt ALIASES 5 diff -cr sendmail-8.9.1/src/arpadate.c sendmail-8.9.2/src/arpadate.c *** sendmail-8.9.1/src/arpadate.c Tue May 19 16:36:04 1998 --- sendmail-8.9.2/src/arpadate.c Tue Dec 29 09:42:17 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)arpadate.c 8.12 (Berkeley) 5/19/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)arpadate.c 8.12 (Berkeley) 5/19/1998"; #endif /* not lint */ # include "sendmail.h" diff -cr sendmail-8.9.1/src/clock.c sendmail-8.9.2/src/clock.c *** sendmail-8.9.1/src/clock.c Thu Jun 4 14:51:31 1998 --- sendmail-8.9.2/src/clock.c Tue Dec 29 09:42:21 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)clock.c 8.34 (Berkeley) 6/4/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)clock.c 8.34 (Berkeley) 6/4/1998"; #endif /* not lint */ # include "sendmail.h" diff -cr sendmail-8.9.1/src/collect.c sendmail-8.9.2/src/collect.c *** sendmail-8.9.1/src/collect.c Thu Jun 4 14:32:01 1998 --- sendmail-8.9.2/src/collect.c Tue Dec 29 09:42:18 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)collect.c 8.89 (Berkeley) 6/4/98"; #endif /* not lint */ # include --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)collect.c 8.91 (Berkeley) 8/19/1998"; #endif /* not lint */ # include *************** *** 81,87 **** char dfname[MAXQFNAME]; char bufbuf[MAXLINE]; extern bool isheader __P((char *)); - extern void eatheader __P((ENVELOPE *, bool)); extern void tferror __P((FILE *volatile, ENVELOPE *)); headeronly = hdrp != NULL; --- 81,86 ---- *************** *** 101,107 **** { syserr("Cannot create %s", dfname); e->e_flags |= EF_NO_BODY_RETN; ! finis(); } if (fstat(fileno(tf), &stbuf) < 0) e->e_dfino = -1; --- 100,106 ---- { syserr("Cannot create %s", dfname); e->e_flags |= EF_NO_BODY_RETN; ! finis(TRUE, ExitStat); } if (fstat(fileno(tf), &stbuf) < 0) e->e_dfino = -1; *************** *** 159,166 **** for (;;) { - extern int chompheader __P((char *, bool, HDR **, ENVELOPE *)); - if (tTd(30, 35)) printf("top, istate=%d, mstate=%d\n", istate, mstate); for (;;) --- 158,163 ---- *************** *** 414,420 **** { tferror(tf, e); flush_errors(TRUE); ! finis(); } /* An EOF when running SMTP is an error */ --- 411,417 ---- { tferror(tf, e); flush_errors(TRUE); ! finis(TRUE, ExitStat); } /* An EOF when running SMTP is an error */ *************** *** 456,462 **** /* and don't try to deliver the partial message either */ if (InChild) ExitStat = EX_QUIT; ! finis(); } /* --- 453,459 ---- /* and don't try to deliver the partial message either */ if (InChild) ExitStat = EX_QUIT; ! finis(TRUE, ExitStat); } /* *************** *** 504,510 **** /* no valid recipient headers */ register ADDRESS *q; char *hdr = NULL; - extern void addheader __P((char *, char *, HDR **)); /* create an Apparently-To: field */ /* that or reject the message.... */ --- 501,506 ---- *************** *** 577,583 **** { /* we haven't acked receipt yet, so just chuck this */ syserr("Cannot reopen %s", dfname); ! finis(); } } --- 573,579 ---- { /* we haven't acked receipt yet, so just chuck this */ syserr("Cannot reopen %s", dfname); ! finis(TRUE, ExitStat); } } diff -cr sendmail-8.9.1/src/conf.c sendmail-8.9.2/src/conf.c *** sendmail-8.9.1/src/conf.c Thu Jun 25 23:09:42 1998 --- sendmail-8.9.2/src/conf.c Tue Dec 29 09:42:24 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)conf.c 8.431 (Berkeley) 6/25/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)conf.c 8.450 (Berkeley) 12/17/1998"; #endif /* not lint */ # include "sendmail.h" *************** *** 217,223 **** int i; struct passwd *pw; char buf[MAXNAME]; - extern void inittimeouts __P((char *)); extern void setdefuser __P((void)); extern void setupmaps __P((void)); extern void setupmailers __P((void)); --- 217,222 ---- *************** *** 247,253 **** DefGid = 1; /* option g */ setdefuser(); } ! TrustedFileUid = 0; if (tTd(37, 4)) printf("setdefaults: DefUser=%s, DefUid=%d, DefGid=%d\n", DefUser != NULL ? DefUser : "<1:1>", --- 246,252 ---- DefGid = 1; /* option g */ setdefuser(); } ! TrustedUid = 0; if (tTd(37, 4)) printf("setdefaults: DefUser=%s, DefUid=%d, DefGid=%d\n", DefUser != NULL ? DefUser : "<1:1>", *************** *** 292,297 **** --- 291,297 ---- #ifdef HESIOD_INIT HesiodContext = NULL; #endif + ControlSocketName = NULL; setupmaps(); setupmailers(); setupheaders(); *************** *** 324,330 **** setupmailers() { char buf[100]; - extern void makemailer __P((char *)); strcpy(buf, "prog, P=/bin/sh, F=lsoDq9, T=DNS/RFC822/X-Unix, A=sh -c \201u"); makemailer(buf); --- 324,329 ---- *************** *** 838,843 **** --- 837,850 ---- *p++ = '\0'; if (buf[0] == '\0') continue; + if (p == NULL) + { + sm_syslog(LOG_ERR, NOQID, + "Bad line on %.100s: %.100s", + ServiceSwitchFile, + buf); + continue; + } while (isspace(*p)) p++; if (*p == '\0') *************** *** 1280,1289 **** #endif #ifdef __QNX__ /* ! ** Due to QNX's network distributed nature, you can target a tcpip ! ** stack on a different node in the qnx network; this patch lets ! ** this feature work. The __sock_locate() must be done before the ! ** environment is clear. */ __sock_locate(); #endif --- 1287,1296 ---- #endif #ifdef __QNX__ /* ! ** Due to QNX's network distributed nature, you can target a tcpip ! ** stack on a different node in the qnx network; this patch lets ! ** this feature work. The __sock_locate() must be done before the ! ** environment is clear. */ __sock_locate(); #endif *************** *** 2047,2053 **** else if (conncnt++ > ConnRateThrottle && ConnRateThrottle > 0) { /* sleep to flatten out connection load */ ! setproctitle("deferring connections on port %d: %d per second", port, ConnRateThrottle); if (LogLevel >= 14) sm_syslog(LOG_INFO, NOQID, --- 2054,2060 ---- else if (conncnt++ > ConnRateThrottle && ConnRateThrottle > 0) { /* sleep to flatten out connection load */ ! sm_setproctitle(TRUE, "deferring connections on port %d: %d per second", port, ConnRateThrottle); if (LogLevel >= 14) sm_syslog(LOG_INFO, NOQID, *************** *** 2059,2065 **** CurrentLA = getla(); if (CurrentLA >= refusela) { ! setproctitle("rejecting connections on port %d: load average: %d", port, CurrentLA); if (LogLevel >= 14) sm_syslog(LOG_INFO, NOQID, --- 2066,2072 ---- CurrentLA = getla(); if (CurrentLA >= refusela) { ! sm_setproctitle(TRUE, "rejecting connections on port %d: load average: %d", port, CurrentLA); if (LogLevel >= 14) sm_syslog(LOG_INFO, NOQID, *************** *** 2070,2076 **** if (!enoughdiskspace(MinBlocksFree + 1)) { ! setproctitle("rejecting connections on port %d: min free: %d", port, MinBlocksFree); if (LogLevel >= 14) sm_syslog(LOG_INFO, NOQID, --- 2077,2083 ---- if (!enoughdiskspace(MinBlocksFree + 1)) { ! sm_setproctitle(TRUE, "rejecting connections on port %d: min free: %d", port, MinBlocksFree); if (LogLevel >= 14) sm_syslog(LOG_INFO, NOQID, *************** *** 2081,2092 **** if (MaxChildren > 0 && CurChildren >= MaxChildren) { - extern void proc_list_probe __P((void)); - proc_list_probe(); if (CurChildren >= MaxChildren) { ! setproctitle("rejecting connections on port %d: %d children, max %d", port, CurChildren, MaxChildren); if (LogLevel >= 14) sm_syslog(LOG_INFO, NOQID, --- 2088,2097 ---- if (MaxChildren > 0 && CurChildren >= MaxChildren) { proc_list_probe(); if (CurChildren >= MaxChildren) { ! sm_setproctitle(TRUE, "rejecting connections on port %d: %d children, max %d", port, CurChildren, MaxChildren); if (LogLevel >= 14) sm_syslog(LOG_INFO, NOQID, *************** *** 2170,2181 **** # define SPT_PADCHAR ' ' # endif # ifndef SPT_BUFSIZE # define SPT_BUFSIZE MAXLINE # endif - #endif /* SPT_TYPE != SPT_NONE && SPT_TYPE != SPT_BUILTIN */ - /* ** Pointers for setproctitle. ** This allows "ps" listings to give more useful information. --- 2175,2186 ---- # define SPT_PADCHAR ' ' # endif + #endif /* SPT_TYPE != SPT_NONE && SPT_TYPE != SPT_BUILTIN */ + # ifndef SPT_BUFSIZE # define SPT_BUFSIZE MAXLINE # endif /* ** Pointers for setproctitle. ** This allows "ps" listings to give more useful information. *************** *** 2320,2325 **** --- 2325,2368 ---- #endif /* SPT_TYPE != SPT_BUILTIN */ /* + ** SM_SETPROCTITLE -- set process task and set process title for ps + ** + ** Possibly set process status and call setproctitle() to + ** change the ps display. + ** + ** Parameters: + ** status -- whether or not to store as process status + ** fmt -- a printf style format string. + ** a, b, c -- possible parameters to fmt. + ** + ** Returns: + ** none. + */ + + /*VARARGS2*/ + void + # ifdef __STDC__ + sm_setproctitle(bool status, const char *fmt, ...) + # else + sm_setproctitle(status, fmt, va_alist) + bool status; + const char *fmt; + va_dcl + #endif + { + char buf[SPT_BUFSIZE]; + + VA_LOCAL_DECL + /* print the argument string */ + VA_START(fmt); + (void) vsnprintf(buf, SPT_BUFSIZE, fmt, ap); + VA_END; + + if (status) + proc_list_set(getpid(), buf); + setproctitle("%s", buf); + } + /* ** WAITFOR -- wait for a particular process id. ** ** Parameters: *************** *** 2789,2796 **** /* ! ** this version hacked to add `atend' flag to allow state machine ! ** to reset if invoked by the program to scan args for a 2nd time */ #if defined(LIBC_SCCS) && !defined(lint) --- 2832,2839 ---- /* ! ** this version hacked to add `atend' flag to allow state machine ! ** to reset if invoked by the program to scan args for a 2nd time */ #if defined(LIBC_SCCS) && !defined(lint) *************** *** 2962,2968 **** "/bin/bsh", /* Bourne shell */ "/usr/bin/bsh", #endif ! #ifdef __svr4__ "/bin/ksh", /* Korn shell */ "/usr/bin/ksh", #endif --- 3005,3011 ---- "/bin/bsh", /* Bourne shell */ "/usr/bin/bsh", #endif ! #if defined(__svr4__) || defined(__svr5__) "/bin/ksh", /* Korn shell */ "/usr/bin/ksh", #endif *************** *** 3665,3673 **** --- 3708,3770 ---- } #endif + #if defined(VENDOR_NAME) && defined(VENDOR_CODE) + if (strcasecmp(vendor, VENDOR_NAME) == 0) + { + VendorCode = VENDOR_CODE; + return TRUE; + } + #endif + return FALSE; } /* + ** GETVENDOR -- return vendor name based on vendor code + ** + ** Parameters: + ** vendorcode -- numeric representation of vendor. + ** + ** Returns: + ** string containing vendor name. + */ + + char * + getvendor(vendorcode) + int vendorcode; + { + #if defined(VENDOR_NAME) && defined(VENDOR_CODE) + /* + ** Can't have the same switch case twice so need to + ** handle VENDOR_CODE outside of switch. It might + ** match one of the existing VENDOR_* codes. + */ + + if (vendorcode == VENDOR_CODE) + return VENDOR_NAME; + #endif + + switch (vendorcode) + { + case VENDOR_BERKELEY: + return "Berkeley"; + + case VENDOR_SUN: + return "Sun"; + + case VENDOR_HP: + return "HP"; + + case VENDOR_IBM: + return "IBM"; + + case VENDOR_SENDMAIL: + return "Sendmail"; + + default: + return "Unknown"; + } + } + /* ** VENDOR_PRE_DEFAULTS, VENDOR_POST_DEFAULTS -- set vendor-specific defaults ** ** Vendor_pre_defaults is called before reading the configuration *************** *** 3730,3736 **** if (getluid() != -1) { usrerr("Daemon cannot have LUID"); ! exit(EX_USAGE); } #endif /* SECUREWARE */ } --- 3827,3833 ---- if (getluid() != -1) { usrerr("Daemon cannot have LUID"); ! finis(FALSE, EX_USAGE); } #endif /* SECUREWARE */ } *************** *** 4173,4183 **** rc, uid); break; } ! exit(EX_NOPERM); } } #endif /* SECUREWARE */ /* ** LOAD_IF_NAMES -- load interface-specific names into $=w ** ** Parameters: --- 4270,4357 ---- rc, uid); break; } ! finis(FALSE, EX_NOPERM); } } #endif /* SECUREWARE */ /* + ** ADD_LOCAL_HOST_NAMES -- Add a hostname to class 'w' based on IP address + ** + ** Add hostnames to class 'w' based on the IP address read from + ** the network interface. + ** + ** Parameters: + ** sa -- a pointer to a SOCKADDR containing the address + ** + ** Returns: + ** 0 if successful, -1 if host lookup fails. + */ + + int + add_hostnames(sa) + SOCKADDR *sa; + { + struct hostent *hp; + + /* lookup name with IP address */ + switch (sa->sa.sa_family) + { + case AF_INET: + hp = sm_gethostbyaddr((char *) &sa->sin.sin_addr, + sizeof(sa->sin.sin_addr), sa->sa.sa_family); + break; + + default: + #if _FFR_LOG_UNSUPPORTED_FAMILIES + /* XXX: Give warning about unsupported family */ + if (LogLevel > 3) + sm_syslog(LOG_WARNING, NOQID, + "Unsupported address family %d: %.100s", + sa->sa.sa_family, anynet_ntoa(sa)); + #endif + return -1; + } + + if (hp == NULL) + { + int save_errno = errno; + + if (LogLevel > 3) + sm_syslog(LOG_WARNING, NOQID, + "gethostbyaddr(%.100s) failed: %d\n", + anynet_ntoa(sa), + #if NAMED_BIND + h_errno + #else + -1 + #endif + ); + errno = save_errno; + return -1; + } + + /* save its cname */ + if (!wordinclass((char *) hp->h_name, 'w')) + { + setclass('w', (char *) hp->h_name); + if (tTd(0, 4)) + printf("\ta.k.a.: %s\n", hp->h_name); + } + + /* save all it aliases name */ + while (*hp->h_aliases) + { + if (!wordinclass(*hp->h_aliases, 'w')) + { + setclass('w', *hp->h_aliases); + if (tTd(0, 4)) + printf("\ta.k.a.: %s\n", *hp->h_aliases); + } + hp->h_aliases++; + } + return 0; + } + /* ** LOAD_IF_NAMES -- load interface-specific names into $=w ** ** Parameters: *************** *** 4254,4262 **** for (i = 0; i < ifc.ifc_len; ) { struct ifreq *ifr = (struct ifreq *) &ifc.ifc_buf[i]; ! struct sockaddr *sa = &ifr->ifr_addr; struct in_addr ia; - struct hostent *hp; #ifdef SIOCGIFFLAGS struct ifreq ifrf; #endif --- 4428,4435 ---- for (i = 0; i < ifc.ifc_len; ) { struct ifreq *ifr = (struct ifreq *) &ifc.ifc_buf[i]; ! SOCKADDR *sa = (SOCKADDR *) &ifr->ifr_addr; struct in_addr ia; #ifdef SIOCGIFFLAGS struct ifreq ifrf; #endif *************** *** 4264,4277 **** extern char *inet_ntoa(); #ifdef BSD4_4_SOCKADDR ! if (sa->sa_len > sizeof ifr->ifr_addr) ! i += sizeof ifr->ifr_name + sa->sa_len; else #endif i += sizeof *ifr; if (tTd(0, 20)) ! printf("%s\n", anynet_ntoa((SOCKADDR *) sa)); if (ifr->ifr_addr.sa_family != AF_INET) continue; --- 4437,4450 ---- extern char *inet_ntoa(); #ifdef BSD4_4_SOCKADDR ! if (sa->sa.sa_len > sizeof ifr->ifr_addr) ! i += sizeof ifr->ifr_name + sa->sa.sa_len; else #endif i += sizeof *ifr; if (tTd(0, 20)) ! printf("%s\n", anynet_ntoa(sa)); if (ifr->ifr_addr.sa_family != AF_INET) continue; *************** *** 4290,4296 **** continue; /* extract IP address from the list*/ ! ia = (((struct sockaddr_in *) sa)->sin_addr); if (ia.s_addr == INADDR_ANY || ia.s_addr == INADDR_NONE) { message("WARNING: interface %s is UP with %s address", --- 4463,4469 ---- continue; /* extract IP address from the list*/ ! ia = sa->sin.sin_addr; if (ia.s_addr == INADDR_ANY || ia.s_addr == INADDR_NONE) { message("WARNING: interface %s is UP with %s address", *************** *** 4313,4353 **** if (bitset(IFF_LOOPBACK, IFRFREF.ifr_flags)) continue; ! /* lookup name with IP address */ ! hp = sm_gethostbyaddr((char *) &ia, sizeof(ia), AF_INET); ! if (hp == NULL) ! { ! if (LogLevel > 3) ! sm_syslog(LOG_WARNING, NOQID, ! "gethostbyaddr(%.100s) failed: %d\n", ! inet_ntoa(ia), ! #if NAMED_BIND ! h_errno); ! #else ! -1); ! #endif ! continue; ! } ! ! /* save its cname */ ! if (!wordinclass((char *) hp->h_name, 'w')) ! { ! setclass('w', (char *) hp->h_name); ! if (tTd(0, 4)) ! printf("\ta.k.a.: %s\n", hp->h_name); ! } ! ! /* save all it aliases name */ ! while (*hp->h_aliases) ! { ! if (!wordinclass(*hp->h_aliases, 'w')) ! { ! setclass('w', *hp->h_aliases); ! if (tTd(0, 4)) ! printf("\ta.k.a.: %s\n", *hp->h_aliases); ! } ! hp->h_aliases++; ! } } free(ifc.ifc_buf); close(s); --- 4486,4492 ---- if (bitset(IFF_LOOPBACK, IFRFREF.ifr_flags)) continue; ! (void) add_hostnames(sa); } free(ifc.ifc_buf); close(s); *************** *** 4412,4418 **** extern int SyslogErrno; extern char *DoprEnd; VA_LOCAL_DECL ! extern void sm_dopr __P((char *, const char *, ...)); SyslogErrno = errno; if (id == NULL) --- 4551,4557 ---- extern int SyslogErrno; extern char *DoprEnd; VA_LOCAL_DECL ! extern void sm_dopr __P((char *, const char *, va_list)); SyslogErrno = errno; if (id == NULL) diff -cr sendmail-8.9.1/src/conf.h sendmail-8.9.2/src/conf.h *** sendmail-8.9.1/src/conf.h Thu Jun 4 14:32:01 1998 --- sendmail-8.9.2/src/conf.h Tue Dec 29 09:42:16 1998 *************** *** 9,15 **** * the sendmail distribution. * * ! * @(#)conf.h 8.372 (Berkeley) 6/4/98 */ /* --- 9,15 ---- * the sendmail distribution. * * ! * @(#)conf.h 8.380 (Berkeley) 11/9/1998 */ /* *************** *** 64,69 **** --- 64,74 ---- # define MACBUFSIZE 4096 /* max expanded macro buffer size */ # define TOBUFSIZE 512 /* max buffer to hold address list */ # define MAXSHORTSTR 203 /* max short string length */ + # if _FFR_MAX_MIME_HEADER_LENGTH + # define MAXMACNAMELEN 25 /* max macro name length */ + # else + # define MAXMACNAMELEN 20 /* max macro name length */ + # endif /********************************************************************** ** Compilation options. *************** *** 344,355 **** # define GIDSET_T gid_t # define SFS_TYPE SFS_4ARGS /* four argument statfs() call */ # define SFS_BAVAIL f_bfree /* alternate field name */ # ifdef IRIX6 # define STAT64 1 # define QUAD_T unsigned long long # define LA_TYPE LA_IRIX6 /* figure out at run time */ # define SAFENFSPATHCONF 0 /* pathconf(2) lies on NFS filesystems */ - # define SYSLOG_BUFSIZE 512 # else # define LA_TYPE LA_INT --- 349,360 ---- # define GIDSET_T gid_t # define SFS_TYPE SFS_4ARGS /* four argument statfs() call */ # define SFS_BAVAIL f_bfree /* alternate field name */ + # define SYSLOG_BUFSIZE 512 # ifdef IRIX6 # define STAT64 1 # define QUAD_T unsigned long long # define LA_TYPE LA_IRIX6 /* figure out at run time */ # define SAFENFSPATHCONF 0 /* pathconf(2) lies on NFS filesystems */ # else # define LA_TYPE LA_INT *************** *** 674,679 **** --- 679,719 ---- #endif + /* + ** Apple Rhapsody + ** Contributed by Wilfredo Sanchez + */ + + #ifdef __APPLE__ + # define HASFCHMOD 1 /* has fchmod(2) syscall */ + # define HASFLOCK 1 /* has flock(2) syscall */ + # define HASUNAME 1 /* has uname(2) syscall */ + # define HASUNSETENV 1 + # define HASSETSID 1 /* has the setsid(2) POSIX syscall */ + # define HASINITGROUPS 1 + # define HASSETVBUF 1 + # define HASSETREUID 1 + # define USESETEUID 1 /* has useable seteuid(2) call */ + # define HASLSTAT 1 + # define HASSETRLIMIT 1 + # define HASWAITPID 1 + # define HASSTRERROR 1 /* has strerror(3) */ + # define HASSNPRINTF 1 /* has snprintf(3) and vsnprintf(3) */ + # define USESTRERROR 1 /* has strerror(3) */ + # define HASGETDTABLESIZE 1 + # define HASGETUSERSHELL 1 + # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ + # define BSD4_4_SOCKADDR /* has sa_len */ + # define NETLINK 1 /* supports AF_LINK */ + # define HAS_ST_GEN 1 /* has st_gen field in stat struct */ + # define GIDSET_T gid_t + # define LA_TYPE LA_SUBR /* use getloadavg(3) */ + # define SFS_TYPE SFS_MOUNT /* use statfs() impl */ + # define SPT_TYPE SPT_PSSTRINGS + # define SPT_PADCHAR '\0' /* pad process title with nulls */ + # define ERRLIST_PREDEFINED /* don't declare sys_errlist */ + #endif + /* ** 4.4 BSD *************** *** 814,825 **** # endif # if defined(__FreeBSD__) # undef SPT_TYPE ! # if __FreeBSD__ == 2 ! # include /* and this works */ ! # if __FreeBSD_version >= 199512 /* 2.2-current right now */ # include # define SPT_TYPE SPT_BUILTIN # endif # endif # ifndef SPT_TYPE # define SPT_TYPE SPT_REUSEARGV --- 854,868 ---- # endif # if defined(__FreeBSD__) # undef SPT_TYPE ! # if __FreeBSD__ >= 2 ! # include ! # if __FreeBSD_version >= 199512 /* 2.2-current when it appeared */ # include # define SPT_TYPE SPT_BUILTIN # endif + # if __FreeBSD_version >= 222000 /* 2.2.2-release and later */ + # define HASSETUSERCONTEXT 1 /* BSDI-style login classes */ + # endif # endif # ifndef SPT_TYPE # define SPT_TYPE SPT_REUSEARGV *************** *** 1216,1224 **** ** Florian La Roche ** Karl London ** ! ** Last compiled against: [06/10/96 @ 09:21:40 PM (Monday)] ! ** sendmail 8.8-a4 named bind-4.9.4-T4B db-1.85 ! ** gcc 2.7.2 libc-5.3.12 linux 2.0.0 ** ** NOTE: Override HASFLOCK as you will but, as of 1.99.6, mixed-style ** file locking is no longer allowed. In particular, make sure --- 1259,1267 ---- ** Florian La Roche ** Karl London ** ! ** Last compiled against: [07/21/98 @ 11:47:34 AM (Tuesday)] ! ** sendmail 8.9.1 bind-8.1.2 db-2.4.14 ! ** gcc-2.8.1 glibc-2.0.94 linux-2.1.109 ** ** NOTE: Override HASFLOCK as you will but, as of 1.99.6, mixed-style ** file locking is no longer allowed. In particular, make sure *************** *** 1228,1233 **** --- 1271,1277 ---- #ifdef __linux__ # define BSD 1 /* include BSD defines */ + # define USESETEUID 0 /* Have it due to POSIX, but doesn't work */ # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ # define HASUNAME 1 /* use System V uname(2) system call */ # define HASUNSETENV 1 /* has unsetenv(3) call */ *************** *** 1255,1261 **** # ifndef _PATH_SENDMAILPID # define _PATH_SENDMAILPID "/var/run/sendmail.pid" # endif ! # define TZ_TYPE TZ_TNAME # include # undef atol /* wounded in */ #endif --- 1299,1305 ---- # ifndef _PATH_SENDMAILPID # define _PATH_SENDMAILPID "/var/run/sendmail.pid" # endif ! # define TZ_TYPE TZ_TZNAME # include # undef atol /* wounded in */ #endif *************** *** 1484,1489 **** --- 1528,1564 ---- # endif #endif + /* + ** System V Rel 5.x (a.k.a Unixware7 w/o BSD-Compatiblity Libs ie. native) + ** + ** Contributed by Paul Gampe + */ + + #ifdef __svr5__ + # include + # define __svr4__ + # define SYS5SIGNALS 1 + # define HASSETSID 1 + # define HASSETREUID 1 + # define HASWAITPID 1 + # define HASGETDTABLESIZE 1 + # define GIDSET_T gid_t + # define SOCKADDR_LEN_T size_t + # define SOCKOPT_LEN_T size_t + # ifndef _PATH_UNIX + # define _PATH_UNIX "/stand/unix" + # endif + # define SPT_PADCHAR '\0' /* pad process title with nulls */ + # define SYSLOG_BUFSIZE 1024 /* unsure */ + # ifndef _PATH_VENDOR_CF + # define _PATH_VENDOR_CF "/etc/sendmail.cf" + # endif + # ifndef _PATH_SENDMAILPID + # define _PATH_SENDMAILPID "/etc/sendmail.pid" + # endif + #endif + + /* ###################################################################### */ /* ** UnixWare 2.x *************** *** 1516,1522 **** # define LA_TYPE LA_ZERO # undef WIFEXITED # undef WEXITSTATUS ! # define _PATH_UNIX "/unix" # ifndef _PATH_VENDOR_CF # define _PATH_VENDOR_CF "/usr/ucblib/sendmail.cf" # endif --- 1591,1599 ---- # define LA_TYPE LA_ZERO # undef WIFEXITED # undef WEXITSTATUS ! # ifndef _PATH_UNIX ! # define _PATH_UNIX "/unix" ! # endif # ifndef _PATH_VENDOR_CF # define _PATH_VENDOR_CF "/usr/ucblib/sendmail.cf" # endif Only in sendmail-8.9.2/src: control.c diff -cr sendmail-8.9.1/src/convtime.c sendmail-8.9.2/src/convtime.c *** sendmail-8.9.1/src/convtime.c Tue May 19 16:36:03 1998 --- sendmail-8.9.2/src/convtime.c Tue Dec 29 09:42:15 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)convtime.c 8.14 (Berkeley) 5/19/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)convtime.c 8.14 (Berkeley) 5/19/1998"; #endif /* not lint */ # include "sendmail.h" diff -cr sendmail-8.9.1/src/daemon.c sendmail-8.9.2/src/daemon.c *** sendmail-8.9.1/src/daemon.c Wed Jun 24 11:28:42 1998 --- sendmail-8.9.2/src/daemon.c Tue Dec 29 09:42:20 1998 *************** *** 15,23 **** #ifndef lint #ifdef DAEMON ! static char sccsid[] = "@(#)daemon.c 8.220 (Berkeley) 6/24/98 (with daemon mode)"; #else ! static char sccsid[] = "@(#)daemon.c 8.220 (Berkeley) 6/24/98 (without daemon mode)"; #endif #endif /* not lint */ --- 15,23 ---- #ifndef lint #ifdef DAEMON ! static char sccsid[] = "@(#)daemon.c 8.234 (Berkeley) 12/17/1998 (with daemon mode)"; #else ! static char sccsid[] = "@(#)daemon.c 8.234 (Berkeley) 12/17/1998 (without daemon mode)"; #endif #endif /* not lint */ *************** *** 103,117 **** ENVELOPE *e; { int t; ! bool refusingconnections = TRUE; FILE *pidf; int socksize; u_short port; #if XDEBUG bool j_has_dot; #endif extern void reapchild __P((int)); extern int opendaemonsocket __P((bool)); /* ** Set up the address for the mailer. --- 103,124 ---- ENVELOPE *e; { int t; ! time_t refuse_connections_until = 0; ! bool firsttime = TRUE; FILE *pidf; + int sff; int socksize; u_short port; #if XDEBUG bool j_has_dot; #endif + char status[MAXLINE]; extern void reapchild __P((int)); + #ifdef NETUNIX + extern int ControlSocket; + #endif extern int opendaemonsocket __P((bool)); + extern int opencontrolsocket __P((void)); /* ** Set up the address for the mailer. *************** *** 169,179 **** /* get a socket for the SMTP connection */ socksize = opendaemonsocket(TRUE); (void) setsignal(SIGCHLD, reapchild); /* write the pid to the log file for posterity */ ! pidf = safefopen(PidFile, O_WRONLY|O_TRUNC, 0644, ! SFF_NOLINK|SFF_ROOTOK|SFF_REGONLY|SFF_CREAT); if (pidf == NULL) { sm_syslog(LOG_ERR, NOQID, "unable to write %s", PidFile); --- 176,193 ---- /* get a socket for the SMTP connection */ socksize = opendaemonsocket(TRUE); + if (opencontrolsocket() < 0) + sm_syslog(LOG_WARNING, NOQID, + "daemon could not open control socket: %s", + errstring(errno)); + (void) setsignal(SIGCHLD, reapchild); /* write the pid to the log file for posterity */ ! sff = SFF_NOLINK|SFF_ROOTOK|SFF_REGONLY|SFF_CREAT; ! if (TrustedUid != 0 && RealUid == TrustedUid) ! sff |= SFF_OPENASROOT; ! pidf = safefopen(PidFile, O_WRONLY|O_TRUNC, 0644, sff); if (pidf == NULL) { sm_syslog(LOG_ERR, NOQID, "unable to write %s", PidFile); *************** *** 201,206 **** --- 215,223 ---- } #endif + /* Add parent process as first item */ + proc_list_add(getpid(), "Sendmail daemon"); + if (tTd(15, 1)) printf("getrequests: %d\n", DaemonSocket); *************** *** 208,237 **** { register pid_t pid; auto SOCKADDR_LEN_T lotherend; int savederrno; int pipefd[2]; extern bool refuseconnections __P((int)); /* see if we are rejecting connections */ (void) blocksignal(SIGALRM); ! if (refuseconnections(ntohs(port))) { ! if (DaemonSocket >= 0) { ! /* close socket so peer will fail quickly */ ! (void) close(DaemonSocket); ! DaemonSocket = -1; ! } ! refusingconnections = TRUE; ! sleep(15); ! continue; ! } ! /* arrange to (re)open the socket if necessary */ ! if (refusingconnections) ! { ! (void) opendaemonsocket(FALSE); ! refusingconnections = FALSE; } #if XDEBUG --- 225,258 ---- { register pid_t pid; auto SOCKADDR_LEN_T lotherend; + bool timedout = FALSE; + bool control = FALSE; int savederrno; int pipefd[2]; extern bool refuseconnections __P((int)); /* see if we are rejecting connections */ (void) blocksignal(SIGALRM); ! if (curtime() >= refuse_connections_until) { ! if (refuseconnections(ntohs(port))) { ! if (DaemonSocket >= 0) ! { ! /* close socket so peer fails quickly */ ! (void) close(DaemonSocket); ! DaemonSocket = -1; ! } ! /* refuse connections for next 15 seconds */ ! refuse_connections_until = curtime() + 15; ! } ! else if (DaemonSocket < 0 || firsttime) ! { ! /* arrange to (re)open the socket if needed */ ! (void) opendaemonsocket(FALSE); ! firsttime = FALSE; ! } } #if XDEBUG *************** *** 258,266 **** } #endif - /* wait for a connection */ - setproctitle("accepting connections on port %d", - ntohs(port)); #if 0 /* ** Andrew Sun claims that this will --- 279,284 ---- *************** *** 268,301 **** ** so is it worth doing this? */ ! if (SetNonBlocking(DaemonSocket, FALSE) < 0) log an error here; #endif (void) releasesignal(SIGALRM); for (;;) { fd_set readfds; struct timeval timeout; FD_ZERO(&readfds); ! FD_SET(DaemonSocket, &readfds); ! timeout.tv_sec = 60; timeout.tv_usec = 0; ! t = select(DaemonSocket + 1, FDSET_CAST &readfds, ! NULL, NULL, &timeout); if (DoQueueRun) (void) runqueue(TRUE, FALSE); ! if (t <= 0 || !FD_ISSET(DaemonSocket, &readfds)) ! continue; errno = 0; ! lotherend = socksize; ! t = accept(DaemonSocket, ! (struct sockaddr *)&RealHostAddr, &lotherend); if (t >= 0 || errno != EINTR) break; } savederrno = errno; (void) blocksignal(SIGALRM); if (t < 0) --- 286,382 ---- ** so is it worth doing this? */ ! if (DaemonSocket >= 0 && ! SetNonBlocking(DaemonSocket, FALSE) < 0) log an error here; #endif (void) releasesignal(SIGALRM); for (;;) { + int highest = -1; fd_set readfds; struct timeval timeout; FD_ZERO(&readfds); ! ! /* wait for a connection */ ! if (DaemonSocket >= 0) ! { ! sm_setproctitle(TRUE, ! "accepting connections on port %d", ! ntohs(port)); ! if (DaemonSocket > highest) ! highest = DaemonSocket; ! FD_SET(DaemonSocket, &readfds); ! } ! #ifdef NETUNIX ! if (ControlSocket >= 0) ! { ! if (ControlSocket > highest) ! highest = ControlSocket; ! FD_SET(ControlSocket, &readfds); ! } ! #endif ! if (DaemonSocket >= 0) ! timeout.tv_sec = 60; ! else ! timeout.tv_sec = 5; timeout.tv_usec = 0; ! t = select(highest + 1, FDSET_CAST &readfds, ! NULL, NULL, &timeout); ! if (DoQueueRun) (void) runqueue(TRUE, FALSE); ! if (t <= 0) ! { ! timedout = TRUE; ! break; ! } + control = FALSE; errno = 0; ! if (DaemonSocket >= 0 && ! FD_ISSET(DaemonSocket, &readfds)) ! { ! lotherend = socksize; ! t = accept(DaemonSocket, ! (struct sockaddr *)&RealHostAddr, ! &lotherend); ! } ! #ifdef NETUNIX ! else if (ControlSocket >= 0 && ! FD_ISSET(ControlSocket, &readfds)) ! { ! struct sockaddr_un sa_un; ! ! lotherend = sizeof sa_un; ! t = accept(ControlSocket, ! (struct sockaddr *)&sa_un, ! &lotherend); ! control = TRUE; ! } ! #endif if (t >= 0 || errno != EINTR) break; } + if (timedout) + { + timedout = FALSE; + continue; + } + if (control) + { + if (t >= 0) + { + extern void control_command __P((int, ENVELOPE *)); + + control_command(t, e); + } + else + syserr("getrequests: control accept"); + continue; + } savederrno = errno; (void) blocksignal(SIGALRM); if (t < 0) *************** *** 306,313 **** /* arrange to re-open the socket next time around */ (void) close(DaemonSocket); DaemonSocket = -1; - refusingconnections = TRUE; - sleep(5); continue; } --- 387,392 ---- *************** *** 360,371 **** (void) setsignal(SIGCHLD, SIG_DFL); (void) setsignal(SIGHUP, intsig); (void) close(DaemonSocket); proc_list_clear(); /* don't schedule queue runs if we are told to ETRN */ QueueIntvl = 0; ! setproctitle("startup with %s", anynet_ntoa(&RealHostAddr)); if (pipefd[0] != -1) --- 439,454 ---- (void) setsignal(SIGCHLD, SIG_DFL); (void) setsignal(SIGHUP, intsig); (void) close(DaemonSocket); + clrcontrol(); proc_list_clear(); + /* Add parent process as first child item */ + proc_list_add(getpid(), "daemon child"); + /* don't schedule queue runs if we are told to ETRN */ QueueIntvl = 0; ! sm_setproctitle(TRUE, "startup with %s", anynet_ntoa(&RealHostAddr)); if (pipefd[0] != -1) *************** *** 395,430 **** if (strlen(p) > (SIZE_T) MAXNAME) p[MAXNAME] = '\0'; RealHostName = newstr(p); ! setproctitle("startup with %s", p); if ((inchannel = fdopen(t, "r")) == NULL || (t = dup(t)) < 0 || (outchannel = fdopen(t, "w")) == NULL) { syserr("cannot open SMTP server channel, fd=%d", t); ! exit(EX_OK); } InChannel = inchannel; OutChannel = outchannel; DisConnected = FALSE; - /* open maps for check_relay ruleset */ - initmaps(FALSE, e); - #ifdef XLA if (!xla_host_ok(RealHostName)) { message("421 Too many SMTP sessions for this host"); ! exit(EX_OK); } #endif - break; } /* parent -- keep track of children */ ! proc_list_add(pid); (void) releasesignal(SIGCHLD); /* close the read end of the synchronization pipe */ --- 478,511 ---- if (strlen(p) > (SIZE_T) MAXNAME) p[MAXNAME] = '\0'; RealHostName = newstr(p); ! sm_setproctitle(TRUE, "startup with %s", p); if ((inchannel = fdopen(t, "r")) == NULL || (t = dup(t)) < 0 || (outchannel = fdopen(t, "w")) == NULL) { syserr("cannot open SMTP server channel, fd=%d", t); ! finis(FALSE, EX_OK); } InChannel = inchannel; OutChannel = outchannel; DisConnected = FALSE; #ifdef XLA if (!xla_host_ok(RealHostName)) { message("421 Too many SMTP sessions for this host"); ! finis(FALSE, EX_OK); } #endif break; } /* parent -- keep track of children */ ! snprintf(status, MAXLINE, "SMTP server child for %s", ! anynet_ntoa(&RealHostAddr)); ! proc_list_add(pid, status); (void) releasesignal(SIGCHLD); /* close the read end of the synchronization pipe */ *************** *** 552,558 **** return socksize; } while (ntries++ < MAXOPENTRIES && transienterror(saveerrno)); syserr("!opendaemonsocket: server SMTP socket wedged: exiting"); ! finis(); return -1; /* avoid compiler warning on IRIX */ } /* --- 633,639 ---- return socksize; } while (ntries++ < MAXOPENTRIES && transienterror(saveerrno)); syserr("!opendaemonsocket: server SMTP socket wedged: exiting"); ! /*NOTREACHED*/ return -1; /* avoid compiler warning on IRIX */ } /* *************** *** 1280,1286 **** /* translate that to a host name */ RealHostName = newstr(hostnamebyanyaddr(&RealHostAddr)); if (strlen(RealHostName) > MAXNAME) ! RealHostName[MAXNAME - 1] = '\0'; } /* cross check RealHostName with forward DNS lookup */ --- 1361,1367 ---- /* translate that to a host name */ RealHostName = newstr(hostnamebyanyaddr(&RealHostAddr)); if (strlen(RealHostName) > MAXNAME) ! RealHostName[MAXNAME] = '\0'; } /* cross check RealHostName with forward DNS lookup */ *************** *** 1288,1295 **** RealHostName[0] == '[') { /* ! ** address is not a socket or have an ! ** IP address with no forward lookup */ *may_be_forged = FALSE; } --- 1369,1376 ---- RealHostName[0] == '[') { /* ! ** address is not a socket or have an ! ** IP address with no forward lookup */ *may_be_forged = FALSE; } diff -cr sendmail-8.9.1/src/deliver.c sendmail-8.9.2/src/deliver.c *** sendmail-8.9.1/src/deliver.c Tue Jun 30 23:05:35 1998 --- sendmail-8.9.2/src/deliver.c Tue Dec 29 09:42:23 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)deliver.c 8.353 (Berkeley) 6/30/98"; #endif /* not lint */ #include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)deliver.c 8.366 (Berkeley) 12/18/1998"; #endif /* not lint */ #include "sendmail.h" *************** *** 360,366 **** if (mode != SM_VERIFY && bitset(EF_HAS_DF, e->e_flags)) dup_queue_file(e, ee, 'd'); openxscript(ee); ! if (LogLevel > 4) sm_syslog(LOG_INFO, ee->e_id, "clone %s, owner=%s", e->e_id, owner); --- 360,366 ---- if (mode != SM_VERIFY && bitset(EF_HAS_DF, e->e_flags)) dup_queue_file(e, ee, 'd'); openxscript(ee); ! if (mode != SM_VERIFY && LogLevel > 4) sm_syslog(LOG_INFO, ee->e_id, "clone %s, owner=%s", e->e_id, owner); *************** *** 552,558 **** # else e->e_id = NULL; # endif /* HASFLOCK */ ! finis(); } /* be sure to give error messages in child */ --- 552,558 ---- # else e->e_id = NULL; # endif /* HASFLOCK */ ! finis(TRUE, ExitStat); } /* be sure to give error messages in child */ *************** *** 570,575 **** --- 570,584 ---- mci_flush(FALSE, NULL); + /* + ** Since the delivery may happen in a child and the parent + ** does not wait, the parent may close the maps thereby + ** removing any shared memory used by the map. Therefore, + ** open a copy of the maps for the delivery process. + */ + + initmaps(FALSE, e); + # if HASFLOCK break; # else *************** *** 586,592 **** ee->e_sibling = sibling; } (void) dowork(e->e_id, FALSE, FALSE, e); ! finis(); # endif /* !HASFLOCK */ } --- 595,601 ---- ee->e_sibling = sibling; } (void) dowork(e->e_id, FALSE, FALSE, e); ! finis(TRUE, ExitStat); # endif /* !HASFLOCK */ } *************** *** 604,610 **** Verbose = oldverbose; if (mode == SM_FORK) ! finis(); } void --- 613,619 ---- Verbose = oldverbose; if (mode == SM_FORK) ! finis(TRUE, ExitStat); } void *************** *** 1091,1098 **** e->e_from.q_paddr, to->q_paddr, e); if (rcode == EX_OK) { ! /* do in-code checking */ ! rcode = checkcompat(to, e); } if (rcode != EX_OK) { --- 1100,1108 ---- e->e_from.q_paddr, to->q_paddr, e); if (rcode == EX_OK) { ! /* do in-code checking if not discarding */ ! if (!bitset(EF_DISCARD, e->e_flags)) ! rcode = checkcompat(to, e); } if (rcode != EX_OK) { *************** *** 1100,1105 **** --- 1110,1131 ---- giveresponse(rcode, m, NULL, ctladdr, xstart, e); continue; } + if (bitset(EF_DISCARD, e->e_flags)) + { + if (tTd(10, 5)) + { + printf("deliver: discarding recipient "); + printaddr(to, FALSE); + } + + /* + ** Remove discard bit to prevent discard of + ** future recipients + */ + e->e_flags &= ~EF_DISCARD; + + continue; + } /* ** Strip quote bits from names if the mailer is dumb *************** *** 1409,1415 **** } /* try the connection */ ! setproctitle("%s %s: %s", e->e_id, hostbuf, "user open"); if (port == 0) message("Connecting to %s via %s...", hostbuf, m->m_name); --- 1435,1441 ---- } /* try the connection */ ! sm_setproctitle(TRUE, "%s %s: %s", e->e_id, hostbuf, "user open"); if (port == 0) message("Connecting to %s via %s...", hostbuf, m->m_name); *************** *** 2096,2102 **** rcode = smtpgetstat(m, mci, e); if (rcode == EX_OK) { ! if (strlen(to->q_paddr) + strlen(tobuf) + 2 >= sizeof tobuf) { syserr("LMTP tobuf overflow"); } --- 2122,2128 ---- rcode = smtpgetstat(m, mci, e); if (rcode == EX_OK) { ! if (strlen(to->q_paddr) + strlen(tobuf) + 2 > sizeof tobuf) { syserr("LMTP tobuf overflow"); } *************** *** 2827,2833 **** char hname[MAXNAME]; /* ! ** If we can construct a UUCP path, do so */ at = strrchr(buf, '@'); --- 2853,2859 ---- char hname[MAXNAME]; /* ! ** If we can construct a UUCP path, do so */ at = strrchr(buf, '@'); *************** *** 2882,2887 **** --- 2908,2914 ---- char *separator; { char buf[MAXLINE]; + char *boundaries[MAXMIMENESTING + 1]; /* ** Output the body of the message *************** *** 2923,2930 **** #if MIME8TO7 if (bitset(MCIF_CVT8TO7, mci->mci_flags)) { - char *boundaries[MAXMIMENESTING + 1]; - /* ** Do 8 to 7 bit MIME conversion. */ --- 2950,2955 ---- *************** *** 2952,2957 **** --- 2977,2989 ---- mime7to8(mci, e->e_header, e); } # endif + else if (MaxMimeHeaderLength > 0 || MaxMimeFieldLength > 0) + { + /* Use mime8to7 to check multipart for MIME header overflows */ + boundaries[0] = NULL; + mci->mci_flags |= MCIF_INHEADER; + mime8to7(mci, e->e_header, e, boundaries, M87F_OUTER|M87F_NO8TO7); + } else #endif { *************** *** 2966,2972 **** size_t eol_len; char peekbuf[10]; - /* we can pass it through unmodified */ if (bitset(MCIF_INHEADER, mci->mci_flags)) { putline("", mci); --- 2998,3003 ---- *************** *** 3292,3297 **** --- 3323,3329 ---- /* child -- actually write to file */ struct stat stb; MCI mcibuf; + int err; volatile int oflags = O_WRONLY|O_APPEND; if (e->e_lockfp != NULL) *************** *** 3315,3321 **** ev = NULL; #ifdef HASLSTAT ! if (lstat(filename, &stb) < 0) #else if (stat(filename, &stb) < 0) #endif --- 3347,3357 ---- ev = NULL; #ifdef HASLSTAT ! if (bitset(DBS_FILEDELIVERYTOSYMLINK, DontBlameSendmail)) ! err = stat(filename, &stb); ! else ! err = lstat(filename, &stb); ! if (err < 0) #else if (stat(filename, &stb) < 0) #endif diff -cr sendmail-8.9.1/src/domain.c sendmail-8.9.2/src/domain.c *** sendmail-8.9.1/src/domain.c Mon Jun 15 21:08:45 1998 --- sendmail-8.9.2/src/domain.c Tue Dec 29 09:42:17 1998 *************** *** 14,22 **** #ifndef lint #if NAMED_BIND ! static char sccsid[] = "@(#)domain.c 8.77 (Berkeley) 6/4/98 (with name server)"; #else ! static char sccsid[] = "@(#)domain.c 8.77 (Berkeley) 6/4/98 (without name server)"; #endif #endif /* not lint */ --- 14,22 ---- #ifndef lint #if NAMED_BIND ! static char sccsid[] = "@(#)domain.c 8.80 (Berkeley) 12/17/1998 (with name server)"; #else ! static char sccsid[] = "@(#)domain.c 8.80 (Berkeley) 12/17/1998 (without name server)"; #endif #endif /* not lint */ *************** *** 451,457 **** int i, len = 0; char *p; char *mxhosts[MAXMXHOSTS + 1]; ! char buf[MXHOSTBUFSIZE + 1]; _res.options &= ~(RES_DNSRCH|RES_DEFNAMES); nmx = getmxrr(name, mxhosts, FALSE, &rcode); --- 451,457 ---- int i, len = 0; char *p; char *mxhosts[MAXMXHOSTS + 1]; ! char buf[PSBUFSIZE / 2]; _res.options &= ~(RES_DNSRCH|RES_DEFNAMES); nmx = getmxrr(name, mxhosts, FALSE, &rcode); *************** *** 464,471 **** return map_rewrite(map, mxhosts[0], strlen(mxhosts[0]), av); /* ! ** We were given a -z flag (return all MXs) and there are multiple ! ** ones. We need to build them all into a list. */ p = buf; for (i = 0; i < nmx; i++) --- 464,471 ---- return map_rewrite(map, mxhosts[0], strlen(mxhosts[0]), av); /* ! ** We were given a -z flag (return all MXs) and there are multiple ! ** ones. We need to build them all into a list. */ p = buf; for (i = 0; i < nmx; i++) *************** *** 663,669 **** qtype = T_A; continue; } ! else if (qtype == T_A && !gotmx && trymx) { qtype = T_MX; continue; --- 663,669 ---- qtype = T_A; continue; } ! else if (qtype == T_A && !gotmx && (trymx || **dp == '\0')) { qtype = T_MX; continue; *************** *** 824,830 **** if (qtype == T_ANY) qtype = T_A; ! else if (qtype == T_A && !gotmx && trymx) qtype = T_MX; else { --- 824,830 ---- if (qtype == T_ANY) qtype = T_A; ! else if (qtype == T_A && !gotmx && (trymx || **dp == '\0')) qtype = T_MX; else { diff -cr sendmail-8.9.1/src/envelope.c sendmail-8.9.2/src/envelope.c *** sendmail-8.9.1/src/envelope.c Thu Jun 4 14:51:30 1998 --- sendmail-8.9.2/src/envelope.c Tue Dec 29 09:42:16 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)envelope.c 8.117 (Berkeley) 6/4/98"; #endif /* not lint */ #include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)envelope.c 8.121 (Berkeley) 12/18/1998"; #endif /* not lint */ #include "sendmail.h" *************** *** 827,833 **** sm_syslog(LOG_NOTICE, e->e_id, "cannot prescan from (%s)", shortenstring(from, MAXSHORTSTR)); ! finis(); } (void) rewrite(pvp, 3, 0, e); (void) rewrite(pvp, 1, 0, e); --- 827,833 ---- sm_syslog(LOG_NOTICE, e->e_id, "cannot prescan from (%s)", shortenstring(from, MAXSHORTSTR)); ! finis(TRUE, ExitStat); } (void) rewrite(pvp, 3, 0, e); (void) rewrite(pvp, 1, 0, e); diff -cr sendmail-8.9.1/src/err.c sendmail-8.9.2/src/err.c *** sendmail-8.9.1/src/err.c Thu Jun 4 14:32:01 1998 --- sendmail-8.9.2/src/err.c Tue Dec 29 09:42:18 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)err.c 8.74 (Berkeley) 6/4/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)err.c 8.74 (Berkeley) 6/4/1998"; #endif /* not lint */ # include "sendmail.h" diff -cr sendmail-8.9.1/src/headers.c sendmail-8.9.2/src/headers.c *** sendmail-8.9.1/src/headers.c Thu Jun 4 11:12:45 1998 --- sendmail-8.9.2/src/headers.c Tue Dec 29 09:42:15 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)headers.c 8.127 (Berkeley) 6/4/98"; #endif /* not lint */ # include --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)headers.c 8.134 (Berkeley) 11/29/1998"; #endif /* not lint */ # include *************** *** 521,528 **** #if 0 /* ! ** Change functionality so a fatal error on an ! ** address doesn't affect the entire envelope. */ /* delete fatal errors generated by this address */ --- 521,528 ---- #if 0 /* ! ** Change functionality so a fatal error on an ! ** address doesn't affect the entire envelope. */ /* delete fatal errors generated by this address */ *************** *** 1198,1203 **** --- 1198,1256 ---- xputs(p); } + #if _FFR_MAX_MIME_HEADER_LENGTH + /* heuristic shortening of MIME fields to avoid MUA overflows */ + if (MaxMimeFieldLength > 0 && + wordinclass(h->h_field, + macid("{checkMIMEFieldHeaders}", NULL))) + { + extern bool fix_mime_header __P((char *)); + + if (fix_mime_header(h->h_value)) + { + sm_syslog(LOG_ALERT, e->e_id, + "Truncated MIME %s header due to field size (possible attack)", + h->h_field); + if (tTd(34, 11)) + printf(" truncated MIME %s header due to field size (possible attack)\n", + h->h_field); + } + } + + if (MaxMimeHeaderLength > 0 && + wordinclass(h->h_field, + macid("{checkMIMETextHeaders}", NULL))) + { + if (strlen(h->h_value) > MaxMimeHeaderLength) + { + h->h_value[MaxMimeHeaderLength - 1] = '\0'; + sm_syslog(LOG_ALERT, e->e_id, + "Truncated long MIME %s header (possible attack)", + h->h_field); + if (tTd(34, 11)) + printf(" truncated long MIME %s header (possible attack)\n", + h->h_field); + } + } + + if (MaxMimeHeaderLength > 0 && + wordinclass(h->h_field, + macid("{checkMIMEHeaders}", NULL))) + { + extern bool shorten_rfc822_string __P((char *, int)); + + if (shorten_rfc822_string(h->h_value, MaxMimeHeaderLength)) + { + sm_syslog(LOG_ALERT, e->e_id, + "Truncated long MIME %s header (possible attack)", + h->h_field); + if (tTd(34, 11)) + printf(" truncated long MIME %s header (possible attack)\n", + h->h_field); + } + } + #endif + /* suppress Content-Transfer-Encoding: if we are MIMEing */ if (bitset(H_CTE, h->h_flags) && bitset(MCIF_CVT8TO7|MCIF_CVT7TO8|MCIF_INMIME, mci->mci_flags)) *************** *** 1567,1570 **** --- 1620,1689 ---- *tail = NULL; return ret; + } + /* + ** FIX_MIME_HEADER -- possibly truncate/rebalance parameters in a MIME header + ** + ** Run through all of the parameters of a MIME header and + ** possibly truncate and rebalance the parameter according + ** to MaxMimeFieldLength. + ** + ** Parameters: + ** string -- the full header + ** + ** Returns: + ** TRUE if the header was modified, FALSE otherwise + ** + ** Side Effects: + ** string modified in place + */ + + bool + fix_mime_header(string) + char *string; + { + bool modified = FALSE; + char *begin = string; + char *end; + extern char *find_character __P((char *, char)); + extern bool shorten_rfc822_string __P((char *, int)); + + if (string == NULL || *string == '\0') + return FALSE; + + /* Split on each ';' */ + while ((end = find_character(begin, ';')) != NULL) + { + char save = *end; + char *bp; + + *end = '\0'; + + /* Shorten individual parameter */ + if (shorten_rfc822_string(begin, MaxMimeFieldLength)) + modified = TRUE; + + /* Collapse the possibly shortened string with rest */ + bp = begin + strlen(begin); + if (bp != end) + { + char *ep = end; + + *end = save; + end = bp; + + /* copy character by character due to overlap */ + while (*ep != '\0') + *bp++ = *ep++; + *bp = '\0'; + } + else + *end = save; + if (*end == '\0') + break; + + /* Move past ';' */ + begin = end + 1; + } + return modified; } diff -cr sendmail-8.9.1/src/ldap_map.h sendmail-8.9.2/src/ldap_map.h *** sendmail-8.9.1/src/ldap_map.h Tue May 19 16:36:11 1998 --- sendmail-8.9.2/src/ldap_map.h Tue Dec 29 09:42:27 1998 *************** *** 14,20 **** ** Please go to him for support -- since I (Eric) don't run LDAP, I ** can't help you at all. ** ! ** @(#)ldap_map.h 8.9 (Berkeley) 5/19/98 */ #ifndef _LDAP_MAP_H --- 14,20 ---- ** Please go to him for support -- since I (Eric) don't run LDAP, I ** can't help you at all. ** ! ** @(#)ldap_map.h 8.10 (Berkeley) 9/14/1998 */ #ifndef _LDAP_MAP_H *************** *** 61,67 **** #define DEFAULT_LDAP_MAP_DEREF LDAP_DEREF_NEVER #define DEFAULT_LDAP_MAP_SIZELIMIT 0 #define DEFAULT_LDAP_MAP_ATTRSONLY 0 ! #define LDAP_MAP_MAX_FILTER 256 #ifdef LDAP_REFERRALS # define DEFAULT_LDAP_MAP_LDAP_OPTIONS LDAP_OPT_REFERRALS #else /* LDAP_REFERRALS */ --- 61,67 ---- #define DEFAULT_LDAP_MAP_DEREF LDAP_DEREF_NEVER #define DEFAULT_LDAP_MAP_SIZELIMIT 0 #define DEFAULT_LDAP_MAP_ATTRSONLY 0 ! #define LDAP_MAP_MAX_FILTER 1024 #ifdef LDAP_REFERRALS # define DEFAULT_LDAP_MAP_LDAP_OPTIONS LDAP_OPT_REFERRALS #else /* LDAP_REFERRALS */ diff -cr sendmail-8.9.1/src/macro.c sendmail-8.9.2/src/macro.c *** sendmail-8.9.1/src/macro.c Tue May 19 16:36:03 1998 --- sendmail-8.9.2/src/macro.c Tue Dec 29 09:42:15 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)macro.c 8.25 (Berkeley) 5/19/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)macro.c 8.26 (Berkeley) 11/8/1998"; #endif /* not lint */ # include "sendmail.h" *************** *** 333,339 **** { int mid; register char *bp; ! char mbuf[21]; if (tTd(35, 14)) { --- 333,339 ---- { int mid; register char *bp; ! char mbuf[MAXMACNAMELEN + 1]; if (tTd(35, 14)) { *************** *** 361,367 **** return *p; } bp = mbuf; ! while (*++p != '\0' && *p != '}' && bp < &mbuf[sizeof mbuf]) { if (isascii(*p) && (isalnum(*p) || *p == '_')) *bp++ = *p; --- 361,367 ---- return *p; } bp = mbuf; ! while (*++p != '\0' && *p != '}' && bp < &mbuf[sizeof mbuf - 1]) { if (isascii(*p) && (isalnum(*p) || *p == '_')) *bp++ = *p; diff -cr sendmail-8.9.1/src/mailq.1 sendmail-8.9.2/src/mailq.1 *** sendmail-8.9.1/src/mailq.1 Tue May 19 16:36:10 1998 --- sendmail-8.9.2/src/mailq.1 Tue Dec 29 09:42:27 1998 *************** *** 8,14 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)mailq.1 8.10 (Berkeley) 5/19/98 .\" .Dd May 19, 1998 .Dt MAILQ 1 --- 8,14 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)mailq.1 8.10 (Berkeley) 5/19/1998 .\" .Dd May 19, 1998 .Dt MAILQ 1 diff -cr sendmail-8.9.1/src/mailstats.h sendmail-8.9.2/src/mailstats.h *** sendmail-8.9.1/src/mailstats.h Tue May 19 16:36:05 1998 --- sendmail-8.9.2/src/mailstats.h Tue Dec 29 09:42:18 1998 *************** *** 9,15 **** * the sendmail distribution. * * ! * @(#)mailstats.h 8.8 (Berkeley) 5/19/98 */ #define STAT_VERSION 2 --- 9,15 ---- * the sendmail distribution. * * ! * @(#)mailstats.h 8.8 (Berkeley) 5/19/1998 */ #define STAT_VERSION 2 diff -cr sendmail-8.9.1/src/main.c sendmail-8.9.2/src/main.c *** sendmail-8.9.1/src/main.c Mon Jun 8 14:57:04 1998 --- sendmail-8.9.2/src/main.c Tue Dec 29 09:42:16 1998 *************** *** 19,25 **** #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)main.c 8.302 (Berkeley) 6/4/98"; #endif /* not lint */ #define _DEFINE --- 19,25 ---- #endif /* not lint */ #ifndef lint ! static char sccsid[] = "@(#)main.c 8.322 (Berkeley) 12/18/1998"; #endif /* not lint */ #define _DEFINE *************** *** 129,134 **** --- 129,135 ---- extern char *getcfname __P((void)); extern SIGFUNC_DECL sigusr1 __P((int)); extern SIGFUNC_DECL sighup __P((int)); + extern SIGFUNC_DECL quiesce __P((int)); extern void initmacros __P((ENVELOPE *)); extern void init_md __P((int, char **)); extern int getdtsize __P((void)); *************** *** 304,312 **** if (tTd(0, 101)) { printf("Version %s\n", Version); ! endpwent(); ! setuid(RealUid); ! exit(EX_OK); } /* --- 305,311 ---- if (tTd(0, 101)) { printf("Version %s\n", Version); ! finis(FALSE, EX_OK); } /* *************** *** 419,426 **** environ = emptyenviron; /* ! ** restore any original TZ setting until TimeZoneSpec has been ! ** determined - or early log messages may get bogus time stamps */ if ((p = getextenv("TZ")) != NULL) { --- 418,425 ---- environ = emptyenviron; /* ! ** restore any original TZ setting until TimeZoneSpec has been ! ** determined - or early log messages may get bogus time stamps */ if ((p = getextenv("TZ")) != NULL) { *************** *** 549,555 **** QueueLimitId = (QUEUE_CHAR *) NULL; /* ! ** Crack argv. */ av = argv; --- 548,554 ---- QueueLimitId = (QUEUE_CHAR *) NULL; /* ! ** Crack argv. */ av = argv; *************** *** 835,842 **** # endif default: ! ExitStat = EX_USAGE; ! finis(); break; } } --- 834,840 ---- # endif default: ! finis(TRUE, EX_USAGE); break; } } *************** *** 971,978 **** } /* check for permissions */ ! if ((OpMode == MD_DAEMON || OpMode == MD_FGDAEMON || ! OpMode == MD_PURGESTAT) && RealUid != 0) { if (LogLevel > 1) sm_syslog(LOG_ALERT, NOQID, --- 969,979 ---- } /* check for permissions */ ! if ((OpMode == MD_DAEMON || ! OpMode == MD_FGDAEMON || ! OpMode == MD_PURGESTAT) && ! RealUid != 0 && ! RealUid != TrustedUid) { if (LogLevel > 1) sm_syslog(LOG_ALERT, NOQID, *************** *** 981,987 **** OpMode != MD_PURGESTAT ? "run daemon" : "purge host status"); usrerr("Permission denied"); ! exit(EX_USAGE); } if (MeToo) --- 982,988 ---- OpMode != MD_PURGESTAT ? "run daemon" : "purge host status"); usrerr("Permission denied"); ! finis(FALSE, EX_USAGE); } if (MeToo) *************** *** 1083,1088 **** --- 1084,1100 ---- setoption('d', "", TRUE, FALSE, CurEnv); } + #ifdef VENDOR_CODE + /* check for vendor mismatch */ + if (VendorCode != VENDOR_CODE) + { + extern char *getvendor __P((int)); + + message("Warning: .cf file vendor code mismatch: sendmail expects vendor %s, .cf file vendor is %s", + getvendor(VENDOR_CODE), getvendor(VendorCode)); + } + #endif + /* check for out of date configuration level */ if (ConfigLevel < MAXCONFIGLEVEL) { *************** *** 1199,1204 **** --- 1211,1232 ---- setclass('b', "application/octet-stream"); #endif + #if _FFR_MAX_MIME_HEADER_LENGTH + /* MIME headers which have fields to check for overflow */ + setclass(macid("{checkMIMEFieldHeaders}", NULL), "content-disposition"); + setclass(macid("{checkMIMEFieldHeaders}", NULL), "content-type"); + + /* MIME headers to check for length overflow */ + setclass(macid("{checkMIMETextHeaders}", NULL), "content-description"); + + /* MIME headers to check for overflow and rebalance */ + setclass(macid("{checkMIMEHeaders}", NULL), "content-disposition"); + setclass(macid("{checkMIMEHeaders}", NULL), "content-id"); + setclass(macid("{checkMIMEHeaders}", NULL), "content-transfer-encoding"); + setclass(macid("{checkMIMEHeaders}", NULL), "content-type"); + setclass(macid("{checkMIMEHeaders}", NULL), "mime-version"); + #endif + /* operate in queue directory */ if (QueueDir == NULL) { *************** *** 1241,1258 **** { /* nope, really a botch */ usrerr("You do not have permission to process the queue"); ! exit (EX_NOPERM); } } # endif /* QUEUE */ /* if we've had errors so far, exit now */ if (ExitStat != EX_OK && OpMode != MD_TEST) ! { ! endpwent(); ! setuid(RealUid); ! exit(ExitStat); ! } #if XDEBUG checkfd012("before main() initmaps"); --- 1269,1282 ---- { /* nope, really a botch */ usrerr("You do not have permission to process the queue"); ! finis(FALSE, EX_NOPERM); } } # endif /* QUEUE */ /* if we've had errors so far, exit now */ if (ExitStat != EX_OK && OpMode != MD_TEST) ! finis(FALSE, ExitStat); #if XDEBUG checkfd012("before main() initmaps"); *************** *** 1268,1298 **** /* print the queue */ #if QUEUE dropenvelope(CurEnv, TRUE); printqueue(); ! endpwent(); ! setuid(RealUid); ! exit(EX_OK); #else /* QUEUE */ usrerr("No queue to print"); ! finis(); #endif /* QUEUE */ case MD_HOSTSTAT: mci_traverse_persistent(mci_print_persistent, NULL); ! exit(EX_OK); break; case MD_PURGESTAT: mci_traverse_persistent(mci_purge_persistent, NULL); ! exit(EX_OK); break; case MD_INITALIAS: ! /* initialize alias database */ initmaps(TRUE, CurEnv); ! endpwent(); ! setuid(RealUid); ! exit(ExitStat); case MD_SMTP: case MD_DAEMON: --- 1292,1322 ---- /* print the queue */ #if QUEUE dropenvelope(CurEnv, TRUE); + signal(SIGPIPE, quiesce); printqueue(); ! finis(FALSE, EX_OK); #else /* QUEUE */ usrerr("No queue to print"); ! finis(FALSE, ExitStat); #endif /* QUEUE */ + break; case MD_HOSTSTAT: + signal(SIGPIPE, quiesce); mci_traverse_persistent(mci_print_persistent, NULL); ! finis(FALSE, EX_OK); break; case MD_PURGESTAT: mci_traverse_persistent(mci_purge_persistent, NULL); ! finis(FALSE, EX_OK); break; case MD_INITALIAS: ! /* initialize maps */ initmaps(TRUE, CurEnv); ! finis(FALSE, ExitStat); ! break; case MD_SMTP: case MD_DAEMON: *************** *** 1301,1311 **** CurEnv->e_envid = NULL; CurEnv->e_flags &= ~(EF_RET_PARAM|EF_NO_BODY_RETN); ! /* don't open alias database -- done in srvrsmtp */ break; default: ! /* open the alias database */ initmaps(FALSE, CurEnv); break; } --- 1325,1335 ---- CurEnv->e_envid = NULL; CurEnv->e_flags &= ~(EF_RET_PARAM|EF_NO_BODY_RETN); ! /* don't open maps for daemon -- done below in child */ break; default: ! /* open the maps */ initmaps(FALSE, CurEnv); break; } *************** *** 1359,1365 **** printf("> "); (void) fflush(stdout); if (fgets(buf, sizeof buf, stdin) == NULL) ! finis(); p = strchr(buf, '\n'); if (p != NULL) *p = '\0'; --- 1383,1389 ---- printf("> "); (void) fflush(stdout); if (fgets(buf, sizeof buf, stdin) == NULL) ! finis(TRUE, ExitStat); p = strchr(buf, '\n'); if (p != NULL) *p = '\0'; *************** *** 1377,1383 **** if (queuemode && OpMode != MD_DAEMON && QueueIntvl == 0) { (void) runqueue(FALSE, Verbose); ! finis(); } # endif /* QUEUE */ --- 1401,1407 ---- if (queuemode && OpMode != MD_DAEMON && QueueIntvl == 0) { (void) runqueue(FALSE, Verbose); ! finis(TRUE, ExitStat); } # endif /* QUEUE */ *************** *** 1402,1408 **** if (i < 0) syserr("daemon: cannot fork"); if (i != 0) ! exit(EX_OK); /* disconnect from our controlling tty */ disconnect(2, CurEnv); --- 1426,1432 ---- if (i < 0) syserr("daemon: cannot fork"); if (i != 0) ! finis(FALSE, EX_OK); /* disconnect from our controlling tty */ disconnect(2, CurEnv); *************** *** 1495,1500 **** --- 1519,1527 ---- snprintf(pbuf, sizeof pbuf, "0"); define(macid("{client_port}", NULL), newstr(pbuf), &BlankEnvelope); + /* initialize maps now for check_relay ruleset */ + initmaps(FALSE, CurEnv); + if (OpMode == MD_DAEMON) { /* validate the connection */ *************** *** 1539,1545 **** /* collect body for UUCP return */ if (OpMode != MD_VERIFY) collect(InChannel, FALSE, NULL, CurEnv); ! finis(); } /* --- 1566,1572 ---- /* collect body for UUCP return */ if (OpMode != MD_VERIFY) collect(InChannel, FALSE, NULL, CurEnv); ! finis(TRUE, ExitStat); } /* *************** *** 1583,1589 **** /* bail out if message too large */ if (bitset(EF_CLRQUEUE, CurEnv->e_flags)) { ! finis(); /*NOTREACHED*/ return -1; } --- 1610,1616 ---- /* bail out if message too large */ if (bitset(EF_CLRQUEUE, CurEnv->e_flags)) { ! finis(TRUE, ExitStat); /*NOTREACHED*/ return -1; } *************** *** 1615,1625 **** ** Don't send return error message if in VERIFY mode. */ ! finis(); /*NOTREACHED*/ return -1; } /* ARGSUSED */ SIGFUNC_DECL --- 1642,1659 ---- ** Don't send return error message if in VERIFY mode. */ ! finis(TRUE, ExitStat); /*NOTREACHED*/ return -1; } + /* ARGSUSED */ + SIGFUNC_DECL + quiesce(sig) + int sig; + { + finis(FALSE, EX_OK); + } /* ARGSUSED */ SIGFUNC_DECL *************** *** 1635,1641 **** ** FINIS -- Clean up and exit. ** ** Parameters: ! ** none ** ** Returns: ** never --- 1669,1676 ---- ** FINIS -- Clean up and exit. ** ** Parameters: ! ** drop -- whether or not to drop CurEnv envelope ! ** exitstat -- exit status to use for exit() call ** ** Returns: ** never *************** *** 1645,1658 **** */ void ! finis() { if (tTd(2, 1)) { extern void printenvflags __P((ENVELOPE *)); printf("\n====finis: stat %d e_id=%s e_flags=", ! ExitStat, CurEnv->e_id == NULL ? "NOQUEUE" : CurEnv->e_id); printenvflags(CurEnv); } --- 1680,1700 ---- */ void ! finis(drop, exitstat) ! bool drop; ! volatile int exitstat; { + extern void closemaps __P((void)); + #ifdef USERDB + extern void _udbx_close __P((void)); + #endif + if (tTd(2, 1)) { extern void printenvflags __P((ENVELOPE *)); printf("\n====finis: stat %d e_id=%s e_flags=", ! exitstat, CurEnv->e_id == NULL ? "NOQUEUE" : CurEnv->e_id); printenvflags(CurEnv); } *************** *** 1668,1679 **** /* clean up temp files */ CurEnv->e_to = NULL; ! if (CurEnv->e_id != NULL) dropenvelope(CurEnv, TRUE); /* flush any cached connections */ mci_flush(TRUE, NULL); # ifdef XLA /* clean up extended load average stuff */ xla_all_end(); --- 1710,1729 ---- /* clean up temp files */ CurEnv->e_to = NULL; ! if (drop && CurEnv->e_id != NULL) dropenvelope(CurEnv, TRUE); /* flush any cached connections */ mci_flush(TRUE, NULL); + /* close maps belonging to this pid */ + closemaps(); + + #ifdef USERDB + /* close UserDatabase */ + _udbx_close(); + #endif + # ifdef XLA /* clean up extended load average stuff */ xla_all_end(); *************** *** 1685,1698 **** sm_syslog(LOG_DEBUG, CurEnv->e_id, "finis, pid=%d", getpid()); ! if (ExitStat == EX_TEMPFAIL || CurEnv->e_errormode == EM_BERKNET) ! ExitStat = EX_OK; /* reset uid for process accounting */ endpwent(); setuid(RealUid); ! exit(ExitStat); } /* ** INTSIG -- clean up on interrupt --- 1735,1748 ---- sm_syslog(LOG_DEBUG, CurEnv->e_id, "finis, pid=%d", getpid()); ! if (exitstat == EX_TEMPFAIL || CurEnv->e_errormode == EM_BERKNET) ! exitstat = EX_OK; /* reset uid for process accounting */ endpwent(); setuid(RealUid); ! exit(exitstat); } /* ** INTSIG -- clean up on interrupt *************** *** 1719,1733 **** sm_syslog(LOG_DEBUG, CurEnv->e_id, "interrupt"); FileName = NULL; unlockqueue(CurEnv); #ifdef XLA xla_all_end(); #endif ! ! /* reset uid for process accounting */ ! endpwent(); ! setuid(RealUid); ! ! exit(EX_OK); } /* ** INITMACROS -- initialize the macro system --- 1769,1779 ---- sm_syslog(LOG_DEBUG, CurEnv->e_id, "interrupt"); FileName = NULL; unlockqueue(CurEnv); + closecontrolsocket(TRUE); #ifdef XLA xla_all_end(); #endif ! finis(FALSE, EX_OK); } /* ** INITMACROS -- initialize the macro system *************** *** 2157,2179 **** { if (LogLevel > 3) sm_syslog(LOG_INFO, NOQID, "could not restart: need full path"); ! exit(EX_OSFILE); } if (LogLevel > 3) sm_syslog(LOG_INFO, NOQID, "restarting %s on signal", SaveArgv[0]); alarm(0); releasesignal(SIGHUP); if (drop_privileges(TRUE) != EX_OK) { if (LogLevel > 0) sm_syslog(LOG_ALERT, NOQID, "could not set[ug]id(%d, %d): %m", RunAsUid, RunAsGid); ! exit(EX_OSERR); } execve(SaveArgv[0], (ARGV_T) SaveArgv, (ARGV_T) ExternalEnviron); if (LogLevel > 0) sm_syslog(LOG_ALERT, NOQID, "could not exec %s: %m", SaveArgv[0]); ! exit(EX_OSFILE); } /* ** DROP_PRIVILEGES -- reduce privileges to those of the RunAsUser option --- 2203,2226 ---- { if (LogLevel > 3) sm_syslog(LOG_INFO, NOQID, "could not restart: need full path"); ! finis(FALSE, EX_OSFILE); } if (LogLevel > 3) sm_syslog(LOG_INFO, NOQID, "restarting %s on signal", SaveArgv[0]); alarm(0); releasesignal(SIGHUP); + closecontrolsocket(TRUE); if (drop_privileges(TRUE) != EX_OK) { if (LogLevel > 0) sm_syslog(LOG_ALERT, NOQID, "could not set[ug]id(%d, %d): %m", RunAsUid, RunAsGid); ! finis(FALSE, EX_OSERR); } execve(SaveArgv[0], (ARGV_T) SaveArgv, (ARGV_T) ExternalEnviron); if (LogLevel > 0) sm_syslog(LOG_ALERT, NOQID, "could not exec %s: %m", SaveArgv[0]); ! finis(FALSE, EX_OSFILE); } /* ** DROP_PRIVILEGES -- reduce privileges to those of the RunAsUser option diff -cr sendmail-8.9.1/src/map.c sendmail-8.9.2/src/map.c *** sendmail-8.9.1/src/map.c Fri Jun 5 14:51:02 1998 --- sendmail-8.9.2/src/map.c Tue Dec 29 09:42:26 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)map.c 8.239 (Berkeley) 6/5/98"; #endif /* not lint */ #include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)map.c 8.256 (Berkeley) 11/15/1998"; #endif /* not lint */ #include "sendmail.h" *************** *** 437,445 **** pass); /* ! ** Pass 0 opens all non-rebuildable maps. ! ** Pass 1 opens all rebuildable maps for read. ! ** Pass 2 rebuilds all rebuildable maps. */ rebuildable = (bitset(MF_ALIAS, map->map_mflags) && --- 437,445 ---- pass); /* ! ** Pass 0 opens all non-rebuildable maps. ! ** Pass 1 opens all rebuildable maps for read. ! ** Pass 2 rebuilds all rebuildable maps. */ rebuildable = (bitset(MF_ALIAS, map->map_mflags) && *************** *** 478,483 **** --- 478,484 ---- map->map_file == NULL ? "NULL" : map->map_file); map->map_mflags |= MF_OPEN; + map->map_pid = getpid(); } else { *************** *** 496,505 **** --- 497,551 ---- map->map_class = &BogusMapClass; map->map_mflags |= MF_OPEN; + map->map_pid = getpid(); } } } /* + ** CLOSEMAPS -- close all open maps opened by the current pid. + ** + ** Parameters: + ** none + ** + ** Returns: + ** none. + */ + + void + closemaps() + { + extern void map_close __P((STAB *, int)); + + stabapply(map_close, 0); + } + + /* ARGSUSED1 */ + void + map_close(s, unused) + register STAB *s; + int unused; + { + MAP *map; + + if (s->s_type != ST_MAP) + return; + + map = &s->s_map; + + if (!bitset(MF_VALID, map->map_mflags) || + !bitset(MF_OPEN, map->map_mflags) || + map->map_pid != getpid()) + return; + + if (tTd(38, 5)) + printf("closemaps: closing %s (%s)\n", + map->map_mname == NULL ? "NULL" : map->map_mname, + map->map_file == NULL ? "NULL" : map->map_file); + + map->map_class->map_close(map); + map->map_mflags &= ~(MF_OPEN|MF_WRITABLE); + } + /* ** GETCANONNAME -- look up name using service switch ** ** Parameters: *************** *** 953,962 **** else { map->map_mflags |= MF_LOCKED; ! if (geteuid() == 0 && TrustedFileUid != 0) { ! if (fchown(dfd, TrustedFileUid, -1) < 0 || ! fchown(pfd, TrustedFileUid, -1) < 0) { int err = errno; --- 999,1009 ---- else { map->map_mflags |= MF_LOCKED; ! #if _FFR_TRUSTED_USER ! if (geteuid() == 0 && TrustedUid != 0) { ! if (fchown(dfd, TrustedUid, -1) < 0 || ! fchown(pfd, TrustedUid, -1) < 0) { int err = errno; *************** *** 967,972 **** --- 1014,1020 ---- map->map_file, errstring(err)); } } + #endif } if (fstat(dfd, &st) >= 0) map->map_mtime = st.st_mtime; *************** *** 1020,1025 **** --- 1068,1074 ---- if (map->map_class->map_open(map, omode)) { map->map_mflags |= MF_OPEN; + map->map_pid = getpid(); if ((omode && O_ACCMODE) == O_RDWR) map->map_mflags |= MF_WRITABLE; goto lockdbm; *************** *** 1033,1038 **** --- 1082,1088 ---- *statp = EX_TEMPFAIL; map->map_class = &BogusMapClass; map->map_mflags |= MF_OPEN; + map->map_pid = getpid(); syserr("Cannot reopen NDBM database %s", map->map_file); } *************** *** 1159,1165 **** { #ifdef NDBM_YP_COMPAT bool inclnull; ! char buf[200]; inclnull = bitset(MF_INCLNULL, map->map_mflags); map->map_mflags &= ~MF_INCLNULL; --- 1209,1215 ---- { #ifdef NDBM_YP_COMPAT bool inclnull; ! char buf[MAXHOSTNAMELEN]; inclnull = bitset(MF_INCLNULL, map->map_mflags); map->map_mflags &= ~MF_INCLNULL; *************** *** 1500,1508 **** if (mode == O_RDWR) { (void) db->sync(db, 0); ! if (geteuid() == 0 && TrustedFileUid != 0) { ! if (fchown(fd, TrustedFileUid, -1) < 0) { int err = errno; --- 1550,1559 ---- if (mode == O_RDWR) { (void) db->sync(db, 0); ! #if _FFR_TRUSTED_USER ! if (geteuid() == 0 && TrustedUid != 0) { ! if (fchown(fd, TrustedUid, -1) < 0) { int err = errno; *************** *** 1513,1518 **** --- 1564,1570 ---- buf, errstring(err)); } } + #endif } if (fd >= 0 && fstat(fd, &st) >= 0) *************** *** 1590,1595 **** --- 1642,1648 ---- if (map->map_class->map_open(map, omode)) { map->map_mflags |= MF_OPEN; + map->map_pid = getpid(); if ((omode && O_ACCMODE) == O_RDWR) map->map_mflags |= MF_WRITABLE; db = (DB *) map->map_db2; *************** *** 1604,1609 **** --- 1657,1663 ---- *statp = EX_TEMPFAIL; map->map_class = &BogusMapClass; map->map_mflags |= MF_OPEN; + map->map_pid = getpid(); syserr("Cannot reopen DB database %s", map->map_file); } *************** *** 1817,1825 **** #if DB_VERSION_MAJOR < 2 if (db->close(db) != 0) #else if ((errno = db->close(db, 0)) != 0) #endif ! syserr("readaliases: db close failure"); } #endif --- 1871,1901 ---- #if DB_VERSION_MAJOR < 2 if (db->close(db) != 0) #else + /* + ** Berkeley DB can use internal shared memory + ** locking for its memory pool. Closing a map + ** opened by another process will interfere + ** with the shared memory and locks of the parent + ** process leaving things in a bad state. + ** + ** If this map was not opened by the current + ** process, do not close it here but recover + ** the file descriptor. + */ + if (map->map_pid != getpid()) + { + int fd = -1; + + errno = db->fd(db, &fd); + if (fd >= 0) + (void) close(fd); + return; + } + if ((errno = db->close(db, 0)) != 0) #endif ! syserr("db_map_close(%s, %s, %lx): db close failure", ! map->map_mname, map->map_file, map->map_mflags); } #endif *************** *** 2250,2256 **** --- 2326,2335 ---- if (!bitset(MF_OPEN, map->map_mflags)) { if (nisplus_map_open(map, O_RDONLY)) + { map->map_mflags |= MF_OPEN; + map->map_pid = getpid(); + } else { *statp = EX_UNAVAILABLE; *************** *** 2591,2608 **** ev = setevent(lmap->timeout.tv_sec, ldaptimeout, 0); } ! if ((ld = ldap_open(lmap->ldaphost,lmap->ldapport)) == NULL) { if (!bitset(MF_OPTIONAL, map->map_mflags)) { ! syserr("ldapopen failed to %s in map %s", lmap->ldaphost, map->map_mname); } return FALSE; } ! /* clear the event if it has not sprung */ ! clrevent(ev); /* From here on in we can use ldap internal timelimits */ ld->ld_deref = lmap->deref; ld->ld_timelimit = lmap->timelimit; --- 2670,2707 ---- ev = setevent(lmap->timeout.tv_sec, ldaptimeout, 0); } ! #ifdef LDAP_VERSION3 ! ld = ldap_init(lmap->ldaphost,lmap->ldapport); ! #else ! ld = ldap_open(lmap->ldaphost,lmap->ldapport); ! #endif ! ! /* clear the event if it has not sprung */ ! if (lmap->timeout.tv_sec != 0) ! clrevent(ev); ! ! if (ld == NULL) { if (!bitset(MF_OPTIONAL, map->map_mflags)) { ! syserr("%sldapopen failed to %s in map %s", ! bitset(MF_NODEFER, map->map_mflags) ? "" : "421 ", lmap->ldaphost, map->map_mname); } return FALSE; } ! #ifdef LDAP_VERSION3 ! ldap_set_option(ld, LDAP_OPT_DEREF, &lmap->deref); ! ldap_set_option(ld, LDAP_OPT_TIMELIMIT, &lmap->timelimit); ! ldap_set_option(ld, LDAP_OPT_SIZELIMIT, &lmap->sizelimit); ! ldap_set_option(ld, LDAP_OPT_REFERRALS, &lmap->ldap_options); ! ! /* ld needs to be cast into the map struct */ ! lmap->ld = ld; ! return TRUE; ! #else ! /* From here on in we can use ldap internal timelimits */ ld->ld_deref = lmap->deref; ld->ld_timelimit = lmap->timelimit; *************** *** 2625,2635 **** } return FALSE; } /* ! ** LDAP_MAP_CLOSE -- close ldap map */ void --- 2724,2735 ---- } return FALSE; + #endif } /* ! ** LDAP_MAP_CLOSE -- close ldap map */ void *************** *** 2645,2652 **** #ifdef SUNET_ID /* ! ** SUNET_ID_HASH -- Convert a string to it's Sunet_id canonical form ! ** This only makes sense at Stanford University. */ char * --- 2745,2752 ---- #ifdef SUNET_ID /* ! ** SUNET_ID_HASH -- Convert a string to it's Sunet_id canonical form ! ** This only makes sense at Stanford University. */ char * *************** *** 2680,2686 **** #endif /* SUNET_ID */ /* ! ** LDAP_MAP_LOOKUP -- look up a datum in a LDAP map */ char * --- 2780,2786 ---- #endif /* SUNET_ID */ /* ! ** LDAP_MAP_LOOKUP -- look up a datum in a LDAP map */ char * *************** *** 2699,2704 **** --- 2799,2805 ---- char **attr_values = NULL; char *result; int name_len; + char *fp, *p, *q; if (tTd(38, 20)) printf("ldap_map_lookup(%s, %s)\n", map->map_mname, name); *************** *** 2727,2734 **** makelower(keybuf); #endif /*SUNET_ID */ ! /* sprintf keybuf into filter */ ! snprintf(filter, sizeof filter, lmap->filter, keybuf); if (ldap_search_st(lmap->ld, lmap->base,lmap->scope,filter, lmap->attr, lmap->attrsonly, &(lmap->timeout), --- 2828,2855 ---- makelower(keybuf); #endif /*SUNET_ID */ ! /* substitute keybuf into filter, perhaps multiple times */ ! fp = filter; ! p = lmap->filter; ! while ((q = strchr(p, '%')) != NULL) ! { ! if (q[1] == 's') ! { ! snprintf(fp, SPACELEFT(filter, fp), "%.*s%s", ! q - p, p, keybuf); ! p = q + 2; ! } ! else ! { ! snprintf(fp, SPACELEFT(filter, fp), "%.*s", ! q - p + 1, p); ! p = q + (q[1] == '%' ? 2 : 1); ! } ! fp += strlen(fp); ! } ! snprintf(fp, SPACELEFT(filter, fp), "%s", p); ! if (tTd(38, 20)) ! printf("ldap search filter=%s\n", filter); if (ldap_search_st(lmap->ld, lmap->base,lmap->scope,filter, lmap->attr, lmap->attrsonly, &(lmap->timeout), *************** *** 2749,2755 **** { if (!bitset(MF_OPTIONAL, map->map_mflags)) { ! syserr("Error in ldap_search_st using %s in map %s", filter, map->map_mname); } result = NULL; --- 2870,2877 ---- { if (!bitset(MF_OPTIONAL, map->map_mflags)) { ! syserr("%sError in ldap_search_st using %s in map %s", ! bitset(MF_NODEFER, map->map_mflags) ? "" : "421 ", filter, map->map_mname); } result = NULL; *************** *** 2802,2808 **** /* ! ** LDAP_MAP_DEQUOTE - helper routine for ldap_map_parseargs */ char * --- 2924,2930 ---- /* ! ** LDAP_MAP_DEQUOTE - helper routine for ldap_map_parseargs */ char * *************** *** 2832,2838 **** } /* ! ** LDAP_MAP_PARSEARGS -- parse ldap map definition args. */ bool --- 2954,2960 ---- } /* ! ** LDAP_MAP_PARSEARGS -- parse ldap map definition args. */ bool *************** *** 3036,3043 **** map->map_domain = newstr(ldap_map_dequote(map->map_domain)); /* ! ** We need to swallow up all the stuff into a struct ! ** and dump it into map->map_dbptr1 */ if (lmap->ldaphost != NULL) --- 3158,3165 ---- map->map_domain = newstr(ldap_map_dequote(map->map_domain)); /* ! ** We need to swallow up all the stuff into a struct ! ** and dump it into map->map_dbptr1 */ if (lmap->ldaphost != NULL) *************** *** 3095,3101 **** #endif /* LDAP Modules */ /* ! ** syslog map */ #if _FFR_MAP_SYSLOG --- 3217,3223 ---- #endif /* LDAP Modules */ /* ! ** syslog map */ #if _FFR_MAP_SYSLOG *************** *** 3103,3109 **** #define map_prio map_lockfd /* overload field */ /* ! ** SYSLOG_MAP_PARSEARGS -- check for priority level to syslog messages. */ bool --- 3225,3231 ---- #define map_prio map_lockfd /* overload field */ /* ! ** SYSLOG_MAP_PARSEARGS -- check for priority level to syslog messages. */ bool *************** *** 3185,3191 **** } /* ! ** SYSLOG_MAP_LOOKUP -- rewrite and syslog message. Always return empty string */ char * --- 3307,3313 ---- } /* ! ** SYSLOG_MAP_LOOKUP -- rewrite and syslog message. Always return empty string */ char * *************** *** 3382,3389 **** MAP *map; int mode; { - char *p; - if (tTd(38, 2)) printf("ni_map_open(%s, %s, %d)\n", map->map_mname, map->map_file, mode); --- 3504,3509 ---- *************** *** 3666,3672 **** return propval; } ! #endif /* ** TEXT (unindexed text file) Modules ** --- 3786,3792 ---- return propval; } ! #endif /* NETINFO */ /* ** TEXT (unindexed text file) Modules ** *************** *** 3842,3847 **** --- 3962,3972 ---- return NULL; } vp = get_column(linebuf, map->map_valcolno, delim, buf, sizeof buf); + if (vp == NULL) + { + *statp = EX_NOTFOUND; + return NULL; + } vsize = strlen(vp); *statp = EX_OK; if (bitset(MF_MATCHONLY, map->map_mflags)) diff -cr sendmail-8.9.1/src/mci.c sendmail-8.9.2/src/mci.c *** sendmail-8.9.1/src/mci.c Mon Jun 15 11:03:17 1998 --- sendmail-8.9.2/src/mci.c Tue Dec 29 09:42:26 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)mci.c 8.82 (Berkeley) 6/15/98"; #endif /* not lint */ #include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)mci.c 8.83 (Berkeley) 10/13/1998"; #endif /* not lint */ #include "sendmail.h" *************** *** 503,509 **** mci_dump(MciCache[i], logit); } /* ! ** MCI_LOCK_HOST -- Lock host while sending. ** ** If we are contacting a host, we'll need to ** update the status information in the host status --- 503,509 ---- mci_dump(MciCache[i], logit); } /* ! ** MCI_LOCK_HOST -- Lock host while sending. ** ** If we are contacting a host, we'll need to ** update the status information in the host status *************** *** 643,649 **** errno = saveErrno; } /* ! ** MCI_LOAD_PERSISTENT -- load persistent host info ** ** Load information about host that is kept ** in common for all running sendmails. --- 643,649 ---- errno = saveErrno; } /* ! ** MCI_LOAD_PERSISTENT -- load persistent host info ** ** Load information about host that is kept ** in common for all running sendmails. *************** *** 1016,1023 **** *hostptr = '\0'; /* ! ** Do something with the file containing the persistent ! ** information. */ ret = (*action)(pathname, host); } --- 1016,1023 ---- *hostptr = '\0'; /* ! ** Do something with the file containing the persistent ! ** information. */ ret = (*action)(pathname, host); } *************** *** 1167,1173 **** return 0; } /* ! ** MCI_GENERATE_PERSISTENT_PATH -- generate path from hostname ** ** Given `host', convert from a.b.c to $QueueDir/.hoststat/c./b./a, ** putting the result into `path'. if `createflag' is set, intervening --- 1167,1173 ---- return 0; } /* ! ** MCI_GENERATE_PERSISTENT_PATH -- generate path from hostname ** ** Given `host', convert from a.b.c to $QueueDir/.hoststat/c./b./a, ** putting the result into `path'. if `createflag' is set, intervening diff -cr sendmail-8.9.1/src/mime.c sendmail-8.9.2/src/mime.c *** sendmail-8.9.1/src/mime.c Tue May 19 16:36:11 1998 --- sendmail-8.9.2/src/mime.c Tue Dec 29 09:42:27 1998 *************** *** 14,20 **** # include #ifndef lint ! static char sccsid[] = "@(#)mime.c 8.66 (Berkeley) 5/19/98"; #endif /* not lint */ /* --- 14,20 ---- # include #ifndef lint ! static char sccsid[] = "@(#)mime.c 8.70 (Berkeley) 11/10/1998"; #endif /* not lint */ /* *************** *** 225,231 **** ** Do a recursive descent into the message. */ ! if (strcasecmp(type, "multipart") == 0 && !bitset(M87F_NO8BIT, flags)) { int blen; --- 225,232 ---- ** Do a recursive descent into the message. */ ! if (strcasecmp(type, "multipart") == 0 && ! (!bitset(M87F_NO8BIT, flags) || bitset(M87F_NO8TO7, flags))) { int blen; *************** *** 379,385 **** */ sectionsize = sectionhighbits = 0; ! if (!bitset(M87F_NO8BIT, flags)) { /* remember where we were */ offset = ftell(e->e_dfp); --- 380,386 ---- */ sectionsize = sectionhighbits = 0; ! if (!bitset(M87F_NO8BIT|M87F_NO8TO7, flags)) { /* remember where we were */ offset = ftell(e->e_dfp); *************** *** 441,448 **** if (sectionhighbits == 0) { /* no encoding necessary */ ! if (cte != NULL) { snprintf(buf, sizeof buf, "Content-Transfer-Encoding: %.200s", cte); putline(buf, mci); --- 442,454 ---- if (sectionhighbits == 0) { /* no encoding necessary */ ! if (cte != NULL && bitset(MCIF_INMIME, mci->mci_flags)) { + /* + ** Skip _unless_ in MIME mode; see putheader() for the + ** counterpart where this is skipped _if_ in MIME mode. + */ + snprintf(buf, sizeof buf, "Content-Transfer-Encoding: %.200s", cte); putline(buf, mci); *************** *** 662,676 **** static bool atbol = TRUE; /* at beginning of line */ static int bt = MBT_SYNTAX; /* boundary type of next EOF */ static u_char buf[128]; /* need not be a full line */ ! if (buflen > 0) { buflen--; return *bp++; } bp = buf; buflen = 0; - c = getc(fp); if (c == '\n') { /* might be part of a MIME boundary */ --- 668,689 ---- static bool atbol = TRUE; /* at beginning of line */ static int bt = MBT_SYNTAX; /* boundary type of next EOF */ static u_char buf[128]; /* need not be a full line */ + int start = 0; /* indicates position of - in buffer */ ! if (buflen == 1 && *bp == '\n') ! { ! /* last \n in buffer may be part of next MIME boundary */ ! c = *bp; ! } ! else if (buflen > 0) { buflen--; return *bp++; } + else + c = getc(fp); bp = buf; buflen = 0; if (c == '\n') { /* might be part of a MIME boundary */ *************** *** 682,687 **** --- 695,701 ---- ungetc(c, fp); return c; } + start = 1; } if (c != EOF) *bp++ = c; *************** *** 710,716 **** *bp++ = c; } *bp = '\0'; ! bt = mimeboundary((char *) &buf[1], boundaries); switch (bt) { case MBT_FINAL: --- 724,730 ---- *bp++ = c; } *bp = '\0'; ! bt = mimeboundary((char *) &buf[start], boundaries); switch (bt) { case MBT_FINAL: diff -cr sendmail-8.9.1/src/newaliases.1 sendmail-8.9.2/src/newaliases.1 *** sendmail-8.9.1/src/newaliases.1 Tue May 19 16:36:06 1998 --- sendmail-8.9.2/src/newaliases.1 Tue Dec 29 09:42:20 1998 *************** *** 8,14 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)newaliases.1 8.10 (Berkeley) 5/19/98 .\" .Dd May 19, 1998 .Dt NEWALIASES 1 --- 8,14 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)newaliases.1 8.10 (Berkeley) 5/19/1998 .\" .Dd May 19, 1998 .Dt NEWALIASES 1 diff -cr sendmail-8.9.1/src/parseaddr.c sendmail-8.9.2/src/parseaddr.c *** sendmail-8.9.1/src/parseaddr.c Wed Jun 24 15:07:53 1998 --- sendmail-8.9.2/src/parseaddr.c Tue Dec 29 09:42:17 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)parseaddr.c 8.153 (Berkeley) 6/24/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)parseaddr.c 8.156 (Berkeley) 10/27/1998"; #endif /* not lint */ # include "sendmail.h" *************** *** 67,73 **** auto char *delimptrbuf; bool queueup; char pvpbuf[PSBUFSIZE]; - extern ADDRESS *buildaddr __P((char **, ADDRESS *, int, ENVELOPE *)); extern bool invalidaddr __P((char *, char *)); extern void allocaddr __P((ADDRESS *, int, char *)); --- 67,72 ---- *************** *** 1450,1457 **** /* XXX should try to auto-open the map here */ if (tTd(60, 1)) ! printf("map_lookup(%s, %s) => ", ! map->s_name, key); replac = (*map->s_map.map_class->map_lookup)(&map->s_map, key, argvect, &stat); if (tTd(60, 1)) --- 1449,1465 ---- /* XXX should try to auto-open the map here */ if (tTd(60, 1)) ! { ! printf("map_lookup(%s, %s", map->s_name, key); ! if (tTd(60, 5)) ! { ! int i; ! ! for (i = 0; argvect[i] != NULL; i++) ! printf(", %%%d=%s", i, argvect[i]); ! } ! printf(") => "); ! } replac = (*map->s_map.map_class->map_lookup)(&map->s_map, key, argvect, &stat); if (tTd(60, 1)) *************** *** 1553,1559 **** static MAILER errormailer; static char *discardargv[] = { "DISCARD", NULL }; static char *errorargv[] = { "ERROR", NULL }; ! static char ubuf[MAXNAME + 1]; if (tTd(24, 5)) { --- 1561,1567 ---- static MAILER errormailer; static char *discardargv[] = { "DISCARD", NULL }; static char *errorargv[] = { "ERROR", NULL }; ! static char ubuf[MAXNAME + 2]; if (tTd(24, 5)) { diff -cr sendmail-8.9.1/src/pathnames.h sendmail-8.9.2/src/pathnames.h *** sendmail-8.9.1/src/pathnames.h Tue May 19 16:36:02 1998 --- sendmail-8.9.2/src/pathnames.h Tue Dec 29 09:42:15 1998 *************** *** 8,14 **** * the sendmail distribution. * * ! * @(#)pathnames.h 8.8 (Berkeley) 5/19/98 */ #ifndef _PATH_SENDMAILCF --- 8,14 ---- * the sendmail distribution. * * ! * @(#)pathnames.h 8.8 (Berkeley) 5/19/1998 */ #ifndef _PATH_SENDMAILCF diff -cr sendmail-8.9.1/src/queue.c sendmail-8.9.2/src/queue.c *** sendmail-8.9.1/src/queue.c Mon Jun 15 10:32:26 1998 --- sendmail-8.9.2/src/queue.c Tue Dec 29 09:42:23 1998 *************** *** 14,22 **** #ifndef lint #if QUEUE ! static char sccsid[] = "@(#)queue.c 8.202 (Berkeley) 6/15/98 (with queueing)"; #else ! static char sccsid[] = "@(#)queue.c 8.202 (Berkeley) 6/15/98 (without queueing)"; #endif #endif /* not lint */ --- 14,22 ---- #ifndef lint #if QUEUE ! static char sccsid[] = "@(#)queue.c 8.210 (Berkeley) 10/15/1998 (with queueing)"; #else ! static char sccsid[] = "@(#)queue.c 8.210 (Berkeley) 10/15/1998 (without queueing)"; #endif #endif /* not lint */ *************** *** 611,617 **** { /* parent -- pick up intermediate zombie */ (void) blocksignal(SIGALRM); ! proc_list_add(pid); (void) releasesignal(SIGALRM); releasesignal(SIGCHLD); if (QueueIntvl != 0) --- 611,617 ---- { /* parent -- pick up intermediate zombie */ (void) blocksignal(SIGALRM); ! proc_list_add(pid, "Queue runner"); (void) releasesignal(SIGALRM); releasesignal(SIGCHLD); if (QueueIntvl != 0) *************** *** 619,631 **** return TRUE; } /* child -- double fork and clean up signals */ proc_list_clear(); releasesignal(SIGCHLD); (void) setsignal(SIGCHLD, SIG_DFL); (void) setsignal(SIGHUP, intsig); } ! setproctitle("running queue: %s", QueueDir); if (LogLevel > 69) sm_syslog(LOG_DEBUG, NOQID, --- 619,635 ---- return TRUE; } /* child -- double fork and clean up signals */ + clrcontrol(); proc_list_clear(); + + /* Add parent process as first child item */ + proc_list_add(getpid(), "Queue runner child process"); releasesignal(SIGCHLD); (void) setsignal(SIGCHLD, SIG_DFL); (void) setsignal(SIGHUP, intsig); } ! sm_setproctitle(TRUE, "running queue: %s", QueueDir); if (LogLevel > 69) sm_syslog(LOG_DEBUG, NOQID, *************** *** 750,756 **** else { pid_t pid; - extern pid_t dowork __P((char *, bool, bool, ENVELOPE *)); if (Verbose) { --- 754,759 ---- *************** *** 771,777 **** /* exit without the usual cleanup */ e->e_id = NULL; ! finis(); /*NOTREACHED*/ return TRUE; } --- 774,780 ---- /* exit without the usual cleanup */ e->e_id = NULL; ! finis(TRUE, ExitStat); /*NOTREACHED*/ return TRUE; } *************** *** 893,899 **** --- 896,911 ---- continue; if (strlen(d->d_name) > MAXQFNAME) + { + if (Verbose) + printf("orderq: %s too long, %d max characters\n", + d->d_name, MAXQFNAME); + if (LogLevel > 0) + sm_syslog(LOG_ALERT, NOQID, + "orderq: %s too long, %d max characters", + d->d_name, MAXQFNAME); continue; + } check = QueueLimitId; while (check != NULL) *************** *** 1443,1448 **** --- 1455,1470 ---- { /* child -- error messages to the transcript */ QuickAbort = OnlyOneError = FALSE; + + /* + ** Since the delivery may happen in a child and the + ** parent does not wait, the parent may close the + ** maps thereby removing any shared memory used by + ** the map. Therefore, open a copy of the maps for + ** the delivery process. + */ + + initmaps(FALSE, e); } } else *************** *** 1474,1480 **** disconnect(1, e); OpMode = MD_DELIVER; } ! setproctitle("%s: from queue", id); if (LogLevel > 76) sm_syslog(LOG_DEBUG, e->e_id, "dowork, pid=%d", --- 1496,1502 ---- disconnect(1, e); OpMode = MD_DELIVER; } ! sm_setproctitle(TRUE, "%s: from queue", id); if (LogLevel > 76) sm_syslog(LOG_DEBUG, e->e_id, "dowork, pid=%d", *************** *** 1490,1496 **** printf("readqf(%s) failed\n", e->e_id); e->e_id = NULL; if (forkflag) ! exit(EX_OK); else return 0; } --- 1512,1518 ---- printf("readqf(%s) failed\n", e->e_id); e->e_id = NULL; if (forkflag) ! finis(FALSE, EX_OK); else return 0; } *************** *** 1506,1512 **** /* finish up and exit */ if (forkflag) ! finis(); else dropenvelope(e, TRUE); } --- 1528,1534 ---- /* finish up and exit */ if (forkflag) ! finis(TRUE, ExitStat); else dropenvelope(e, TRUE); } *************** *** 1777,1783 **** curtime() < e->e_dtime + MinQueueAge) { char *howlong = pintvl(curtime() - e->e_dtime, TRUE); - extern void unlockqueue __P((ENVELOPE *)); if (Verbose || tTd(40, 8)) printf("%s: too young (%s)\n", --- 1799,1804 ---- *************** *** 2185,2191 **** continue; syserr("queuename: Cannot create \"%s\" in \"%s\" (euid=%d)", qf, QueueDir, geteuid()); ! exit(EX_UNAVAILABLE); } do { --- 2206,2212 ---- continue; syserr("queuename: Cannot create \"%s\" in \"%s\" (euid=%d)", qf, QueueDir, geteuid()); ! finis(FALSE, EX_UNAVAILABLE); } do { *************** *** 2212,2218 **** { syserr("queuename: Cannot lock \"%s\" in \"%s\" (euid=%d)", qf, QueueDir, geteuid()); ! exit(EX_OSERR); } /* a reader got the file; abandon it and try again */ --- 2233,2239 ---- { syserr("queuename: Cannot lock \"%s\" in \"%s\" (euid=%d)", qf, QueueDir, geteuid()); ! finis(FALSE, EX_OSERR); } /* a reader got the file; abandon it and try again */ *************** *** 2222,2228 **** { syserr("queuename: Cannot create \"%s\" in \"%s\" (euid=%d)", qf, QueueDir, geteuid()); ! exit(EX_OSERR); } e->e_id = newstr(&qf[2]); define('i', e->e_id, e); --- 2243,2249 ---- { syserr("queuename: Cannot create \"%s\" in \"%s\" (euid=%d)", qf, QueueDir, geteuid()); ! finis(FALSE, EX_OSERR); } e->e_id = newstr(&qf[2]); define('i', e->e_id, e); diff -cr sendmail-8.9.1/src/readcf.c sendmail-8.9.2/src/readcf.c *** sendmail-8.9.1/src/readcf.c Mon Jun 8 14:57:05 1998 --- sendmail-8.9.2/src/readcf.c Tue Dec 29 09:42:22 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)readcf.c 8.230 (Berkeley) 6/5/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)readcf.c 8.235 (Berkeley) 8/18/1998"; #endif /* not lint */ # include "sendmail.h" *************** *** 106,124 **** if (cf == NULL) { syserr("cannot open"); ! exit(EX_OSFILE); } if (fstat(fileno(cf), &statb) < 0) { syserr("cannot fstat"); ! exit(EX_OSFILE); } if (!S_ISREG(statb.st_mode)) { syserr("not a plain file"); ! exit(EX_OSFILE); } if (OpMode != MD_TEST && bitset(S_IWGRP|S_IWOTH, statb.st_mode)) --- 106,124 ---- if (cf == NULL) { syserr("cannot open"); ! finis(FALSE, EX_OSFILE); } if (fstat(fileno(cf), &statb) < 0) { syserr("cannot fstat"); ! finis(FALSE, EX_OSFILE); } if (!S_ISREG(statb.st_mode)) { syserr("not a plain file"); ! finis(FALSE, EX_OSFILE); } if (OpMode != MD_TEST && bitset(S_IWGRP|S_IWOTH, statb.st_mode)) *************** *** 518,524 **** if (ferror(cf)) { syserr("I/O read error"); ! exit(EX_OSFILE); } fclose(cf); FileName = NULL; --- 518,524 ---- if (ferror(cf)) { syserr("I/O read error"); ! finis(FALSE, EX_OSFILE); } fclose(cf); FileName = NULL; *************** *** 1515,1525 **** #define O_CNCTONLYTO 0xa6 { "ConnectOnlyTo", O_CNCTONLYTO, FALSE }, #endif ! #if _FFR_TRUSTED_FILE_OWNER ! #define O_TRUSTFILEOWN 0xa7 ! { "TrustedFileOwner", O_TRUSTFILEOWN, FALSE }, #endif - { NULL, '\0', FALSE } }; --- 1515,1532 ---- #define O_CNCTONLYTO 0xa6 { "ConnectOnlyTo", O_CNCTONLYTO, FALSE }, #endif ! #if _FFR_TRUSTED_USER ! #define O_TRUSTUSER 0xa7 ! { "TrustedUser", O_TRUSTUSER, FALSE }, ! #endif ! #if _FFR_MAX_MIME_HEADER_LENGTH ! #define O_MAXMIMEHDRLEN 0xa8 ! { "MaxMimeHeaderLength", O_MAXMIMEHDRLEN, FALSE }, ! #endif ! #if _FFR_CONTROL_SOCKET ! #define O_CONTROLSOCKET 0xa9 ! { "ControlSocketName", O_CONTROLSOCKET, FALSE }, #endif { NULL, '\0', FALSE } }; *************** *** 1707,1713 **** default: syserr("Unknown 8-bit mode %c", *val); ! exit(EX_USAGE); } break; #endif --- 1714,1720 ---- default: syserr("Unknown 8-bit mode %c", *val); ! finis(FALSE, EX_USAGE); } break; #endif *************** *** 1771,1777 **** default: syserr("Unknown delivery mode %c", *val); ! exit(EX_USAGE); } buf[0] = (char)e->e_sendmode; buf[1] = '\0'; --- 1778,1784 ---- default: syserr("Unknown delivery mode %c", *val); ! finis(FALSE, EX_USAGE); } buf[0] = (char)e->e_sendmode; buf[1] = '\0'; *************** *** 2401,2430 **** break; #endif ! #if _FFR_TRUSTED_FILE_OWNER ! case O_TRUSTFILEOWN: if (isascii(*val) && isdigit(*val)) ! TrustedFileUid = atoi(val); else { register struct passwd *pw; ! TrustedFileUid = 0; pw = sm_getpwnam(val); if (pw == NULL) ! syserr("readcf: option TrustedFileOwner: unknown user %s", val); else ! TrustedFileUid = pw->pw_uid; } #ifdef UID_MAX ! if (TrustedFileUid > UID_MAX) { ! syserr("readcf: option TrustedFileOwner: uid value (%ld) > UID_MAX (%ld)", ! TrustedFileUid, UID_MAX); ! TrustedFileUid = 0; } #endif break; #endif --- 2408,2468 ---- break; #endif ! #if _FFR_TRUSTED_USER ! case O_TRUSTUSER: if (isascii(*val) && isdigit(*val)) ! TrustedUid = atoi(val); else { register struct passwd *pw; ! TrustedUid = 0; pw = sm_getpwnam(val); if (pw == NULL) ! syserr("readcf: option TrustedUser: unknown user %s", val); else ! TrustedUid = pw->pw_uid; } #ifdef UID_MAX ! if (TrustedUid > UID_MAX) { ! syserr("readcf: option TrustedUser: uid value (%ld) > UID_MAX (%ld)", ! TrustedUid, UID_MAX); ! TrustedUid = 0; } #endif + break; + #endif + + #if _FFR_MAX_MIME_HEADER_LENGTH + case O_MAXMIMEHDRLEN: + p = strchr(val, '/'); + if (p != NULL) + *p++ = '\0'; + MaxMimeHeaderLength = atoi(val); + if (p != NULL && *p != '\0') + MaxMimeFieldLength = atoi(p); + else + MaxMimeFieldLength = MaxMimeHeaderLength / 2; + + if (MaxMimeHeaderLength < 0) + MaxMimeHeaderLength = 0; + else if (MaxMimeHeaderLength < 128) + printf("Warning: MaxMimeHeaderLength: header length limit set lower than 128\n"); + + if (MaxMimeFieldLength < 0) + MaxMimeFieldLength = 0; + else if (MaxMimeFieldLength < 40) + printf("Warning: MaxMimeHeaderLength: field length limit set lower than 40\n"); + break; + #endif + + #if _FFR_CONTROL_SOCKET + case O_CONTROLSOCKET: + if (ControlSocketName != NULL) + free(ControlSocketName); + ControlSocketName = newstr(val); break; #endif diff -cr sendmail-8.9.1/src/recipient.c sendmail-8.9.2/src/recipient.c *** sendmail-8.9.1/src/recipient.c Wed Jun 24 14:32:29 1998 --- sendmail-8.9.2/src/recipient.c Tue Dec 29 09:42:15 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)recipient.c 8.154 (Berkeley) 6/24/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)recipient.c 8.161 (Berkeley) 12/18/1998"; #endif /* not lint */ # include "sendmail.h" *************** *** 331,338 **** } /* add address on list */ ! *pq = a; ! a->q_next = NULL; /* ** Alias the name and handle special mailer types. --- 331,341 ---- } /* add address on list */ ! if (pq != NULL) ! { ! *pq = a; ! a->q_next = NULL; ! } /* ** Alias the name and handle special mailer types. *************** *** 340,346 **** trylocaluser: if (tTd(29, 7)) ! printf("at trylocaluser %s\n", a->q_user); if (bitset(QDONTSEND|QBADADDR|QVERIFIED, a->q_flags)) goto testselfdestruct; --- 343,352 ---- trylocaluser: if (tTd(29, 7)) ! { ! printf("at trylocaluser: "); ! printaddr(a, FALSE); ! } if (bitset(QDONTSEND|QBADADDR|QVERIFIED, a->q_flags)) goto testselfdestruct; *************** *** 931,937 **** (int) getuid(), (int) geteuid()); if (forwarding) ! sfflags |= SFF_MUSTOWN|SFF_ROOTOK|SFF_NOSLINK; ca = getctladdr(ctladdr); if (ca == NULL) --- 937,943 ---- (int) getuid(), (int) geteuid()); if (forwarding) ! sfflags |= SFF_MUSTOWN|SFF_ROOTOK|SFF_NOWLINK; ca = getctladdr(ctladdr); if (ca == NULL) *************** *** 1195,1201 **** } /* ! ** Check to see if some bad guy can write this file ** ** Group write checking could be more clever, e.g., ** guessing as to which groups are actually safe ("sys" --- 1201,1207 ---- } /* ! ** Check to see if some bad guy can write this file ** ** Group write checking could be more clever, e.g., ** guessing as to which groups are actually safe ("sys" diff -cr sendmail-8.9.1/src/safefile.c sendmail-8.9.2/src/safefile.c *** sendmail-8.9.1/src/safefile.c Fri Jun 5 14:51:02 1998 --- sendmail-8.9.2/src/safefile.c Tue Dec 29 09:42:27 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)safefile.c 8.40 (Berkeley) 6/5/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)safefile.c 8.43 (Berkeley) 10/13/1998"; #endif /* not lint */ # include "sendmail.h" *************** *** 102,108 **** if (bitset(S_ISUID, st->st_mode)) #else if (bitset(S_ISUID, st->st_mode) && st->st_uid != 0 && ! st->st_uid != TrustedFileUid) #endif { uid = st->st_uid; --- 102,108 ---- if (bitset(S_ISUID, st->st_mode)) #else if (bitset(S_ISUID, st->st_mode) && st->st_uid != 0 && ! st->st_uid != TrustedUid) #endif { uid = st->st_uid; *************** *** 206,212 **** if (stbuf.st_uid == uid) ; ! else if (uid == 0 && TrustedFileUid != 0 && stbuf.st_uid == TrustedFileUid) ; else { --- 206,212 ---- if (stbuf.st_uid == uid) ; ! else if (uid == 0 && stbuf.st_uid == TrustedUid) ; else { *************** *** 299,305 **** mode >>= 6; else if (st->st_uid == uid) ; ! else if (uid == 0 && TrustedFileUid != 0 && st->st_uid == TrustedFileUid) ; else { --- 299,305 ---- mode >>= 6; else if (st->st_uid == uid) ; ! else if (uid == 0 && st->st_uid == TrustedUid) ; else { *************** *** 328,334 **** (int) st->st_uid, (int) st->st_nlink, (u_long) st->st_mode, (u_long) mode); if ((st->st_uid == uid || st->st_uid == 0 || ! st->st_uid == TrustedFileUid || !bitset(SFF_MUSTOWN, flags)) && (st->st_mode & mode) == mode) { --- 328,334 ---- (int) st->st_uid, (int) st->st_nlink, (u_long) st->st_mode, (u_long) mode); if ((st->st_uid == uid || st->st_uid == 0 || ! st->st_uid == TrustedUid || !bitset(SFF_MUSTOWN, flags)) && (st->st_mode & mode) == mode) { *************** *** 429,437 **** } /* ! ** Let OS determine access to file if we are not ! ** running as a privileged user. This allows ACLs ! ** to work. */ if (geteuid() != 0) continue; --- 429,437 ---- } /* ! ** Let OS determine access to file if we are not ! ** running as a privileged user. This allows ACLs ! ** to work. */ if (geteuid() != 0) continue; diff -cr sendmail-8.9.1/src/savemail.c sendmail-8.9.2/src/savemail.c *** sendmail-8.9.1/src/savemail.c Wed Jun 17 10:20:00 1998 --- sendmail-8.9.2/src/savemail.c Tue Dec 29 09:42:20 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)savemail.c 8.138 (Berkeley) 6/17/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)savemail.c 8.139 (Berkeley) 8/5/1998"; #endif /* not lint */ # include "sendmail.h" *************** *** 91,98 **** RF_COPYPARSE|RF_SENDERADDR, '\0', NULL, e) == NULL) { syserr("553 Cannot parse Postmaster!"); ! ExitStat = EX_SOFTWARE; ! finis(); } } e->e_to = NULL; --- 91,97 ---- RF_COPYPARSE|RF_SENDERADDR, '\0', NULL, e) == NULL) { syserr("553 Cannot parse Postmaster!"); ! finis(TRUE, EX_SOFTWARE); } } e->e_to = NULL; diff -cr sendmail-8.9.1/src/sendmail.8 sendmail-8.9.2/src/sendmail.8 *** sendmail-8.9.1/src/sendmail.8 Tue May 19 16:36:06 1998 --- sendmail-8.9.2/src/sendmail.8 Tue Dec 29 09:42:19 1998 *************** *** 8,16 **** .\" the sendmail distribution. .\" .\" ! .\" @(#)sendmail.8 8.19 (Berkeley) 5/19/98 .\" ! .Dd May 19, 1998 .Dt SENDMAIL 8 .Os BSD 4 .Sh NAME --- 8,16 ---- .\" the sendmail distribution. .\" .\" ! .\" @(#)sendmail.8 8.20 (Berkeley) 8/2/1998 .\" ! .Dd August 2, 1998 .Dt SENDMAIL 8 .Os BSD 4 .Sh NAME *************** *** 277,282 **** --- 277,285 ---- This should only be used as a last resort for debugging mailer bugs. It will log a lot of data very quickly. + .It Fl - + Stop processing command flags and use the rest of the arguments + as addresses. .El .Ss Options There are also a number of processing options that may be set. diff -cr sendmail-8.9.1/src/sendmail.h sendmail-8.9.2/src/sendmail.h *** sendmail-8.9.1/src/sendmail.h Wed Jun 24 10:54:16 1998 --- sendmail-8.9.2/src/sendmail.h Tue Dec 29 09:42:19 1998 *************** *** 9,15 **** * the sendmail distribution. * * ! * @(#)sendmail.h 8.280 (Berkeley) 6/5/98 */ /* --- 9,15 ---- * the sendmail distribution. * * ! * @(#)sendmail.h 8.292 (Berkeley) 11/21/1998 */ /* *************** *** 19,25 **** # ifdef _DEFINE # define EXTERN # ifndef lint ! static char SmailSccsId[] = "@(#)sendmail.h 8.280 6/5/98"; # endif # else /* _DEFINE */ # define EXTERN extern --- 19,25 ---- # ifdef _DEFINE # define EXTERN # ifndef lint ! static char SmailSccsId[] = "@(#)sendmail.h 8.292 11/21/1998"; # endif # else /* _DEFINE */ # define EXTERN extern *************** *** 684,689 **** --- 684,690 ---- char *map_domain; /* the (nominal) NIS domain */ char *map_rebuild; /* program to run to do auto-rebuild */ time_t map_mtime; /* last database modification time */ + pid_t map_pid; /* PID of process which opened map */ int map_lockfd; /* auxiliary lock file descriptor */ short map_specificity; /* specificity of aliases */ MAP *map_stack[MAXMAPSTACK]; /* list for stacked maps */ *************** *** 1008,1013 **** --- 1009,1015 ---- #define M87F_OUTER 0 /* outer context */ #define M87F_NO8BIT 0x0001 /* can't have 8-bit in this section */ #define M87F_DIGEST 0x0002 /* processing multipart/digest */ + #define M87F_NO8TO7 0x0004 /* don't do 8->7 bit conversions */ /* *************** *** 1077,1082 **** --- 1079,1085 ---- #define VENDOR_SUN 2 /* Sun-native configuration file */ #define VENDOR_HP 3 /* Hewlett-Packard specific config syntax */ #define VENDOR_IBM 4 /* IBM specific config syntax */ + #define VENDOR_SENDMAIL 5 /* Sendmail, Inc. specific config syntax */ EXTERN int VendorCode; /* vendor-specific operation enhancements */ *************** *** 1097,1103 **** #define DBS_GROUPWRITABLEALIASFILE 0x00000010 #define DBS_WORLDWRITABLEALIASFILE 0x00000020 #define DBS_FORWARDFILEINUNSAFEDIRPATH 0x00000040 - #define DBS_INCLUDEFILEINUNSAFEDIRPATH 0x00000060 #define DBS_MAPINUNSAFEDIRPATH 0x00000080 #define DBS_LINKEDALIASFILEINWRITABLEDIR 0x00000100 #define DBS_LINKEDCLASSFILEINWRITABLEDIR 0x00000200 --- 1100,1105 ---- *************** *** 1120,1125 **** --- 1122,1128 ---- #define DBS_INCLUDEFILEINUNSAFEDIRPATHSAFE 0x04000000 #define DBS_RUNPROGRAMINUNSAFEDIRPATH 0x08000000 #define DBS_RUNWRITABLEPROGRAM 0x10000000 + #define DBS_INCLUDEFILEINUNSAFEDIRPATH 0x20000000 /* struct defining such things */ struct dbsval *************** *** 1183,1189 **** EXTERN uid_t DefUid; /* default uid to run as */ EXTERN gid_t DefGid; /* default gid to run as */ EXTERN char *DefUser; /* default user to run as (from DefUid) */ ! EXTERN uid_t TrustedFileUid; /* uid of trusted owner of files and dirs */ EXTERN MODE_T OldUmask; /* umask when sendmail starts up */ EXTERN int Verbose; /* set if blow-by-blow desired */ EXTERN int Errors; /* set if errors (local to single pass) */ --- 1186,1192 ---- EXTERN uid_t DefUid; /* default uid to run as */ EXTERN gid_t DefGid; /* default gid to run as */ EXTERN char *DefUser; /* default user to run as (from DefUid) */ ! EXTERN uid_t TrustedUid; /* uid of trusted user for files and startup */ EXTERN MODE_T OldUmask; /* umask when sendmail starts up */ EXTERN int Verbose; /* set if blow-by-blow desired */ EXTERN int Errors; /* set if errors (local to single pass) */ *************** *** 1221,1226 **** --- 1224,1230 ---- EXTERN int PrivacyFlags; /* privacy flags */ EXTERN char *ConfFile; /* location of configuration file [conf.c] */ EXTERN char *PidFile; /* location of proc id file [conf.c] */ + EXTERN char *ControlSocketName; /* control socket filename [control.c] */ extern ADDRESS NullAddress; /* a null (template) address [main.c] */ EXTERN long WkClassFact; /* multiplier for message class -> priority */ EXTERN long WkRecipFact; /* multiplier for # of recipients -> priority */ *************** *** 1285,1294 **** EXTERN char **ExternalEnviron; /* input environment */ EXTERN char *UserEnviron[MAXUSERENVIRON + 1]; /* saved user environment */ extern int errno; /* ! ** Queue Run Limitations */ struct queue_char { --- 1289,1301 ---- EXTERN char **ExternalEnviron; /* input environment */ EXTERN char *UserEnviron[MAXUSERENVIRON + 1]; /* saved user environment */ + EXTERN int MaxMimeHeaderLength; /* maximum MIME header length */ + EXTERN int MaxMimeFieldLength; /* maximum MIME field length */ + extern int errno; /* ! ** Queue Run Limitations */ struct queue_char { *************** *** 1400,1406 **** extern void makelower __P((char *)); extern bool rebuildaliases __P((MAP *, bool)); extern void readaliases __P((MAP *, FILE *, bool, bool)); ! extern void finis __P((void)); extern void setsender __P((char *, ENVELOPE *, char **, int, bool)); extern void xputs __P((const char *)); extern void logsender __P((ENVELOPE *, char *)); --- 1407,1413 ---- extern void makelower __P((char *)); extern bool rebuildaliases __P((MAP *, bool)); extern void readaliases __P((MAP *, FILE *, bool, bool)); ! extern void finis __P((bool, volatile int)); extern void setsender __P((char *, ENVELOPE *, char **, int, bool)); extern void xputs __P((const char *)); extern void logsender __P((ENVELOPE *, char *)); *************** *** 1428,1436 **** extern int switch_map_find __P((char *, char *[], short [])); extern void shorten_hostname __P((char [])); extern int waitfor __P((pid_t)); ! extern void proc_list_add __P((pid_t)); extern void proc_list_drop __P((pid_t)); extern void proc_list_clear __P((void)); extern void buffer_errors __P((void)); extern void flush_errors __P((bool)); extern void putline __P((char *, MCI *)); --- 1435,1446 ---- extern int switch_map_find __P((char *, char *[], short [])); extern void shorten_hostname __P((char [])); extern int waitfor __P((pid_t)); ! extern void proc_list_add __P((pid_t, char *)); ! extern void proc_list_set __P((pid_t, char *)); extern void proc_list_drop __P((pid_t)); extern void proc_list_clear __P((void)); + extern void proc_list_display __P((FILE *)); + extern void proc_list_probe __P((void)); extern void buffer_errors __P((void)); extern void flush_errors __P((bool)); extern void putline __P((char *, MCI *)); *************** *** 1468,1473 **** --- 1478,1485 ---- extern pid_t dowork __P((char *, bool, bool, ENVELOPE *)); extern int drop_privileges __P((bool)); extern void fill_fd __P((int, char *)); + extern void closecontrolsocket __P((bool)); + extern void clrcontrol __P((void)); extern const char *errstring __P((int)); extern sigfunc_t setsignal __P((int, sigfunc_t)); *************** *** 1491,1496 **** --- 1503,1509 ---- extern void message __P((const char *, ...)); extern void nmessage __P((const char *, ...)); extern void setproctitle __P((const char *, ...)); + extern void sm_setproctitle __P((bool, const char *, ...)); extern void sm_syslog __P((int, const char *, const char *, ...)); #if !HASSNPRINTF diff -cr sendmail-8.9.1/src/sendmail.hf sendmail-8.9.2/src/sendmail.hf *** sendmail-8.9.1/src/sendmail.hf Tue May 19 16:36:05 1998 --- sendmail-8.9.2/src/sendmail.hf Tue Dec 29 09:42:18 1998 *************** *** 9,15 **** cpyr forth in the LICENSE file which can be found at the top level of cpyr the sendmail distribution. cpyr ! cpyr @(#)sendmail.hf 8.16 (Berkeley) 5/19/98 cpyr smtp Topics: smtp HELO EHLO MAIL RCPT DATA --- 9,15 ---- cpyr forth in the LICENSE file which can be found at the top level of cpyr the sendmail distribution. cpyr ! cpyr @(#)sendmail.hf 8.18 (Berkeley) 11/19/1998 cpyr smtp Topics: smtp HELO EHLO MAIL RCPT DATA *************** *** 117,119 **** --- 117,124 ---- -bt /map mapname key :look up `key' in the indicated `mapname'. -bt rules addr :run the indicated address through the named rules. -bt Rules can be a comma separated list of rules. + control Help for smcontrol: + control help This message. + control restart Restart sendmail. + control shutdown Shutdown sendmail. + control status Show sendmail status. diff -cr sendmail-8.9.1/src/snprintf.c sendmail-8.9.2/src/snprintf.c *** sendmail-8.9.1/src/snprintf.c Thu Jun 4 14:32:02 1998 --- sendmail-8.9.2/src/snprintf.c Tue Dec 29 09:42:27 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)snprintf.c 8.11 (Berkeley) 6/4/98"; #endif /* not lint */ #include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)snprintf.c 8.12 (Berkeley) 10/13/1998"; #endif /* not lint */ #include "sendmail.h" *************** *** 367,376 **** static char buf[64]; /* ! ** Use sprintf() instead of snprintf() since snprintf() ! ** does not support %qu or %llu. The buffer is large enough ! ** to hold the string so there is no danger of buffer ! ** overflow. */ #if NEED_PERCENTQ --- 367,376 ---- static char buf[64]; /* ! ** Use sprintf() instead of snprintf() since snprintf() ! ** does not support %qu or %llu. The buffer is large enough ! ** to hold the string so there is no danger of buffer ! ** overflow. */ #if NEED_PERCENTQ diff -cr sendmail-8.9.1/src/srvrsmtp.c sendmail-8.9.2/src/srvrsmtp.c *** sendmail-8.9.1/src/srvrsmtp.c Mon Jun 15 10:31:47 1998 --- sendmail-8.9.2/src/srvrsmtp.c Tue Dec 29 09:42:21 1998 *************** *** 14,22 **** #ifndef lint #if SMTP ! static char sccsid[] = "@(#)srvrsmtp.c 8.181 (Berkeley) 6/15/98 (with SMTP)"; #else ! static char sccsid[] = "@(#)srvrsmtp.c 8.181 (Berkeley) 6/15/98 (without SMTP)"; #endif #endif /* not lint */ --- 14,22 ---- #ifndef lint #if SMTP ! static char sccsid[] = "@(#)srvrsmtp.c 8.187 (Berkeley) 10/23/1998 (with SMTP)"; #else ! static char sccsid[] = "@(#)srvrsmtp.c 8.187 (Berkeley) 10/23/1998 (without SMTP)"; #endif #endif /* not lint */ *************** *** 127,133 **** char *id; volatile int nrcpts = 0; /* number of RCPT commands */ bool doublequeue; ! bool discard; volatile int badcommands = 0; /* count of bad commands */ volatile int nverifies = 0; /* count of VRFY/EXPN commands */ volatile int n_etrn = 0; /* count of ETRN commands */ --- 127,133 ---- char *id; volatile int nrcpts = 0; /* number of RCPT commands */ bool doublequeue; ! volatile bool discard; volatile int badcommands = 0; /* count of bad commands */ volatile int nverifies = 0; /* count of VRFY/EXPN commands */ volatile int n_etrn = 0; /* count of ETRN commands */ *************** *** 163,169 **** /* check_relay may have set discard bit, save for later */ discard = bitset(EF_DISCARD, e->e_flags); ! setproctitle("server %s startup", CurSmtpClient); #if DAEMON if (LogLevel > 11) { --- 163,169 ---- /* check_relay may have set discard bit, save for later */ discard = bitset(EF_DISCARD, e->e_flags); ! sm_setproctitle(TRUE, "server %s startup", CurSmtpClient); #if DAEMON if (LogLevel > 11) { *************** *** 222,228 **** /* read the input line */ SmtpPhase = "server cmd read"; ! setproctitle("server %s cmd read", CurSmtpClient); p = sfgets(inp, sizeof inp, InChannel, TimeOuts.to_nextcommand, SmtpPhase); --- 222,228 ---- /* read the input line */ SmtpPhase = "server cmd read"; ! sm_setproctitle(TRUE, "server %s cmd read", CurSmtpClient); p = sfgets(inp, sizeof inp, InChannel, TimeOuts.to_nextcommand, SmtpPhase); *************** *** 243,257 **** CurSmtpClient); /* ! ** If have not accepted mail (DATA), do not bounce ! ** bad addresses back to sender. */ if (bitset(EF_CLRQUEUE, e->e_flags)) e->e_sendqueue = NULL; if (InChild) ExitStat = EX_QUIT; ! finis(); } /* clean up end of line */ --- 243,257 ---- CurSmtpClient); /* ! ** If have not accepted mail (DATA), do not bounce ! ** bad addresses back to sender. */ if (bitset(EF_CLRQUEUE, e->e_flags)) e->e_sendqueue = NULL; if (InChild) ExitStat = EX_QUIT; ! finis(TRUE, ExitStat); } /* clean up end of line */ *************** *** 267,275 **** inp); if (e->e_id == NULL) ! setproctitle("%s: %.80s", CurSmtpClient, inp); else ! setproctitle("%s %s: %.80s", e->e_id, CurSmtpClient, inp); /* break off command */ for (p = inp; isascii(*p) && isspace(*p); p++) --- 267,275 ---- inp); if (e->e_id == NULL) ! sm_setproctitle(TRUE, "%s: %.80s", CurSmtpClient, inp); else ! sm_setproctitle(TRUE, "%s %s: %.80s", e->e_id, CurSmtpClient, inp); /* break off command */ for (p = inp; isascii(*p) && isspace(*p); p++) *************** *** 457,463 **** { errno = 0; syserr("503 Nested MAIL command: MAIL %s", p); ! finis(); } /* make sure we know who the sending host is */ --- 457,463 ---- { errno = 0; syserr("503 Nested MAIL command: MAIL %s", p); ! finis(TRUE, ExitStat); } /* make sure we know who the sending host is */ *************** *** 498,504 **** goto undo_subproc_no_pm; nrcpts = 0; e->e_flags |= EF_LOGSENDER|EF_CLRQUEUE; ! setproctitle("%s %s: %.80s", e->e_id, CurSmtpClient, inp); /* child -- go do the processing */ if (setjmp(TopFrame) > 0) --- 498,504 ---- goto undo_subproc_no_pm; nrcpts = 0; e->e_flags |= EF_LOGSENDER|EF_CLRQUEUE; ! sm_setproctitle(TRUE, "%s %s: %.80s", e->e_id, CurSmtpClient, inp); /* child -- go do the processing */ if (setjmp(TopFrame) > 0) *************** *** 512,518 **** QuickAbort = FALSE; SuprErrs = TRUE; e->e_flags &= ~EF_FATALERRS; ! finis(); } break; } --- 512,518 ---- QuickAbort = FALSE; SuprErrs = TRUE; e->e_flags &= ~EF_FATALERRS; ! finis(TRUE, ExitStat); } break; } *************** *** 633,640 **** if (p == NULL) break; a = parseaddr(p, NULLADDR, RF_COPYALL, ' ', &delimptr, e); ! if (a == NULL || Errors > 0) break; if (delimptr != NULL && *delimptr != '\0') *delimptr++ = '\0'; --- 633,646 ---- if (p == NULL) break; a = parseaddr(p, NULLADDR, RF_COPYALL, ' ', &delimptr, e); ! if (Errors > 0) ! break; ! if (a == NULL) ! { ! usrerr("501 Missing recipient"); break; + } + if (delimptr != NULL && *delimptr != '\0') *delimptr++ = '\0'; *************** *** 808,815 **** if (!shouldqueue(e->e_msgpriority, e->e_ctime)) { - extern pid_t dowork __P((char *, bool, bool, ENVELOPE *)); - unlockqueue(e); (void) dowork(id, TRUE, TRUE, e); } --- 814,819 ---- *************** *** 818,824 **** abortmessage: /* if in a child, pop back to our parent */ if (InChild) ! finis(); /* clean up a bit */ gotmail = FALSE; --- 822,828 ---- abortmessage: /* if in a child, pop back to our parent */ if (InChild) ! finis(TRUE, ExitStat); /* clean up a bit */ gotmail = FALSE; *************** *** 837,843 **** e->e_sendqueue = NULL; e->e_flags |= EF_CLRQUEUE; if (InChild) ! finis(); /* clean up a bit */ gotmail = FALSE; --- 841,847 ---- e->e_sendqueue = NULL; e->e_flags |= EF_CLRQUEUE; if (InChild) ! finis(TRUE, ExitStat); /* clean up a bit */ gotmail = FALSE; *************** *** 916,922 **** vrfyqueue = vrfyqueue->q_next; } if (InChild) ! finis(); break; case CMDETRN: /* etrn -- force queue flush */ --- 920,926 ---- vrfyqueue = vrfyqueue->q_next; } if (InChild) ! finis(TRUE, ExitStat); break; case CMDETRN: /* etrn -- force queue flush */ *************** *** 992,998 **** sm_syslog(LOG_INFO, NULL, "Null connection from %.100s", CurSmtpClient); ! finis(); case CMDVERB: /* set verbose mode */ if (bitset(PRIV_NOEXPN, PrivacyFlags) || --- 996,1002 ---- sm_syslog(LOG_INFO, NULL, "Null connection from %.100s", CurSmtpClient); ! finis(TRUE, ExitStat); case CMDVERB: /* set verbose mode */ if (bitset(PRIV_NOEXPN, PrivacyFlags) || *************** *** 1417,1423 **** auto int st; /* parent -- wait for child to complete */ ! setproctitle("server %s child wait", CurSmtpClient); st = waitfor(childpid); if (st == -1) syserr("451 %s: lost child", label); --- 1421,1427 ---- auto int st; /* parent -- wait for child to complete */ ! sm_setproctitle(TRUE, "server %s child wait", CurSmtpClient); st = waitfor(childpid); if (st == -1) syserr("451 %s: lost child", label); *************** *** 1429,1435 **** if (WEXITSTATUS(st) == EX_QUIT) { disconnect(1, e); ! finis(); } /* restore the child signal */ --- 1433,1439 ---- if (WEXITSTATUS(st) == EX_QUIT) { disconnect(1, e); ! finis(TRUE, ExitStat); } /* restore the child signal */ *************** *** 1447,1456 **** (void) releasesignal(SIGCHLD); } } - - /* open alias database */ - initmaps(FALSE, e); - return (0); } --- 1451,1456 ---- diff -cr sendmail-8.9.1/src/stab.c sendmail-8.9.2/src/stab.c *** sendmail-8.9.1/src/stab.c Tue May 19 16:36:05 1998 --- sendmail-8.9.2/src/stab.c Tue Dec 29 09:42:18 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)stab.c 8.19 (Berkeley) 5/19/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)stab.c 8.19 (Berkeley) 5/19/1998"; #endif /* not lint */ # include "sendmail.h" diff -cr sendmail-8.9.1/src/stats.c sendmail-8.9.2/src/stats.c *** sendmail-8.9.1/src/stats.c Tue May 19 16:36:02 1998 --- sendmail-8.9.2/src/stats.c Tue Dec 29 09:42:14 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)stats.c 8.22 (Berkeley) 5/19/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)stats.c 8.22 (Berkeley) 5/19/1998"; #endif /* not lint */ # include "sendmail.h" diff -cr sendmail-8.9.1/src/sysexits.c sendmail-8.9.2/src/sysexits.c *** sendmail-8.9.1/src/sysexits.c Sun May 24 14:03:36 1998 --- sendmail-8.9.2/src/sysexits.c Tue Dec 29 09:42:14 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)sysexits.c 8.13 (Berkeley) 5/24/98"; #endif /* not lint */ #include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)sysexits.c 8.13 (Berkeley) 5/24/1998"; #endif /* not lint */ #include "sendmail.h" diff -cr sendmail-8.9.1/src/trace.c sendmail-8.9.2/src/trace.c *** sendmail-8.9.1/src/trace.c Tue May 19 16:36:01 1998 --- sendmail-8.9.2/src/trace.c Tue Dec 29 09:42:13 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)trace.c 8.12 (Berkeley) 5/19/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)trace.c 8.12 (Berkeley) 5/19/1998"; #endif /* not lint */ # include "sendmail.h" diff -cr sendmail-8.9.1/src/udb.c sendmail-8.9.2/src/udb.c *** sendmail-8.9.1/src/udb.c Wed Jun 24 11:26:47 1998 --- sendmail-8.9.2/src/udb.c Tue Dec 29 09:42:25 1998 *************** *** 14,22 **** #ifndef lint #if USERDB ! static char sccsid [] = "@(#)udb.c 8.66 (Berkeley) 6/18/98 (with USERDB)"; #else ! static char sccsid [] = "@(#)udb.c 8.66 (Berkeley) 6/18/98 (without USERDB)"; #endif #endif --- 14,22 ---- #ifndef lint #if USERDB ! static char sccsid [] = "@(#)udb.c 8.70 (Berkeley) 12/21/1998 (with USERDB)"; #else ! static char sccsid [] = "@(#)udb.c 8.70 (Berkeley) 12/21/1998 (without USERDB)"; #endif #endif *************** *** 49,54 **** --- 49,55 ---- { char *udb_spec; /* string version of spec */ int udb_type; /* type of entry */ + pid_t udb_pid; /* PID of process which opened db */ char *udb_default; /* default host for outgoing mail */ union { *************** *** 91,97 **** #define MAXUDBENT 10 /* maximum number of UDB entries */ ! struct option { char *name; char *val; --- 92,98 ---- #define MAXUDBENT 10 /* maximum number of UDB entries */ ! struct udb_option { char *name; char *val; *************** *** 140,145 **** --- 141,147 ---- register struct udbent *up; int keylen; int naddrs; + char *user; char keybuf[MAXKEY]; bzero(&key, sizeof key); *************** *** 164,183 **** if (UdbSpec == NULL || UdbSpec[0] == '\0') return EX_OK; /* short circuit name begins with '\\' since it can't possibly match */ ! if (a->q_user[0] == '\\') return EX_OK; /* if name is too long, assume it won't match */ ! if (strlen(a->q_user) > (SIZE_T) sizeof keybuf - 12) return EX_OK; /* if name begins with a colon, it indicates our metadata */ ! if (a->q_user[0] == ':') return EX_OK; /* build actual database key */ ! (void) strcpy(keybuf, a->q_user); (void) strcat(keybuf, ":maildrop"); keylen = strlen(keybuf); --- 166,189 ---- if (UdbSpec == NULL || UdbSpec[0] == '\0') return EX_OK; + /* extract user to do userdb matching on */ + user = a->q_user; + /* short circuit name begins with '\\' since it can't possibly match */ ! /* (might want to treat this as unquoted instead) */ ! if (user[0] == '\\') return EX_OK; /* if name is too long, assume it won't match */ ! if (strlen(user) > (SIZE_T) sizeof keybuf - 12) return EX_OK; /* if name begins with a colon, it indicates our metadata */ ! if (user[0] == ':') return EX_OK; /* build actual database key */ ! (void) strcpy(keybuf, user); (void) strcat(keybuf, ":maildrop"); keylen = strlen(keybuf); *************** *** 222,229 **** --- 228,240 ---- #else i = 0; if (dbc == NULL && + # if DB_VERSION_MAJOR > 2 || DB_VERSION_MINOR >=6 + (errno = (*up->udb_dbp->cursor)(up->udb_dbp, + NULL, &dbc, 0)) != 0) + # else (errno = (*up->udb_dbp->cursor)(up->udb_dbp, NULL, &dbc)) != 0) + # endif i = -1; if (i != 0 || dbc == NULL || (errno = dbc->c_get(dbc, &key, *************** *** 892,899 **** register struct hostent *h; char *mxhosts[MAXMXHOSTS + 1]; # endif ! struct option opts[MAXUDBOPTS + 1]; ! extern int _udb_parsespec __P((char *, struct option [], int)); while (*p == ' ' || *p == '\t' || *p == ',') p++; --- 903,910 ---- register struct hostent *h; char *mxhosts[MAXMXHOSTS + 1]; # endif ! struct udb_option opts[MAXUDBOPTS + 1]; ! extern int _udb_parsespec __P((char *, struct udb_option [], int)); while (*p == ' ' || *p == '\t' || *p == ',') p++; *************** *** 972,977 **** --- 983,989 ---- if (h == NULL) continue; up->udb_type = UDB_REMOTE; + up->udb_pid = getpid(); up->udb_addr.sin_family = h->h_addrtype; bcopy(h->h_addr_list[0], (char *) &up->udb_addr.sin_addr, *************** *** 993,998 **** --- 1005,1011 ---- case '@': /* forward to remote host */ up->udb_type = UDB_FORWARD; + up->udb_pid = getpid(); up->udb_fwdhost = spec + 1; ents++; up++; *************** *** 1004,1009 **** --- 1017,1023 ---- if (strcasecmp(spec, "hesiod") != 0) goto badspec; up->udb_type = UDB_HESIOD; + up->udb_pid = getpid(); ents++; up++; break; *************** *** 1066,1072 **** --- 1080,1096 ---- free(up->udb_dbname); break; } + if (tTd(28, 1)) + { + #if DB_VERSION_MAJOR < 2 + printf("_udbx_init: dbopen(%s)\n", + #else + printf("_udbx_init: db_open(%s)\n", + #endif + up->udb_dbname); + } up->udb_type = UDB_DBFETCH; + up->udb_pid = getpid(); ents++; up++; break; *************** *** 1138,1143 **** --- 1162,1176 ---- #else errno = (*up->udb_dbp->close)(up->udb_dbp, 0); #endif + if (tTd(28, 1)) + { + #if DB_VERSION_MAJOR < 2 + printf("_udbx_init: db->close(%s)\n", + #else + printf("_udbx_init: db->close(%s)\n", + #endif + up->udb_dbname); + } } } #endif *************** *** 1147,1153 **** int _udb_parsespec(udbspec, opt, maxopts) char *udbspec; ! struct option opt[]; int maxopts; { register char *spec; --- 1180,1186 ---- int _udb_parsespec(udbspec, opt, maxopts) char *udbspec; ! struct udb_option opt[]; int maxopts; { register char *spec; *************** *** 1172,1177 **** --- 1205,1256 ---- opt[optnum].val = ++p; } return optnum; + } + /* + ** _UDBX_CLOSE -- close all file based UDB entries. + ** + ** Parameters: + ** none + ** + ** Returns: + ** none + */ + void + _udbx_close() + { + pid_t pid; + struct udbent *up; + + if (!UdbInitialized) + return; + + pid = getpid(); + + for (up = UdbEnts; up->udb_type != UDB_EOLIST; up++) + { + if (up->udb_pid != pid) + continue; + + #ifdef NEWDB + if (up->udb_type == UDB_DBFETCH) + { + #if DB_VERSION_MAJOR < 2 + (*up->udb_dbp->close)(up->udb_dbp); + #else + errno = (*up->udb_dbp->close)(up->udb_dbp, 0); + #endif + } + if (tTd(28, 1)) + { + #if DB_VERSION_MAJOR < 2 + printf("_udbx_init: db->close(%s)\n", + #else + printf("_udbx_init: db->close(%s)\n", + #endif + up->udb_dbname); + } + #endif + } } #ifdef HESIOD diff -cr sendmail-8.9.1/src/useful.h sendmail-8.9.2/src/useful.h *** sendmail-8.9.1/src/useful.h Tue May 19 16:36:02 1998 --- sendmail-8.9.2/src/useful.h Tue Dec 29 09:42:14 1998 *************** *** 9,15 **** * the sendmail distribution. * * ! * @(#)useful.h 8.12 (Berkeley) 5/19/98 */ # include --- 9,15 ---- * the sendmail distribution. * * ! * @(#)useful.h 8.12 (Berkeley) 5/19/1998 */ # include diff -cr sendmail-8.9.1/src/usersmtp.c sendmail-8.9.2/src/usersmtp.c *** sendmail-8.9.1/src/usersmtp.c Thu Jul 2 10:49:58 1998 --- sendmail-8.9.2/src/usersmtp.c Tue Dec 29 09:42:14 1998 *************** *** 14,22 **** #ifndef lint #if SMTP ! static char sccsid[] = "@(#)usersmtp.c 8.104 (Berkeley) 6/30/98 (with SMTP)"; #else ! static char sccsid[] = "@(#)usersmtp.c 8.104 (Berkeley) 6/30/98 (without SMTP)"; #endif #endif /* not lint */ --- 14,22 ---- #ifndef lint #if SMTP ! static char sccsid[] = "@(#)usersmtp.c 8.108 (Berkeley) 10/6/1998 (with SMTP)"; #else ! static char sccsid[] = "@(#)usersmtp.c 8.108 (Berkeley) 10/6/1998 (without SMTP)"; #endif #endif /* not lint */ *************** *** 118,124 **** */ SmtpPhase = mci->mci_phase = "client greeting"; ! setproctitle("%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_initial, esmtp_check); if (r < 0) goto tempfail1; --- 118,124 ---- */ SmtpPhase = mci->mci_phase = "client greeting"; ! sm_setproctitle(TRUE, "%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_initial, esmtp_check); if (r < 0) goto tempfail1; *************** *** 151,157 **** smtpmessage("HELO %s", m, mci, MyHostName); SmtpPhase = mci->mci_phase = "client HELO"; } ! setproctitle("%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_helo, helo_options); if (r < 0) goto tempfail1; --- 151,157 ---- smtpmessage("HELO %s", m, mci, MyHostName); SmtpPhase = mci->mci_phase = "client HELO"; } ! sm_setproctitle(TRUE, "%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_helo, helo_options); if (r < 0) goto tempfail1; *************** *** 439,445 **** *bufp == '@' ? ',' : ':', bufp, optbuf); } SmtpPhase = mci->mci_phase = "client MAIL"; ! setproctitle("%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_mail, NULL); if (r < 0) { --- 439,445 ---- *bufp == '@' ? ',' : ':', bufp, optbuf); } SmtpPhase = mci->mci_phase = "client MAIL"; ! sm_setproctitle(TRUE, "%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_mail, NULL); if (r < 0) { *************** *** 580,586 **** smtpmessage("RCPT To:<%s>%s", m, mci, to->q_user, optbuf); SmtpPhase = mci->mci_phase = "client RCPT"; ! setproctitle("%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_rcpt, NULL); to->q_rstatus = newstr(SmtpReplyBuffer); to->q_status = smtptodsn(r); --- 580,586 ---- smtpmessage("RCPT To:<%s>%s", m, mci, to->q_user, optbuf); SmtpPhase = mci->mci_phase = "client RCPT"; ! sm_setproctitle(TRUE, "%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_rcpt, NULL); to->q_rstatus = newstr(SmtpReplyBuffer); to->q_status = smtptodsn(r); *************** *** 661,667 **** /* send the command and check ok to proceed */ smtpmessage("DATA", m, mci); SmtpPhase = mci->mci_phase = "client DATA 354"; ! setproctitle("%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_datainit, NULL); if (r < 0 || REPLYTYPE(r) == 4) { --- 661,667 ---- /* send the command and check ok to proceed */ smtpmessage("DATA", m, mci); SmtpPhase = mci->mci_phase = "client DATA 354"; ! sm_setproctitle(TRUE, "%s %s: %s", e->e_id, CurHostName, mci->mci_phase); r = reply(m, mci, e, TimeOuts.to_datainit, NULL); if (r < 0 || REPLYTYPE(r) == 4) { *************** *** 741,747 **** /* check for the results of the transaction */ SmtpPhase = mci->mci_phase = "client DATA status"; ! setproctitle("%s %s: %s", e->e_id, CurHostName, mci->mci_phase); if (bitnset(M_LMTP, m->m_flags)) return EX_OK; r = reply(m, mci, e, TimeOuts.to_datafinal, NULL); --- 741,747 ---- /* check for the results of the transaction */ SmtpPhase = mci->mci_phase = "client DATA status"; ! sm_setproctitle(TRUE, "%s %s: %s", e->e_id, CurHostName, mci->mci_phase); if (bitnset(M_LMTP, m->m_flags)) return EX_OK; r = reply(m, mci, e, TimeOuts.to_datafinal, NULL); *************** *** 974,980 **** for (;;) { register char *p; - extern time_t curtime __P((void)); /* actually do the read */ if (e->e_xfp != NULL) --- 974,979 ---- *************** *** 1008,1014 **** oldholderrs = HoldErrs; HoldErrs = TRUE; usrerr("451 reply: read error from %s", CurHostName); ! mci_setstat(mci, EX_TEMPFAIL, "4.4.2", MsgBuf); /* if debugging, pause so we can see state */ if (tTd(18, 100)) --- 1007,1016 ---- oldholderrs = HoldErrs; HoldErrs = TRUE; usrerr("451 reply: read error from %s", CurHostName); ! ! /* errors on QUIT should not be persistent */ ! if (strncmp(SmtpMsgBuffer, "QUIT", 4) != 0) ! mci_setstat(mci, EX_TEMPFAIL, "4.4.2", MsgBuf); /* if debugging, pause so we can see state */ if (tTd(18, 100)) *************** *** 1032,1038 **** wbufleft -= plen; } snprintf(p, wbufleft, "reply(%.100s) during %s", ! CurHostName, SmtpPhase); checkfd012(wbuf); } #endif --- 1034,1041 ---- wbufleft -= plen; } snprintf(p, wbufleft, "reply(%.100s) during %s", ! CurHostName == NULL ? "NO_HOST" : CurHostName, ! SmtpPhase); checkfd012(wbuf); } #endif diff -cr sendmail-8.9.1/src/util.c sendmail-8.9.2/src/util.c *** sendmail-8.9.1/src/util.c Wed Jul 1 19:22:50 1998 --- sendmail-8.9.2/src/util.c Tue Dec 29 09:42:21 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)util.c 8.159 (Berkeley) 7/1/98"; #endif /* not lint */ # include "sendmail.h" --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)util.c 8.167 (Berkeley) 12/1/1998"; #endif /* not lint */ # include "sendmail.h" *************** *** 174,179 **** --- 174,355 ---- return TRUE; } /* + ** SHORTEN_RFC822_STRING -- Truncate and rebalance an RFC822 string + ** + ** Arbitratily shorten (in place) an RFC822 string and rebalance + ** comments and quotes. + ** + ** Parameters: + ** string -- the string to shorten + ** length -- the maximum size, 0 if no maximum + ** + ** Returns: + ** TRUE if string is changed, FALSE otherwise + ** + ** Side Effects: + ** Changes string in place, possibly resulting + ** in a shorter string. + */ + + bool + shorten_rfc822_string(string, length) + char *string; + size_t length; + { + bool backslash = FALSE; + bool modified = FALSE; + bool quoted = FALSE; + size_t slen; + int parencount = 0; + char *ptr = string; + + /* + ** If have to rebalance an already short enough string, + ** need to do it within allocated space. + */ + slen = strlen(string); + if (length == 0 || slen < length) + length = slen; + + while (*ptr != '\0') + { + if (backslash) + { + backslash = FALSE; + goto increment; + } + + if (*ptr == '\\') + backslash = TRUE; + else if (*ptr == '(') + { + if (!quoted) + parencount++; + } + else if (*ptr == ')') + { + if (--parencount < 0) + parencount = 0; + } + + /* Inside a comment, quotes don't matter */ + if (parencount <= 0 && *ptr == '"') + quoted = !quoted; + + increment: + /* Check for sufficient space for next character */ + if (length - (ptr - string) <= ((backslash ? 1 : 0) + + parencount + + (quoted ? 1 : 0))) + { + /* Not enough, backtrack */ + if (*ptr == '\\') + backslash = FALSE; + else if (*ptr == '(' && !quoted) + parencount--; + else if (*ptr == '"' && parencount == 0) + quoted = FALSE; + break; + } + ptr++; + } + + /* Rebalance */ + while (parencount-- > 0) + { + if (*ptr != ')') + { + modified = TRUE; + *ptr = ')'; + } + ptr++; + } + if (quoted) + { + if (*ptr != '"') + { + modified = TRUE; + *ptr = '"'; + } + ptr++; + } + if (*ptr != '\0') + { + modified = TRUE; + *ptr = '\0'; + } + return modified; + } + /* + ** FIND_CHARACTER -- find an unquoted character in an RFC822 string + ** + ** Find an unquoted, non-commented character in an RFC822 + ** string and return a pointer to its location in the + ** string. + ** + ** Parameters: + ** string -- the string to search + ** character -- the character to find + ** + ** Returns: + ** pointer to the character, or + ** a pointer to the end of the line if character is not found + */ + + char * + find_character(string, character) + char *string; + char character; + { + bool backslash = FALSE; + bool quoted = FALSE; + int parencount = 0; + + while (string != NULL && *string != '\0') + { + if (backslash) + { + backslash = FALSE; + if (!quoted && character == '\\' && *string == '\\') + break; + string++; + continue; + } + switch (*string) + { + case '\\': + backslash = TRUE; + break; + + case '(': + if (!quoted) + parencount++; + break; + + case ')': + if (--parencount < 0) + parencount = 0; + break; + } + + /* Inside a comment, nothing matters */ + if (parencount > 0) + { + string++; + continue; + } + + if (*string == '"') + quoted = !quoted; + else if (*string == character && !quoted) + break; + string++; + } + + /* Return pointer to the character */ + return string; + } + /* ** XALLOC -- Allocate memory and bitch wildly on failure. ** ** THIS IS A CLUDGE. This should be made to give a proper *************** *** 1846,1852 **** ** none */ ! static pid_t *ProcListVec = NULL; static int ProcListSize = 0; #define NO_PID ((pid_t) 0) --- 2022,2034 ---- ** none */ ! struct procs ! { ! pid_t proc_pid; ! char *proc_task; ! }; ! ! static struct procs *ProcListVec = NULL; static int ProcListSize = 0; #define NO_PID ((pid_t) 0) *************** *** 1855,1869 **** #endif void ! proc_list_add(pid) pid_t pid; { int i; - extern void proc_list_probe __P((void)); for (i = 0; i < ProcListSize; i++) { ! if (ProcListVec[i] == NO_PID) break; } if (i >= ProcListSize) --- 2037,2051 ---- #endif void ! proc_list_add(pid, task) pid_t pid; + char *task; { int i; for (i = 0; i < ProcListSize; i++) { ! if (ProcListVec[i].proc_pid == NO_PID) break; } if (i >= ProcListSize) *************** *** 1874,1902 **** /* now scan again */ for (i = 0; i < ProcListSize; i++) { ! if (ProcListVec[i] == NO_PID) break; } } if (i >= ProcListSize) { /* grow process list */ ! pid_t *npv; ! npv = (pid_t *) xalloc(sizeof (pid_t) * (ProcListSize + PROC_LIST_SEG)); if (ProcListSize > 0) { ! bcopy(ProcListVec, npv, ProcListSize * sizeof (pid_t)); free(ProcListVec); } for (i = ProcListSize; i < ProcListSize + PROC_LIST_SEG; i++) ! npv[i] = NO_PID; i = ProcListSize; ProcListSize += PROC_LIST_SEG; ProcListVec = npv; } ! ProcListVec[i] = pid; ! CurChildren++; } /* ** PROC_LIST_DROP -- drop pid from process list --- 2056,2121 ---- /* now scan again */ for (i = 0; i < ProcListSize; i++) { ! if (ProcListVec[i].proc_pid == NO_PID) break; } } if (i >= ProcListSize) { /* grow process list */ ! struct procs *npv; ! npv = (struct procs *) xalloc(sizeof (struct procs) * (ProcListSize + PROC_LIST_SEG)); if (ProcListSize > 0) { ! bcopy(ProcListVec, npv, ProcListSize * ! sizeof (struct procs)); free(ProcListVec); } for (i = ProcListSize; i < ProcListSize + PROC_LIST_SEG; i++) ! { ! npv[i].proc_pid = NO_PID; ! npv[i].proc_task = NULL; ! } i = ProcListSize; ProcListSize += PROC_LIST_SEG; ProcListVec = npv; } ! ProcListVec[i].proc_pid = pid; ! ProcListVec[i].proc_task = newstr(task); ! ! /* if process adding itself, it's not a child */ ! if (pid != getpid()) ! CurChildren++; ! } ! /* ! ** PROC_LIST_SET -- set pid task in process list ! ** ! ** Parameters: ! ** pid -- pid to set ! ** task -- task of pid ! ** ! ** Returns: ! ** none. ! */ ! ! void ! proc_list_set(pid, task) ! pid_t pid; ! char *task; ! { ! int i; ! ! for (i = 0; i < ProcListSize; i++) ! { ! if (ProcListVec[i].proc_pid == pid) ! { ! if (ProcListVec[i].proc_task != NULL) ! free(ProcListVec[i].proc_task); ! ProcListVec[i].proc_task = newstr(task); ! break; ! } ! } } /* ** PROC_LIST_DROP -- drop pid from process list *************** *** 1916,1924 **** for (i = 0; i < ProcListSize; i++) { ! if (ProcListVec[i] == pid) { ! ProcListVec[i] = NO_PID; break; } } --- 2135,2148 ---- for (i = 0; i < ProcListSize; i++) { ! if (ProcListVec[i].proc_pid == pid) { ! ProcListVec[i].proc_pid = NO_PID; ! if (ProcListVec[i].proc_task != NULL) ! { ! free(ProcListVec[i].proc_task); ! ProcListVec[i].proc_task = NULL; ! } break; } } *************** *** 1940,1947 **** { int i; ! for (i = 0; i < ProcListSize; i++) ! ProcListVec[i] = NO_PID; CurChildren = 0; } /* --- 2164,2179 ---- { int i; ! /* start from 1 since 0 is the daemon itself */ ! for (i = 1; i < ProcListSize; i++) ! { ! ProcListVec[i].proc_pid = NO_PID; ! if (ProcListVec[i].proc_task != NULL) ! { ! free(ProcListVec[i].proc_task); ! ProcListVec[i].proc_task = NULL; ! } ! } CurChildren = 0; } /* *************** *** 1959,1980 **** { int i; ! for (i = 0; i < ProcListSize; i++) { ! if (ProcListVec[i] == NO_PID) continue; ! if (kill(ProcListVec[i], 0) < 0) { if (LogLevel > 3) sm_syslog(LOG_DEBUG, CurEnv->e_id, "proc_list_probe: lost pid %d", ! ProcListVec[i]); ! ProcListVec[i] = NO_PID; CurChildren--; } } if (CurChildren < 0) CurChildren = 0; } /* ** SM_STRCASECMP -- 8-bit clean version of strcasecmp --- 2191,2247 ---- { int i; ! /* start from 1 since 0 is the daemon itself */ ! for (i = 1; i < ProcListSize; i++) { ! if (ProcListVec[i].proc_pid == NO_PID) continue; ! if (kill(ProcListVec[i].proc_pid, 0) < 0) { if (LogLevel > 3) sm_syslog(LOG_DEBUG, CurEnv->e_id, "proc_list_probe: lost pid %d", ! (int) ProcListVec[i].proc_pid); ! ProcListVec[i].proc_pid = NO_PID; ! if (ProcListVec[i].proc_task != NULL) ! { ! free(ProcListVec[i].proc_task); ! ProcListVec[i].proc_task = NULL; ! } CurChildren--; } } if (CurChildren < 0) CurChildren = 0; + } + /* + ** PROC_LIST_DISPLAY -- display the process list + ** + ** Parameters: + ** out -- output file pointer + ** + ** Returns: + ** none. + */ + + void + proc_list_display(out) + FILE *out; + { + int i; + + for (i = 0; i < ProcListSize; i++) + { + if (ProcListVec[i].proc_pid == NO_PID) + continue; + + fprintf(out, "%d %s%s\n", (int) ProcListVec[i].proc_pid, + ProcListVec[i].proc_task != NULL ? + ProcListVec[i].proc_task : "(unknown)", + (OpMode == MD_SMTP || + OpMode == MD_DAEMON || + OpMode == MD_ARPAFTP) ? "\r" : ""); + } } /* ** SM_STRCASECMP -- 8-bit clean version of strcasecmp diff -cr sendmail-8.9.1/src/version.c sendmail-8.9.2/src/version.c *** sendmail-8.9.1/src/version.c Thu Jul 2 11:04:58 1998 --- sendmail-8.9.2/src/version.c Tue Dec 29 09:57:32 1998 *************** *** 11,17 **** */ #ifndef lint ! static char sccsid[] = "@(#)version.c 8.9.1.1 (Berkeley) 7/2/98"; #endif /* not lint */ ! char Version[] = "8.9.1"; --- 11,17 ---- */ #ifndef lint ! static char sccsid[] = "@(#)version.c 8.9.2.1 (Berkeley) 12/29/1998"; #endif /* not lint */ ! char Version[] = "8.9.2"; diff -cr sendmail-8.9.1/test/Results sendmail-8.9.2/test/Results *** sendmail-8.9.1/test/Results Fri Apr 11 09:53:45 1997 --- sendmail-8.9.2/test/Results Tue Jul 28 16:06:57 1998 *************** *** 60,65 **** --- 60,66 ---- Linux 1.0 OK 94.03.19 Shayne Smith Linux 1.2.13 OK 95.11.02 Sven Neuhaus Linux 2.0.17 OK 96.09.03 Horst von Brand + Linux 2.1.109 OK 98.07.21 John Kennedy BSD/386 1.0 OK 93.11.13 Tony Sanders *************** *** 81,86 **** --- 82,88 ---- Linux 1.2.13 FAIL 95.11.02 Sven Neuhaus Linux 2.0.17 FAIL 96.09.03 Horst von Brand + Linux 2.1.109 FAIL 98.07.21 John Kennedy AIX 4.1 OK 96.10.21 Hakan Lindholm