head	1.4;
branch	1.4.4;
access;
symbols;
locks
	paul:1.4.4.11; strict;
comment	@# @;


1.4
date	90.12.13.14.37.18;	author paul;	state Exp;
branches
	1.4.2.1
	1.4.3.1
	1.4.4.1;
next	;

1.4.2.1
date	90.12.13.14.38.15;	author paul;	state Exp;
branches;
next	1.4.2.2;

1.4.2.2
date	90.12.18.13.07.47;	author paul;	state Exp;
branches;
next	1.4.2.3;

1.4.2.3
date	90.12.24.07.01.09;	author paul;	state Exp;
branches;
next	1.4.2.4;

1.4.2.4
date	91.01.02.19.49.53;	author paul;	state Exp;
branches;
next	1.4.2.5;

1.4.2.5
date	91.01.26.21.11.15;	author paul;	state Exp;
branches;
next	1.4.2.6;

1.4.2.6
date	91.02.01.05.05.27;	author paul;	state Exp;
branches;
next	1.4.2.7;

1.4.2.7
date	91.02.15.20.28.21;	author paul;	state Exp;
branches;
next	1.4.2.8;

1.4.2.8
date	91.03.08.18.45.12;	author paul;	state Exp;
branches;
next	;

1.4.3.1
date	91.03.19.01.53.41;	author paul;	state Exp;
branches;
next	1.4.3.2;

1.4.3.2
date	91.03.19.01.55.27;	author paul;	state Exp;
branches;
next	1.4.3.3;

1.4.3.3
date	91.03.25.16.40.41;	author paul;	state Exp;
branches;
next	1.4.3.4;

1.4.3.4
date	91.03.26.18.37.31;	author paul;	state Exp;
branches;
next	1.4.3.5;

1.4.3.5
date	91.04.02.23.28.57;	author paul;	state Exp;
branches;
next	1.4.3.6;

1.4.3.6
date	91.04.02.23.33.07;	author paul;	state Exp;
branches;
next	1.4.3.7;

1.4.3.7
date	91.04.11.15.18.54;	author paul;	state Exp;
branches;
next	1.4.3.8;

1.4.3.8
date	91.04.17.18.37.45;	author paul;	state Exp;
branches;
next	;

1.4.4.1
date	91.06.25.23.39.31;	author paul;	state Exp;
branches;
next	1.4.4.2;

1.4.4.2
date	91.08.14.18.06.05;	author paul;	state Exp;
branches;
next	1.4.4.3;

1.4.4.3
date	91.08.14.18.07.48;	author paul;	state Exp;
branches;
next	1.4.4.4;

1.4.4.4
date	91.08.14.18.08.56;	author paul;	state Exp;
branches;
next	1.4.4.5;

1.4.4.5
date	91.08.30.18.20.14;	author paul;	state Exp;
branches;
next	1.4.4.6;

1.4.4.6
date	91.09.01.21.29.03;	author paul;	state Exp;
branches;
next	1.4.4.7;

1.4.4.7
date	91.09.05.00.35.54;	author paul;	state Exp;
branches;
next	1.4.4.8;

1.4.4.8
date	91.09.10.16.42.29;	author paul;	state Exp;
branches;
next	1.4.4.9;

1.4.4.9
date	91.09.10.16.43.31;	author paul;	state Exp;
branches;
next	1.4.4.10;

1.4.4.10
date	91.09.10.16.44.44;	author paul;	state Exp;
branches;
next	1.4.4.11;

1.4.4.11
date	92.02.23.07.02.50;	author paul;	state Exp;
branches;
next	;


desc
@Change tracking file.
@



1.4
log
@Baseline
@
text
@$Log$

	Changes in 5.65/1.4.1 from the previous release:

Minimal features have been added.  Greater portability is the goal.

Tested now on Next, SGI-IRIS (IRIX 3.3.1), HP-Apollo (10.3).

Loops in myhostname() if NAMED_BIND #define'd and all nameservers are
unreachable.  Not needed if hostname returns the FQDN.

Fixed randomization of equal weighted MX records.

Change auto variables in tTflag() to unsigned int.  This closes a nasty
security hole.

Gutted load averaging mess from conf.c and replaced with getloadavg.c from
the X11R4 distribution.  The calculated load average can be printed using
the -d3.1 debug flag.

deliver() now configured to release non-inheritable flock() (emulated with
lockf()) before fork() and to re-flock() in child.  The #include <file.h>
for testing whether to emulate flock() has been moved from the various *.c
files to sendmail.h.

Re-named #define SYSTEM5 to #define SYSV.

Isolated code in recipient.c that does fuzzy-matching of recipient names.
Now disabled by default.  See FUZZY in conf.h

All tokens following #else and #endif statements are now in comments.  This
appeases the more discerning pre-processors.

Now compiles and runs with gcc (tested w. 1.37.1 on Sequent, VAX, Pyramid,
then I got tired).  No longer needs -pcc flag on Convex.

Deleted OUTPUT_PID in conf.h.  The sendmail.fc freeze file code is now
included only if _PATH_SENDMAILFC is defined in conf.h (see next).

