Import sendmail 8.13.8

This commit is contained in:
Gregory Neil Shapiro 2006-08-17 05:10:43 +00:00
parent af9557fdd1
commit 3a3ef73d37
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor/sendmail/dist/; revision=161389
svn path=/vendor/sendmail/8.13.8/; revision=161391; tag=vendor/sendmail/8.13.8
8 changed files with 73 additions and 22 deletions

View File

@ -1,11 +1,34 @@
SENDMAIL RELEASE NOTES
$Id: RELEASE_NOTES,v 8.1777.2.6 2006/06/05 22:32:41 ca Exp $
$Id: RELEASE_NOTES,v 8.1777.2.15 2006/08/07 17:22:09 ca Exp $
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.13.8/8.13.8 2006/08/09
Fix a regression in 8.13.7: if shared memory is activated, then
the server can erroneously report that there is
insufficient disk space. Additionally make sure that
an internal variable is set properly to avoid those
misleading errors. Based on patch from Steve Hubert
of University of Washington.
Fix a regression in 8.13.7: the PidFile could be removed after
the process that forks the daemon exited, i.e., if
sendmail -bd is invoked. Problem reported by Kan Sasaki
of Fusion Communications Corp. and Werner Wiethege.
Avoid opening qf files if QueueSortOrder is "none". Patch from
David F. Skoll.
Avoid a crash when finishing due to referencing a freed variable.
Problem reported and diagnosed by Moritz Jodeit.
CONTRIB: cidrexpand now deals with /0 by issuing the entire IPv4
range (0..255).
LIBMILTER: The "hostname" argument of the xxfi_connect() callback
previously was the equivalent of {client_ptr}. However,
this did not match the documentation of the function, hence
it has been changed to {client_name}. See doc/op/op.*
about these macros.
8.13.7/8.13.7 2006/06/14
A malformed MIME structure with many parts can cause sendmail to
crash while trying to send a mail due to a stack overflow,
@ -174,7 +197,7 @@ summary of the changes in that release.
Make sure return parameters are initialized in getmxrr(). Problem
found by Gael Roualland using valgrind.
If shared memory is used and the RunAsUser option is set, then the
owner and group of the shared memory segment is set to
owner and group of the shared memory segment is set to
the ids specified RunAsUser and the access mode is set
to 0660 to allow for updates by sendmail processes.
The number of queue entries that is (optionally) kept in shared

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@nother.smi.sendmail.com on Mon Jun 5 15:34:16 PDT 2006
##### in /extra/home/ca/sm-8.13.7/OpenSource/sendmail-8.13.7/cf/cf
##### built by ca@nother.smi.sendmail.com on Mon Aug 7 10:37:32 PDT 2006
##### in /extra/home/ca/sm-8.13.8/OpenSource/sendmail-8.13.8/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -114,7 +114,7 @@ D{MTAHost}[127.0.0.1]
# Configuration version number
DZ8.13.7/Submit
DZ8.13.8/Submit
###############

View File

@ -11,8 +11,8 @@ divert(-1)
# the sendmail distribution.
#
#
VERSIONID(`$Id: version.m4,v 8.150.2.4 2006/06/05 22:32:40 ca Exp $')
VERSIONID(`$Id: version.m4,v 8.150.2.8 2006/07/26 17:24:02 ca Exp $')
#
divert(0)
# Configuration version number
DZ8.13.7`'ifdef(`confCF_VERSION', `/confCF_VERSION')
DZ8.13.8`'ifdef(`confCF_VERSION', `/confCF_VERSION')

View File

