Import sendmail-8.9.1 (slightly trimmed) onto a fresh branch under

src/contrib as per various discussions.  I will copy across our changes
and then point the Makefiles across once the dust has settled..
This commit is contained in:
Peter Wemm 1998-08-03 05:56:20 +00:00
parent ff37c899d7
commit c2aa98e247
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor/sendmail/dist/; revision=38032
svn path=/vendor/sendmail/8.9.1/; revision=38034; tag=vendor/sendmail/8.9.1
514 changed files with 25129 additions and 23844 deletions

View File

@ -0,0 +1,8 @@
# @(#)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
@echo "# Do not edit or remove this line or anything below it." >> Makefile
mkdep -a -f Makefile ${COPTS} *.c
# End of BSD.m4

View File

@ -0,0 +1,8 @@
# @(#)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
@echo "# Do not edit or remove this line or anything below it." >> Makefile
${CC} -M ${COPTS} *.c >> Makefile
# End of CC-M.m4

View File

@ -0,0 +1,8 @@
# @(#)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
@echo "# Do not edit or remove this line or anything below it." >> Makefile
${CC} -w0 -Hmake ${COPTS} *.c >> Makefile
# End of NCR.m4

View File

@ -0,0 +1,8 @@
# @(#)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
@echo "# Do not edit or remove this line or anything below it." >> Makefile
${CC} -xM ${COPTS} *.c >> Makefile
# End of Solaris.m4

View File

@ -0,0 +1,5 @@
# @(#)X11.m4 8.1 (Berkeley) 4/8/98
depend: ${BEFORE}
makedepend -- ${COPTS} -- *.c
# End of X11.m4

View File

@ -0,0 +1,8 @@
# @(#)generic.m4 8.2 (Berkeley) 2/9/98
# dependencies
# gross overkill, and yet still not quite enough....
${OBJS}: ${SRCDIR}/sendmail.h ${SRCDIR}/conf.h
# give a null "depend" list so that the startup script will work
depend:
# End of generic.m4

View File