Because the definition (or lack) of the _PATH_SENDMAIL* #define's now 
controls whether certain code is compiled, the contents of pathnames.h
has been absorbed into conf.h .  This localizes site-specific customizations
to conf.h and the Makefile.

Simplified locking in mapinit().  Now only the alias file is opened O_RDWR
when OpMode == MD_INITALIAS.  All others are O_RDONLY.  The same situation
for flock(): LOCK_SH unless re-writing the alias database.  Anything
re-writing a DBM database should be using exclusive locks which will block
a LOCK_SH request.  This provides better support for NFS-mounted, read-only
filesystems containing the mail database files.

ida/aux/dbm.c now pays attention to the return value of flock().  The fetch
and dump operations apply shared locks, all others apply exclusive locks.

binmail sources can now be compiled to use ..../mail/username.lock style
locking.  Handy for systems that NFS mount the mail spool area.  Whatever
style you use, make sure all the players agree or BAD THINGS may happen.

The values of the $r and $q macros are now saved in the queue files.

Neil Rickert has again improved ida/cf/Sendmail.mc.  Among other things he's
eliminated the need for using newaliases.cf when forward aliases are used.
Re-write all current aliases that are of the form

	user@@host.domain:	something

to

	user%host.domain@@al.ias.UUCP:	something

and add the following to mailertable:

	LOCAL!localhost		al.ias.UUCP


	Changes in 5.65/1.3.5 from the previous release:

Sat Oct 13 23:01:07 CDT 1990

Installed changes to main.c, savemail.c and version.c from Berkeley V5.64
to V5.65.

Added mdbm and gdbm support.  Rationalized #ifdef's for *DBM.  gdbm
can be fetched either from uxc.cso.uiuc.edu in the gnu directory or
from aeneas.mit.edu in pub/gnu.

getloadavg.c was absorbed back into conf.c since few architectures used
it.  It's been made part of the #ifdef context that uses it.

flock() emulation (provided by Andy Litton of Victoria University of
Wellington, NZ) via lockf() now done more transparently.  All files
to be exclusively locked are now open "r+" (read/write).  Many systems
that provide flock() use lockf() semantics.  These require files to be
opened for writing to obtain exclusive locks.

Bruce Lilly (bruce%balilly@@sonyd1.broadcast.sony.com) provided unixpc and
many System 5 changes selected via #define SYSTEM5 in conf.h.  These have
been very helpful for HP-UX.  He also contributed varargs versions of
many routines (see err.c and conf.c) selected via #define VSPRINTF in
conf.h and many sundry glitch fixes (extraneous newlines in syslog() and
putline() calls, errors in comments, etc).  Thank you Bruce.

A potentially serious bug was scattered throughout the code.  The third
argument to expand() in macro.c is the buffer limit, i.e., the address
of the last usable position in buf.  In many cases this was expressed as
expand(str, buf, buf[sizeof buf], s) which is the address just beyond the
end of the array.  These were all changed to use buf[sizeof buf - 1].

	Changes in 5.64/1.3.5 from the previous release:

Tue Sep 25 20:49:54 CDT 1990