@ -1,13 +1,13 @@
#!/usr/bin/perl -w
# $Id: cidrexpand,v 8.4 2002/11/22 21:13:14 ca Exp $
# $Id: cidrexpand,v 8.4.2.1 2006/08/07 17:22:10 ca Exp $
#
# v 0.4
#
# 17 July 2000 Derek J. Balling (dredd@megacity.org)
#
#
# Acts as a preparser on /etc/mail/access_db to allow you to use address/bit
# notation.
# notation.
#
# If you have two overlapping CIDR blocks with conflicting actions
# e.g. 10.2.3.128/25 REJECT and 10.2.3.143 ACCEPT
@ -25,10 +25,15 @@
# Added code to deal with the prefix tags that may now be included in
# the access_db
#
# Added clarification in the notes for what to do if you have
# Added clarification in the notes for what to do if you have
# exceptions to a larger CIDR block.
#
# usage:
# 3 August 2006
#
# Corrected a bug to have it handle the special case of "0.0.0.0/0"
# since Net::CIDR doesn't handle it properly.
#
# usage:
# cidrexpand < /etc/mail/access | makemap -r hash /etc/mail/access
#
#
@ -72,7 +77,7 @@ while (<>)
}
}
}
sub expand_network
{
my $left_input = shift;
@ -80,6 +85,8 @@ sub expand_network
my ($network,$mask) = split /\//, $left_input;
if (defined $mask)
{
return (0..255) if $mask == 0;
my @parts = split /\./, $network;
while ($#parts < 3)
{

View File

@ -25,7 +25,7 @@ SM_UNUSED(static char copyright[]) =
The Regents of the University of California. All rights reserved.\n";
#endif /* ! lint */
SM_RCSID("@(#)$Id: main.c,v 8.944 2006/04/21 23:56:42 ca Exp $")
SM_RCSID("@(#)$Id: main.c,v 8.944.2.2 2006/08/03 22:05:03 ca Exp $")
#if NETINET || NETINET6
@ -2289,6 +2289,8 @@ main(argc, argv, envp)
{
char dtype[200];
/* avoid cleanup in finis(), DaemonPid will be set below */
DaemonPid = 0;
if (!run_in_foreground && !tTd(99, 100))
{
/* put us in background */
@ -2321,7 +2323,10 @@ main(argc, argv, envp)
dtype[0] = '\0';
if (OpMode == MD_DAEMON)
{
(void) sm_strlcat(dtype, "+SMTP", sizeof dtype);
DaemonPid = CurrentPid;
}
if (QueueIntvl > 0)
{
(void) sm_strlcat2(dtype,
@ -2903,6 +2908,9 @@ finis(drop, cleanup, exitstat)
dropenvelope(CurEnv, true, false);
sm_rpool_free(CurEnv->e_rpool);
CurEnv->e_rpool = NULL;
/* this may have pointed to the rpool */
CurEnv->e_to = NULL;
}
else
poststats(StatFile);

View File

@ -14,7 +14,7 @@
#include <sendmail.h>
#include <sm/sem.h>
SM_RCSID("@(#)$Id: queue.c,v 8.954 2006/04/22 01:07:00 ca Exp $")
SM_RCSID("@(#)$Id: queue.c,v 8.954.2.5 2006/07/31 21:44:18 ca Exp $")
#include <dirent.h>
@ -2646,6 +2646,7 @@ gatherq(qgrp, qdir, doall, full, more)
/* avoid work if possible */
if ((QueueSortOrder == QSO_BYFILENAME ||
QueueSortOrder == QSO_BYMODTIME ||
QueueSortOrder == QSO_NONE ||
QueueSortOrder == QSO_RANDOM) &&
QueueLimitQuarantine == NULL &&
QueueLimitSender == NULL &&
@ -6312,7 +6313,19 @@ filesys_find(name, path, add)
for (i = 0; i < NumFileSys; ++i)
{
if (FILE_SYS_DEV(i) == st.st_dev)
{
/*
** Make sure the file system (FS) name is set:
** even though the source code indicates that
** FILE_SYS_DEV() is only set below, it could be
** set via shared memory, hence we need to perform
** this check/assignment here.
*/
if (NULL == FILE_SYS_NAME(i))
FILE_SYS_NAME(i) = name;
return i;
}
}
if (i >= MAXFILESYS)
{
@ -6406,8 +6419,7 @@ filesys_update()
static time_t nextupdate = 0;
#if SM_CONF_SHM
/* only the daemon updates this structure */
if (ShmId == SM_SHM_NO_ID || DaemonPid != CurrentPid)
if (ShmId != SM_SHM_NO_ID && DaemonPid != CurrentPid)
return;
#endif /* SM_CONF_SHM */
now = curtime();

View File

@ -17,7 +17,7 @@
# include <libmilter/mfdef.h>
#endif /* MILTER */
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.924.2.2 2006/05/31 20:56:37 ca Exp $")
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.924.2.5 2006/07/07 16:29:39 ca Exp $")
#include <sm/time.h>
#include <sm/fdset.h>
@ -851,8 +851,9 @@ smtp(nullserver, d_flags, e)
char state;
char *response;
response = milter_connect(peerhostname, RealHostAddr,
e, &state);
q = macvalue(macid("{client_name}"), e);
SM_ASSERT(q != NULL);
response = milter_connect(q, RealHostAddr, e, &state);
switch (state)
{
case SMFIR_REPLYCODE: /* REPLYCODE shouldn't happen */

View File

@ -13,6 +13,6 @@
#include <sm/gen.h>
SM_RCSID("@(#)$Id: version.c,v 8.163.2.4 2006/06/05 22:32:40 ca Exp $")
SM_RCSID("@(#)$Id: version.c,v 8.163.2.8 2006/07/26 17:24:02 ca Exp $")
char Version[] = "8.13.7";
char Version[] = "8.13.8";