@ -0,0 +1,32 @@
#
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
# Definitions for Makefile construction for sendmail
#
# @(#)header.m4 8.14 (Berkeley) 5/19/98
#
changecom(^A)
undefine(`format')
undefine(`hpux')
ifdef(`pushdef', `',
`errprint(`You need a newer version of M4, at least as new as
System V or GNU')
include(NoSuchFile)')
define(`confABI', `')
define(`confCC', `cc')
define(`confSHELL', `/bin/sh')
define(`confBEFORE', `')
define(`confLIBDIRS', `')
define(`confINCDIRS', `')
define(`confLIBSEARCH', `db bind resolv 44bsd')
define(`confSITECONFIG', `site.config')
define(`confBUILDBIN', `../../BuildTools/bin')
define(`PUSHDIVERT', `pushdef(`__D__', divnum)divert($1)')
define(`POPDIVERT', `divert(__D__)popdef(`__D__')')
define(`APPENDDEF', `define(`$1', ifdef(`$1', `$1 $2', `$2'))')
define(`PREPENDDEF', `define(`$1', ifdef(`$1', `$2 $1', `$2'))')

View File

@ -0,0 +1,7 @@
# @(#)386BSD 8.1 (Berkeley) 1/30/98
define(`confENVDEF', ` -DMIME')
define(`confLIBS', `-lutil')
define(`confLINKS', `/usr/sbin/sendmail /usr/bin/newaliases \
/usr/sbin/sendmail /usr/bin/mailq \
/usr/sbin/sendmail /usr/bin/hoststat \
/usr/sbin/sendmail /usr/bin/purgestat')

View File

@ -0,0 +1,11 @@
# @(#)A-UX 8.4 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-D_POSIX_SOURCE ')
define(`confLIBS', `-ldbm -lposix -lUTIL')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')

View File

@ -0,0 +1,10 @@
# @(#)AIX 8.6 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-D_AIX3 ')
define(`confOPTIMIZE', `-g')
define(`confLIBS', `-ldbm')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `system')
define(`confSTDIR', `/etc')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `/usr/ucb/install')

View File

@ -0,0 +1,18 @@
# @(#)AIX.2 8.8 (Berkeley) 3/12/98
PUSHDIVERT(1)
SMROOT= /usr/local/newmail
POPDIVERT
define(`confMAPDEF', `-DNIS')
define(`confENVDEF', `-DBSD -DBSD_INCLUDES -DBSD_REMAP_SIGNAL_TO_SIGVEC \
-D_PATH_SENDMAILCF=\"${SMROOT}/sendmail.cf\"\
-D_PATH_SENDMAILPID=\"${SMROOT}/sendmail.pid\"')
define(`confOPTIMIZE', `-g')
define(`confINCDIRS', `-I/u/markw/src/db.1.85/PORT/aixrt/include -I/u/markw/src/db.1.85/PORT/aixrt -I/fs/work/src/bind/include')
define(`confLIBS', `-lbsd /u/markw/src/db.1.85/PORT/aixrt/libdb.a /usr/local/lib/libgldavg.a /fs/work/src/bind/res/libresolv.a')
define(`confMBINDIR', `${SMROOT}/bin')
define(`confSBINDIR', `/usr/etc')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `system')
define(`confSTDIR', `${SMROOT}')
define(`confHFDIR', `${SMROOT}')
define(`confINSTALL', `/usr/ucb/install')

View File

@ -0,0 +1,11 @@
# @(#)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')
define(`confINSTALL', `/usr/ucb/install')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `system')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,12 @@
# @(#)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')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `/usr/ucb/install')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `system')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,10 @@
# @(#)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')
define(`confINSTALL', `/usr/ucb/install')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `system')

View File

@ -0,0 +1,12 @@
# @(#)Altos 8.6 (Berkeley) 2/19/98
define(`confCC', `gcc')
define(`confENVDEF', `-DALTOS_SYSTEM_V ')
define(`confLIBS', `-lsocket -lrpc')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,8 @@
# @(#)BSD-OS 8.8 (Berkeley) 6/3/98
define(`confMAPDEF', `-DNEWDB -DMAP_REGEX')
define(`confENVDEF', `-DNETISO')
define(`confLIBS', `-lutil -lkvm')
define(`confOPTIMIZE', `-O2')
define(`confMAN1EXT', `0')
define(`confMAN5EXT', `0')
define(`confMAN8EXT', `0')

View File

@ -0,0 +1,21 @@
# @(#)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 ')
define(`confLIBS', `-ldbm -ll')
define(`confUBINDIR', `/usr/ucb')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
PUSHDIVERT(3)
unistd.h stddef.h stdlib.h sys/time.h:
cp /dev/null $@
sys/time.h: sys
sys:
mkdir sys
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,14 @@
# @(#)CLIX 8.8 (Berkeley) 3/12/98
define(`confCC', `gcc')
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-DCLIX ')
define(`confINCDIRS', `-I/usr/include')
define(`confLIBS', `-lnsl -lbsd')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `cp')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,11 @@
# @(#)CRAYT3E.2.0.x 8.1 (Berkeley) 4/21/98
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-DUNICOS ')
define(`confOPTIMIZE', `-O')
define(`confINSTALL', `cpset')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bin')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', ` //usr/spool/mqueue')
define(`confHFDIR', ` /usr/lib')

View File

@ -0,0 +1,9 @@
# @(#)CSOS 8.5 (Berkeley) 2/8/98
define(`confLIBS', `-lnet')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confEBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/ucb')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')

View File

@ -0,0 +1,11 @@
# @(#)ConvexOS 8.6 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM -DYPCOMPAT -DNIS')
define(`confENVDEF', `-D__STDC__ -d non_int_bit_field')
define(`confOPTIMIZE', `-g')
define(`confLIBS', `-lshare')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')

View File

@ -0,0 +1,15 @@
# @(#)Dell 8.8 (Berkeley) 3/12/98
define(`confCC', `gcc')
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-D__svr4__ ')
define(`confOPTIMIZE', `-O2')
define(`confLIBS', `-ldbm -lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucblib')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `/usr/ucb/install')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,18 @@
# @(#)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')
define(`confSBINDIR', `/usr/etc')
define(`confMBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
PUSHDIVERT(3)
unistd.h:
cp /dev/null unistd.h
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,15 @@
# @(#)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')
define(`confSBINDIR', `/usr/etc')
define(`confMBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
PUSHDIVERT(3)
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,13 @@
# @(#)Dynix 8.7 (Berkeley) 2/26/98
define(`confCC', `gcc')
define(`confOPTIMIZE', `-O -g')
define(`confLIBS', `-lseq')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `staff # no kmem group,')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confOBJADD', `strtol.o')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,29 @@
# @(#)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')
define(`confENVDEF', `-Dnec_ews_svr4 ')
define(`confLIBS', `ndbm.o -lsocket -lnsl -lelf # # with NDBM')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/var/ucblib')
define(`confHFDIR', `/var/ucblib')
define(`confINSTALL', `/usr/ucb/install')
PUSHDIVERT(3)
sysexits.h:
echo '#ifndef _LOCAL_SYSEXITS_H_' > sysexits.h;
echo '#define _LOCAL_SYSEXITS_H_' >> sysexits.h;
cat /usr/abiccs/ucbinclude/sysexits.h >> sysexits.h;
echo '#endif /* _LOCAL_SYSEXITS_H_ */' >> sysexits.h;
# ln -s /usr/abiccs/ucbinclude/sysexits.h .
ndbm.h:
ln -s /usr/abiccs/ucbinclude/ndbm.h .
ndbm.o:
ar x /usr/abiccs/ucblib/libucb.a ndbm.o
# ar x /usr/ucblib/libucb.a ndbm.o
POPDIVERT

View File

@ -0,0 +1,3 @@
# @(#)FreeBSD 8.5 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')
define(`confLIBS', `-lutil')

View File

@ -0,0 +1,12 @@
# @(#)HP-UX 8.9 (Berkeley) 3/14/98
define(`confCC', `cc -Aa -D_HPUX_SOURCE')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confOPTIMIZE', `+O1')
define(`confLIBS', `-lndbm')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')

View File

@ -0,0 +1,11 @@
# @(#)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 ')
define(`confOPTIMIZE', `+O3')
define(`confLIBS', `-lndbm')
define(`confSHELL', `/usr/bin/sh')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/usr/share/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confSBINGRP', `mail')

View File

@ -0,0 +1,11 @@
# @(#)HP-UX.11.x 8.7 (Berkeley) 3/30/98
define(`confCC', `cc -Ae')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DV4FS -DHPUX11 ')
define(`confOPTIMIZE', `+O3')
define(`confLIBS', `-ldbm -lnsl')
define(`confSHELL', `/usr/bin/sh')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/usr/share/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confSBINGRP', `mail')

View File

@ -0,0 +1,13 @@
# @(#)IRIX 8.7 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DIRIX ')
define(`confLIBS', `-lmld -lmalloc -lsun')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,13 @@
# @(#)IRIX.5.x 8.7 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DIRIX5 ')
define(`confLIBS', `-lmld -lmalloc')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/var')
define(`confHFDIR', `/etc')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,35 @@
# @(#)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)
# - long and pointer are 32 bit
# -n32 New to IRIX 6.2 (default: -mips3)
# - long and pointer are 32 bit
# -64 ~ IRIX 6.1 (default: -mips4)
# - long and pointer are 64 bit
# We force ABI here, so then it does not depend on CPU
#
# With IDO 6.2 (IRIX 6.2) you need subsystem compiler_dev.sw32.lib
# for compilation with ABI=-n32 -- alternatively you can set ABI=-32
# ABI=-64 requires subsystem compiler_dev.sw64.lib, but this runs
# only with IRIX64 (ie. 64 bit kernels)
#
# NOTE: Do not set `confABI' in a site configuration file! The ABI MUST
# be given on the Build command line using the -E parameter, e.g.:
#
# Build -E ABI=-n32
#
ABI= confABI
POPDIVERT
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DIRIX6 -DHASSNPRINTF=1 ${ABI} ')
define(`confLDOPTS', `${ABI}')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/var')
define(`confHFDIR', `/etc')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,35 @@
# @(#)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)
# - long and pointer are 32 bit
# -n32 New to IRIX 6.2 (default: -mips3)
# - long and pointer are 32 bit
# -64 ~ IRIX 6.1 (default: -mips4)
# - long and pointer are 64 bit
# We force ABI here, so then it does not depend on CPU
#
# With IDO 6.2 (IRIX 6.2) you need subsystem compiler_dev.sw32.lib
# for compilation with ABI=-n32 -- alternatively you can set ABI=-32
# ABI=-64 requires subsystem compiler_dev.sw64.lib, but this runs
# only with IRIX64 (ie. 64 bit kernels)
#
# NOTE: Do not set `confABI' in a site configuration file! The ABI MUST
# be given on the Build command line using the -E parameter, e.g.:
#
# Build -E ABI=-n32
#
ABI= confABI
POPDIVERT
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DIRIX6 ${ABI} ')
define(`confLDOPTS', `${ABI}')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/var')
define(`confHFDIR', `/etc')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,34 @@
# @(#)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)
# - long and pointer are 32 bit
# -64 ~ IRIX 6.1 (default: -mips4)
# - long and pointer are 64 bit
# We force ABI here, so then it does not depend on CPU
#
# With IDO 6.2 (IRIX 6.2) you need subsystem compiler_dev.sw32.lib
# for compilation with ABI=-n32 -- alternatively you can set ABI=-32
# ABI=-64 requires subsystem compiler_dev.sw64.lib, but this runs
# only with IRIX64 (ie. 64 bit kernels)
#
# NOTE: Do not set `confABI' in a site configuration file! The ABI MUST
# be given on the Build command line using the -E parameter, e.g.:
#
# Build -E ABI=-32
#
ABI= confABI
POPDIVERT
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-DIRIX64 ${ABI} ')
define(`confLDOPTS', `${ABI}')
define(`confLIBS', `-lelf -lmalloc')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,34 @@
# @(#)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)
# - long and pointer are 32 bit
# -64 ~ IRIX 6.1 (default: -mips4)
# - long and pointer are 64 bit
# We force ABI here, so then it does not depend on CPU
#
# With IDO 6.2 (IRIX 6.2) you need subsystem compiler_dev.sw32.lib
# for compilation with ABI=-n32 -- alternatively you can set ABI=-32
# ABI=-64 requires subsystem compiler_dev.sw64.lib, but this runs
# only with IRIX64 (ie. 64 bit kernels)
#
# NOTE: Do not set `confABI' in a site configuration file! The ABI MUST
# be given on the Build command line using the -E parameter, e.g.:
#
# Build -E ABI=-32
#
ABI= confABI
POPDIVERT
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-DIRIX64 ${ABI} ')
define(`confLDOPTS', `${ABI}')
define(`confLIBS', `-lelf -lmalloc')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,35 @@
# @(#)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)
# - long and pointer are 32 bit
# -n32 New to IRIX 6.2 (default: -mips3)
# - long and pointer are 32 bit
# -64 ~ IRIX 6.1 (default: -mips4)
# - long and pointer are 64 bit
# We force ABI here, so then it does not depend on CPU
#
# With IDO 6.2 (IRIX 6.2) you need subsystem compiler_dev.sw32.lib
# for compilation with ABI=-n32 -- alternatively you can set ABI=-32
# ABI=-64 requires subsystem compiler_dev.sw64.lib, but this runs
# only with IRIX64 (ie. 64 bit kernels)
#
# NOTE: Do not set `confABI' in a site configuration file! The ABI MUST
# be given on the Build command line using the -E parameter, e.g.:
#
# Build -E ABI=-n32
#
ABI= confABI
POPDIVERT
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DIRIX6 ${ABI} ')
define(`confLDOPTS', `${ABI}')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/var')
define(`confHFDIR', `/etc')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,10 @@
# @(#)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')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/usr/spool/log')
define(`confHFDIR', `/usr/lib')

View File

@ -0,0 +1,7 @@
# @(#)KSR 8.4 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confLIBDIRS', `-L/usr/shlib -L/usr/lib')
define(`confLIBS', `-ldbm')
define(`confSTDIR', `/var/adm/sendmail')
define(`confHFDIR', `/usr/share/lib')
define(`confINSTALL', `installbsd')

View File

@ -0,0 +1,46 @@
# @(#)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')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
PUSHDIVERT(3)
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
stddef.h unistd.h limits.h:
if [ -f /usr/include/$@ ]; then \
ln -s /usr/include/$@ .; \
else \
cp /dev/null $@; \
fi
stdlib.h:
if [ -f /usr/include/stdlib.h ]; then \
ln -s /usr/include/stdlib.h .; \
else \
if [ -f /usr/include/libc.h ]; then \
ln -s /usr/include/libc.h stdlib.h; \
else \
cp /dev/null stdlib.h; \
fi; \
fi
# just for UNIOS-B
time.h:
echo "#ifndef _LOCAL_TIME_H_" > time.h
echo "#define _LOCAL_TIME_H_" >> time.h
cat /usr/include/time.h >> time.h
echo "#endif" >> time.h
sys/time.h:
-mkdir sys
echo "#ifndef _LOCAL_SYS_TIME_H_" > sys/time.h
echo "#define _LOCAL_SYS_TIME_H_" >> sys/time.h
cat /usr/include/sys/time.h >> sys/time.h
echo "#endif" >> sys/time.h
POPDIVERT

View File

@ -0,0 +1,5 @@
# @(#)Linux 8.4 (Berkeley) 3/22/98
define(`confSTDIR', `/etc')
define(`confHFDIR', `/usr/lib')
define(`confDEPEND_TYPE', `CC-M')
define(`confMANROOT', `/usr/man/man')

View File

@ -0,0 +1,3 @@
# @(#)Linux.ppc 8.3 (Berkeley) 2/12/98
define(`confHFDIR', `/usr/lib')
define(`confSBINGRP', `mail')

View File

@ -0,0 +1,11 @@
# @(#)Mach386 8.6 (Berkeley) 3/12/98
define(`confCC', `gcc')
define(`confMAPDEF', `-DNDBM')
define(`confLIBS', `-ldbm')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,15 @@
# @(#)NCR.MP-RAS.2.x 8.9 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-DNCR_MP_RAS2 ')
define(`confOPTIMIZE', `-O2')
define(`confINCDIRS', `-I/usr/include -I/usr/ucbinclude')
define(`confLIBDIRS', `-L/usr/ucblib')
define(`confLIBS', `-lnsl -lnet -lsocket -lelf -lc -lucb')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSTDIR', `/var/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `/usr/ucb/install')
define(`confDEPEND_TYPE', `NCR')

View File

@ -0,0 +1,15 @@
# @(#)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')
define(`confEBINDIR', `/usr/ucblib')
define(`confSTDIR', `/var/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `/usr/ucb/install')
define(`confDEPEND_TYPE', `NCR')

View File

@ -0,0 +1,14 @@
# @(#)NEWS-OS.4.x 8.6 (Berkeley) 3/12/98
define(`confBEFORE', `limits.h')
define(`confMAPDEF', `-DNDBM')
define(`confLIBS', `-lmld')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
PUSHDIVERT(3)
limits.h:
touch limits.h
POPDIVERT

View File

@ -0,0 +1,28 @@
# @(#)NEWS-OS.6.x 8.8 (Berkeley) 3/12/98
define(`confCC', `/bin/cc')
define(`confBEFORE', `sysexits.h ndbm.o')
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DSYSLOG_BUFSIZE=256 # -DSPT_TYPE=SPT_NONE ')
define(`confLIBS', `ndbm.o -lelf -lsocket -lnsl # # with NDBM')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `/usr/ucb/install')
PUSHDIVERT(3)
sysexits.h:
ln -s /usr/ucbinclude/sysexits.h .
ndbm.o:
if [ ! -f /usr/include/ndbm.h ]; then \
ln -s /usr/ucbinclude/ndbm.h .; \
fi; \
if [ -f /usr/lib/libndbm.a ]; then \
ar x /usr/lib/libndbm.a ndbm.o; \
else \
ar x /usr/ucblib/libucb.a ndbm.o; \
fi;
POPDIVERT

View File

@ -0,0 +1,28 @@
# @(#)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
#ARCH= -arch m68k -arch i386
#ARCH= ${RC_CFLAGS}
# For new sendmail Makefile structure, this must go in the ENVDEF and LDOPTS
POPDIVERT
define(`confBEFORE', `unistd.h dirent.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNETINFO')
define(`confENVDEF', `-DNeXT -Wno-precomp -pipe ${RC_CFLAGS}')
define(`confLDOPTS', `${RC_CFLAGS}')
define(`confLIBS', `-ldbm')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/etc/sendmail')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
PUSHDIVERT(3)
unistd.h:
cp /dev/null unistd.h
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,20 @@
# @(#)NeXT.2.x 8.7 (Berkeley) 3/12/98
define(`confBEFORE', `unistd.h dirent.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNETINFO')
define(`confENVDEF', `-DNeXT ')
define(`confLIBS', `-ldbm')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/etc/sendmail')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
PUSHDIVERT(3)
unistd.h:
cp /dev/null unistd.h
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,28 @@
# @(#)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
#ARCH= -arch m68k -arch i386
#ARCH= ${RC_CFLAGS}
# For new sendmail Makefile structure, this must go in the ENVDEF and LDOPTS
POPDIVERT
define(`confBEFORE', `unistd.h dirent.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNETINFO')
define(`confENVDEF', `-DNeXT -Wno-precomp -pipe ${RC_CFLAGS}')
define(`confLDOPTS', `${RC_CFLAGS}')
define(`confLIBS', `-ldbm')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/etc/sendmail')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
PUSHDIVERT(3)
unistd.h:
cp /dev/null unistd.h
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,29 @@
# @(#)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
#ARCH= -arch m68k -arch i386
#ARCH= ${RC_CFLAGS}
# For new sendmail Makefile structure, this must go in the ENVDEF and LDOPTS
POPDIVERT
define(`confBEFORE', `unistd.h dirent.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNETINFO')
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')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/etc/sendmail')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
PUSHDIVERT(3)
unistd.h:
cp /dev/null unistd.h
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,4 @@
# @(#)NetBSD 8.6 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')
define(`confENVDEF', ` -DNETISO')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,3 @@
# @(#)NetBSD.8.3 8.6 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')
define(`confENVDEF', ` # -DNETISO')

View File

@ -0,0 +1,16 @@
# @(#)NonStop-UX 8.8 (Berkeley) 3/12/98
define(`confCC', `gcc')
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-DNonStop_UX_BXX -D_SVID ')
define(`confINCDIRS', `-I/usr/include -I/usr/ucbinclude')
define(`confLIBDIRS', `-L/usr/ucblib')
define(`confLIBS', `-lsocket -lnsl -lelf -lucb')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `/usr/ucb/install')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,9 @@
# @(#)OSF1 8.7 (Berkeley) 3/14/98
define(`confCC', `cc -Olimit 1000')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confLIBS', `-ldbm')
define(`confSTDIR', `/var/adm/sendmail')
define(`confHFDIR', `/usr/share/lib')
define(`confINSTALL', `installbsd')
define(`confUBINDIR', `${BINDIR}')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,3 @@
# @(#)OpenBSD 8.5 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')
define(`confENVDEF', ` -DNETISO')

View File

@ -0,0 +1,10 @@
# @(#)PTX 8.6 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM')
define(`confOPTIMIZE', `-g')
define(`confLIBS', `-lsocket -linet -lelf -lnsl -lseq')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')

View File

@ -0,0 +1,8 @@
# @(#)Paragon 8.3 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM')
define(`confLIBDIRS', `-L/usr/shlib -L/usr/lib')
define(`confLIBS', `-ldbm')
define(`confSTDIR', `/var/adm/sendmail')
define(`confHFDIR', `/usr/share/lib')
define(`confINSTALL', `installbsd')
define(`confUBINDIR', `${BINDIR}')

View File

@ -0,0 +1,9 @@
# @(#)PowerUX 8.5 (Berkeley) 2/12/98
define(`confENVDEF', `-D__svr4__ ')
define(`confLIBS', `-Bstatic -lsocket -lnsl -lelf -lgen')
define(`confMBINDIR', `/usr/local/etc')
define(`confSBINDIR', `/usr/local/etc')
define(`confUBINDIR', `/usr/local/bin')
define(`confEBINDIR', `/usr/local/lib')
define(`confSBINGRP', `mail')
define(`confINSTALL', `/usr/ucb/install')

View File

@ -0,0 +1,15 @@
# @(#)QNX 8.4 (Berkeley) 2/19/98
PUSHDIVERT(1)
#
# For this Makefile to work you must compile and install the libdb package
# and then change DBMINC and DBMLIB as appropriate.
#
DBMINC= /usr/local/include
DBMLIB= /usr/local/lib
POPDIVERT
define(`confENVDEF', `-Osax -w4 -zc -fr= -D__BIT_TYPES_DEFINED__')
define(`confINCDIRS', `${DBMINC}')
define(`confLIBDIRS', `${DBMLIB}')
define(`confLIBS', `-lsocket')
define(`confLDOPTS', `-M -N256k')
define(`confINSTALL', `${BUILDBIN}/install.sh')

View File

@ -0,0 +1,25 @@
# @(#)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')
define(`confENVDEF', `-DRISCOS ')
define(`confLIBS', `-lmld')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `/usr/bsd43/bin/install')
PUSHDIVERT(3)
stdlib.h stddef.h:
cp /dev/null $@
unistd.h:
echo "typedef unsigned short mode_t;" > unistd.h
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,25 @@
# @(#)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')
define(`confENVDEF', `-DRISCOS -DRISCOS_4_0 ')
define(`confLIBS', `-lmld')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
PUSHDIVERT(3)
stdlib.h stddef.h:
cp /dev/null $@
unistd.h:
echo "typedef unsigned short mode_t;" > unistd.h
dirent.h:
echo "#include <sys/dir.h>" > dirent.h
echo "#define dirent direct" >> dirent.h
POPDIVERT

View File

@ -0,0 +1,9 @@
# @(#)SCO 8.3 (Berkeley) 2/8/98
define(`confENVDEF', `-D_SCO_unix_ ')
define(`confLIBS', `-lsocket -lprot_s -lx -lc_s')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')

View File

@ -0,0 +1,11 @@
# @(#)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')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `bin')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')

View File

@ -0,0 +1,10 @@
# @(#)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')
define(`confSBINGRP', `bin')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/bin')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')

View File

@ -0,0 +1,12 @@
# @(#)SINIX 8.5 (Berkeley) 2/12/98
define(`confCC', `/usr/bin/cc')
define(`confENVDEF', `-D__svr4__ ')
define(`confLIBS', `-lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `/usr/ucb/install')

View File

@ -0,0 +1,14 @@
# @(#)SVR4 8.6 (Berkeley) 3/12/98
define(`confCC', `gcc')
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-D__svr4__ ')
define(`confLIBS', `-ldbm -lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `/usr/ucb/install')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,10 @@
# @(#)SunOS 8.6 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confLDOPTS', `-Bstatic')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/etc')
define(`confHFDIR', `/usr/lib')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,15 @@
# @(#)SunOS.4.0 8.6 (Berkeley) 3/12/98
define(`confBEFORE', `stdlib.h stddef.h limits.h')
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DSUNOS403 ')
define(`confLDOPTS', `-Bstatic')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', `/etc')
define(`confHFDIR', `/usr/lib')
PUSHDIVERT(3)
stddef.h stdlib.h limits.h:
cp /dev/null $@
POPDIVERT

View File

@ -0,0 +1,22 @@
# @(#)SunOS.5.1 8.8 (Berkeley) 3/21/98
define(`confCC', `gcc')
define(`confBEFORE', `sysexits.h')
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DSOLARIS=20100 ')
define(`confLIBS', `-lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/etc/mail')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')
PUSHDIVERT(3)
sysexits.h:
if [ -r /usr/ucbinclude/sysexits.h ]; \
then \
ln -s /usr/ucbinclude/sysexits.h; \
fi
POPDIVERT

View File

@ -0,0 +1,22 @@
# @(#)SunOS.5.2 8.8 (Berkeley) 3/21/98
define(`confCC', `gcc')
define(`confBEFORE', `sysexits.h')
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DSOLARIS=20100 ')
define(`confLIBS', `-lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/etc/mail')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')
PUSHDIVERT(3)
sysexits.h:
if [ -r /usr/ucbinclude/sysexits.h ]; \
then \
ln -s /usr/ucbinclude/sysexits.h; \
fi
POPDIVERT

View File

@ -0,0 +1,20 @@
# @(#)SunOS.5.3 8.8 (Berkeley) 3/21/98
define(`confCC', `gcc')
define(`confBEFORE', `sysexits.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS')
define(`confENVDEF', `-DSOLARIS=20300 ')
define(`confLIBS', `-lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/lib')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/etc/mail')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')
PUSHDIVERT(3)
sysexits.h:
if [ -r /usr/ucbinclude/sysexits.h ]; \
then \
ln -s /usr/ucbinclude/sysexits.h; \
fi
POPDIVERT

View File

@ -0,0 +1,20 @@
# @(#)SunOS.5.4 8.10 (Berkeley) 3/21/98
define(`confCC', `gcc')
define(`confBEFORE', `sysexits.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS')
define(`confENVDEF', `-DSOLARIS=20400 ')
define(`confLIBS', `-lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/lib')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/etc/mail')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')
PUSHDIVERT(3)
sysexits.h:
if [ -r /usr/include/sysexits.h ]; \
then \
ln -s /usr/include/sysexits.h; \
fi
POPDIVERT

View File

@ -0,0 +1,20 @@
# @(#)SunOS.5.5 8.11 (Berkeley) 3/21/98
define(`confCC', `gcc')
define(`confBEFORE', `sysexits.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX')
define(`confENVDEF', `-DSOLARIS=20500 ')
define(`confLIBS', `-lsocket -lnsl -lkstat')
define(`confMBINDIR', `/usr/lib')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/etc/mail')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')
PUSHDIVERT(3)
sysexits.h:
if [ -r /usr/include/sysexits.h ]; \
then \
ln -s /usr/include/sysexits.h; \
fi
POPDIVERT

View File

@ -0,0 +1,20 @@
# @(#)SunOS.5.6 8.10 (Berkeley) 3/21/98
define(`confCC', `gcc')
define(`confBEFORE', `sysexits.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX')
define(`confENVDEF', `-DSOLARIS=20600 ')
define(`confLIBS', `-lsocket -lnsl -lkstat')
define(`confMBINDIR', `/usr/lib')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/etc/mail')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')
PUSHDIVERT(3)
sysexits.h:
if [ -r /usr/include/sysexits.h ]; \
then \
ln -s /usr/include/sysexits.h; \
fi
POPDIVERT

View File

@ -0,0 +1,20 @@
# @(#)SunOS.5.7 8.11 (Berkeley) 3/21/98
define(`confCC', `gcc')
define(`confBEFORE', `sysexits.h')
define(`confMAPDEF', `-DNDBM -DNIS -DNISPLUS -DMAP_REGEX')
define(`confENVDEF', `-DSOLARIS=20700 ')
define(`confLIBS', `-lsocket -lnsl')
define(`confMBINDIR', `/usr/lib')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/etc/mail')
define(`confHFDIR', `/etc/mail')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')
PUSHDIVERT(3)
sysexits.h:
if [ -r /usr/include/sysexits.h ]; \
then \
ln -s /usr/include/sysexits.h; \
fi
POPDIVERT

View File

@ -0,0 +1,13 @@
# @(#)Titan 8.5 (Berkeley) 3/12/98
define(`confCC', `cc -43')
define(`confBEFORE', `stddef.h stdlib.h')
define(`confMAPDEF', `-DNDBM')
define(`confLIBS', `-ldbm')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
PUSHDIVERT(3)
stddef.h stdlib.h:
cp /dev/null $@
POPDIVERT

View File

@ -0,0 +1,10 @@
# @(#)ULTRIX 8.7 (Berkeley) 3/12/98
define(`confCC', `cc -Olimit 950')
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DIDENTPROTO=0 ')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,15 @@
# @(#)UMAX 8.5 (Berkeley) 3/12/98
define(`confBEFORE', `stddef.h')
define(`confMAPDEF', `-DNIS')
define(`confENVDEF', `-DUMAXV ')
define(`confLIBS', `-lyp -lrpc')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
PUSHDIVERT(3)
stddef.h:
echo "#define _STDDEF_H" > stddef.h
chmod 444 stddef.h
POPDIVERT

View File

@ -0,0 +1,9 @@
# @(#)UNICOS 8.7 (Berkeley) 2/26/98
define(`confENVDEF', `-DUNICOS ')
define(`confOPTIMIZE', `-O')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSTDIR', ` /etc/mail')
define(`confHFDIR', ` /etc/mail')

View File

@ -0,0 +1,14 @@
# @(#)UNIX_SV.4.x.i386 8.6 (Berkeley) 3/12/98
define(`confCC', `gcc')
define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-D__svr4__ -DUNIXWARE ')
define(`confLIBS', `-lc -ldbm -lsocket -lnsl -lgen -lelf')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `/usr/ucb/install')
define(`confDEPEND_TYPE', `CC-M')

View File

@ -0,0 +1,24 @@
# @(#)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')
define(`confENVDEF', `-DHASSNPRINTF=1 ')
define(`confLIBS', `-lsocket -lnsl -lelf # # without NEWDB')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `sys')
define(`confSTDIR', `/var/ucblib')
define(`confHFDIR', `/var/ucblib')
define(`confINSTALL', `/usr/ucb/install')
PUSHDIVERT(3)
sysexits.h:
echo '#ifndef _LOCAL_SYSEXITS_H_' > sysexits.h;
echo '#define _LOCAL_SYSEXITS_H_' >> sysexits.h;
cat /usr/abiccs/ucbinclude/sysexits.h >> sysexits.h;
echo '#endif /* _LOCAL_SYSEXITS_H_ */' >> sysexits.h;
ndbm.h:
sed 's/void/char/' /usr/abiccs/include/ndbm.h > ndbm.h
POPDIVERT

View File

@ -0,0 +1,15 @@
# @(#)UXPDS.V10 8.9 (Berkeley) 3/12/98
define(`confCC', `/usr/ccs/bin/cc')
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DUXPDS=10 ')
define(`confINCDIRS', `-I/usr/include -I/usr/ucbinclude')
define(`confLIBS', `/usr/ucblib/libdbm.a /usr/ucblib/libucb.a -lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `/usr/ucb/install')
define(`confMANROOT', `/usr/local/man/man')

View File

@ -0,0 +1,22 @@
# @(#)UXPDS.V20 8.8 (Berkeley) 3/12/98
define(`confCC', `/usr/ccs/bin/cc')
define(`confBEFORE', `netinet/ip_var.h')
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confENVDEF', `-DUXPDS=20 ')
define(`confLIBS', `/usr/ucblib/libdbm.a -lsocket -lnsl -lelf')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/ucblib')
define(`confHFDIR', `/usr/ucblib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confMANROOT', `/usr/local/man/man')
PUSHDIVERT(3)
netinet/ip_var.h: netinet /usr/include/netinet/ip_var.h
sed '/ip_var_f.h/d' /usr/include/netinet/ip_var.h > netinet/ip_var.h
netinet:
mkdir netinet
POPDIVERT

View File

@ -0,0 +1,6 @@
# @(#)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')
define(`confINSTALL', `/usr/ucb/install')
define(`confSBINGRP', `sys')

View File

@ -0,0 +1,10 @@
# @(#)dgux 8.5 (Berkeley) 3/12/98
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confLIBS', `-ldbm')
define(`confMBINDIR', `/usr/bin')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `bin')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/etc')

View File

@ -0,0 +1,14 @@
# @(#)maxion 8.6 (Berkeley) 3/12/98
define(`confCC', `/usr/ucb/cc')
define(`confMAPDEF', `-DNDBM -DNIS')
define(`confLIBDIRS', `-L/usr/ucblib')
define(`confLIBS', `-ldbm -lgen -lucb')
define(`confMBINDIR', `/usr/ucblib')
define(`confSBINDIR', `/usr/ucbetc')
define(`confUBINDIR', `/usr/ucb')
define(`confEBINDIR', `/usr/ucblib')
define(`confSBINOWN', `smtp')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/var/adm/log')
define(`confHFDIR', `/etc/ucbmail')
define(`confINSTALL', `/usr/ucb/install')

View File

@ -0,0 +1,26 @@
# @(#)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.
#
BINDPATH=../../../bind
POPDIVERT
define(`confBEFORE', `stddef.h')
define(`confMAPDEF', `-DNIS -DNDBM')
define(`confENVDEF', `-D_UTS ')
define(`confOPTIMIZE', `-g')
define(`confINCDIRS', `-I${BINDPATH}/include -I${BINDPATH}/compat/include')
define(`confLIBDIRS', `-L${BINDPATH}/res -L${BINDPATH}/compat/lib')
define(`confLIBS', `-lyp -lrpc -lbsd -lsocket -la')
define(`confMBINDIR', `/usr/lib')
define(`confSBINDIR', `/usr/etc')
define(`confUBINDIR', `/usr/lib')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `mail')
define(`confSTDIR', `/usr/lib')
define(`confHFDIR', `/usr/lib')
define(`confINSTALL', `${BUILDBIN}/install.sh')
PUSHDIVERT(3)
stddef.h:
echo "#include <sys/types.h>" > stddef.h
POPDIVERT

View File

@ -0,0 +1,110 @@
This directory contains tools. Do not attempt to actually build
anything in this directory.
The Build script allows you to specify a site configuration file by using
the -f flag:
Build -f siteconfig.m4
You can put such site configuration files in the Site sub-directory;
see Site/README for details.
While building a site configuration file, you can add to a definition
using the APPENDDEF() and PREPENDDEF() macros. For example:
APPENDDEF(`confINCDIRS', `-I/usr/local/bind/include')
will add -I/usr/local/bind/include to the already existing confINCDIRS.
Note: There must be no trailing spaces after the last quote mark and
before the closing parenthesis. Also you may need to properly quote
m4 reserved words as specified by your vendor's m4 command.
By default, sendmail will search your system for include and library
directories as well as certain libraries (libdb.* for Berkeley DB and
libbind.a or libresolv.* for name resolution). You can turn off this
configuration step by specifying the -S flag with the Build command.
The OS subtree contains definitions for variations on a standard
model for system installation. The M4 variables that can be defined
and their defaults before referencing the appropriate OS definitons
are:
confBEFORE [empty] Files to create before sendmail is
compiled. The methods must be defined
in the Makefile using PUSHDIVERT(3).
confBUILDBIN ../../BuildTools/bin
The location of the build support
binaries, relative to the obj.*
directory.
confCC cc The C compiler to use.
confOPTIMIZE -O Flags passed to CC as ${O}.
confDEPEND_TYPE generic How to build dependencies. This should
be the name of a file in
BuildTools/M4/depend
confEBINDIR /usr/libexec The location for binaries executed
from other binaries, e.g., mail.local
or smrsh.
confENVDEF [empty] -D flags passed to cc.
confHFDIR /usr/share/misc Location of the sendmail help file.
confINCDIRS [empty] -I flags passed to cc.
confINSTALL install The BSD-compatible install program.
Use ${BUILDBIN}/install.sh if none
is available on your system.
confLDOPTS [empty] Linker options passed to ld.
confLIBDIRS [empty] -L flags passed to ld.
confLIBS [varies] -l flags passed to ld.
confLIBSEARCH db bind resolv 44bsd
Search for these libraries for
linking with programs.
confLINKS ${UBINDIR}/newaliases ${UBINDIR}/mailq \
${UBINDIR}/hoststat ${UBINDIR}/purgestat
Names of links to sendmail.
confMANROOT /usr/share/man/cat The root of the man subtree.
confMAN1 confMANROOT 1 The location of man1 files.
confMAN1EXT 1 The extension on files in confMAN1.
confMAN1SRC 0 The source for man pages installed
in confMAN1.
confMAN5 confMANROOT 5 The location of man5 files.
confMAN5EXT 5 The extension on files in confMAN5.
confMAN5SRC 0 The source for man pages installed
in confMAN5.
confMAN8 confMANROOT 8 The location of man8 files.
confMAN8EXT 8 The extension on files in confMAN8.
confMAN8SRC 0 The source for man pages installed
in confMAN8.
confMANDOC -mandoc The macros used to format man pages.
confMANOWN bin The owner of installed man pages.
confMANGRP bin The group of installed man pages.
confMANMODE 444 The mode of installed man pages.
confMAPDEF [varies] The map definitions, e.g.,
-DNDBM -DNEWDB. -DNEWDB is always
added if a libdb.a can be found.
confNO_MAN_INSTALL [undefined] If defined, don't install the man
pages by default.
confMBINDIR /usr/sbin The location of the MTA (sendmail)
binary.
confNROFF groff -Tascii The command to format man pages.
confOBJADD [empty] Objects that should be included in
when linking sendmail and the
associated utilities.
confSBINDIR /usr/sbin The location of root-oriented
commands, such as makemap.
confSBINOWN root The owner for setuid binaries.
confSBINGRP kmem The group for setuid binaries.
confSBINMODE 4555 The mode for setuid binaries.
confSHELL /bin/sh The shell to use inside make.
confSMOBJADD [empty] Objects that should be included in
when linking sendmail.
confSRCDIR ../../src The sendmail source directory
relative to support program obj.*
directories.
confSTDIR /var/log The directory in which to store the
sendmail status file.
confUBINDIR /usr/bin The directory for user-executable
binaries.
confUBINOWN bin The owner for user-executable binaries.
confUBINGRP bin The group for user-executable binaries.
confUBINMODE 555 The mode for user-executable binaries.
@(#)README 8.22 (Berkeley) 6/30/98

View File

@ -0,0 +1,16 @@
The Build script will look for the default site configuration files in
this directory. Build will include the following files if they are
present in this directory:
site.OS.$SENDMAIL_SUFFIX.m4
site.OS.m4
site.config.m4
OS is the name of the operating system file selected from the BuildTools/OS
directory. SENDMAIL_SUFFIX is a user environment variable which can be
used to further distinguish between site configuration files in this
directory.
See the README in the BuildTools directory for more information.
@(#)README 8.3 (Berkeley) 3/27/98

View File

@ -0,0 +1,513 @@
#!/bin/sh
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
# Copyright (c) 1993, 1996-1997 Eric P. Allman. All rights reserved.
# Copyright (c) 1993
# The Regents of the University of California. All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
# @(#)Build 8.93 (Berkeley) 6/24/98
#
#
# A quick-and-dirty script to compile sendmail and related programs
# in the presence of multiple architectures. To use, just use
# "sh Build".
#
trap "rm -f $obj/.settings$$; exit" 1 2 3 15
cflag=""
mflag=""
sflag=""
makeargs=""
libdirs=""
incdirs=""
libsrch=""
siteconfig=""
EX_USAGE=64
EX_NOINPUT=66
EX_UNAVAILABLE=69
while [ ! -z "$1" ]
do
case $1
in
-c) # clean out existing $obj tree
cflag=1
shift
;;
-m) # show Makefile name only
mflag=1
shift
;;
-E*) # environment variables to pass into Build
arg=`echo $1 | sed 's/^-E//'`
if [ -z "$arg" ]
then
shift # move to argument
arg=$1
fi
if [ -z "$arg" ]
then
echo "Empty -E flag" >&2
exit $EX_USAGE
else
case $arg
in
*=*) # check format
eval $arg
export `echo $arg | sed 's;=.*;;'`
;;
*) # bad format
echo "Bad format for -E argument ($arg)" >&2
exit $EX_USAGE
;;
esac
shift
fi
;;
-L*) # set up LIBDIRS
libdirs="$libdirs $1"
shift
;;
-I*) # set up INCDIRS
incdirs="$incdirs $1"
shift
;;
-f*) # select site config file
arg=`echo $1 | sed 's/^-f//'`
if [ -z "$arg" ]
then
shift # move to argument
arg=$1
fi
if [ "$siteconfig" ]
then
echo "Only one -f flag allowed" >&2
exit $EX_USAGE
else
siteconfig=$arg
if [ -z "$siteconfig" ]
then
echo "Missing argument for -f flag" >&2
exit $EX_USAGE
elif [ ! -f "$siteconfig" ]
then
echo "${siteconfig}: File not found"
exit $EX_NOINPUT
else
shift # move past argument
fi
fi
;;
-S) # skip auto-configure
sflag="-s"
shift
;;
*) # pass argument to make
makeargs="$makeargs \"$1\""
shift
;;
esac
done
#
# Do heuristic guesses !ONLY! for machines that do not have uname
#
if [ -d /NextApps -a ! -f /bin/uname -a ! -f /usr/bin/uname ]
then
# probably a NeXT box
arch=`hostinfo | sed -n 's/.*Processor type: \([^ ]*\).*/\1/p'`
os=NeXT
rel=`hostinfo | sed -n 's/.*NeXT Mach \([0-9\.]*\).*/\1/p'`
elif [ -f /usr/sony/bin/machine -a -f /etc/osversion ]
then
# probably a Sony NEWS 4.x
os=NEWS-OS
rel=`awk '{ print $3}' /etc/osversion`
arch=`/usr/sony/bin/machine`
elif [ -d /usr/omron -a -f /bin/luna ]
then
# probably a Omron LUNA
os=LUNA
if [ -f /bin/luna1 ] && /bin/luna1
then
rel=unios-b
arch=luna1
elif [ -f /bin/luna2 ] && /bin/luna2
then
rel=Mach
arch=luna2
elif [ -f /bin/luna88k ] && /bin/luna88k
then
rel=Mach
arch=luna88k
fi
elif [ -d /usr/apollo -a -d \`node_data ]
then
# probably a Apollo/DOMAIN
os=DomainOS
arch=$ISP
rel=`/usr/apollo/bin/bldt | grep Domain | awk '{ print $4 }' | sed -e 's/,//g'`
fi
if [ ! "$arch" -a ! "$os" -a ! "$rel" ]
then
arch=`uname -m | sed -e 's/ //g'`
os=`uname -s | sed -e 's/\//-/g' -e 's/ //g'`
rel=`uname -r | sed -e 's/(/-/g' -e 's/)//g'`
fi
#
# Tweak the values we have already got. PLEASE LIMIT THESE to
# tweaks that are absolutely necessary because your system uname
# routine doesn't return something sufficiently unique. Don't do
# it just because you don't like the name that is returned. You
# can combine the architecture name with the os name to create a
# unique Makefile name.
#
# tweak machine architecture
case $arch
in
sun4*) arch=sun4;;
9000/*) arch=`echo $arch | sed -e 's/9000.//' -e 's/..$/xx/'`;;
DS/907000) arch=ds90;;
NILE*) arch=NILE
os=`uname -v`;;
esac
# tweak operating system type and release
node=`uname -n | sed -e 's/\//-/g' -e 's/ //g'`
if [ "$os" = "$node" -a "$arch" = "i386" -a "$rel" = 3.2 -a "`uname -v`" = 2 ]
then
# old versions of SCO UNIX set uname -s the same as uname -n
os=SCO_SV
fi
if [ "$rel" = 4.0 ]
then
case $arch in
3[34]??|3[34]??,*)
if [ -d /usr/sadm/sysadm/add-ons/WIN-TCP ]
then
os=NCR.MP-RAS.2.x
elif [ -d /usr/sadm/sysadm/add-ons/inet ]
then
os=NCR.MP-RAS.3.x
fi
;;
esac
fi
case $os
in
DYNIX-ptx) os=PTX;;
Paragon*) os=Paragon;;
HP-UX) rel=`echo $rel | sed -e 's/^[^.]*\.0*//'`;;
AIX) rela=$rel
rel=`uname -v`
case $rel in
2) arch=""
;;
4) if [ "$rela" = "3" ]
then
arch=$rela
fi
;;
esac
rel=$rel.$rela
;;
BSD-386) os=BSD-OS;;
SCO_SV) os=SCO; rel=`uname -X | sed -n 's/Release = 3.2v//p'`;;
UNIX_System_V) if [ "$arch" = "ds90" ]
then
os="UXPDS"
rel=`uname -v | sed -e 's/\(V.*\)L.*/\1/'`
fi;;
SINIX-?) os=SINIX;;
DomainOS) case $rel in
10.4*) rel=10.4;;
esac
;;
esac
# get "base part" of operating system release
rroot=`echo $rel | sed -e 's/\.[^.]*$//'`
rbase=`echo $rel | sed -e 's/\..*//'`
if [ "$rroot" = "$rbase" ]
then
rroot=$rel
fi
# heuristic tweaks to clean up names -- PLEASE LIMIT THESE!
if [ "$os" = "unix" ]
then
# might be Altos System V
case $rel
in
5.3*) os=Altos;;
esac
elif [ -r /unix -a -r /usr/lib/libseq.a -a -r /lib/cpp ]
then
# might be a DYNIX/ptx 2.x system, which has a broken uname
if strings /lib/cpp | grep _SEQUENT_ > /dev/null
then
os=PTX
fi
elif [ -d /usr/nec ]
then
# NEC machine -- what is it running?
if [ "$os" = "UNIX_System_V" ]
then
os=EWS-UX_V
elif [ "$os" = "UNIX_SV" ]
then
os=UX4800
fi
elif [ "$arch" = "mips" ]
then
case $rel
in
4_*)
if [ `uname -v` = "UMIPS" ]
then
os=RISCos
fi;;
esac
fi
# see if there is a "user suffix" specified
if [ "${SENDMAIL_SUFFIX-}x" = "x" ]
then
sfx=""
else
sfx=".${SENDMAIL_SUFFIX}"
fi
echo "Configuration: os=$os, rel=$rel, rbase=$rbase, rroot=$rroot, arch=$arch, sfx=$sfx"
SMROOT=${SMROOT-..}
BUILDTOOLS=${BUILDTOOLS-$SMROOT/BuildTools}
export SMROOT BUILDTOOLS
# see if we are in a Build-able directory
if [ ! -f Makefile.m4 ]; then
echo "Makefile.m4 not found. Build can only be run from a source directory."
exit $EX_UNAVAILABLE
fi
# now try to find a reasonable object directory
if [ -r obj.$os.$rel.$arch$sfx ]; then
obj=obj.$os.$rel.$arch$sfx
elif [ -r obj.$os.$rroot.$arch$sfx ]; then
obj=obj.$os.$rroot.$arch$sfx
elif [ -r obj.$os.$rbase.x.$arch$sfx ]; then
obj=obj.$os.$rbase.x.$arch$sfx
elif [ -r obj.$os.$rel$sfx ]; then
obj=obj.$os.$rel$sfx
elif [ -r obj.$os.$rbase.x$sfx ]; then
obj=obj.$os.$rbase.x$sfx
elif [ -r obj.$os.$arch$sfx ]; then
obj=obj.$os.$arch$sfx
elif [ -r obj.$rel.$arch$sfx ]; then
obj=obj.$rel.$arch$sfx
elif [ -r obj.$rbase.x.$arch$sfx ]; then
obj=obj.$rbase.x.$arch$sfx
elif [ -r obj.$os$sfx ]; then
obj=obj.$os$sfx
elif [ -r obj.$arch$sfx ]; then
obj=obj.$arch$sfx
elif [ -r obj.$rel$sfx ]; then
obj=obj.$rel$sfx
elif [ -r obj$sfx ]; then
obj=obj$sfx
fi
if [ -z "$obj" -o "$cflag" ]
then
if [ -n "$obj" ]
then
echo "Clearing out existing $obj tree"
rm -rf $obj
else
# no existing obj directory -- try to create one if Makefile found
obj=obj.$os.$rel.$arch$sfx
fi
if [ -r $BUILDTOOLS/OS/$os.$rel.$arch$sfx ]; then
oscf=$os.$rel.$arch$sfx
elif [ -r $BUILDTOOLS/OS/$os.$rel.$arch ]; then
oscf=$os.$rel.$arch
elif [ -r $BUILDTOOLS/OS/$os.$rroot.$arch$sfx ]; then
oscf=$os.$rroot.$arch$sfx
elif [ -r $BUILDTOOLS/OS/$os.$rroot.$arch ]; then
oscf=$os.$rroot.$arch
elif [ -r $BUILDTOOLS/OS/$os.$rbase.x.$arch$sfx ]; then
oscf=$os.$rbase.x.$arch$sfx
elif [ -r $BUILDTOOLS/OS/$os.$rbase.x.$arch ]; then
oscf=$os.$rbase.x.$arch
elif [ -r $BUILDTOOLS/OS/$os.$rel$sfx ]; then
oscf=$os.$rel$sfx
elif [ -r $BUILDTOOLS/OS/$os.$rel ]; then
oscf=$os.$rel
elif [ -r $BUILDTOOLS/OS/$os.$rroot$sfx ]; then
oscf=$os.$rroot$sfx
elif [ -r $BUILDTOOLS/OS/$os.$rroot ]; then
oscf=$os.$rroot
elif [ -r $BUILDTOOLS/OS/$os.$rbase.x$sfx ]; then
oscf=$os.$rbase.x$sfx
elif [ -r $BUILDTOOLS/OS/$os.$rbase.x ]; then
oscf=$os.$rbase.x
elif [ -r $BUILDTOOLS/OS/$os.$arch$sfx ]; then
oscf=$os.$arch$sfx
elif [ -r $BUILDTOOLS/OS/$os.$arch ]; then
oscf=$os.$arch
elif [ -r $BUILDTOOLS/OS/$rel.$arch$sfx ]; then
oscf=$rel.$arch$sfx
elif [ -r $BUILDTOOLS/OS/$rel.$arch ]; then
oscf=$rel.$arch
elif [ -r $BUILDTOOLS/OS/$rroot.$arch$sfx ]; then
oscf=$rroot.$arch$sfx
elif [ -r $BUILDTOOLS/OS/$rroot.$arch ]; then
oscf=$rroot.$arch
elif [ -r $BUILDTOOLS/OS/$rbase.x.$arch$sfx ]; then
oscf=$rbase.x.$arch$sfx
elif [ -r $BUILDTOOLS/OS/$rbase.x.$arch ]; then
oscf=$rbase.x.$arch
elif [ -r $BUILDTOOLS/OS/$os$sfx ]; then
oscf=$os$sfx
elif [ -r $BUILDTOOLS/OS/$os ]; then
oscf=$os
elif [ -r $BUILDTOOLS/OS/$arch$sfx ]; then
oscf=$arch$sfx
elif [ -r $BUILDTOOLS/OS/$arch ]; then
oscf=$arch
elif [ -r $BUILDTOOLS/OS/$rel$sfx ]; then
oscf=$rel$sfx
elif [ -r $BUILDTOOLS/OS/$rel ]; then
oscf=$rel
elif [ -r $BUILDTOOLS/OS/$rel$sfx ]; then
oscf=$rel$sfx
else
echo "Cannot determine how to support $arch.$os.$rel" >&2
exit $EX_UNAVAILABLE
fi
M4=`sh $BUILDTOOLS/bin/find_m4.sh`
ret=$?
if [ $ret -ne 0 ]
then
exit $ret
fi
echo "Using M4=$M4"
export M4
if [ "$mflag" ]
then
echo "Will run in virgin $obj using $BUILDTOOLS/OS/$oscf"
exit 0
fi
if [ "$ABI" ]
then
echo "Using ABI $ABI"
fi
echo "Creating $obj using $BUILDTOOLS/OS/$oscf"
mkdir $obj
(cd $obj; ln -s ../*.[ch158] .)
if [ -f sendmail.hf ]
then
(cd $obj; ln -s ../sendmail.hf .)
fi
rm -f $obj/.settings$$
echo 'divert(-1)' > $obj/.settings$$
cat $BUILDTOOLS/M4/header.m4 >> $obj/.settings$$
if [ "$ABI" ]
then
echo "define(\`confABI', \`$ABI')" >> $obj/.settings$$
fi
cat $BUILDTOOLS/OS/$oscf >> $obj/.settings$$
if [ -z "$siteconfig" ]
then
# none specified, use defaults
if [ -f $BUILDTOOLS/Site/site.$oscf$sfx.m4 ]
then
siteconfig=$BUILDTOOLS/Site/site.$oscf$sfx.m4
elif [ -f $BUILDTOOLS/Site/site.$oscf.m4 ]
then
siteconfig=$BUILDTOOLS/Site/site.$oscf.m4
fi
if [ -f $BUILDTOOLS/Site/site.config.m4 ]
then
siteconfig="$BUILDTOOLS/Site/site.config.m4 $siteconfig"
fi
fi
if [ ! -z "$siteconfig" ]
then
echo "Including $siteconfig"
cat $siteconfig >> $obj/.settings$$
fi
if [ "$libdirs" ]
then
echo "define(\`confLIBDIRS', confLIBDIRS \`\`$libdirs'')" >> $obj/.settings$$
fi
if [ "$incdirs" ]
then
echo "define(\`confINCDIRS', confINCDIRS \`\`$incdirs'')" >> $obj/.settings$$
fi
echo 'divert(0)dnl' >> $obj/.settings$$
libdirs=`(cat $obj/.settings$$; echo "_SRIDBIL_= confLIBDIRS" ) | \
sed -e 's/\(.\)include/\1_include_/g' -e 's/#define/#_define_/g' | \
${M4} -DconfBUILDTOOLSDIR=$BUILDTOOLS - | \
grep "^_SRIDBIL_=" | \
sed -e 's/#_define_/#define/g' -e 's/_include_/include/g' -e "s/^_SRIDBIL_=//"`
libsrch=`(cat $obj/.settings$$; echo "_HCRSBIL_= confLIBSEARCH" ) | \
sed -e 's/\(.\)include/\1_include_/g' -e 's/#define/#_define_/g' | \
${M4} -DconfBUILDTOOLSDIR=$BUILDTOOLS - | \
grep "^_HCRSBIL_=" | \
sed -e 's/#_define_/#define/g' -e 's/_include_/include/g' -e "s/^_HCRSBIL_=//"`
echo 'divert(-1)' >> $obj/.settings$$
LIBDIRS="$libdirs" LIBSRCH="$libsrch" SITECONFIG="$siteconfig" sh $BUILDTOOLS/bin/configure.sh $sflag $oscf >> $obj/.settings$$
echo 'divert(0)dnl' >> $obj/.settings$$
sed -e 's/\(.\)include/\1_include_/g' -e 's/#define/#_define_/g' $obj/.settings$$ | \
${M4} -DconfBUILDTOOLSDIR=$BUILDTOOLS - Makefile.m4 | \
sed -e 's/#_define_/#define/g' -e 's/_include_/include/g' > $obj/Makefile
if [ $? -ne 0 -o ! -s $obj/Makefile ]
then
echo "ERROR: ${M4} failed; You may need a newer version of M4, at least as new as System V or GNU" 1>&2
rm -rf $obj
exit $EX_UNAVAILABLE
fi
rm -f $obj/.settings$$
echo "Making dependencies in $obj"
(cd $obj; ${MAKE-make} depend)
fi
if [ "$mflag" ]
then
makefile=`ls -l $obj/Makefile | sed 's/.* //'`
if [ -z "$makefile" ]
then
echo "ERROR: $obj exists but has no Makefile" >&2
exit $EX_NOINPUT
fi
echo "Will run in existing $obj using $makefile"
exit 0
fi
echo "Making in $obj"
cd $obj
eval exec ${MAKE-make} $makeargs

View File

@ -0,0 +1,163 @@
#!/bin/sh
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
# @(#)configure.sh 8.27 (Berkeley) 5/19/98
#
# Special script to autoconfigure for M4 generation of Makefile
#
os=""
resolver=""
sflag=""
while [ ! -z "$1" ]
do
case $1
in
-s) # skip auto-configure
sflag=1
shift
;;
*) # OS definition
os=$1
shift
;;
esac
done
usewhoami=0
usehostname=0
for p in `echo $PATH | sed 's/:/ /g'`
do
if [ "x$p" = "x" ]
then
p="."
fi
if [ -f $p/whoami ]
then
usewhoami=1
if [ $usehostname -ne 0 ]
then
break;
fi
fi
if [ -f $p/hostname ]
then
usehostname=1
if [ $usewhoami -ne 0 ]
then
break;
fi
fi
done
if [ $usewhoami -ne 0 ]
then
user=`whoami`
else
user=$LOGNAME
fi
if [ $usehostname -ne 0 ]
then
host=`hostname`
else
host=`uname -n`
fi
echo "PUSHDIVERT(0)"
echo "####################################################################"
echo "##### This file is automatically generated -- edit at your own risk"
echo '#####' Built by $user@$host
echo '#####' on `date` using template OS/$os
if [ ! -z "$SITECONFIG" ]
then
echo '#####' including $SITECONFIG
fi
echo '#####' in `pwd` | sed 's/\/tmp_mnt//'
echo "####################################################################"
echo ""
echo "POPDIVERT"
echo "define(\`__HOST__', \`$host')dnl"
echo "ifdef(\`confMAPDEF',, \`define(\`confMAPDEF', \`')')dnl"
echo "ifdef(\`confLIBS',, \`define(\`confLIBS', \`')')dnl"
# If user did not supply ABI for Build, use SGI_ABI
# so the proper libraries are checked below.
if [ -z "$ABI" ]
then
ABI="$SGI_ABI"
fi
case $ABI
in
-n32) LIBDIRS="$LIBDIRS /lib32 /usr/lib32"
;;
-64) LIBDIRS="$LIBDIRS /lib64 /usr/lib64"
;;
*) LIBDIRS="$LIBDIRS /lib /usr/lib /usr/shlib"
;;
esac
libs=""
mapdef=""
for l in $LIBSRCH
do
for p in `echo $LIBDIRS | sed -e 's/:/ /g' -e 's/^-L//g' -e 's/ -L/ /g'`
do
if [ "x$p" = "x" ]
then
p = "."
fi
if [ -f $p/lib$l.a -o -f $p/lib$l.so ]
then
case $l
in
db)
mapdef="$mapdef -DNEWDB"
;;
bind|resolv)
if [ -n "$resolver" ]
then
continue
else
resolver=$l
fi
;;
44bsd)
if [ "x$resolver" != "xresolv" ]
then
continue
fi
;;
esac
libs="$libs -l$l"
break
fi
done
done
for p in `echo $PATH | sed 's/:/ /g'`
do
pbase=`echo $p | sed -e 's,/bin,,'`
if [ "x$p" = "x" ]
then
p="."
fi
if [ -f $p/mkdep ]
then
echo "ifdef(\`confDEPEND_TYPE',, \`define(\`confDEPEND_TYPE', \`BSD')')dnl"
fi
done
if [ -z "$sflag" ]
then
echo "define(\`confMAPDEF', \`$mapdef' confMAPDEF)dnl"
echo "define(\`confLIBS', \`$libs' confLIBS)dnl"
fi

View File

@ -0,0 +1,82 @@
#!/bin/sh
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
# @(#)find_m4.sh 8.4 (Berkeley) 5/19/98
#
# Try to find a working M4 program.
# If $M4 is already set, we use it, otherwise we prefer GNU m4.
EX_UNAVAILABLE=69
test="ifdef(\`pushdef', \`',
\`errprint(\`You need a newer version of M4, at least as new as System V or GNU')
include(NoSuchFile)')
define(\`BadNumber', \`10')
ifdef(\`BadNumber', \`', \`errprint(\`This version of m4 is broken')')"
if [ "$M4" ]
then
err=`(echo "$test" | $M4) 2>&1 >/dev/null`
code=$?
else
firstfound=
ifs="$IFS"; IFS="${IFS}:"
for m4 in gm4 gnum4 pdm4 m4
do
for dir in $PATH /usr/5bin /usr/ccs/bin
do
[ -z "$dir" ] && dir=.
if [ -f $dir/$m4 ]
then
err=`(echo "$test" | $dir/$m4) 2>&1 >/dev/null`
ret=$?
if [ $ret -eq 0 -a "X$err" = "X" ]
then
M4=$dir/$m4
code=0
break
else
case "$firstfound:$err" in
:*version\ of*)
firstfound=$dir/$m4
firsterr="$err"
firstcode=$ret
;;
esac
fi
fi
done
[ "$M4" ] && break
done
IFS="$ifs"
if [ ! "$M4" ]
then
if [ "$firstfound" ]
then
M4=$firstfound
err="$firsterr"
code=$firstcode
else
echo "ERROR: Can not locate an M4 program" >&2
exit $EX_UNAVAILABLE
fi
fi
fi
if [ $code -ne 0 ]
then
echo "ERROR: Using M4=$M4: $err" | grep -v NoSuchFile >&2
exit $EX_UNAVAILABLE
elif [ "X$err" != "X" ]
then
echo "WARNING: $err" >&2
fi
echo $M4
exit 0

View File

@ -0,0 +1,128 @@
#!/bin/sh
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
# @(#)install.sh 8.9 (Berkeley) 5/19/98
# Set default program
program=mv
# chown program -- ultrix keeps it in /etc/chown and /usr/etc/chown
if [ -f /etc/chown ]
then
chown=/etc/chown
elif [ -f /usr/etc/chown ]
then
chown=/usr/etc/chown
else
chown=chown
fi
# Check arguments
while [ ! -z "$1" ]
do
case $1
in
-o) owner=$2
shift; shift
;;
-g) group=$2
shift; shift
;;
-m) mode=$2
shift; shift
;;
-c) program=cp
shift
;;
-s) strip="strip"
shift
;;
-*) echo $0: Unknown option $1
exit 1
;;
*) break
;;
esac
done
# Check source file
if [ -z "$1" ]
then
echo "Source file required" >&2
exit 1
elif [ -f $1 -o $1 = /dev/null ]
then
src=$1
else
echo "Source file must be a regular file or /dev/null" >&2
exit 1
fi
# Check destination
if [ -z "$2" ]
then
echo "Destination required" >&2
exit 1
elif [ -d $2 ]
then
dst=$2/$src
else
dst=$2
fi
# Do install operation
$program $src $dst
if [ $? != 0 ]
then
exit 1
fi
# Strip if requested
if [ ! -z "$strip" ]
then
$strip $dst
fi
# Change owner if requested
if [ ! -z "$owner" ]
then
$chown $owner $dst
if [ $? != 0 ]
then
exit 1
fi
fi
# Change group if requested
if [ ! -z "$group" ]
then
chgrp $group $dst
if [ $? != 0 ]
then
exit 1
fi
fi
# Change mode if requested
if [ ! -z "$mode" ]
then
chmod $mode $dst
if [ $? != 0 ]
then
exit 1
fi
fi
exit 0

6
contrib/sendmail/FAQ Normal file
View File

@ -0,0 +1,6 @@
The FAQ is no longer maintained with the sendmail release. It is
available at http://www.sendmail.org/faq/ .
A plain-text version of the questions only, with URLs referring to
the answers, is posted to comp.mail.sendmail on the 10th and 25th
of each month.

View File

@ -1,7 +1,7 @@
K N O W N B U G S I N S E N D M A I L
(for 8.8.6)
(for 8.9.0)
The following are bugs or deficiencies in sendmail that I am aware of
@ -37,7 +37,7 @@ This list is not guaranteed to be complete.
* If you EXPN a list or user that has a program mailer, the output of
EXPN will include ``@local.host.name''. You can't actually mail to
this address. It's not clear what the right behaviour is in this
this address. It's not clear what the right behavior is in this
circumstance.
* \231 considered harmful.
@ -48,7 +48,7 @@ This list is not guaranteed to be complete.
* accept() problem on SVR4.
Apparently, the sendmail daemon loop (doing accept()s on the network)
can get into a wierd state on SVR4; it starts logging ``SYSERR:
can get into a weird state on SVR4; it starts logging ``SYSERR:
getrequests: accept: Protocol Error''. The workaround is to kill
and restart the sendmail daemon. We don't have an SVR4 system at
Berkeley that carries more than token mail load, so I can't validate
@ -73,7 +73,11 @@ This list is not guaranteed to be complete.
getrequests: accept: Connection timed out
"Connection timed out" is not documented as a valid return from
accept(2) and this is believed to be a bug in the Linux kernel.
accept(2) and this was believed to be a bug in the Linux kernel.
Later information from the Linux kernel group states that Linux
2.0 kernels follow RFC1122 while sendmail follows the original BSD
(now POSIX 1003.1g draft) specification. The 2.1.X and later kernels
will follow the POSIX draft.
* Excessive mailing list nesting can run out of file descriptors.
@ -103,5 +107,41 @@ This list is not guaranteed to be complete.
account for the SMTP on-the-wire \r\n expansion. It probably doesn't
allow for 8->7 bit MIME conversions either.
* Paths to programs being executed and the mode of program files are
not checked. Essentially, the RunProgramInUnsafeDirPath and
RunWritableProgram bits in the DontBlameSendmail option are always
set. This is not a problem if your system is well managed (that is,
if binaries and system directories are mode 755 instead of something
foolish like 777).
(Version 8.25, last updated 6/13/97)
* 8-bit data in GECOS field
If the GECOS (personal name) information in the passwd file contains
8-bit characters, those characters can be included in the message
header, which can cause problems when sending SMTP to hosts that
only accept 7-bit characters.
* 8->7 bit MIME conversion
When sendmail is doing 8->7 bit MIME conversions, and the message
contains certain MIME body types that cannot be converted to 7-bit,
sendmail will strip the message to 7-bit.
* 7->8 bit MIME conversion
If a message that is encoded as 7-bit MIME is converted to 8-bit and
that message when decoded is illegal (e.g., because of long lines or
illegal characters), sendmail can produce an illegal message.
* MIME encoded full name phrases in the From: header
If a full name phrase includes characters from MustQuoteChars, sendmail
will quote the entire full name phrase. If MustQuoteChars includes
characters which are not special characters according to STD 11 (RFC
822), this quotation can interfere with MIME encoded full name phrases.
By default, sendmail includes the single quote character (') in
MustQuoteChars even though it is not listed as a special character in
STD 11.
(Version 8.32, last updated 6/30/98)

89
contrib/sendmail/LICENSE Normal file
View File

@ -0,0 +1,89 @@
SENDMAIL LICENSE
The following license terms and conditions apply, unless a different
license is obtained from Sendmail, Inc., 1401 Park Avenue, Emeryville, CA
94608, or by electronic mail at license@sendmail.com.
License Terms:
Use, Modification and Redistribution (including distribution of any
modified or derived work) in source and binary forms is permitted only if
each of the following conditions is met:
1. Redistributions qualify as "freeware" or "Open Source Software" under
one of the following terms:
(a) Redistributions are made at no charge beyond the reasonable cost of
materials and delivery.
(b) Redistributions are accompanied by a copy of the Source Code or by an
irrevocable offer to provide a copy of the Source Code for up to three
years at the cost of materials and delivery. Such redistributions
must allow further use, modification, and redistribution of the Source
Code under substantially the same terms as this license. For the
purposes of redistribution "Source Code" means the complete source
code of sendmail including all modifications.
Other forms of redistribution are allowed only under a separate royalty-
free agreement permitting such redistribution subject to standard
commercial terms and conditions. A copy of such agreement may be
obtained from Sendmail, Inc. at the above address.
2. Redistributions of source code must retain the copyright notices as they
appear in each source code file, these license terms, and the
disclaimer/limitation of liability set forth as paragraph 6 below.
3. Redistributions in binary form must reproduce the Copyright Notice,
these license terms, and the disclaimer/limitation of liability set
forth as paragraph 6 below, in the documentation and/or other materials
provided with the distribution. For the purposes of binary distribution
the "Copyright Notice" refers to the following language:
"Copyright (c) 1998 Sendmail, Inc. All rights reserved."
4. Neither the name of Sendmail, Inc. nor the University of California nor
the names of their contributors may be used to endorse or promote
products derived from this software without specific prior written
permission. The name "sendmail" is a trademark of Sendmail, Inc.
5. All redistributions must comply with the conditions imposed by the
University of California on certain embedded code, whose copyright
notice and conditions for redistribution are as follows:
(a) Copyright (c) 1988, 1993 The Regents of the University of
California. All rights reserved.
(b) Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
(i) Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
(ii) Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
(iii) All advertising materials mentioning features or use of this
software must display the following acknowledgement: "This
product includes software developed by the University of
California, Berkeley and its contributors."
(iv) Neither the name of the University nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY
SENDMAIL, INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF
CALIFORNIA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(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)

26
contrib/sendmail/Makefile Normal file
View File

@ -0,0 +1,26 @@
# @(#)Makefile.dist 8.2 (Berkeley) 2/17/98
SHELL= /bin/sh
SUBDIRS= src mail.local mailstats makemap praliases rmail smrsh
BUILD= ./Build
OPTIONS= $(CONFIG) $(FLAGS)
all clean install:: FRC
@for x in $(SUBDIRS); \
do \
(cd $$x; echo Making $@ in:; pwd; \
$(SHELL) $(BUILD) $(OPTIONS) $@); \
done
fresh:: FRC
@for x in $(SUBDIRS); \
do \
(cd $$x; echo Making $@ in:; pwd; \
$(SHELL) $(BUILD) $(OPTIONS) -c); \
done
$(SUBDIRS):: FRC
@cd $@; pwd; \
$(SHELL) $(BUILD) $(OPTIONS)
FRC:

View File

@ -1,11 +1,11 @@
/*-
* @(#)READ_ME 8.32 (Berkeley) 7/6/97
* @(#)README 8.48 (Berkeley) 5/19/98
*/
SENDMAIL RELEASE 8
This directory has the latest sendmail software from Berkeley. See
doc/changes/changes.me for a summary of changes since 5.67.
This directory has the latest sendmail(TM) software from Sendmail, Inc.
See doc/changes/changes.me for a summary of changes since 5.67.
Report any bugs to sendmail-bugs@sendmail.ORG
@ -14,12 +14,82 @@ the latest updates.
******************************************************************
** DO NOT USE MAKE to compile sendmail. Instead, cd src and **
** use the "makesendmail" shell script. On many environments **
** this will do everything for you, no fuss, no muss. See **
** src/READ_ME for more details of compilation. See cf/README **
** 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.
+-----------------------+
| DIRECTORY PERMISSIONS |
+-----------------------+
Sendmail often gets blamed for many problems that are actually the
result of other problems, such as overly permissive modes on directories.
For this reason, sendmail checks the modes on system directories and
files to determine if can have been trusted. For sendmail to run
without complaining, you MUST execute the following command:
chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
You will probably have to tweak this for your environment (for example,
some systems put the spool directory into /usr/spool instead of
/var/spool and use /etc/mail for aliases file instead of /etc). If you
set the RunAsUser option in your sendmail.cf, the /var/spool/mqueue
directory will have to be owned by the RunAsUser user. As a general rule,
after you have compiled sendmail, run the command
sendmail -v -bi
to initialize the alias database. If it gives messages such as
WARNING: writable directory /etc
WARNING: writable directory /usr/spool/mqueue
then the directories listed have inappropriate write permissions and
should be secured to avoid various possible security attacks.
Beginning with sendmail 8.9, these checks have become more strict to
prevent users from being able to access files they would normally not
be able to read. In particular, .forward and :include: files in unsafe
directory paths (directory paths which are group or world writable) will
no longer be allowed. This would mean that if user joe's home directory
was writable by group staff, sendmail would not use his .forward file.
This behavior can be altered, at the expense of system security, by
setting the DontBlameSendmail option. For example, to allow .forward
files in group writable directories:
O DontBlameSendmail=forwardfileingroupwritabledirpath
Or to allow them in both group and world writable directories:
O DontBlameSendmail=forwardfileinunsafedirpath
Items from these unsafe .forward and :include: files will be marked
as unsafe addresses -- the items can not be deliveries to files or
programs. This behavior can also be altered via DontBlameSendmail:
O DontBlameSendmail=forwardfileinunsafedirpath,
forwardfileinunsafedirpathsafe
The first flag allows the .forward file to be read, the second allows
the items in the file to be marked as safe for file and program
delivery.
Other files affected by this strengthened security include class
files (i.e. Fw /etc/sendmail.cw), persistent host status files, and
the files specified by the ErrorHeader and HelpFile options. Similar
DontBlameSendmail flags are available for the class, ErrorHeader, and
HelpFile files.
If you have an unsafe configuration of .forward and :include:
files, you can make it safe by finding all such files, and doing
a "chmod go-w $FILE" on each. Also, do a "chmod go-w $DIR" for
each directory in the file's path.
+--------------+
| MANUAL PAGES |
@ -28,7 +98,6 @@ the latest updates.
The sendmail manual pages use contemporary Berkeley troff macros. If
your system does not process these manual pages, you can pick up the
new macros in a BSD Net/2 FTP site (e.g. on FTP.UU.NET, the files
/systems/unix/bsd-sources/share/tmac/me/strip.sed and
/systems/unix/bsd-sources/share/tmac/*).
The strip.sed file is only used in installation.
@ -74,7 +143,7 @@ macro set that is compatible with these macros.
There are other files you should read. Rooted in this directory are:
CHANGES-R5-R8
doc/changes/changes.ps
Describes changes between Release 5 and Release 8 of sendmail.
There are some things that may behave somewhat differently.
For example, the rules governing when :include: files will
@ -83,12 +152,12 @@ There are other files you should read. Rooted in this directory are:
Answers to Frequently Asked Questions.
KNOWNBUGS
Known bugs in the current release. I try to keep this up
to date -- get the latest version from FTP.CS.Berkeley.EDU
to date -- get the latest version from FTP.Sendmail.ORG
in /ucb/sendmail/KNOWNBUGS.
RELEASE_NOTES
A detailed description of the changes in each version. This
is quite long, but informative.
src/READ_ME
src/README
Details on compiling and installing sendmail.
cf/README
Details on configuring sendmail.
@ -110,10 +179,23 @@ There are other files you should read. Rooted in this directory are:
+--------------+
There are several related RFCs that you may wish to read -- they are
available via anonymous FTP to several sites, including nic.ddn.mil
(directory rfc), ftp.nisc.sri.com (rfc), nis.nsf.net (RFC),
nisc.jvnc.net (rfc), venera.isi.edu (in-notes), and wuarchive.wustl.edu
(info/rfc). They can also be retrieved via electronic mail by sending
available via anonymous FTP to several sites, including:
ftp://nic.ddn.mil/rfc/
ftp://nis.nsf.net/documents/rfc/
ftp://nisc.jvnc.net/rfc/
ftp://venera.isi.edu/in-notes/
ftp://wuarchive.wustl.edu/doc/rfc/
For a list of the primary repositories see:
http://www.isi.edu/in-notes/rfc-retrieval.txt
They are also online at:
http://www.ietf.org/
They can also be retrieved via electronic mail by sending
email to one of:
mail-server@nisc.sri.com
@ -123,6 +205,10 @@ email to one of:
sendrfc@jvnc.net
Put "RFCnnn" as Subject: line
For further instructions see:
http://www.isi.edu/in-notes/rfc-editor/rfc-info
Important RFCs for electronic mail are:
RFC821 SMTP protocol
@ -134,7 +220,8 @@ Important RFCs for electronic mail are:
RFC1869 SMTP Service Extensions (ESMTP spec)
RFC1652 SMTP Service Extension for 8bit-MIMEtransport
RFC1870 SMTP Service Extension for Message Size Declaration
RFC1521 MIME: Multipurpose Internet Mail Extensions
RFC2045 Multipurpose Internet Mail Extensions (MIME) Part One:
Format of Internet Message Bodies
RFC1344 Implications of MIME for Internet Mail Gateways
RFC1428 Transition of Internet Mail from Just-Send-8 to
8-bit SMTP/MIME
@ -165,15 +252,41 @@ IF YOU WANT TO RUN THE NEW BERKELEY DB SOFTWARE: **** DO NOT ****
use the version that was on the Net2 tape -- it has a number of
nefarious bugs that were bad enough when I got them; you shouldn't have
to go through the same thing. Instead, get a new version via the web at
http://www.sleepycat.com/packages/db.1.85.tar.gz. This software is
highly recommended; it gets rid of several stupid limits, it's much
faster, and the interface is nicer to animals and plants. You will
also probably find that you have to add -I/where/you/put/db/include
to the sendmail makefile to get db.h to work properly.
http://www.sleepycat.com/. This software is highly recommended; it gets
rid of several stupid limits, it's much faster, and the interface is
nicer to animals and plants. If the Berkeley DB include files
are installed in a location other than those which your compiler searches,
you will need to provide that directory when building:
Be sure you remove ndbm.h and ndbm.o from the db distribution. These
will cause problems with sendmail because sendmail already understands
about NEWDB and NDBM coexisting.
Build -I/path/to/include/directory
If you are using Berkeley DB versions 1.85 or 1.86, you are *strongly*
urged to upgrade to DB version 2, available from http://www.sleepycat.com/.
Berkeley DB versions 1.85 and 1.86 are known to be broken in various nasty
ways (see http://www.sleepycat.com/db.185.html), and can cause sendmail
to dump core. In addition, the newest versions of gcc and the Solaris
compilers perform optimizations in those versions that may cause fairly
random core dumps.
If you have no choice but to use Berkeley DB 1.85 or 1.86, and you are
using both Berkeley DB and files in the UNIX ndbm format, remove ndbm.h
and ndbm.o from the DB library after building it. You should also apply
all of the patches for DB 1.85 and 1.86 found at the Sleepycat web site
(see http://www.sleepycat.com/db.185.html), as they fix some of the known
problems.
If you are using a version of Berkeley DB 2 previous to 2.3.15, and you
are using both Berkeley DB and files in the UNIX ndbm format, remove dbm.o
from the DB library after building it. No other changes are necessary.
If you are using Berkeley DB version 2.3.15 or greater, no changes are
necessary.
The underlying database file formats changed between Berkeley DB versions
1.85 and 1.86, and again between DB 1.86 and version 2.0. If you are
upgrading from one of those versions, you must recreate your database
file(s). Do this by rebuilding all maps with makemap and rebuilding the
alias file with newaliases.
+--------------------+
@ -228,71 +341,18 @@ one of those sites. Versions are available for several different
systems, including Apollo, BSD, NeXT, AIX, TOPS20, and VMS.
+-----------+
| MAKEFILES |
+-----------+
The Makefiles in this release use the new Berkeley "make" that is
available in BSD Net/2 and 4.4BSD. If you are using this version
of make, you may notice one or two places where the Makefile includes
"../../Makefile.inc". This file is not included with the sendmail
distribution because it's not part of sendmail. However, it is,
in toto:
# @(#)Makefile.inc 8.1 (Berkeley) 6/6/93
BINDIR?= /usr/sbin
The other directories should all have Makefile.dist files that work
on the old make, albeit without all the niceties included.
You can also get a new Berkeley make from the Net2 release (available
on many public FTP archives). This version should also interpret old
Makefiles, so you could drop it in as your default make.
For more details, see src/READ_ME.
+-----------------------+
| DIRECTORY PERMISSIONS |
+-----------------------+
Sendmail often gets blamed for many problems that are actually the
result of other problems, such as overly permissive modes on directories.
For this reason, sendmail checks the modes on system directories and
files to determine if they have been trusted. For sendmail to run
without complaining, you MUST execute the following command:
chmod go-w / /etc /usr /var /var/spool /var/spool/mqueue
You will probably have to tweak this for your environment (for example,
some systems put the spool directory into /usr/spool instead of
/var/spool). As a general rule, after you have compiled sendmail,
run the command
sendmail -v -bi
to initialize the alias database. If it gives messages such as
WARNING: writable directory /etc
WARNING: writable directory /usr/spool/mqueue
then the directories listed have inappropriate write permissions and
should be secured to avoid various possible security attacks.
+---------------------+
| DIRECTORY STRUCTURE |
+---------------------+
The structure of this directory tree is:
cf Source for Berkeley configuration files. These are
cf Source for sendmail configuration files. These are
different than what you've seen before. They are a
fairly dramatic rewrite, requiring the new sendmail
(since they use new features).
contrib Some contributed tools to help with sendmail. THESE
ARE NOT SUPPORTED by Berkeley -- contact the original
ARE NOT SUPPORTED by sendmail -- contact the original
authors if you have problems. (This directory is not
on the 4.4BSD tape.)
doc Documentation. If you are getting source, read
@ -303,7 +363,7 @@ mail.local The source for the local delivery agent used for 4.4BSD.
it does mailbox locking differently than other systems.
mailstats Statistics printing program. It has the pathname of
sendmail.st compiled in, so if you've changed that,
beware. This isn't all that useful.
beware.
makemap A program that creates the keyed maps used by the $( ... $)
construct in sendmail. It is primitive but effective.
It takes a very simple input format, so you will probably

View File

@ -1,11 +1,616 @@
SENDMAIL RELEASE NOTES
@(#)RELEASE_NOTES 8.8.8.4 (Berkeley) 10/24/97
@(#)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
instead of both. Problem noted by Geir Johannessen of
the Norwegian University of Science and Technology.
Fix segmentation fault while converting 8 bit to 7 bit MIME
multipart messages by trying to write to an unopened
file descriptor. Fix from Kari Hurtta of the Finnish
Meteorological Institute.
Do not assume Message: and Text: headers indicate the end of
the header area when parsing MIME headers. Problem noted
by Kari Hurtta of the Finnish Meteorological Institute.
Setting the confMAN#SRC Build variable would only effect the
installation commands. The man pages would still be
built with .0 extensions. Problem noted by Bryan
Costales of InfoBeat, Inc.
Installation of manual pages didn't honor the DESTDIR environment
variable. Problem noted by Bryan Costales of InfoBeat, Inc.
If the check_relay ruleset resolved to the discard mailer, messages
were still delivered. Problem noted by Mirek Luc of NASK.
Mail delivery to files would fail with an Operating System Error
if sendmail was not running as root, i.e. RunAsUser was set.
Problem noted by Leonard N. Zubkoff of Dandelion Digital.
Prevent MinQueueAge from interfering from queued items created
in the future, i.e. if the system clock was set ahead
and then back. Problem noted by Michael Miller of the
University of Natal, Pietermaritzburg.
Do not advertise ETRN support in ESTMP EHLO reply if noetrn is
set in the PrivacyFlags option. Fix from Ted Rule of
Flextech TV.
Log invalid persistent host status file lines instead of
bouncing the message. Problem noted by David Lindes of
DaveLtd Enterprises.
Move creation of empty sendmail.st file from installation to
compilation. Installation may be done from a read-only
mount. Fix from Bryan Costales of InfoBeat, Inc. and Ric
Anderson of the Oasis Research Center, Inc.
Enforce the maximum number of User Database entries limit. Problem
noted by Gary Buchanan of Credence Systems Inc.
Allow dead.letter files in root's home directory. Problem noted
by Anna Ullman of Sun Microsystems.
Program deliveries in forward files could be marked unsafe if
any directory listed in the ForwardPath option did not
exist. Problem noted by Jorg Bielak of Coastal Web Online.
Do not trust the length of the address structure returned by
gethostbyname(). Problem noted by Chris Evans of Oxford
University.
If the SIZE= MAIL From: ESMTP parameter is too large, use the
5.3.4 DSN status code instead of 5.2.2. Similarly, for
non-local deliveries, if the message is larger than the
mailer maximum message size, use 5.3.4 instead of 5.2.3.
Suggested by Antony Bowesman of
Fujitsu/TeaWARE Mail/MIME System.
Portability:
Fix the check for an IP address reverse lookup for
use in $&{client_name} on 64 bit platforms.
From Gilles Gallot of Institut for Development
and Resources in Intensive Scientific computing.
BSD-OS uses .0 for man page extensions. From Jeff Polk
of BSDI.
DomainOS detection for Build. Also, version 10.4 and later
ship a unistd.h. Fixes from Takanobu Ishimura of
PICT Inc.
NeXT 4.x uses /usr/lib/man/cat for its man pages. From
J. P. McCann of E I A.
SCO 4.X and 5.X include NDBM support. From Vlado Potisk
of TEMPEST, Ltd.
CONFIG: Do not pass spoofed PTR results through resolver for
qualification. Problem noted by Michiel Boland of
Digital Valley Internet Professionals; fix from
Kari Hurtta of the Finnish Meteorological Institute.
CONFIG: Do not try to resolve non-DNS hostnames such as UUCP,
BITNET, and DECNET addresses for resolvable senders.
Problem noted by Alexander Litvin of Lucky Net Ltd.
CONFIG: Work around Sun's broken configuration which sends bounce
messages as coming from @@hostname instead of <>. LMTP
would not accept @@hostname.
OP.ME: Corrections to complex sendmail startup script from Rick
Troxel of the National Institutes of Health.
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.
8.9.0/8.9.0 98/05/19
SECURITY: To prevent users from reading files not normally
readable, sendmail will no longer open forward, :include:,
class, ErrorHeader, or HelpFile files located in unsafe
(i.e. group or world writable) directory paths. Sites
which need the ability to override security can use the
DontBlameSendmail option. See the README file for more
information.
SECURITY: Problems can occur on poorly managed systems, specifically,
if maps or alias files are in world writable directories.
This fixes the change added to 8.8.6 to prevent links in these
world writable directories.
SECURITY: Make sure ServiceSwitchFile option file is not a link if
it is in a world writable directory.
SECURITY: Never pass a tty to a mailer -- if a mailer can get at the
tty it may be able to push bytes back to the senders input.
Unfortunately this breaks -v mode. Problem noted by
Wietse Venema of the Global Security Analysis Lab at
IBM T.J. Watson Research.
SECURITY: Empty group list if DontInitGroups is set to true to
prevent program deliveries from picking up extra group
privileges. Problem reported by Wolfgang Ley of DFN-CERT.
SECURITY: The default value for DefaultUser is now set to the uid and
gid of the first existing user mailnull, sendmail, or daemon
that has a non-zero uid. If none of these exist, sendmail
reverts back to the old behavior of using uid 1 and gid 1.
This is a security problem for Linux which has chosen that
uid and gid for user bin instead of daemon. If DefaultUser
is set in the configuration file, that value overrides this
default.
SECURITY: Since 8.8.7, the check for non-setuid binaries
interfered with setting an alternate group id for the
RunAsUser option. Problem noted by Randall Winchester of
the University of Maryland.
Add support for Berkeley DB 2.X. Based on patch from John Kennedy
of Cal State University, Chico.
Remove support for OLD_NEWDB (pre-1.5 version of Berkeley DB). Users
which previously defined OLD_NEWDB=1 must now upgrade to the
current version of Berkeley DB.
Added support for regular expressions using the new map class regex.
From Jan Krueger of Unix-AG of University of Hannover.
Support for BIND 8.1.1's hesiod for hesiod maps and hesiod
UserDatabases from Randall Winchester of the University
of Maryland.
Allow any shell for user shell on program deliveries on V1
configurations for backwards compatibility on machines which
do not have getusershell(). Fix from John Beck of Sun
Microsystems.
On operating systems which change the process title by reusing the
argument vector memory, sendmail could corrupt memory if the
last argument was either "-q" or "-d". Problem noted by
Frank Langbein of the University of Stuttgart.
Support Local Mail Transfer Protocol (LMTP) between sendmail and
mail.local on the F=z flag.
Macro-expand the contents of the ErrMsgFile. Previously this was
only done if you had magic characters (0x81) to indicate
macro expansion. Now $x will be expanded. This means that
real dollar signs have to be backslash escaped.
TCP Wrappers expects "unknown" in the hostname argument if the
reverse DNS lookup for the incoming connection fails.
Problem noted by Randy Grimshaw of Syracuse University and
Wietse Venema of the Global Security Analysis Lab at
IBM T.J. Watson Research.
DSN success bounces generated from an invocation of sendmail -t
would be sent to both the sender and MAILER-DAEMON.
Problem noted by Claus Assmann of
Christian-Albrechts-University of Kiel.
Avoid "Error 0" messages on delivery mailers which exit with a
valid exit value such as EX_NOPERM. Fix from Andreas Luik
of ISA Informationssysteme GmbH.
Tokenize $&x expansions on right hand side of rules. This eliminates
the need to use tricks like $(dequote "" $&{client_name} $)
to cause the ${client_name} macro to be properly tokenized.
Add the MaxRecipientsPerMessage option: this limits the number of
recipients that will be accepted in a single SMTP
transaction. After this number is reached, sendmail
starts returning "452 Too many recipients" to all RCPT
commands. This can be used to limit the number of recipients
per envelope (in particular, to discourage use of the server
for spamming). Note: a better approach is to restrict
relaying entirely.
Fixed pointer initialization for LDAP lmap struct, fixed -s option
to ldapx map and added timeout for ldap_open call to
avoid hanging sendmail in the event of hung LDAP servers.
Patch from Booker Bense of Stanford University.
Allow multiple -qI, -qR, or -qS queue run limiters. For example,
'-qRfoo -qRbar' would deliver mail to recipients with foo or
bar in their address. Patch from Allan E Johannesen of
Worcester Polytechnic Institute.
The bestmx map will now return a list of the MX servers for a host if
passed a column delimiter via the -z map flag. This can be
used to check if the server is an MX server for the recipient
of a message. This can be used to help prevent relaying.
Patch from Mitchell Blank Jr of Exec-PC.
Mark failures for the *file* mailer and return bounce messages to the
sender for those failures.
Prevent bogus syslog timestamps on errors in sendmail.cf by
preserving the TZ environment variable until TimeZoneSpec
has been determined. Problem noted by Ralf Hildebrandt of
Technical University of Braunschweig. Patch from Per Hedeland
of Ericsson.
Print test input in address test mode when input is not from the tty
when the -v flag is given (i.e. sendmail -bt -v) to make
output easier to decipher. Problem noted by Aidan Nichol
of Procter & Gamble.
The LDAP map -s flag was not properly parsed and the error message
given included the remainder of the arguments instead of
solely the argument in error. Problem noted by Aidan Nichol
of Procter & Gamble.
New DontBlameSendmail option. This option allows administrators to
bypass some of sendmail's file security checks at the expense
of system security. This should only be used if you are
absolutely sure you know the consequences. The available
DontBlameSendmail options are:
Safe
AssumeSafeChown
ClassFileInUnsafeDirPath
ErrorHeaderInUnsafeDirPath
GroupWritableDirPathSafe
GroupWritableForwardFileSafe
GroupWritableIncludeFileSafe
GroupWritableAliasFile
HelpFileinUnsafeDirPath
WorldWritableAliasFile
ForwardFileInGroupWritableDirPath
IncludeFileInGroupWritableDirPath
ForwardFileInUnsafeDirPath
IncludeFileInUnsafeDirPath
ForwardFileInUnsafeDirPathSafe
IncludeFileInUnsafeDirPathSafe
MapInUnsafeDirPath
LinkedAliasFileInWritableDir
LinkedClassFileInWritableDir
LinkedForwardFileInWritableDir
LinkedIncludeFileInWritableDir
LinkedMapInWritableDir
LinkedServiceSwitchFileInWritableDir
FileDeliveryToHardLink
FileDeliveryToSymLink
WriteMapToHardLink
WriteMapToSymLink
WriteStatsToHardLink
WriteStatsToSymLink
RunProgramInUnsafeDirPath
RunWritableProgram
New DontProbeInterfaces option to turn off the inclusion of all the
interface names in $=w on startup. In particular, if you
have lots of virtual interfaces, this option will speed up
startup. However, unless you make other arrangements, mail
sent to those addresses will be bounced.
Automatically create alias databases if they don't exist and
AutoRebuildAliases is set.
Add PrivacyOptions=noetrn flag to disable the SMTP ETRN command.
Suggested by Christophe Wolfhugel of the Institut Pasteur.
Add PrivacyOptions=noverb flag to disable the SMTP VERB command.
When determining the client host name ($&{client_name} macro), do
a forward (A) DNS lookup on the result of the PTR lookup
and compare results. If they differ or if the PTR lookup
fails, &{client_name} will contain the IP address
surrounded by square brackets (e.g. [127.0.0.1]).
New map flag: -Tx appends "x" to lookups that return temporary failure
(i.e, it is like -ax for the temporary failure case, in
contrast to the success case).
New syntax to do limited checking of header syntax. A config line
of the form:
HHeader: $>Ruleset
causes the indicated Ruleset to be invoked on the Header
when read. This ruleset works like the check_* rulesets --
that is, it can reject mail on the basis of the contents.
Limit the size of the HELO/EHLO parameter to prevent spammers
from hiding their connection information in Received:
headers.
When SingleThreadDelivery is active, deliveries to locked hosts
are skipped. This will cause the delivering process to
try the next MX host or queue the message if no other MX
hosts are available. Suggested by Alexander Litvin.
The [FILE] mailer type now delivers to the file specified in the
A= equate of the mailer definition instead of $u. It also
obeys all of the F= mailer flags such as the MIME
7/8 bit conversion flags. This is useful for defining
a mailer which delivers to the same file regardless of the
recipient (e.g. 'A=FILE /dev/null' to discard unwanted mail).
Do not assume the identity of a remote connection is root@localhost
if the remote connection closes the socket before the
remote identity can be queried.
Change semantics of the F=S mailer flag back to 8.7.5 behavior.
Some mailers, including procmail, require that the real
uid is left unchanged by sendmail. Problem noted by Per
Hedeland of Ericsson.
No longer is the src/obj*/Makefile selected from a large list -- it
is now generated using the information in BuildTools/OS/ --
some of the details are determined dynamically via
BuildTools/bin/configure.sh.
The other programs in the sendmail distribution -- mail.local,
mailstats, makemap, praliases, rmail, and smrsh -- now use
the new Build method which creates an operating system
specific Makefile using the information in BuildTools.
Make 4xx reply codes to the SMTP MAIL command be non-sticky (i.e.,
a failure on one message won't affect future messages to the
same host). This is necessary if the remote host sends
a 451 error if the domain of the sender does not resolve
as is common in anti-spam configurations. Problem noted
by Mitchell Blank Jr of Exec-PC.
New "discard" mailer for check_* rulesets and header checking
rulesets. If one of the above rulesets resolves to the
$#discard mailer, the commands will be accepted but the
message will be completely discarded after it is accepting.
This means that even if only one of the recipients
resolves to the $#discard mailer, none of the recipients
will receive the mail. Suggested by Brian Kantor.
All but the last cloned envelope of a split envelope were queued
instead of being delivered. Problem noted by John Caruso
of CNET: The Computer Network.
Fix deadlock situation in persistent host status file locking.
Syslog an error if a user forward file could not be read due to
an error. Patch from John Beck of Sun Microsystems.
Use the first name returned on machine lookups when canonifying a
hostname via NetInfo. Patch from Timm Wetzel of GWDG.
Clear the $&{client_addr}, $&{client_name}, and $&{client_port}
macros when delivering a bounce message to prevent
rejection by a check_compat ruleset which uses these macros.
Problem noted by Jens Hamisch of AgiX Internetservices GmbH.
If the check_relay ruleset resolves to the the error mailer, the
error in the $: portion of the resolved triplet is used
in the rejection message given to the remote machine.
Suggested by Scott Gifford of The Internet Ramp.
Set the $&{client_addr}, $&{client_name}, and $&{client_port} macros
before calling the check_relay ruleset. Suggested by Scott
Gifford of The Internet Ramp.
Sendmail would get a segmentation fault if a mailer exited with an
exit code of 79. Problem noted by Aaron Schrab of ExecPC
Internet. Fix from Christophe Wolfhugel of the Pasteur
Institute.
Separate snprintf/vsnprintf routines into separate file for use by
mail.local.
Allow multiple map lookups on right hand side, e.g.,
R$* $( host $1 $) $| $( passwd $1 $). Patch from
Christophe Wolfhugel of the Pasteur Institute.
Properly generate success DSN messages if requested for aliases
which have owner- aliases. Problem noted by Kari Hurtta
of the Finnish Meteorological Institute.
Properly display delayed-expansion macros ($&{macroname}) in
address test mode (-bt). Problem noted by Bryan Costales
of InfoBeat, Inc.
-qR could sometimes match names incorrectly. Problem noted by
Lutz Euler of Lavielle EDV Systemberatung GmbH & Co.
Include a magic number and version in the StatusFile for the
mailstats command.
Record the number of rejected and discarded messages in the
StatusFile for display by the mailstats command. Patch
from Randall Winchester of the University of Maryland.
IDENT returns where the OSTYPE field equals "OTHER" now list the
user portion as IDENT:username@site instead of
username@site to differentiate the two. Suggested by
Kari Hurtta of the Finnish Meteorological Institute.
Enforce timeout for LDAP queries. Patch from Per Hedeland of
Ericsson.
Change persistent host status filename substitution so '/' is
replaced by ':' instead of '|' to avoid clashes. Also
avoid clashes with hostnames with leading dots. Fix from
Mitchell Blank Jr. of Exec-PC.
If the system lock table is full, only attempt to create a new
queue entry five times before giving up. Previously, it
was attempted indefinitely which could cause the partition
to run out of inodes. Problem noted by Suzie Weigand of
Stratus Computer, Inc.
In verbose mode, warn if the sendmail.cf version is less than the
currently supported version.
Sorting for QueueSortOrder=host is now case insensitive. Patch
from Randall S. Winchester of the University of Maryland.
Properly quote a full name passed via the -F command line option,
the Full-Name: header, or the NAME environment variable if
it contains characters which must be quoted. Problem noted
by Kari Hurtta of the Finnish Meteorological Institute.
Avoid possible race condition that unlocked a mail job before
releasing the transcript file on systems that use flock(2).
In some cases, this might result in a "Transcript Unavailable"
message in error bounces.
Accept SMTP replies which contain only a reply code and no
accompanying text. Problem noted by Fernando Fraticelli of
Digital Equipment Corporation.
Portability:
AIX 4.1 uses int for SOCKADDR_LEN_T from Motonori Nakamura
of Kyoto University.
AIX 4.2 requires <userpw.h> before <usersec.h>. Patch from
Randall S. Winchester of the University of
Maryland.
AIX 4.3 from Valdis Kletnieks of Virginia Tech CNS.
CRAY T3E from Manu Mahonen of Center for Scientific Computing
in Finland.
Digital UNIX now uses statvfs for determining free
disk space. Patch from Randall S. Winchester of
the University of Maryland.
HP-UX 11.x from Richard Allen of Opin Kerfi HF and
Regis McEwen of Progress Software Corporation.
IRIX 64 bit fixes from Kari Hurtta of the Finnish
Meteorological Institute.
IRIX 6.2 configuration fix for mail.local from Michael Kyle
of CIC/Advanced Computing Laboratory.
IRIX 6.5 from Thomas H Jones II of SGI.
IRIX 6.X load average code from Bob Mende of SGI.
QNX from Glen McCready <glen@qnx.com>.
SCO 4.2 and 5.x use /usr/bin instead of /usr/ucb for links
to sendmail. Install with group bin instead of kmem
as kmem does not exist. From Guillermo Freige of
Gobernacion de la Pcia de Buenos Aires and Paul
Fischer of BTG, Inc.
SunOS 4.X does not include memmove(). Patch from
Per Hedeland of Ericsson.
SunOS 5.7 includes getloadavg() function for determining
load average. Patch from John Beck of Sun
Microsystems.
CONFIG: Increment version number of config file.
CONFIG: add DATABASE_MAP_TYPE to set the default type of database
map for the various maps. The default is hash. Patch from
Robert Harker of Harker Systems.
CONFIG: new confEBINDIR m4 variable for defining the executable
directory for certain programs.
CONFIG: new FEATURE(local_lmtp) to use the new LMTP support for
local mail delivery. By the default, /usr/libexec/mail.local
is used. This is expected to be the mail.local shipped
with 8.9 which is LMTP capable. The path is based on the
new confEBINDIR m4 variable.
CONFIG: Use confEBINDIR in determining path to smrsh for
FEATURE(smrsh). Note that this changes the default from
/usr/local/etc/smrsh to /usr/libexec/smrsh. To obtain the
old path for smrsh, use FEATURE(smrsh, /usr/local/etc/smrsh).
CONFIG: DOMAIN(generic) changes the default confFORWARD_PATH to
include $z/.forward.$w+$h and $z/.forward+$h which allow
the user to setup different .forward files for
user+detail addressing.
CONFIG: add confMAX_RCPTS_PER_MESSAGE, confDONT_PROBE_INTERFACES,
and confDONT_BLAME_SENDMAIL to set MaxRecipientsPerMessage,
DontProbeInterfaces, and DontBlameSendmail options.
CONFIG: by default do not allow relaying (that is, accepting mail
from outside your domain and sending it to another host
outside your domain).
CONFIG: new FEATURE(promiscuous_relay) to allow mail relaying from
any site to any site.
CONFIG: new FEATURE(relay_entire_domain) allows any host in your
domain as defined by the 'm' class ($=m) to relay.
CONFIG: new FEATURE(relay_based_on_MX) to allow relaying based on
the MX records of the host portion of an incoming recipient.
CONFIG: new FEATURE(access_db) which turns on the access database
feature. This database give you the ability to allow
or refuse to accept mail from specified domains for
administrative reasons. By default, names that are listed
as "OK" in the access db are domain names, not host names.
CONFIG: new confCR_FILE m4 variable for defining the name of the file
used for class 'R'. Defaults to /etc/mail/relay-domains.
CONFIG: new command RELAY_DOMAIN(domain) and RELAY_DOMAIN_FILE(file)
to add items to class 'R' ($=R) for hosts allowed to relay.
CONFIG: new FEATURE(relay_hosts_only) to change the behavior
of FEATURE(access_db) and class 'R' to lookup individual
host names only.
CONFIG: new FEATURE(loose_relay_check). Normally, if a recipient
using % addressing is used, e.g. user%site@othersite,
and othersite is in class 'R', the check_rcpt ruleset
will strip @othersite and recheck user@site for relaying.
This feature changes that behavior. It should not be
needed for most installations.
CONFIG: new FEATURE(relay_local_from) to allow 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. Patch from Randall S. Winchester of
the University of Maryland.
CONFIG: new FEATURE(blacklist_recipients) turns on the ability to
block incoming mail destined for certain recipient
usernames, hostnames, or addresses.
CONFIG: By default, MAIL FROM: commands in the SMTP session will be
refused if the host part of the argument to MAIL FROM: cannot
be located in the host name service (e.g., DNS).
CONFIG: new FEATURE(accept_unresolvable_domains) accepts
unresolvable hostnames in MAIL FROM: SMTP commands.
CONFIG: new FEATURE(accept_unqualified_senders) accepts
MAIL FROM: senders which do not include a domain.
CONFIG: new FEATURE(rbl) Turns on rejection of hosts found in the
Realtime Blackhole List. You can specify the RBL name
server to contact by specifying it as an optional argument.
The default is rbl.maps.vix.com. For details, see
http://maps.vix.com/rbl/.
CONFIG: Call Local_check_relay, Local_check_mail, and
Local_check_rcpt from check_relay, check_mail, and
check_rcpt. Users with local rulesets should place the
rules using LOCAL_RULESETS. If a Local_check_* ruleset
returns $#OK, the message is accepted. If the ruleset
returns a mailer, the appropriate action is taken, else
the return of the ruleset is ignored.
CONFIG: CYRUS_MAILER_FLAGS now includes the /:| mailer flags by
default to support file, :include:, and program deliveries.
CONFIG: Remove the default for confDEF_USER_ID so the binary can
pick the proper default value. See the SECURITY note
above for more information.
CONFIG: FEATURE(nodns) now warns the user that the feature is a
no-op. Patch from Kari Hurtta of the Finnish
Meteorological Institute.
CONFIG: OSTYPE(osf1) now sets DefaultUserID (confDEF_USER_ID) to
daemon since DEC's /bin/mail will drop the envelope
sender if run as mailnull. See the Digital UNIX section
of src/README for more information. Problem noted by
Kari Hurtta of the Finnish Meteorological Institute.
CONFIG: .cf files are now stored in the same directory with the
.mc files instead of in the obj directory.
CONFIG: New options confSINGLE_LINE_FROM_HEADER,
confALLOW_BOGUS_HELO, and confMUST_QUOTE_CHARS for
setting SingleLineFromHeader, AllowBogusHELO, and
MustQuoteChars respectively.
MAIL.LOCAL: support -l flag to run LMTP on stdin/stdout. This
SMTP-like protocol allows detailed reporting of delivery
status on a per-user basis. Code donated by John Myers of
CMU (now of Netscape).
MAIL.LOCAL: HP-UX support from Randall S. Winchester of the
University of Maryland. NOTE: mail.local is not
compatible with the stock HP-UX mail format. Be sure to
read mail.local/README.
MAIL.LOCAL: Prevent other mail delivery agents from stealing a
mailbox lock. Patch from Randall S. Winchester of the
University of Maryland.
MAIL.LOCAL: glibc portability from John Kennedy of Cal State
University, Chico.
MAIL.LOCAL: IRIX portability from Kari Hurtta of the Finnish
Meteorological Institute.
MAILSTATS: Display the number of rejected and discarded messages
in the StatusFile. Patch from Randall Winchester of the
University of Maryland.
MAKEMAP: New -s flag to ignore safety checks on database map files
such as linked files in world writable directories.
MAKEMAP: Add support for Berkeley DB 2.X. Remove OLD_NEWDB support.
PRALIASES: Add support for Berkeley DB 2.X.
PRALIASES: Do not automatically include NDBM support. Problem
noted by Ralf Hildebrandt of the Technical University of
Braunschweig.
RMAIL: Improve portability for other platforms. Patches from
Randall S. Winchester of the University of Maryland and
Kari Hurtta of the Finnish Meteorological Institute.
Changed Files:
src/Makefiles/Makefile.* files have been modified to use
the new build mechanism and are now BuildTools/OS/*.
src/makesendmail changed to symbolic link to src/Build.
New Files:
BuildTools/M4/header.m4
BuildTools/M4/depend/BSD.m4
BuildTools/M4/depend/CC-M.m4
BuildTools/M4/depend/NCR.m4
BuildTools/M4/depend/Solaris.m4
BuildTools/M4/depend/X11.m4
BuildTools/M4/depend/generic.m4
BuildTools/OS/AIX.4.2
BuildTools/OS/AIX.4.x
BuildTools/OS/CRAYT3E.2.0.x
BuildTools/OS/HP-UX.11.x
BuildTools/OS/IRIX.6.5
BuildTools/OS/NEXTSTEP.4.x
BuildTools/OS/NeXT.4.x
BuildTools/OS/NetBSD.8.3
BuildTools/OS/QNX
BuildTools/OS/SunOS.5.7
BuildTools/OS/dcosx.1.x.NILE
BuildTools/README
BuildTools/Site/README
BuildTools/bin/Build
BuildTools/bin/configure.sh
BuildTools/bin/find_m4.sh
BuildTools/bin/install.sh
Makefile
cf/cf/Build
cf/cf/generic-hpux10.cf
cf/feature/accept_unqualified_senders.m4
cf/feature/accept_unresolvable_domains.m4
cf/feature/access_db.m4
cf/feature/blacklist_recipients.m4
cf/feature/loose_relay_check.m4
cf/feature/local_lmtp.m4
cf/feature/promiscuous_relay.m4
cf/feature/rbl.m4
cf/feature/relay_based_on_MX.m4
cf/feature/relay_entire_domain.m4
cf/feature/relay_hosts_only.m4
cf/feature/relay_local_from.m4
cf/ostype/qnx.m4
contrib/doublebounce.pl
mail.local/Build
mail.local/Makefile.m4
mail.local/README
mailstats/Build
mailstats/Makefile.m4
makemap/Build
makemap/Makefile.m4
praliases/Build
praliases/Makefile.m4
rmail/Build
rmail/Makefile.m4
rmail/rmail.0
smrsh/Build
smrsh/Makefile.m4
src/Build
src/Makefile.m4
src/snprintf.c
Deleted Files:
cf/cf/Makefile (replaced by Makefile.dist)
mail.local/Makefile
mail.local/Makefile.dist
mailstats/Makefile
mailstats/Makefile.dist
makemap/Makefile
makemap/Makefile.dist
praliases/Makefile
praliases/Makefile.dist
rmail/Makefile
smrsh/Makefile
smrsh/Makefile.dist
src/Makefile
src/Makefiles/Makefile.AIX.4 (split into AIX.4.x and AIX.4.2)
src/Makefiles/Makefile.SMP_DC.OSx.NILE
(renamed BuildTools/OS/dcosx.1.x.NILE)
src/Makefiles/Makefile.Utah (obsolete platform)
Renamed Files:
READ_ME => README
cf/cf/Makefile.dist => Makefile
cf/cf/obj/* => cf/cf/*
src/READ_ME => src/README
8.8.8/8.8.8 97/10/24
If the check_relay ruleset failed, the relay= field was logged
incorrectly. Problem noted by Kari Hurtta of the Finnish
@ -903,7 +1508,7 @@ summary of the changes in that release.
If the F=l flag was set on an SMTP mailer to indicate that it is
actually local delivery, and NOTIFY=SUCCESS is specified in
the envelope, and the receiving SMTP server speaks DSN, then
the DSN would be both generated locally and propogated to the
the DSN would be both generated locally and propagated to the
other end.
The U= mailer field didn't correctly extract the group id if the
user id was numeric. Problem noted by Kenneth Herron of
@ -913,7 +1518,7 @@ summary of the changes in that release.
not occur if it exceeded the maximum _output_ size. Problem
reported by Kyle Jones of UUNET.
PORTABILITY FIXES:
AIX4: 4.1 does't have a working setreuid(2); change the
AIX4: 4.1 doesn't have a working setreuid(2); change the
AIX4 defines to use seteuid(2) instead, which
works on 4.1 as well as 4.2. Problem noted by
Håkan Lindholm of interAF, Sweden.
@ -963,7 +1568,7 @@ summary of the changes in that release.
Solaris: Don't use the system getusershell(3); it can
apparently corrupt the heap in some circumstances.
Problem found by Ken Pizzini of Spry, Inc.
OP.ME: document several mailer flags that were accidently omitted
OP.ME: document several mailer flags that were accidentally omitted
from this document. These flags were F=d, F=j, F=R, and F=9.
CONFIG: no changes.
@ -1060,7 +1665,7 @@ summary of the changes in that release.
Log open file descriptors for the "cannot dup" messages in deliver();
this is an attempt to track down a bug that one person seems
to be having (it may be a Solaris bug!).
DSN NOTIFY parameters were not properly propogated across queue runs;
DSN NOTIFY parameters were not properly propagated across queue runs;
this caused the NOTIFY info to sometimes be lost. Problem
pointed out by Claus Assmann of the
Christian-Albrechts-University of Kiel.
@ -1201,7 +1806,7 @@ summary of the changes in that release.
This could cause mail to addresses such as [foo.com] to bounce
or get dropped. Problem noted by Christophe Wolfhugel of the
Pasteur Institute.
DSNs were inconsistent if a failure occured during the DATA phase
DSNs were inconsistent if a failure occurred during the DATA phase
rather than the RCPT phase: the Action: would be correct, but
the detailed status information would be wrong. Problem noted
by Bob Snyder of General Electric Company.
@ -1441,7 +2046,7 @@ summary of the changes in that release.
be set to be lower than Timeout.connect on the principle that
the mail should go through quickly to responsive hosts; less
responsive hosts get to wait for the next queue run.
Fix a problem on Solaris that occassionally causes programs
Fix a problem on Solaris that occasionally causes programs
(such as vacation) to hang with their standard input connected
to a UDP port. It also created some signal handling problems.
The problems turned out to be an interaction between vfork(2)
@ -1713,12 +2318,12 @@ summary of the changes in that release.
Completely delete the Bcc: header if and only if there are other
valid recipient headers (To:, Cc: or Apparently-To:, the
last being a historic botch, of course). If Bcc: is the
only recipient header in the message, it's value is tossed,
only recipient header in the message, its value is tossed,
but the header name is kept. The old behaviour (always keep
the header name and toss the value) allowed primary recipients
to see that a Bcc: went to _someone_.
Include queue id on ``Authentication-Warning: <host>: <user> set
sender to <addresss> using -f'' syslog messages. Suggested
sender to <address> using -f'' syslog messages. Suggested
by Kari Hurtta.
If a sequence or switch map lookup entry gets a tempfail but then
continues on to another map type, but the name is not found,
@ -1752,7 +2357,7 @@ summary of the changes in that release.
is not set, since this is required to get the actual DSNs
created. Problem pointed out by John Gardiner Myers of CMU.
Log permission problems that cause .forward and :include: files to
be untrusted or ignored on log level 12 and higher. Suggestted
be untrusted or ignored on log level 12 and higher. Suggested
by Randy Martin of Clemson University.
Allow user ids in U= clauses of M lines to have hyphens and
underscores.
@ -1779,7 +2384,7 @@ summary of the changes in that release.
Technological University.
When converting a message to Quoted-Printable, prevent any lines with
dots alone on a line by themselves. This is because of the
preponderence of broken mailers that still get this wrong.
preponderance of broken mailers that still get this wrong.
Code contributed by Per Hedeland of Ericsson.
Fix F{macro}/file construct -- it previously did nothing. Pointed
out by Bjart Kvarme of USIT/UiO (Norway).
@ -1813,7 +2418,7 @@ summary of the changes in that release.
Extensive cleanups to map open code to handle a locking race condition
in ndbm, hash, and btree format database files on some (most
non-4.4-BSD based) OS architectures. This should solve the
occassional "user unknown" problem during alias rebuilds that
occasional "user unknown" problem during alias rebuilds that
has plagued me for quite some time. Based on a patch from
Thomas Dwyer III of Michigan Technological University.
PORTABILITY FIXES:
@ -1957,7 +2562,7 @@ summary of the changes in that release.
If you have a name with a trailing dot, and you try looking it
up using gethostbyname without the dot (for /etc/hosts
compatibility), be sure to turn off RES_DEFNAMES and
RES_DNSRCH to avoid finding the wrong name accidently.
RES_DNSRCH to avoid finding the wrong name accidentally.
Problem noted by Charles Amos of the University of
Maryland.
Don't do timeouts in collect if you are not running SMTP.
@ -2224,7 +2829,7 @@ summary of the changes in that release.
contributed by Roy Mongiovi of Georgia Tech (my main
contribution was to make it configurable).
Save i-number of df file in qf file to simplify rebuilding of queue
after disasterous disk crash. Suggested by Kyle Jones of
after disastrous disk crash. Suggested by Kyle Jones of
UUNET; closely based on code from KJS DECWRL code written
by Paul Vixie. NOTA BENE: The qf files produced by 8.7
are NOT back compatible with 8.6 -- that is, you can convert
@ -2658,8 +3263,8 @@ summary of the changes in that release.
Probe the network interfaces to find alternate names for this
host. Requires the SIOCGIFCONF ioctl call. Code
contributed by SunSoft.
Add "E" configuration line to set or propogate environment
variables into children. "E<envar>" will propogate
Add "E" configuration line to set or propagate environment
variables into children. "E<envar>" will propagate
the named variable from the environment when sendmail
was invoked into any children it calls; "E<envar>=<value>"
sets the named variable to the indicated value. Any
@ -2837,12 +3442,12 @@ summary of the changes in that release.
Rochester Medical Center.
Altos System V (``the first UNIX/XENIX merge the Altos
did for their Series 1000 & Series 2000 line;
their merged code was licenced back to AT&T and
their merged code was licensed back to AT&T and
Microsoft and became System V release 3.2'') from
Tim Rice <timr@crl.com>.
OSF/1 running on Intel Paragon from Jeff A. Earickson
<jeff@ssd.intel.com> of Intel Scalable Systems
Divison.
Division.
Amdahl UTS System V 2.1.5 (SVr3-based) from Janet Jackson
<janet@dialix.oz.au>.
System V Release 4 (statvfs semantic fix) from Alain
@ -2995,7 +3600,7 @@ summary of the changes in that release.
properly deal with ``group: addr1, ... addrN;'' syntax.
CONFIG: Require OSTYPE macro (the defaults really don't apply to
any real systems any more) and tweak the DOMAIN macro
so that it is less likely that users will accidently use
so that it is less likely that users will accidentally use
the Berkeley defaults. Also, create some generic files
that really can be used in the real world.
CONFIG: Add new configuration macros to set character sets for
@ -3210,7 +3815,7 @@ summary of the changes in that release.
because it was passed as a printf-style format string.
In some cases this could cause core dumps.
Avoid possible buffer overrun in returntosender() if error
message is quite ling. From Fletcher Mattox of the
message is quite long. From Fletcher Mattox of the
University of Texas.
Fix a problem that would silently drop "too many hops" error
messages if and only if you were sending to an alias.
@ -3585,7 +4190,7 @@ summary of the changes in that release.
DOC: Clarify $@ and $: in the Install & Op Guide. From Kimmo
Suominen.
Portability fixes:
Unicos from David L. Kensiski of Sterling Sofware.
Unicos from David L. Kensiski of Sterling Software.
DomainOS from Don Lewis of Silicon Systems.
GNU m4 1.0.3 from Karst Koymans of Utrecht University.
Convex from Kimmo Suominen <kim@tac.nyc.ny.us>.
@ -3636,8 +4241,8 @@ summary of the changes in that release.
the assumption that the alias file is well controlled.
Security fix: root was not treated suspiciously enough when
looking into subdirectories. This would potentially
allow a cracker to examine files that were publically
readable but in a non-publically searchable directory.
allow a cracker to examine files that were publicly
readable but in a non-publicly searchable directory.
Fix a problem that causes an error on QUIT on a cached
connection to create problems on the current job.
These are typically unrelated, so errors occur in
@ -3992,7 +4597,7 @@ summary of the changes in that release.
Portability fixes for A/UX and Encore UMAX V.
Fix error message handling -- if you had a name server down
causing an error during parsing, that message was never
propogated to the queue file.
propagated to the queue file.
8.6/8.6 93/10/05
Configuration cleanup: make it easier to undo IDENTPROTO in
@ -4485,13 +5090,13 @@ summary of the changes in that release.
If the name server timed out over several days, no "timed out"
message would ever be sent back. The timeout code
has been moved from markfailure() to dropenvelope()
so that all such failures should be diagnosted. Pointed
so that all such failures should be diagnosed. Pointed
out by Christophe Wolfhugel and others.
Relax safefile() constraints: directories in an include or
forward path must be readable by self if the controlling
user owns the entry, readable by all otherwise (e.g.,
when reading your .forward file, you have to own and
have X permssion in it; everyone needs X permission in
have X permission in it; everyone needs X permission in
the root and directories leading up to your home);
include files must be readable by anyone, but need not
be owned by you.
@ -4525,7 +5130,7 @@ summary of the changes in that release.
log. For example, if you lost a connection, don't
bother reporting that fact on the connection you lost.
Add some "extended debugging" flags to try to track down
why we get occassional problems with file descriptor
why we get occasional problems with file descriptor
one being closed when execing a mailer; it seems to
only happen when there has been another error in the
same transaction. This requires XDEBUG, defined
@ -4644,7 +5249,7 @@ summary of the changes in that release.
the first database listed.
Rearrange doc subdirectory for 4.4BSD release tape.
CONFIG: put $r into the Received line. This was an oversight.
CONFIG: fix typo (call to ruleset 99 should have been rulset 90).
CONFIG: fix typo (call to ruleset 99 should have been ruleset 90).
CONFIG: move "auxiliary" subroutines to be in ruleset 90-99
range -- in the long run, single digit rulesets may
become reserved for builtin use by sendmail.
@ -5053,7 +5658,7 @@ summary of the changes in that release.
Eric Wassenaar.
Always respond "quickly" to RCPT command; do alias expansion and
the like later. This also means that mail for lists that
have errors will be acccepted, and an error sent back
have errors will be accepted, and an error sent back
later. This is done by instantiating the queue file
and then immediately running and requeueing it.

Some files were not shown because too many files have changed in this diff Show More