Now supports the mail11v3 mailer for DECnet sites.  Requires that MAIL11V3
be defined in src/conf.h.  This enables two new mailer flags N and H that
correspond to the non-standard SMTP extensions HEAD and MULT necessary for
communicating with mail11v3.  To create a DECnet/Internet gateway, define
your DECnet nodename in the appropriate ida/cf/*m4 file using the m4 define
DECNETNAME.  Examine the Sendmail.mc file and enable the .span and .hepnet
entries if appropriate.

Address test mode now uses '\0' rather than ',' as the ruleset delimiter.
This makes testing of the comma'ized addresses used in sendmail.cf possible.

deliver() now omits calling getmxrr() for non-IPC mailers as well as for
domain literals.

MX records are now always looked for.  The difference is that where there
is a concern about wildcard MX records, addresses are not qualified in the
local domain.  See deliver() and getmxrr() regarding NO_WILDCARD_MX.

Thanks to Neil Rickert of Northern Illinois University (rickert@@cs.niu.edu)
for the mail11v3 sender ruleset (S14) plus other fixes.  Mark D. Baushke of
3Com Corp (mdb@@esd.3com.com) battle-tested Neil's changes to deliver() and
getmxrr().

paul-pomes@@uiuc.edu,
@


1.4.4.1
log
@Released as 5.65c+1.4.4.

A little behind on my updating of this file - oh well.  This is
taken from the ANNOUNCE file.

Installation has been simplified by the creation of a src/config
directory.  Files in this directory are named for the operating
systems that the IDA sendmail has been installed on. They contain
the OS specific compilation definitions.

A new macro, $m, has been defined.  For single recipients in
a local mail delivery, it's value is the original address before
aliasing.  If all recipients for the current transaction derive
from a single original recipient, use that for $m.  Else make
$m undefined (to preserve Bcc: privacy).

Rationalized reapchild() based on whether LACK_WAIT3 is defined.

Replaced time_t declarations with TIME_TYPE define.

Changes for Interactive Systems UNIX adapted from patches
sent by Andy Linton <Andy.Linton@@comp.vuw.ac.nz>.

If Os (SuperSafe) is set in the sendmail.cf file, files in the spool
area will either be open()ed with O_SYNC set or fsync()ed prior
to close.

Received: lines will now show "givenname (realhostname)" if the
hostname supplied in the SMTP HELO command differs from what is
returned by getpeername().

Robert A. Larson's (blarson@@skat.usc.edu) portable vprintf() package
has drastically simplified the #ifdef mess in err.c.  ANSI compilers
now use stdarg.h, others now use varargs.h.

Keld Simonsen (keld@@dkuug.dk) contributed his character set
conversion code that handles 90+ character sets.  Sendmail can
now send 8-bit messages between sites defined in mailertable.

RS/6000 AIX systems can now use frozen config files.

Bruce Lilly (bruce@@broadcast.sony.com) contributed several items:
arpatounix() that converts RFC-822/1123 date-time fields to UNIX
	ctime format and changes to use 4 digit years
updates to the doc/07.sendmailop/op.me document
additional System 5 portability changes
simplified collect()
case-sensitive (as well as -insensitive) database and passwd
	file lookups.
straightened out usage of DAEMON and VMUNIX for selecting
	sendmail features.
maphostname() now uses uname() if available and all else fails
deleted ON (NetName) option.

Eric Wassenaar (e07@@nikhefh.nikhef.nl) posted fixes for
	handling of multi-line .forward files.
	a bug that referenced the wrong envelope.

Apollos now use proc1_$get_loadav() which greatly simplified the
routine.  The previous code is wrapped in #ifdef notdef if needed.
From Chrisos S.  Zoulas (christos@@ee.cornell.edu).

Simon J Gerraty (sjg@@melb.bull.oz.au) contributed patch for SUN's
$%x and $!x features ($!x added as $^x).
@
text
@d1 136
a136 116
$Log: ChangeLog,v $
# Revision 1.4.3.8  1991/04/17  18:37:45  paul
# src/{Makefile,conf.h} modified to lift the restriction against frozen
# config files (sendmail.fc) under AIX.  Inspiration came from Paul
# Amaranth's (amaranth@@vela.acs.oakland.edu) posting in comp.unix.aix
# about linker tricks.
#
# Revision 1.4.3.7  1991/04/11  15:18:54  paul
# Modified queue.c and main.c:
# Added new relatives of -q command line flag:  -Sfoo runs only those
# queued messages with "foo" in the sender string, -Rfoo runs only those
# that have foo in the recipient string, and -MAA07305 runs only the
# message with the ID AA07305.  From patches adapted from Peter J Nilsson
# (pjn@@ida.liu.se).
#
# Revision 1.4.3.6  1991/04/02  23:33:07  paul
# Added load averaging code for AIX contributed by Charlie Kline of CSO.
#
# Revision 1.4.3.5  1991/04/02  23:28:57  paul
# Some source files included <signal.h> instead of <sys/signal.h>.  This
# makes a difference on some machines.
#
# Now uses <stdarg.h> instead of <varargs.h> when both __STDC__ && VSPRINTF
# are true.
#
# In main.c, the envirionment is now copied after a successful thaw() and/or
# if SETPROCTITLE is true.
#
# Revision 1.4.3.4  1991/03/26  18:37:31  paul
# Removed UserEnviron[] from sendmail.h and made it a local variable in
# main.c.  Used only when a thaw() fails or isn't done when
# #if defined(SETPROCTITLE) && !defined(SYSV).  openmailer() in deliver.c
# now uses environ instead of UserEnviron as main() will make sure it's
# valid.
#
# Revision 1.4.3.3  1991/03/25  16:40:41  paul
# Removed NO_WILDCARD_MX option from conf.h.  This option gets many sites
# into trouble for a minor performance gain.
#
# Changed getmxrr() to use $=w (class of local names) instead of $j
# (the Fully Qualified Domain Name (FQDN) of the localhost).  Changed
# getcanonname() to use $=j (class of names to treat as local) instead
# $j.
#
# Revision 1.4.3.2  1991/03/19  01:55:27  paul
# logdelivery() now records mailer in syslog entries.
#
# readcf() now expands macros in 'C' class definitions.
#
# LOGSPLIT reduced to 128 on HP-UX systems.
# help() now uses newstr()/free() to avoid problems with constant strings.
#
# Revision 1.4.3.1  1991/03/19  01:53:41  paul
# Released as 5.65b+IDA-1.4.3
#
# Revision 1.4.2.8  1991/03/08  18:45:12  paul
# All external function definitions moved to a new file def.h.  For ANSI
# C compilers, function prototypes are included.
#
# Encore getloadavg() routine rolled into getloadavg.c.
#
# Paul Vixie's long header line fix included.
#
# Revision 1.4.2.7  1991/02/15  20:28:21  paul
# deliver.c: Fixed setupshares() function declarator.  Fixed test of j
# that controls whether message about contacting non-primary MX host
# is printed.
#
# recipient.c, alias.c: POSIX bulletproofing.
#
# main.c: fixed determination of end of envp array when frozen config
# file isn't used.
#
# err.c: cast some more functions w.o. return values to void.
#
# Revision 1.4.2.6  1991/02/01  05:05:27  paul
# queue.c and collect.c now have fsync() calls prior to the fclose() of the
# df* and cf* files.  This for added robustness on flaky systems (such as
# uxc after the reno upgrade).  Check added to headers.c to delete the From:
# line only when the sender is local.
#
# Revision 1.4.2.5  1991/01/26  21:11:15  paul
# Added fsync() calls to queue.c and collect.c to flush the collected
# df* and qf* files to disk once they are complete.
#
# Added changes to uiuc/phquery.c to cope with the changed location of
# sendmail under 4.4 BSD (/usr/sbin/sendmail) to handle a backup QI
# server (QI_ALT in uiuc/Makefile).
#
# Revision 1.4.2.4  91/01/02  19:49:53  paul
# Updated logdelivery() with version that folds, rather than truncating,
# long syslog() entries.  Updated ida/lib with current UIUC files, added
# documentation to mailertable file.
# 
# Revision 1.4.2.3  90/12/24  07:01:09  paul
# File: main.c
# Only reset the environment after a successful thaw.  Previously the
# environment was always reset which used a lot of newstr() calls and
# inflated the size of sendmail.fc.  Found by Piet Beertema (piet@@mcsun.eu.net).
# 
# File: readcf.c
# Streamlined the reading of class members from files & pipes.  Files may
# use the sscanf() convention now w.o. #define'ing SCANF.  From a suggestion
# from Piet Beertema (piet@@mcsun.eu.net).
# 
# Revision 1.4.2.2  90/12/18  13:07:47  paul
# Reset NIS state before freeze() or thaw() of config file (main.c).
# Fix S14 to re-write Decnet addresses in host2::host1::user format
# (Sendmail.mc).
# 
# Revision 1.4.2.1  90/12/13  14:38:15  paul
# Sub-baseline
# 
# Revision 1.4  90/12/13  14:37:18  paul
# Baseline
# 
@


1.4.4.2
log
@Fixed wrapper around a dbminit() call in alias.c to use OTHERDBM instead
of SDBM.  Finally nailed problem in daemon.c with truncating the newline
from strings returned by yp_match().
@
text
@a1 66
# Revision 1.4.4.1  1991/06/25  23:39:31  paul
# Released as 5.65c+1.4.4.
#
# A little behind on my updating of this file - oh well.  This is
# taken from the ANNOUNCE file.
#
# Installation has been simplified by the creation of a src/config
# directory.  Files in this directory are named for the operating
# systems that the IDA sendmail has been installed on. They contain
# the OS specific compilation definitions.
#
# A new macro, $m, has been defined.  For single recipients in
# a local mail delivery, it's value is the original address before
# aliasing.  If all recipients for the current transaction derive
# from a single original recipient, use that for $m.  Else make
# $m undefined (to preserve Bcc: privacy).
#
# Rationalized reapchild() based on whether LACK_WAIT3 is defined.
#
# Replaced time_t declarations with TIME_TYPE define.
#
# Changes for Interactive Systems UNIX adapted from patches
# sent by Andy Linton <Andy.Linton@@comp.vuw.ac.nz>.
#
# If Os (SuperSafe) is set in the sendmail.cf file, files in the spool
# area will either be open()ed with O_SYNC set or fsync()ed prior
# to close.
#
# Received: lines will now show "givenname (realhostname)" if the
# hostname supplied in the SMTP HELO command differs from what is
# returned by getpeername().
#
# Robert A. Larson's (blarson@@skat.usc.edu) portable vprintf() package
# has drastically simplified the #ifdef mess in err.c.  ANSI compilers
# now use stdarg.h, others now use varargs.h.
#
# Keld Simonsen (keld@@dkuug.dk) contributed his character set
# conversion code that handles 90+ character sets.  Sendmail can
# now send 8-bit messages between sites defined in mailertable.
#
# RS/6000 AIX systems can now use frozen config files.
#
# Bruce Lilly (bruce@@broadcast.sony.com) contributed several items:
# arpatounix() that converts RFC-822/1123 date-time fields to UNIX
# 	ctime format and changes to use 4 digit years
# updates to the doc/07.sendmailop/op.me document
# additional System 5 portability changes
# simplified collect()
# case-sensitive (as well as -insensitive) database and passwd
# 	file lookups.
# straightened out usage of DAEMON and VMUNIX for selecting
# 	sendmail features.
# maphostname() now uses uname() if available and all else fails
# deleted ON (NetName) option.
#
# Eric Wassenaar (e07@@nikhefh.nikhef.nl) posted fixes for
# 	handling of multi-line .forward files.
# 	a bug that referenced the wrong envelope.
#
# Apollos now use proc1_$get_loadav() which greatly simplified the
# routine.  The previous code is wrapped in #ifdef notdef if needed.
# From Chrisos S.  Zoulas (christos@@ee.cornell.edu).
#
# Simon J Gerraty (sjg@@melb.bull.oz.au) contributed patch for SUN's
# $%x and $!x features ($!x added as $^x).
#
@


1.4.4.3
log
@Replaced logdelivery() routine with a bew version from Andy Linton.
This version copes with various restrictions on syslog() buffer sizes
and the number of printf() type arguments.
@
text
@a1 5
# Revision 1.4.4.2  1991/08/14  18:06:05  paul
# Fixed wrapper around a dbminit() call in alias.c to use OTHERDBM instead
# of SDBM.  Finally nailed problem in daemon.c with truncating the newline
# from strings returned by yp_match().
#
@


1.4.4.4
log
@Added support for the Berkeley hashing package (hash.tar.Z and libhash.a).
@
text
@a1 5
# Revision 1.4.4.3  1991/08/14  18:07:48  paul
# Replaced logdelivery() routine with a bew version from Andy Linton.
# This version copes with various restrictions on syslog() buffer sizes
# and the number of printf() type arguments.
#
@


1.4.4.5
log
@Checkpoint the queue file after every CheckPointLimit transactions.  Set
with the OC[n] option in sendmail.cf.  Default is 10 if n is not specified.
Adapted from the original patch by Craig Everhart (Craig_Everhart@@transarc.com)
after modification by Christopher Davis (ckd@@eff.org).

Files affected: deliver.c, envelope.c, queue.c, readcf.c
@
text
@a1 3
# Revision 1.4.4.4  1991/08/14  18:08:56  paul
# Added support for the Berkeley hashing package (hash.tar.Z and libhash.a).
#
@


1.4.4.6
log
@Modified ida/aux/dbm.c and rmail.c to handle both null and non-null
terminated dbm strings on reading.  dbm now uses the 'N' flag to
write dbm key/value pairs sans the trailing null.
@
text
@a1 8
# Revision 1.4.4.5  1991/08/30  18:20:14  paul
# Checkpoint the queue file after every CheckPointLimit transactions.  Set
# with the OC[n] option in sendmail.cf.  Default is 10 if n is not specified.
# Adapted from the original patch by Craig Everhart (Craig_Everhart@@transarc.com)
# after modification by Christopher Davis (ckd@@eff.org).
#
# Files affected: deliver.c, envelope.c, queue.c, readcf.c
#
@


1.4.4.7
log
@Files: main.c, conf.h, sendmail.h

Re-did entire environment munging section in.  Eliminated UserEnviron[]
in favor of SavedEnv which preserves NAME, HOME, LOGNAME, and TZ.
After those values are saved, the environment is cleared and reset.
The preserved values are then restored followed by setting PATH to
"/bin:/usr/bin" and SHELL to "/bin/sh".  Inspired by a suggestion from
Neil Rickert (rickert@@cs.niu.edu).

This plugs a security hole on systems running w.o. sendmail.fc that also
have class settings via a pipe in sendmail.cf, e.g., FU|uuname|sort|uniq .
A user could modify his PATH, create a script called uuname, invoke sendmail,
and the user's uuname script would be executed as root.
@
text
@a1 5
# Revision 1.4.4.6  1991/09/01  21:29:03  paul
# Modified ida/aux/dbm.c and rmail.c to handle both null and non-null
# terminated dbm strings on reading.  dbm now uses the 'N' flag to
# write dbm key/value pairs sans the trailing null.
#
@


1.4.4.8
log
@Date:    Mon, 09 Sep 91 16:59:20 +1200
From:    Andy Linton <asjl@@comp.vuw.ac.nz>
Subject: Sendmail patches for HP-UX 8.0
X-Organisation: Dept of Comp Science, Victoria Uni, Wellington, NEW ZEALAND
X-Phone: +64 4 471 5328
X-Fax: +64 4 471 5375
X-Mailer: XMH/mh 6.7.1

Paul,

I've just moved from HP-UX 7.0 to HP-UX 8.0 and found a few changes were
needed/possible.  There is no flag emitted by the compiler to differentiate
between the two releases so I propose a flag for inclusion in config/hpux.h
or wherever you deem appropriate, e.g.,

#define HPUX_70		1	/* running an old version of HP-UX */

