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,

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,6 +1,6 @@
#!/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
#
@ -28,6 +28,11 @@
# Added clarification in the notes for what to do if you have
# exceptions to a larger CIDR block.
#
# 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
#
@ -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,8 +6313,20 @@ 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)
{
syserr("too many queue file systems (%d max)", 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";