Import sendmail 8.13.8
This commit is contained in:
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
@ -1,11 +1,34 @@
|
|||||||
SENDMAIL RELEASE NOTES
|
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
|
This listing shows the version of the sendmail binary, the version
|
||||||
of the sendmail configuration files, the date of release, and a
|
of the sendmail configuration files, the date of release, and a
|
||||||
summary of the changes in that release.
|
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
|
8.13.7/8.13.7 2006/06/14
|
||||||
A malformed MIME structure with many parts can cause sendmail to
|
A malformed MIME structure with many parts can cause sendmail to
|
||||||
crash while trying to send a mail due to a stack overflow,
|
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
|
Make sure return parameters are initialized in getmxrr(). Problem
|
||||||
found by Gael Roualland using valgrind.
|
found by Gael Roualland using valgrind.
|
||||||
If shared memory is used and the RunAsUser option is set, then the
|
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
|
the ids specified RunAsUser and the access mode is set
|
||||||
to 0660 to allow for updates by sendmail processes.
|
to 0660 to allow for updates by sendmail processes.
|
||||||
The number of queue entries that is (optionally) kept in shared
|
The number of queue entries that is (optionally) kept in shared
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
#####
|
#####
|
||||||
##### SENDMAIL CONFIGURATION FILE
|
##### SENDMAIL CONFIGURATION FILE
|
||||||
#####
|
#####
|
||||||
##### built by ca@nother.smi.sendmail.com on Mon Jun 5 15:34:16 PDT 2006
|
##### built by ca@nother.smi.sendmail.com on Mon Aug 7 10:37:32 PDT 2006
|
||||||
##### in /extra/home/ca/sm-8.13.7/OpenSource/sendmail-8.13.7/cf/cf
|
##### in /extra/home/ca/sm-8.13.8/OpenSource/sendmail-8.13.8/cf/cf
|
||||||
##### using ../ as configuration include directory
|
##### using ../ as configuration include directory
|
||||||
#####
|
#####
|
||||||
######################################################################
|
######################################################################
|
||||||
@ -114,7 +114,7 @@ D{MTAHost}[127.0.0.1]
|
|||||||
|
|
||||||
|
|
||||||
# Configuration version number
|
# Configuration version number
|
||||||
DZ8.13.7/Submit
|
DZ8.13.8/Submit
|
||||||
|
|
||||||
|
|
||||||
###############
|
###############
|
||||||
|
@ -11,8 +11,8 @@ divert(-1)
|
|||||||
# the sendmail distribution.
|
# 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)
|
divert(0)
|
||||||
# Configuration version number
|
# Configuration version number
|
||||||
DZ8.13.7`'ifdef(`confCF_VERSION', `/confCF_VERSION')
|
DZ8.13.8`'ifdef(`confCF_VERSION', `/confCF_VERSION')
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#!/usr/bin/perl -w
|
#!/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
|
# v 0.4
|
||||||
#
|
#
|
||||||
# 17 July 2000 Derek J. Balling (dredd@megacity.org)
|
# 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
|
# 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
|
# If you have two overlapping CIDR blocks with conflicting actions
|
||||||
# e.g. 10.2.3.128/25 REJECT and 10.2.3.143 ACCEPT
|
# 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
|
# Added code to deal with the prefix tags that may now be included in
|
||||||
# the access_db
|
# 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.
|
# 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
|
# cidrexpand < /etc/mail/access | makemap -r hash /etc/mail/access
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@ -72,7 +77,7 @@ while (<>)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub expand_network
|
sub expand_network
|
||||||
{
|
{
|
||||||
my $left_input = shift;
|
my $left_input = shift;
|
||||||
@ -80,6 +85,8 @@ sub expand_network
|
|||||||
my ($network,$mask) = split /\//, $left_input;
|
my ($network,$mask) = split /\//, $left_input;
|
||||||
if (defined $mask)
|
if (defined $mask)
|
||||||
{
|
{
|
||||||
|
return (0..255) if $mask == 0;
|
||||||
|
|
||||||
my @parts = split /\./, $network;
|
my @parts = split /\./, $network;
|
||||||
while ($#parts < 3)
|
while ($#parts < 3)
|
||||||
{
|
{
|
||||||
|
@ -25,7 +25,7 @@ SM_UNUSED(static char copyright[]) =
|
|||||||
The Regents of the University of California. All rights reserved.\n";
|
The Regents of the University of California. All rights reserved.\n";
|
||||||
#endif /* ! lint */
|
#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
|
#if NETINET || NETINET6
|
||||||
@ -2289,6 +2289,8 @@ main(argc, argv, envp)
|
|||||||
{
|
{
|
||||||
char dtype[200];
|
char dtype[200];
|
||||||
|
|
||||||
|
/* avoid cleanup in finis(), DaemonPid will be set below */
|
||||||
|
DaemonPid = 0;
|
||||||
if (!run_in_foreground && !tTd(99, 100))
|
if (!run_in_foreground && !tTd(99, 100))
|
||||||
{
|
{
|
||||||
/* put us in background */
|
/* put us in background */
|
||||||
@ -2321,7 +2323,10 @@ main(argc, argv, envp)
|
|||||||
|
|
||||||
dtype[0] = '\0';
|
dtype[0] = '\0';
|
||||||
if (OpMode == MD_DAEMON)
|
if (OpMode == MD_DAEMON)
|
||||||
|
{
|
||||||
(void) sm_strlcat(dtype, "+SMTP", sizeof dtype);
|
(void) sm_strlcat(dtype, "+SMTP", sizeof dtype);
|
||||||
|
DaemonPid = CurrentPid;
|
||||||
|
}
|
||||||
if (QueueIntvl > 0)
|
if (QueueIntvl > 0)
|
||||||
{
|
{
|
||||||
(void) sm_strlcat2(dtype,
|
(void) sm_strlcat2(dtype,
|
||||||
@ -2903,6 +2908,9 @@ finis(drop, cleanup, exitstat)
|
|||||||
dropenvelope(CurEnv, true, false);
|
dropenvelope(CurEnv, true, false);
|
||||||
sm_rpool_free(CurEnv->e_rpool);
|
sm_rpool_free(CurEnv->e_rpool);
|
||||||
CurEnv->e_rpool = NULL;
|
CurEnv->e_rpool = NULL;
|
||||||
|
|
||||||
|
/* this may have pointed to the rpool */
|
||||||
|
CurEnv->e_to = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
poststats(StatFile);
|
poststats(StatFile);
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#include <sendmail.h>
|
#include <sendmail.h>
|
||||||
#include <sm/sem.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>
|
#include <dirent.h>
|
||||||
|
|
||||||
@ -2646,6 +2646,7 @@ gatherq(qgrp, qdir, doall, full, more)
|
|||||||
/* avoid work if possible */
|
/* avoid work if possible */
|
||||||
if ((QueueSortOrder == QSO_BYFILENAME ||
|
if ((QueueSortOrder == QSO_BYFILENAME ||
|
||||||
QueueSortOrder == QSO_BYMODTIME ||
|
QueueSortOrder == QSO_BYMODTIME ||
|
||||||
|
QueueSortOrder == QSO_NONE ||
|
||||||
QueueSortOrder == QSO_RANDOM) &&
|
QueueSortOrder == QSO_RANDOM) &&
|
||||||
QueueLimitQuarantine == NULL &&
|
QueueLimitQuarantine == NULL &&
|
||||||
QueueLimitSender == NULL &&
|
QueueLimitSender == NULL &&
|
||||||
@ -6312,7 +6313,19 @@ filesys_find(name, path, add)
|
|||||||
for (i = 0; i < NumFileSys; ++i)
|
for (i = 0; i < NumFileSys; ++i)
|
||||||
{
|
{
|
||||||
if (FILE_SYS_DEV(i) == st.st_dev)
|
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;
|
return i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (i >= MAXFILESYS)
|
if (i >= MAXFILESYS)
|
||||||
{
|
{
|
||||||
@ -6406,8 +6419,7 @@ filesys_update()
|
|||||||
static time_t nextupdate = 0;
|
static time_t nextupdate = 0;
|
||||||
|
|
||||||
#if SM_CONF_SHM
|
#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;
|
return;
|
||||||
#endif /* SM_CONF_SHM */
|
#endif /* SM_CONF_SHM */
|
||||||
now = curtime();
|
now = curtime();
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
# include <libmilter/mfdef.h>
|
# include <libmilter/mfdef.h>
|
||||||
#endif /* MILTER */
|
#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/time.h>
|
||||||
#include <sm/fdset.h>
|
#include <sm/fdset.h>
|
||||||
@ -851,8 +851,9 @@ smtp(nullserver, d_flags, e)
|
|||||||
char state;
|
char state;
|
||||||
char *response;
|
char *response;
|
||||||
|
|
||||||
response = milter_connect(peerhostname, RealHostAddr,
|
q = macvalue(macid("{client_name}"), e);
|
||||||
e, &state);
|
SM_ASSERT(q != NULL);
|
||||||
|
response = milter_connect(q, RealHostAddr, e, &state);
|
||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
case SMFIR_REPLYCODE: /* REPLYCODE shouldn't happen */
|
case SMFIR_REPLYCODE: /* REPLYCODE shouldn't happen */
|
||||||
|
@ -13,6 +13,6 @@
|
|||||||
|
|
||||||
#include <sm/gen.h>
|
#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";
|
||||||
|
Loading…
Reference in New Issue
Block a user