The BSD library is no longer necessary for compilation but is required to
ensure Berkeley signal semantics. The alternative means that zombies are left
hanging around.

HP-UX 8.0 has shared libraries but there does not appear to be a problem with
their use at system boot time.  The equivalent to the -Bstatic flag for SunOS
is unnecessary.  I will keep my eye on this and alert you if a problem arises.

Regards
andy
@
text
@a1 15
# Revision 1.4.4.7  1991/09/05  00:35:54  paul
# Files: main.c, conf.h, sendmail.h
#
# Re-did entire environment munging section in.  Eliminated UserEnviron[]
# in favor of SavedEnv which preserves NAME, HOME, LOGNAME, and TZ.
# After those values are saved, the environment is cleared and reset.
# The preserved values are then restored followed by setting PATH to
# "/bin:/usr/bin" and SHELL to "/bin/sh".  Inspired by a suggestion from
# Neil Rickert (rickert@@cs.niu.edu).
#
# This plugs a security hole on systems running w.o. sendmail.fc that also
# have class settings via a pipe in sendmail.cf, e.g., FU|uuname|sort|uniq .
# A user could modify his PATH, create a script called uuname, invoke sendmail,
# and the user's uuname script would be executed as root.
#
@


1.4.4.9
log
@Date:    Mon, 09 Sep 91 16:59:20 +1200
From:    Andy Linton <asjl@@comp.vuw.ac.nz>
Subject: Sendmail patches for HP-UX 8.0
X-Organisation: Dept of Comp Science, Victoria Uni, Wellington, NEW ZEALAND
X-Phone: +64 4 471 5328
X-Fax: +64 4 471 5375
X-Mailer: XMH/mh 6.7.1

Files affected: conf.c main.c queue.c deliver.c getloadavg.c

Paul,

I've just moved from HP-UX 7.0 to HP-UX 8.0 and found a few changes were
needed/possible.  There is no flag emitted by the compiler to differentiate
between the two releases so I propose a flag for inclusion in config/hpux.h
or wherever you deem appropriate, e.g.,

#define HPUX_70		1	/* running an old version of HP-UX */

The BSD library is no longer necessary for compilation but is required to
ensure Berkeley signal semantics. The alternative means that zombies are left
hanging around.

HP-UX 8.0 has shared libraries but there does not appear to be a problem with
their use at system boot time.  The equivalent to the -Bstatic flag for SunOS
is unnecessary.  I will keep my eye on this and alert you if a problem arises.

Regards
andy
@
text
@@


1.4.4.10
log
@Robert Claeson (robert@@dg.se) contributed src/config/dgux.h for Data
General UNIX machines.
@
text
@a1 31
# Revision 1.4.4.9  1991/09/10  16:43:31  paul
# Date:    Mon, 09 Sep 91 16:59:20 +1200
# From:    Andy Linton <asjl@@comp.vuw.ac.nz>
# Subject: Sendmail patches for HP-UX 8.0
# X-Organisation: Dept of Comp Science, Victoria Uni, Wellington, NEW ZEALAND
# X-Phone: +64 4 471 5328
# X-Fax: +64 4 471 5375
# X-Mailer: XMH/mh 6.7.1
#
# Files affected: conf.c main.c queue.c deliver.c getloadavg.c
#
# Paul,
#
# I've just moved from HP-UX 7.0 to HP-UX 8.0 and found a few changes were
# needed/possible.  There is no flag emitted by the compiler to differentiate
# between the two releases so I propose a flag for inclusion in config/hpux.h
# or wherever you deem appropriate, e.g.,
#
# #define HPUX_70		1	/* running an old version of HP-UX */
#
# The BSD library is no longer necessary for compilation but is required to
# ensure Berkeley signal semantics. The alternative means that zombies are left
# hanging around.
#
# HP-UX 8.0 has shared libraries but there does not appear to be a problem with
# their use at system boot time.  The equivalent to the -Bstatic flag for SunOS
# is unnecessary.  I will keep my eye on this and alert you if a problem arises.
#
# Regards
# andy
#
@


1.4.4.11
log
@Folded in 5.65 to 5.67 changes.
@
text
@a1 4
# Revision 1.4.4.10  1991/09/10  16:44:44  paul
# Robert Claeson (robert@@dg.se) contributed src/config/dgux.h for Data
# General UNIX machines.
#
@


1.4.3.1
log
@Released as 5.65b+IDA-1.4.3
@
text
@d1 1
a1 62
$Log: ChangeLog,v $
# Revision 1.4.2.8  1991/03/08  18:45:12  paul
# All external function definitions moved to a new file def.h.  For ANSI
# C compilers, function prototypes are included.
#
# Encore getloadavg() routine rolled into getloadavg.c.
#
# Paul Vixie's long header line fix included.
#
# Revision 1.4.2.7  1991/02/15  20:28:21  paul
# deliver.c: Fixed setupshares() function declarator.  Fixed test of j
# that controls whether message about contacting non-primary MX host
# is printed.
#
# recipient.c, alias.c: POSIX bulletproofing.
#
# main.c: fixed determination of end of envp array when frozen config
# file isn't used.
#
# err.c: cast some more functions w.o. return values to void.
#
# Revision 1.4.2.6  1991/02/01  05:05:27  paul
# queue.c and collect.c now have fsync() calls prior to the fclose() of the
# df* and cf* files.  This for added robustness on flaky systems (such as
# uxc after the reno upgrade).  Check added to headers.c to delete the From:
# line only when the sender is local.
#
# Revision 1.4.2.5  1991/01/26  21:11:15  paul
# Added fsync() calls to queue.c and collect.c to flush the collected
# df* and qf* files to disk once they are complete.
#
# Added changes to uiuc/phquery.c to cope with the changed location of
# sendmail under 4.4 BSD (/usr/sbin/sendmail) to handle a backup QI
# server (QI_ALT in uiuc/Makefile).
#
# Revision 1.4.2.4  91/01/02  19:49:53  paul
# Updated logdelivery() with version that folds, rather than truncating,
# long syslog() entries.  Updated ida/lib with current UIUC files, added
# documentation to mailertable file.
# 
# Revision 1.4.2.3  90/12/24  07:01:09  paul
# File: main.c
# Only reset the environment after a successful thaw.  Previously the
# environment was always reset which used a lot of newstr() calls and
# inflated the size of sendmail.fc.  Found by Piet Beertema (piet@@mcsun.eu.net).
# 
# File: readcf.c
# Streamlined the reading of class members from files & pipes.  Files may
# use the sscanf() convention now w.o. #define'ing SCANF.  From a suggestion
# from Piet Beertema (piet@@mcsun.eu.net).
# 
# Revision 1.4.2.2  90/12/18  13:07:47  paul
# Reset NIS state before freeze() or thaw() of config file (main.c).
# Fix S14 to re-write Decnet addresses in host2::host1::user format
# (Sendmail.mc).
# 
# Revision 1.4.2.1  90/12/13  14:38:15  paul
# Sub-baseline
# 
# Revision 1.4  90/12/13  14:37:18  paul
# Baseline
# 
@


1.4.3.2
log
@logdelivery() now records mailer in syslog entries.

readcf() now expands macros in 'C' class definitions.

LOGSPLIT reduced to 128 on HP-UX systems.
help() now uses newstr()/free() to avoid problems with constant strings.
@
text
@a1 3
# Revision 1.4.3.1  1991/03/19  01:53:41  paul
# Released as 5.65b+IDA-1.4.3
#
@


1.4.3.3
log
@Removed NO_WILDCARD_MX option from conf.h.  This option gets many sites
into trouble for a minor performance gain.

Changed getmxrr() to use $=w (class of local names) instead of $j
(the Fully Qualified Domain Name (FQDN) of the localhost).  Changed
getcanonname() to use $=j (class of names to treat as local) as well as
$j.  From suggestions from Paul Vixie of DEC and Neil Rickert of NIU.
@
text
@a1 8
# Revision 1.4.3.2  1991/03/19  01:55:27  paul
# logdelivery() now records mailer in syslog entries.
#
# readcf() now expands macros in 'C' class definitions.
#
# LOGSPLIT reduced to 128 on HP-UX systems.
# help() now uses newstr()/free() to avoid problems with constant strings.
#
@


1.4.3.4
log
@Removed UserEnviron[] from sendmail.h and made it a local variable in
main.c.  Used only when a thaw() fails or isn't done when
#if defined(SETPROCTITLE) && !defined(SYSV).  openmailer() in deliver.c
now uses environ instead of UserEnviron as main() will make sure it's
valid.
@
text
@a1 9
# Revision 1.4.3.3  1991/03/25  16:40:41  paul
# Removed NO_WILDCARD_MX option from conf.h.  This option gets many sites
# into trouble for a minor performance gain.
#
# Changed getmxrr() to use $=w (class of local names) instead of $j
# (the Fully Qualified Domain Name (FQDN) of the localhost).  Changed
# getcanonname() to use $=j (class of names to treat as local) instead
# $j.
#
d74 135
@


1.4.3.5
log
@Some source files included <signal.h> instead of <sys/signal.h>.  This
makes a difference on some machines.

Now uses <stdarg.h> instead of <varargs.h> when both __STDC__ && VSPRINTF
are true.

In main.c, the envirionment is now copied after a successful thaw() and/or
if SETPROCTITLE is true.
@
text
@a1 7
# Revision 1.4.3.4  1991/03/26  18:37:31  paul
# Removed UserEnviron[] from sendmail.h and made it a local variable in
# main.c.  Used only when a thaw() fails or isn't done when
# #if defined(SETPROCTITLE) && !defined(SYSV).  openmailer() in deliver.c
# now uses environ instead of UserEnviron as main() will make sure it's
# valid.
#
@


1.4.3.6
log
@Added load averaging code for AIX contributed by Charlie Kline of CSO.
@
text
@a1 10
# Revision 1.4.3.5  1991/04/02  23:28:57  paul
# Some source files included <signal.h> instead of <sys/signal.h>.  This
# makes a difference on some machines.
#
# Now uses <stdarg.h> instead of <varargs.h> when both __STDC__ && VSPRINTF
# are true.
#
# In main.c, the envirionment is now copied after a successful thaw() and/or
# if SETPROCTITLE is true.
#
@


1.4.3.7
log
@Modified queue.c and main.c:
Added new relatives of -q command line flag:  -Sfoo runs only those
queued messages with "foo" in the sender string, -Rfoo runs only those
that have foo in the recipient string, and -MAA07305 runs only the
message with the ID AA07305.  From patches adapted from Peter J Nilsson
(pjn@@ida.liu.se).
@
text
@a1 3
# Revision 1.4.3.6  1991/04/02  23:33:07  paul
# Added load averaging code for AIX contributed by Charlie Kline of CSO.
#
@


1.4.3.8
log
@src/{Makefile,conf.h} modified to lift the restriction against frozen
config files (sendmail.fc) under AIX.  Inspiration came from Paul
Amaranth's (amaranth@@vela.acs.oakland.edu) posting in comp.unix.aix
about linker tricks.
@
text
@a1 8
# Revision 1.4.3.7  1991/04/11  15:18:54  paul
# Modified queue.c and main.c:
# Added new relatives of -q command line flag:  -Sfoo runs only those
# queued messages with "foo" in the sender string, -Rfoo runs only those
# that have foo in the recipient string, and -MAA07305 runs only the
# message with the ID AA07305.  From patches adapted from Peter J Nilsson
# (pjn@@ida.liu.se).
#
@


1.4.2.1
log
@Sub-baseline
@
text
@d1 1
a1 4
$Log:	ChangeLog,v $
# Revision 1.4  90/12/13  14:37:18  paul
# Baseline
# 
@


1.4.2.2
log
@Reset NIS state before freeze() or thaw() of config file (main.c).
Fix S14 to re-write Decnet addresses in host2::host1::user format
(Sendmail.mc).
@
text
@a1 3
# Revision 1.4.2.1  90/12/13  14:38:15  paul
# Sub-baseline
# 
@


1.4.2.3
log
@File: main.c
Only reset the environment after a successful thaw.  Previously the
environment was always reset which used a lot of newstr() calls and
inflated the size of sendmail.fc.  Found by Piet Beertema (piet@@mcsun.eu.net).

File: readcf.c
Streamlined the reading of class members from files & pipes.  Files may
use the sscanf() convention now w.o. #define'ing SCANF.  From a suggestion
from Piet Beertema (piet@@mcsun.eu.net).
@
text
@a1 5
# Revision 1.4.2.2  90/12/18  13:07:47  paul
# Reset NIS state before freeze() or thaw() of config file (main.c).
# Fix S14 to re-write Decnet addresses in host2::host1::user format
# (Sendmail.mc).
# 
@


1.4.2.4
log
@Updated logdelivery() with version that folds, rather than truncating,
long syslog() entries.  Updated ida/lib with current UIUC files, added
documentation to mailertable file.
@
text
@a1 11
# Revision 1.4.2.3  90/12/24  07:01:09  paul
# File: main.c
# Only reset the environment after a successful thaw.  Previously the
# environment was always reset which used a lot of newstr() calls and
# inflated the size of sendmail.fc.  Found by Piet Beertema (piet@@mcsun.eu.net).
# 
# File: readcf.c
# Streamlined the reading of class members from files & pipes.  Files may
# use the sscanf() convention now w.o. #define'ing SCANF.  From a suggestion
# from Piet Beertema (piet@@mcsun.eu.net).
# 
@


1.4.2.5
log
@Added fsync() calls to queue.c and collect.c to flush the collected
df* and qf* files to disk once they are complete.

Added changes to uiuc/phquery.c to cope with the changed location of
sendmail under 4.4 BSD (/usr/sbin/sendmail) to handle a backup QI
server (QI_ALT in uiuc/Makefile).
@
text
@a1 5
# Revision 1.4.2.4  91/01/02  19:49:53  paul
# Updated logdelivery() with version that folds, rather than truncating,
# long syslog() entries.  Updated ida/lib with current UIUC files, added
# documentation to mailertable file.
# 
@


1.4.2.6
log
@queue.c and collect.c now have fsync() calls prior to the fclose() of the
df* and cf* files.  This for added robustness on flaky systems (such as
uxc after the reno upgrade).  Check added to headers.c to delete the From:
line only when the sender is local.
@
text
@d1 1
a1 9
$Log: ChangeLog,v $
# Revision 1.4.2.5  1991/01/26  21:11:15  paul
# Added fsync() calls to queue.c and collect.c to flush the collected
# df* and qf* files to disk once they are complete.
#
# Added changes to uiuc/phquery.c to cope with the changed location of
# sendmail under 4.4 BSD (/usr/sbin/sendmail) to handle a backup QI
# server (QI_ALT in uiuc/Makefile).
#
@


1.4.2.7
log
@deliver.c: Fixed setupshares() function declarator.  Fixed test of j
that controls whether message about contacting non-primary MX host
is printed.

recipient.c, alias.c: POSIX bulletproofing.

main.c: fixed determination of end of envp array when frozen config
file isn't used.

err.c: cast some more functions w.o. return values to void.
@
text
@a1 6
# Revision 1.4.2.6  1991/02/01  05:05:27  paul
# queue.c and collect.c now have fsync() calls prior to the fclose() of the
# df* and cf* files.  This for added robustness on flaky systems (such as
# uxc after the reno upgrade).  Check added to headers.c to delete the From:
# line only when the sender is local.
#
@


1.4.2.8
log
@All external function definitions moved to a new file def.h.  For ANSI
C compilers, function prototypes are included.

Encore getloadavg() routine rolled into getloadavg.c.

Paul Vixie's long header line fix included.
@
text
@a1 12
# Revision 1.4.2.7  1991/02/15  20:28:21  paul
# deliver.c: Fixed setupshares() function declarator.  Fixed test of j
# that controls whether message about contacting non-primary MX host
# is printed.
#
# recipient.c, alias.c: POSIX bulletproofing.
#
# main.c: fixed determination of end of envp array when frozen config
# file isn't used.
#
# err.c: cast some more functions w.o. return values to void.
#
@
