This commit was generated by cvs2svn to compensate for changes in r111823,

which included commits to RCS files with non-trunk default branches.
This commit is contained in:
Gregory Neil Shapiro 2003-03-03 17:09:13 +00:00
commit bdf8df5292
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=111824
27 changed files with 264 additions and 121 deletions

View File

@ -3,6 +3,7 @@ sendmail. You can add them to your PGP keyring using:
PGP 2.X: pgp -ka PGPKEYS
PGP 5.X: pgpk -a PGPKEYS
GPG: gpg --import PGPKEYS
Other versions of PGP may require you to separate each key into a
separate file and add them one at a time.
@ -87,6 +88,53 @@ y+PVZ1MwnEXfTQReVSla0AAOIRirHEh4YnUVZzFSNEJqoDRZQwVd7Q==
=shxn
-----END PGP PUBLIC KEY BLOCK-----
Type Bits KeyID Created Expires Algorithm Use
pub 1024 0x396F0789 2003-01-15 ---------- RSA Sign & Encrypt
Key fingerprint = C4 73 DF 4A 97 9C 27 A9 EE 4F B2 BD 55 B5 E0 0F
uid Sendmail Signing Key/2003 <sendmail@Sendmail.ORG>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.1 (FreeBSD)
mQCNAz4ktksAAAEEAM9Vrk1RpJV8oPwEUPPbqUY14VYc/LY5JQYV8ZU704C4c65D
L7VRxnO1U2FcJsd8IXz0Dd8xf5r5x3HMj00zEYe4x89gUEBW8bUODL3oH5Ww9064
2Cxlq7qK3nNPtct4QrXTadg378CJrsgVQ3V/L1Zaj1Tt7J2PByGD4bE5bweJAAUT
tDFTZW5kbWFpbCBTaWduaW5nIEtleS8yMDAzIDxzZW5kbWFpbEBTZW5kbWFpbC5P
Ukc+iQCVAwUQPiS2SyGD4bE5bweJAQHbfAQAixSSHRd464OikvI7cPBkCVG7v/jo
n3/jc3fbOD3Y2jO+1L5K7SswDh2DwHfSx1BiUvhJutQPLbHv0SmrJwPQwR/DTi2e
PQV0dCx1rv+ztRjXaE7tLA5XsS8RTiBXfQRNamxUqPVA1hCAl6ulBbZ+uIGG8F6H
LgRV8jvNqjDxcKyJAJUDBRM+JLd071iWZNQy4Z0BATagBACq7IebGrBRDJtwPcps
O2K9eb1PPkMg57MYE5OmnNgMnMtVWBnMz+V+7Dg+72Hh+B8AL+0tRLNFxCWCr8Q0
iW08kzgKA891NyZcvGyYCGr1vbaxGpHcb8wdgLE/2nu5E5poksA1x+Bo+ojJga17
r5XKiOoSIR3ubyAtm4PrXlo14okAlQMFEz4kt8bBnB0lEtNGHQEBa6oEALajY9IY
M8zZkuuGNvZvjYKX1wt+TQwobFPOucx8RPT2NENF2jg+tstaansWBEXtFBbJO4Pw
MkbGrSirdUMjy20SZKZV9SbVUtT3JbZjrD844N7emc97DNZNd5p52FjSX3518U8A
e8p0K8+L4/o/P0UnEJodz+u6gTDPSlPJwJamiQCVAwUTPiS37m9Sk9ijm6ZVAQH4
mAP/ZccU08EeDnjwGXAIYXNRTxxdfmlyR1GvCinrDrKBfdoNSzzHkwHIwWsXuMkg
mEcGeXNlXxBsEJTiBuXbKOyxnjMhxBX02mFgMNyYjcy9Vu7+zXiJSUgSAVlwontm
083bNqH1yoE+fwF9xWQX3UVMvkQXS1yAKuE457GvflnEkjGJAJUDBRM+JLgFnBy9
4uNcVjUBAfSZBACZAHhb+RCbihhAvk5LMgNznUkKEU+p002FQpk5+hMSDI+nVwTK
D/2XdZe1P6hrKxJGWXjp0BXmZAonZB15b8DgdLDyCqTv+RLVPKTnpj+sGsBaq972
ZU4CiWVeXzxUoqV81lrHrox1kdgJ1vZ6015Xhnk8WdHrFGmB6s/l9ixTqYkAlQMF
Ez4kuA44IttHzDdPLQEBsbsD/iKHrN0wAUWjxEMWvuH4KhtBgJc2D6B+tU1iMaVc
Fx9rKPMAgNrufOwMyFd/QaRHwQHPZx64FDlmyUEMiTw3VDNkPuqqjKJ+Cp8Bbzyt
Xgqnlqv3b2UhVB6hZhiMZAhlR/EqBNdEY6nYy2t8YS9zX0O6tjY+0bNU5uadXkYr
7D3YiQCVAwUTPiS4GolpYrhnjAoDAQEstQP8C4jFy6PVU9Hu71pVQJ6BemCi2c4M
WzktX//DPcJOR/rVyDAdxqTMnq8BRRDGwoNgcd3RYEhXriVWxlIqioSVgRPQHRxS
lLk11k0Hdt0W485XxXDU/1omxdeHWo+tNU0XBNEW3yn5h8SQLpla2ZpBxspKpiMa
TrlBLymoNi8MzruJAJUDBRM+JLgkfEtnbaAOFWMBATxFA/9XNnyggYxIsdfO2Q2s
Ea3/G/qLuq6Yh3xFE3dWdWiAglXrrqRaDN07UPI1gSOX+ZLxwxhsBQg0l6+gNQ/A
RYKzO8e9mHaNSJBHTeb+j/6+ku8KNeAa6RBkWDi0OgMl1uVzc+Mmc08huOS78UJI
c76tDuFvf86HlIEXLHeKE9xwwIkAlQMFEz4kuD7AKcpAFvTM6QEBAlYEAJ17jgMR
241DJIiYRp/VSEBOHb6YMqQCX5MQy2nFlg54Sv6cnEbbBh75McM3t11q10pBHqZH
8Tld6RQIXwmtSRxmORxpitPDl2L5IybqpBj1TzdxwPC6CL4dGJLTDAp3+U9OLdvG
12GCKplT9viigapaOUdjG188rAYH8yExwNv8iQCVAwUTPiS4ldbgof5PvirdAQF9
PgP8DrP0iuPCCK09P56ICm6zydYZ3WbU75zquW501Q55Q/GHWyDXS68YlJr5LyBG
vZqVhxjmtSqM2T0Rmsg/xz443kEwvu5AYRZNIdOwCAuU6hnZJGPIWqZ+e6oAFQK3
yA0WPZiRKE5lciWqgWlan38jN/JkzwOeUsExJjRmj2AF7cI=
=lYWm
-----END PGP PUBLIC KEY BLOCK-----
Type Bits KeyID Created Expires Algorithm Use
sec+ 1024 0x678C0A03 2001-12-18 ---------- RSA Sign & Encrypt
f16 Fingerprint16 = 7B 02 F4 AA FC C0 22 DA 47 3E 2A 9A 9B 35 22 45
@ -904,4 +952,4 @@ SIXqPke2iCW6+zdG1T/gS5T9T9/Lf2c9FQf0FjURAi3ynDA2RBLA5FDsI8v3
=dbDm
-----END PGP PUBLIC KEY BLOCK-----
$Revision: 8.13 $, Last updated $Date: 2001/12/19 19:10:01 $
$Revision: 8.13.2.2 $, Last updated $Date: 2003/01/15 01:55:04 $

View File

@ -1,11 +1,31 @@
SENDMAIL RELEASE NOTES
$Id: RELEASE_NOTES,v 8.1340.2.100 2002/12/28 19:47:00 ca Exp $
$Id: RELEASE_NOTES,v 8.1340.2.113 2003/02/11 19:17:41 gshapiro 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.12.8/8.12.8 2003/02/11
SECURITY: Fix a remote buffer overflow in header parsing by
dropping sender and recipient header comments if the
comments are too long. Problem noted by Mark Dowd
of ISS X-Force.
Fix a potential non-exploitable buffer overflow in parsing the
.cf queue settings and potential buffer underflow in
parsing ident responses. Problem noted by Yichen Xie of
Stanford University Compilation Group.
Fix ETRN #queuegroup command: actually start a queue run for
the selected queue group. Problem noted by Jos Vos.
If MaxMimeHeaderLength is set and a malformed MIME header is fixed,
log the fixup as "Fixed MIME header" instead of "Truncated
MIME header". Problem noted by Ian J Hart.
CONFIG: Fix regression bug in proto.m4 that caused a bogus
error message: "FEATURE() should be before MAILER()".
MAIL.LOCAL: Be more explicit in some error cases, i.e., whether
a mailbox has more than one link or whether it is not
a regular file. Patch from John Beck of Sun Microsystems.
8.12.7/8.12.7 2002/12/29
Properly clean up macros to avoid persistence of session data
across various connections. This could cause session
@ -60,7 +80,7 @@ summary of the changes in that release.
If -f "" is specified, set the sender address to "<>". Problem
noted by Matthias Andree.
Fix formatting problem of footnotes for plain text output on some
versions of tmac. Patch from Per Hedeland of Ericsson.
versions of tmac. Patch from Per Hedeland.
Portability:
Berkeley DB 4.1 support (requires at least 4.1.25).
Some getopt(3) implementations in GNU/Linux are broken

View File

@ -630,8 +630,8 @@ procmail An interface to procmail (does not come with sendmail).
! -oi -f $1 person@other.host
This would arrange for (anything)@host.com to be sent
to person@other.host. Within the procmail script, $1 is
the name of the sender and $2 is the name of the recipient.
to person@other.host. In a procmail script, $1 is the
name of the sender and $2 is the name of the recipient.
If you use this with FEATURE(`local_procmail'), the FEATURE
should be listed first.
@ -1256,7 +1256,13 @@ dnsbl Turns on rejection of hosts found in an DNS based rejection
define(`DNSBL_MAP', `dns -R A')
before the first use of this feature. Alternatively you
can use enhdnsbl instead (see below).
can use enhdnsbl instead (see below). Moreover, this
statement can be used to reduce the number of DNS retries,
e.g.,
define(`DNSBL_MAP', `dns -R A -r2')
See below (EDNSBL_TO) for an explanation.
NOTE: The default DNS blacklist, blackholes.mail-abuse.org,
is a service offered by the Mail Abuse Prevention System
@ -1285,7 +1291,13 @@ enhdnsbl Enhanced version of dnsbl (see above). Further arguments
has been compiled with the flag DNSMAP (see sendmail/README).
Set the EDNSBL_TO mc option to change the DNS retry count
from the default value of 5.
from the default value of 5, this can be very useful when
a DNS server is not responding, which in turn may cause
clients to time out (an entry stating
did not issue MAIL/EXPN/VRFY/ETRN
will be logged).
lookupdotdomain Look up also .domain in the access map. This allows to
match only subdomains. It does not work well with
@ -2975,7 +2987,10 @@ by the ruleset authinfo or by the option DefaultAuthInfo. The
authinfo ruleset looks up {server_name} using the tag AuthInfo: in
the access map. If no entry is found, {server_addr} is looked up
in the same way and finally just the tag AuthInfo: to provide
default values.
default values. Note: searches for domain parts or IP nets are
only performed if the access map is used; if the authinfo feature
is used then only up to three lookups are performed (two exact
matches, one default).
Notice: the default configuration file causes the option DefaultAuthInfo
to fail since the ruleset authinfo is in the .cf file. If you really
@ -2997,9 +3012,9 @@ Valid values for the tag are:
Example entries are:
AuthInfo:other.dom "U:user" "I:user" "P:secret" "R:other.dom" "M:DIGEST-MD5"
AuthInfo:more.dom "U:user" "P=c2VjcmV0"
AuthInfo:host.more.dom "U:user" "P=c2VjcmV0"
User or authentication id must exist as well as the password. All
User id or authentication id must exist as well as the password. All
other entries have default values. If one of user or authentication
id is missing, the existing value is used for the missing item.
If "R:" is not specified, realm defaults to $j. The list of mechanisms
@ -4360,4 +4375,4 @@ M4 DIVERSIONS
8 DNS based blacklists
9 special local rulesets (1 and 2)
$Revision: 8.623.2.18 $, Last updated $Date: 2002/12/29 04:16:51 $
$Revision: 8.623.2.21 $, Last updated $Date: 2003/01/17 00:36:57 $

View File

@ -32,7 +32,7 @@
##### $Id: no_default_msa.m4,v 8.2 2001/02/14 05:03:22 gshapiro Exp $ #####
##### $Id: proto.m4,v 8.649.2.13 2002/12/04 00:12:18 ca Exp $ #####
##### $Id: proto.m4,v 8.649.2.14 2002/12/30 15:46:02 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -110,7 +110,7 @@ D{MTAHost}[127.0.0.1]
# Configuration version number
DZ8.12.7/Submit
DZ8.12.8/Submit
###############

View File

@ -1,6 +1,6 @@
divert(-1)
#
# Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
# Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
# All rights reserved.
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
@ -11,8 +11,8 @@ divert(-1)
# the sendmail distribution.
#
#
VERSIONID(`$Id: version.m4,v 8.92.2.11 2002/12/28 19:45:55 ca Exp $')
VERSIONID(`$Id: version.m4,v 8.92.2.14 2003/01/15 17:55:43 ca Exp $')
#
divert(0)
# Configuration version number
DZ8.12.7`'ifdef(`confCF_VERSION', `/confCF_VERSION')
DZ8.12.8`'ifdef(`confCF_VERSION', `/confCF_VERSION')

View File

@ -1,4 +1,4 @@
.\" Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
.\" Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
.\" All rights reserved.
.\" Copyright (c) 1983, 1995 Eric P. Allman. All rights reserved.
.\" Copyright (c) 1983, 1993
@ -9,7 +9,7 @@
.\" the sendmail distribution.
.\"
.\"
.\" $Id: op.me,v 8.609.2.17 2002/12/18 22:50:15 ca Exp $
.\" $Id: op.me,v 8.609.2.20 2003/01/15 19:17:16 ca Exp $
.\"
.\" eqn op.me | pic | troff -me
.\"
@ -90,7 +90,7 @@ Sendmail, Inc.
.de Ve
Version \\$2
..
.Ve $Revision: 8.609.2.17 $
.Ve $Revision: 8.609.2.20 $
.rm Ve
.sp
For Sendmail Version 8.12
@ -6819,6 +6819,10 @@ Note that the last mode,
.q e ,
is for Berknet error processing and
should not be used in normal circumstances.
Note, too, that mode
.q q ,
only applies to errors recognized before sendmail forks for
background delivery.
.ip FallbackMXhost=\fIfallbackhost\fP
[V]
If specified, the
@ -6880,9 +6884,6 @@ If no file name is specified, "helpfile" is used.
[c]
If an outgoing mailer is marked as being expensive,
don't connect immediately.
This requires that queueing be compiled in,
since it will depend on a queue run process to
actually send the mail.
.ip HostsFile=\fIpath\fP
[no short name]
The path to the hosts database,
@ -10754,7 +10755,7 @@ replace it with a blank sheet for double-sided output.
.\".sz 10
.\"Eric Allman
.\".sp
.\"Version $Revision: 8.609.2.17 $
.\"Version $Revision: 8.609.2.20 $
.\".ce 0
.bp 3
.ce

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1999-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@ -9,16 +9,11 @@
*/
#include <sm/gen.h>
SM_RCSID("@(#)$Id: comm.c,v 8.54.2.4 2002/12/03 17:32:45 ca Exp $")
SM_RCSID("@(#)$Id: comm.c,v 8.54.2.6 2003/01/03 22:14:40 ca Exp $")
#include "libmilter.h"
#include <sm/errstring.h>
#define FD_Z FD_ZERO(&readset); \
FD_SET((unsigned int) sd, &readset); \
FD_ZERO(&excset); \
FD_SET((unsigned int) sd, &excset)
/*
** MI_RD_CMD -- read a command
**
@ -46,7 +41,7 @@ mi_rd_cmd(sd, timeout, cmd, rlen, name)
ssize_t len;
mi_int32 expl;
ssize_t i;
fd_set readset, excset;
FD_RD_VAR(rds, excs);
int ret;
int save_errno;
char *buf;
@ -58,8 +53,8 @@ mi_rd_cmd(sd, timeout, cmd, rlen, name)
i = 0;
for (;;)
{
FD_Z;
ret = select(sd + 1, &readset, NULL, &excset, timeout);
FD_RD_INIT(sd, rds, excs);
ret = FD_RD_READY(sd, rds, excs, timeout);
if (ret == 0)
break;
else if (ret < 0)
@ -68,7 +63,7 @@ mi_rd_cmd(sd, timeout, cmd, rlen, name)
continue;
break;
}
if (FD_ISSET(sd, &excset))
if (FD_IS_RD_EXC(sd, rds, excs))
{
*cmd = SMFIC_SELECT;
return NULL;
@ -131,8 +126,8 @@ mi_rd_cmd(sd, timeout, cmd, rlen, name)
i = 0;
for (;;)
{
FD_Z;
ret = select(sd + 1, &readset, NULL, &excset, timeout);
FD_RD_INIT(sd, rds, excs);
ret = FD_RD_READY(sd, rds, excs, timeout);
if (ret == 0)
break;
else if (ret < 0)
@ -141,7 +136,7 @@ mi_rd_cmd(sd, timeout, cmd, rlen, name)
continue;
break;
}
if (FD_ISSET(sd, &excset))
if (FD_IS_RD_EXC(sd, rds, excs))
{
*cmd = SMFIC_SELECT;
free(buf);
@ -223,9 +218,8 @@ mi_rd_cmd(sd, timeout, cmd, rlen, name)
#define MI_WR(data) \
while (sl > 0) \
{ \
FD_ZERO(&wrtset); \
FD_SET((unsigned int) sd, &wrtset); \
ret = select(sd + 1, NULL, &wrtset, NULL, timeout); \
FD_WR_INIT(sd, wrs); \
ret = FD_WR_READY(sd, wrs, timeout); \
if (ret == 0) \
return MI_FAILURE; \
if (ret < 0) \
@ -259,7 +253,7 @@ mi_wr_cmd(sd, timeout, cmd, buf, len)
ssize_t l;
mi_int32 nl;
int ret;
fd_set wrtset;
FD_WR_VAR(wrs);
char data[MILTER_LEN_BYTES + 1];
if (len > MILTER_CHUNK_SIZE)

View File

@ -23,7 +23,8 @@ Set the default SMTP error reply code.
<table border="1" cellspacing=1 cellpadding=4>
<tr align="left" valign=top>
<th width="80">Called When</th>
<td>smfi_setreply may be called from any of the xxfi_ callbacks.</td>
<td>smfi_setreply may be called from any of the xxfi_ callbacks
other than xxfi_connect.</td>
</tr>
<tr align="left" valign=top>
<th width="80">Effects</th>

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1999-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@ -9,7 +9,7 @@
*/
#include <sm/gen.h>
SM_RCSID("@(#)$Id: handler.c,v 8.30.2.2 2002/12/18 23:15:35 ca Exp $")
SM_RCSID("@(#)$Id: handler.c,v 8.30.2.4 2003/01/23 22:28:36 ca Exp $")
#include "libmilter.h"

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1999-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@ -19,7 +19,7 @@
#ifdef _DEFINE
# define EXTERN
# define INIT(x) = x
SM_IDSTR(MilterlId, "@(#)$Id: libmilter.h,v 8.33.2.7 2002/12/18 23:15:35 ca Exp $")
SM_IDSTR(MilterlId, "@(#)$Id: libmilter.h,v 8.33.2.9 2003/01/03 22:14:40 ca Exp $")
#else /* _DEFINE */
# define EXTERN extern
# define INIT(x)
@ -49,6 +49,72 @@ typedef pthread_mutex_t smutex_t;
# define smutex_unlock(mp) (pthread_mutex_unlock(mp) == 0)
# define smutex_trylock(mp) (pthread_mutex_trylock(mp) == 0)
#if _FFR_USE_POLL
# include <poll.h>
# define MI_POLLSELECT "poll"
# define MI_POLL_RD_FLAGS (POLLIN | POLLPRI)
# define MI_POLL_WR_FLAGS (POLLOUT)
# define MI_MS(timeout) (((timeout)->tv_sec * 1000) + (timeout)->tv_usec)
# define FD_RD_VAR(rds, excs) struct pollfd rds
# define FD_WR_VAR(wrs) struct pollfd wrs
# define FD_RD_INIT(sd, rds, excs) \
(rds).fd = (sd); \
(rds).events = MI_POLL_RD_FLAGS; \
(rds).revents = 0
# define FD_WR_INIT(sd, wrs) \
(wrs).fd = (sd); \
(wrs).events = MI_POLL_WR_FLAGS; \
(wrs).revents = 0
# define FD_IS_RD_EXC(sd, rds, excs) \
(((rds).revents & (POLLERR | POLLHUP | POLLNVAL)) != 0)
# define FD_IS_WR_RDY(sd, wrs) \
(((wrs).revents & MI_POLL_WR_FLAGS) != 0)
# define FD_IS_RD_RDY(sd, rds, excs) \
(((rds).revents & MI_POLL_RD_FLAGS) != 0)
# define FD_WR_READY(sd, excs, timeout) \
poll(&(wrs), 1, MI_MS(timeout))
# define FD_RD_READY(sd, rds, excs, timeout) \
poll(&(rds), 1, MI_MS(timeout))
#else /* _FFR_USE_POLL */
# include <sm/fdset.h>
# define MI_POLLSELECT "select"
# define FD_RD_VAR(rds, excs) fd_set rds, excs
# define FD_WR_VAR(wrs) fd_set wrs
# define FD_RD_INIT(sd, rds, excs) \
FD_ZERO(&(rds)); \
FD_SET((unsigned int) (sd), &(rds)); \
FD_ZERO(&(excs)); \
FD_SET((unsigned int) (sd), &(excs))
# define FD_WR_INIT(sd, wrs) \
FD_ZERO(&(wrs)); \
FD_SET((unsigned int) (sd), &(wrs)); \
# define FD_IS_RD_EXC(sd, rds, excs) FD_ISSET(sd, &(excs))
# define FD_IS_WR_RDY(sd, wrs) FD_ISSET((sd), &(wrs))
# define FD_IS_RD_RDY(sd, rds, excs) FD_ISSET((sd), &(rds))
# define FD_WR_READY(sd, wrs, timeout) \
select((sd) + 1, NULL, &(wrs), NULL, (timeout))
# define FD_RD_READY(sd, rds, excs, timeout) \
select((sd) + 1, &(rds), NULL, &(excs), (timeout))
#endif /* _FFR_USE_POLL */
#include <sys/time.h>
/* version info */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1999-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@ -9,7 +9,7 @@
*/
#include <sm/gen.h>
SM_RCSID("@(#)$Id: listener.c,v 8.85.2.7 2002/12/10 04:02:25 ca Exp $")
SM_RCSID("@(#)$Id: listener.c,v 8.85.2.9 2003/01/03 22:14:40 ca Exp $")
/*
** listener.c -- threaded network listener
@ -17,7 +17,6 @@ SM_RCSID("@(#)$Id: listener.c,v 8.85.2.7 2002/12/10 04:02:25 ca Exp $")
#include "libmilter.h"
#include <sm/errstring.h>
#include <sm/fdset.h>
# if NETINET || NETINET6
@ -74,6 +73,7 @@ mi_opensocket(conn, backlog, dbg, smfi)
(void) smutex_unlock(&L_Mutex);
return MI_FAILURE;
}
#if !_FFR_USE_POLL
if (!SM_FD_OK_SELECT(listenfd))
{
smi_log(SMI_LOG_ERR, "%s: fd %d is larger than FD_SETSIZE %d",
@ -81,6 +81,7 @@ mi_opensocket(conn, backlog, dbg, smfi)
(void) smutex_unlock(&L_Mutex);
return MI_FAILURE;
}
#endif /* !_FFR_USE_POLL */
return MI_SUCCESS;
}
@ -669,7 +670,7 @@ mi_listener(conn, dbg, smfi, timeout, backlog)
_SOCK_ADDR cliaddr;
SOCKADDR_LEN_T clilen;
SMFICTX_PTR ctx;
fd_set readset, excset;
FD_RD_VAR(rds, excs);
struct timeval chktime;
if (mi_opensocket(conn, backlog, dbg, smfi) == MI_FAILURE)
@ -687,13 +688,10 @@ mi_listener(conn, dbg, smfi, timeout, backlog)
}
/* select on interface ports */
FD_ZERO(&readset);
FD_ZERO(&excset);
FD_SET((unsigned int) listenfd, &readset);
FD_SET((unsigned int) listenfd, &excset);
FD_RD_INIT(listenfd, rds, excs);
chktime.tv_sec = MI_CHK_TIME;
chktime.tv_usec = 0;
r = select(listenfd + 1, &readset, NULL, &excset, &chktime);
r = FD_RD_READY(listenfd, rds, excs, &chktime);
if (r == 0) /* timeout */
{
(void) smutex_unlock(&L_Mutex);
@ -718,14 +716,14 @@ mi_listener(conn, dbg, smfi, timeout, backlog)
}
continue;
}
if (!FD_ISSET(listenfd, &readset))
if (!FD_IS_RD_RDY(listenfd, rds, excs))
{
/* some error: just stop for now... */
ret = MI_FAILURE;
(void) smutex_unlock(&L_Mutex);
smi_log(SMI_LOG_ERR,
"%s: select() returned exception for socket, abort",
smfi->xxfi_name);
"%s: %s() returned exception for socket, abort",
smfi->xxfi_name, MI_POLLSELECT);
break;
}
scnt = 0; /* reset error counter for select() */
@ -754,6 +752,7 @@ mi_listener(conn, dbg, smfi, timeout, backlog)
save_errno = EINVAL;
}
#if !_FFR_USE_POLL
/* check if acceptable for select() */
if (ValidSocket(connfd) && !SM_FD_OK_SELECT(connfd))
{
@ -761,6 +760,7 @@ mi_listener(conn, dbg, smfi, timeout, backlog)
connfd = INVALID_SOCKET;
save_errno = ERANGE;
}
#endif /* !_FFR_USE_POLL */
if (!ValidSocket(connfd))
{

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1999-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@ -9,7 +9,7 @@
*/
#include <sm/gen.h>
SM_RCSID("@(#)$Id: main.c,v 8.64.2.8 2002/12/18 23:13:45 ca Exp $")
SM_RCSID("@(#)$Id: main.c,v 8.64.2.10 2003/01/23 22:34:24 ca Exp $")
#define _DEFINE 1
#include "libmilter.h"

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2000-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 2000-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1990, 1993
* The Regents of the University of California. All rights reserved.
@ -13,7 +13,7 @@
*/
#include <sm/gen.h>
SM_RCSID("@(#)$Id: stdio.c,v 1.56.2.3 2002/10/22 23:07:19 ca Exp $")
SM_RCSID("@(#)$Id: stdio.c,v 1.56.2.10 2003/01/10 23:07:17 ca Exp $")
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>

View File

@ -1,5 +1,5 @@
/*
** Copyright (c) 1999-2002 Sendmail, Inc. and its suppliers.
** Copyright (c) 1999-2003 Sendmail, Inc. and its suppliers.
** All rights reserved.
**
** By using this file, you agree to the terms and conditions set
@ -8,7 +8,7 @@
*/
#include <sm/gen.h>
SM_RCSID("@(#)$Id: smdb2.c,v 8.72.2.4 2002/12/03 17:01:15 ca Exp $")
SM_RCSID("@(#)$Id: smdb2.c,v 8.72.2.6 2003/01/23 22:21:39 ca Exp $")
#include <fcntl.h>
#include <stdlib.h>

View File

@ -1,4 +1,4 @@
# Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
# Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
# All rights reserved.
# Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
# Copyright (c) 1988
@ -9,7 +9,7 @@
# the sendmail distribution.
#
#
# $Id: README,v 8.355.2.11 2002/12/18 17:15:46 ca Exp $
# $Id: README,v 8.355.2.13 2003/01/15 19:17:15 ca Exp $
#
This directory contains the source files for sendmail(TM).
@ -291,7 +291,8 @@ SM_CONF_GETOPT Define this as 0 if you need a reimplementation of getopt(3).
On some systems, getopt does very odd things if called
to scan the arguments twice. This flag will ask sendmail
to compile in a local version of getopt that works
properly.
properly. You may also need this if you build with
another library that introduces a non-standard getopt(3).
NEEDSTRTOL Define this if your standard C library does not define
strtol(3). This will compile in a local version.
NEEDFSYNC Define this if your standard C library does not define
@ -1793,4 +1794,4 @@ util.c Some general purpose routines used by sendmail.
version.c The version number and information about this
version of sendmail.
(Version $Revision: 8.355.2.11 $, last update $Date: 2002/12/18 17:15:46 $ )
(Version $Revision: 8.355.2.13 $, last update $Date: 2003/01/15 19:17:15 $ )

View File

@ -1,11 +1,11 @@
# Copyright (c) 2001-2002 Sendmail, Inc. and its suppliers.
# Copyright (c) 2001-2003 Sendmail, Inc. and its suppliers.
# 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.
#
# $Id: TUNING,v 1.18 2002/03/03 03:38:21 ca Exp $
# $Id: TUNING,v 1.18.4.1 2003/02/07 18:19:51 ca Exp $
#
********************************************
@ -159,7 +159,6 @@ QUEUE_GROUP(`one', `P=/var/spool/mqueue/one, F=f, r=50, R=3')dnl
QUEUE_GROUP(`two', `P=/var/spool/mqueue/two, F=f, r=30, R=4')dnl
QUEUE_GROUP(`remote', `P=/var/spool/mqueue/remote, F=f, r=5, R=8, I=2m')dnl
define(`ESMTP_MAILER_QGRP', `remote')dnl
define(`confSPLIT_ACROSS_QUEUEGROUPS', `True')dnl
define(`confDELIVERY_MODE', `q')dnl
define(`confMAX_QUEUE_CHILDREN', `50')dnl
define(`confMIN_QUEUE_AGE', `27m')dnl

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -13,7 +13,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: daemon.c,v 8.613.2.11 2002/12/05 16:13:52 ca Exp $")
SM_RCSID("@(#)$Id: daemon.c,v 8.613.2.14 2003/02/11 17:17:22 ca Exp $")
#if defined(SOCK_STREAM) || defined(__GNU_LIBRARY__)
# define USE_SOCK_STREAM 1
@ -3518,7 +3518,7 @@ getauthinfo(fd, may_be_forged)
if (i < 0 || p == &ibuf[0])
goto noident;
if (*--p == '\n' && *--p == '\r')
if (p >= &ibuf[2] && *--p == '\n' && *--p == '\r')
p--;
*++p = '\0';

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -14,7 +14,7 @@
#include <sendmail.h>
#include <sys/time.h>
SM_RCSID("@(#)$Id: deliver.c,v 8.940.2.10 2002/12/12 22:46:34 ca Exp $")
SM_RCSID("@(#)$Id: deliver.c,v 8.940.2.15 2003/02/07 17:57:43 ca Exp $")
#if HASSETUSERCONTEXT
# include <login_cap.h>
@ -6124,8 +6124,8 @@ starttls(m, mci, e)
if (LogLevel > 5)
{
sm_syslog(LOG_ERR, e->e_id,
"STARTTLS=client, error: connect failed=%d, SSL_error=%d, timedout=%d",
result, i, (int) timedout);
"STARTTLS=client, error: connect failed=%d, SSL_error=%d, timedout=%d, errno=%d",
result, i, (int) timedout, errno);
if (LogLevel > 8)
tlslogerr("client");
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1986, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -14,9 +14,9 @@
#include <sendmail.h>
#if NAMED_BIND
SM_RCSID("@(#)$Id: domain.c,v 8.181.2.1 2002/06/27 16:55:04 ca Exp $ (with name server)")
SM_RCSID("@(#)$Id: domain.c,v 8.181.2.6 2003/01/15 19:17:15 ca Exp $ (with name server)")
#else /* NAMED_BIND */
SM_RCSID("@(#)$Id: domain.c,v 8.181.2.1 2002/06/27 16:55:04 ca Exp $ (without name server)")
SM_RCSID("@(#)$Id: domain.c,v 8.181.2.6 2003/01/15 19:17:15 ca Exp $ (without name server)")
#endif /* NAMED_BIND */
#if NAMED_BIND

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -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.887.2.12 2002/12/05 17:38:44 ca Exp $")
SM_RCSID("@(#)$Id: main.c,v 8.887.2.20 2003/02/07 17:57:44 ca Exp $")
#if NETINET || NETINET6
@ -77,7 +77,7 @@ static SIGFUNC_DECL sigusr1 __P((int));
** UCB/Mammoth Project (10/89 - 7/95).
** InReference, Inc. (8/95 - 1/97).
** Sendmail, Inc. (1/98 - present).
** The support of the my employers is gratefully acknowledged.
** The support of my employers is gratefully acknowledged.
** Few of them (Britton-Lee in particular) have had
** anything to gain from my involvement in this project.
**
@ -4241,7 +4241,7 @@ testmodeline(line, e)
"Usage: /parse address\n");
return;
}
q = crackaddr(p);
q = crackaddr(p, e);
(void) sm_io_fprintf(smioout, SM_TIME_DEFAULT,
"Cracked address = ");
xputs(q);

View File

@ -10,7 +10,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: milter.c,v 8.197.2.5 2002/11/11 23:22:28 ca Exp $")
SM_RCSID("@(#)$Id: milter.c,v 8.197.2.6 2002/12/30 05:54:00 ca Exp $")
#if MILTER
# include <libmilter/mfapi.h>
@ -549,7 +549,7 @@ milter_write(m, cmd, buf, len, to, e)
** e -- current envelope.
**
** Returns:
** connected socket if sucessful && !parseonly,
** connected socket if successful && !parseonly,
** 0 upon parse success if parseonly,
** -1 otherwise.
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -13,7 +13,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: parseaddr.c,v 8.359.2.3 2002/09/26 23:03:39 gshapiro Exp $")
SM_RCSID("@(#)$Id: parseaddr.c,v 8.359.2.4 2003/01/18 00:41:48 gshapiro Exp $")
static void allocaddr __P((ADDRESS *, int, char *, ENVELOPE *));
static int callsubr __P((char**, int, ENVELOPE *));
@ -2509,7 +2509,7 @@ remotename(name, m, flags, pstat, e)
if (bitset(RF_CANONICAL, flags) || bitnset(M_NOCOMMENT, m->m_flags))
fancy = "\201g";
else
fancy = crackaddr(name);
fancy = crackaddr(name, e);
/*
** Turn the name into canonical form.

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -13,14 +13,10 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: queue.c,v 8.863.2.22 2002/12/19 18:00:39 ca Exp $")
SM_RCSID("@(#)$Id: queue.c,v 8.863.2.28 2003/02/11 17:17:22 ca Exp $")
#include <dirent.h>
#if SM_CONF_SHM
# include <sm/shm.h>
#endif /* SM_CONF_SHM */
# define RELEASE_QUEUE (void) 0
# define ST_INODE(st) (st).st_ino
@ -77,7 +73,7 @@ static int NumWorkGroups; /* number of work groups */
** Notice: DoQueueRun is modified in a signal handler!
*/
static bool volatile DoQueueRun; /* non-interrupt time queue run needed */
static bool volatile DoQueueRun; /* non-interrupt time queue run needed */
/*
** Work group definition structure.
@ -1691,7 +1687,7 @@ runner_work(e, sequenceno, didfork, skip, njobs)
w->w_name + 2);
(void) dowork(w->w_qgrp, w->w_qdir, w->w_name + 2,
ForkQueueRuns , false, e);
ForkQueueRuns, false, e);
errno = 0;
}
sm_free(w->w_name); /* XXX */
@ -3446,7 +3442,6 @@ dowork(qgrp, qdir, id, forkflag, requeueflag, e)
** handler for child process.
*/
/* Reset global flags */
RestartRequest = NULL;
RestartWorkGroup = false;
@ -3633,7 +3628,6 @@ doworklist(el, forkflag, requeueflag)
** handler for child process.
*/
/* Reset global flags */
RestartRequest = NULL;
RestartWorkGroup = false;
@ -6722,10 +6716,12 @@ setup_queues(owner)
hashval = 0;
errno = 0;
len = sm_strlcpy(basedir, QueueDir, sizeof basedir);
if (len >= sizeof basedir)
/* Provide space for trailing '/' */
if (len >= sizeof basedir - 1)
{
syserr("QueueDirectory: path too long: %d, max %d",
len, (int) sizeof basedir);
len, (int) sizeof basedir - 1);
ExitStat = EX_CONFIG;
return;
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -48,7 +48,7 @@
#ifdef _DEFINE
# ifndef lint
SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.919.2.15 2002/12/12 22:46:35 ca Exp $";
SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.919.2.16 2003/01/18 00:41:50 gshapiro Exp $";
# endif /* ! lint */
#endif /* _DEFINE */
@ -325,7 +325,7 @@ extern ADDRESS NullAddress; /* a null (template) address [main.c] */
/* functions */
extern void cataddr __P((char **, char **, char *, int, int));
extern char *crackaddr __P((char *));
extern char *crackaddr __P((char *, ENVELOPE *));
extern bool emptyaddr __P((ADDRESS *));
extern ADDRESS *getctladdr __P((ADDRESS *));
extern int include __P((char *, bool, ADDRESS *, ADDRESS **, int, ENVELOPE *));

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -16,7 +16,7 @@
# include <libmilter/mfdef.h>
#endif /* MILTER */
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.829.2.17 2002/12/09 16:46:18 ca Exp $")
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.829.2.21 2003/01/15 19:17:14 ca Exp $")
#if SASL || STARTTLS
# include <sys/time.h>
@ -1635,8 +1635,8 @@ smtp(nullserver, d_flags, e)
if (LogLevel > 5)
{
sm_syslog(LOG_WARNING, NOQID,
"STARTTLS=server, error: accept failed=%d, SSL_error=%d, timedout=%d",
r, i, (int) timedout);
"STARTTLS=server, error: accept failed=%d, SSL_error=%d, timedout=%d, errno=%d",
r, i, (int) timedout, errno);
if (LogLevel > 8)
tlslogerr("server");
}
@ -2717,17 +2717,22 @@ smtp(nullserver, d_flags, e)
id = p;
if (*id == '#')
{
int wgrp;
int i, qgrp;
id++;
wgrp = name2qid(id);
if (!ISVALIDQGRP(wgrp))
qgrp = name2qid(id);
if (!ISVALIDQGRP(qgrp))
{
usrerr("459 4.5.4 Queue %s unknown",
id);
break;
}
ok = run_work_group(wgrp, RWG_FORK|RWG_RUNALL);
for (i = 0; i < NumQueue && Queue[i] != NULL;
i++)
Queue[i]->qg_nextrun = (time_t) -1;
Queue[qgrp]->qg_nextrun = 0;
ok = run_work_group(Queue[qgrp]->qg_wgrp,
RWG_FORK|RWG_FORCE);
if (ok && Errors == 0)
message("250 2.0.0 Queuing for queue group %s started", id);
break;

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2000-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 2000-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@ -10,7 +10,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: tls.c,v 8.79.4.1 2002/09/03 17:31:45 gshapiro Exp $")
SM_RCSID("@(#)$Id: tls.c,v 8.79.4.2 2003/01/23 23:16:24 ca Exp $")
#if STARTTLS
# include <openssl/err.h>
@ -19,9 +19,6 @@ SM_RCSID("@(#)$Id: tls.c,v 8.79.4.1 2002/09/03 17:31:45 gshapiro Exp $")
# ifndef HASURANDOMDEV
# include <openssl/rand.h>
# endif /* ! HASURANDOMDEV */
# if SM_CONF_SHM
# include <sm/shm.h>
# endif /* SM_CONF_SHM */
# if !TLS_NO_RSA
static RSA *rsa_tmp = NULL; /* temporary RSA key */
static RSA *tmp_rsa_key __P((SSL *, int, int));

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -13,6 +13,6 @@
#include <sm/gen.h>
SM_RCSID("@(#)$Id: version.c,v 8.104.2.11 2002/12/28 19:45:53 ca Exp $")
SM_RCSID("@(#)$Id: version.c,v 8.104.2.14 2003/01/15 17:55:43 ca Exp $")
char Version[] = "8.12.7";
char Version[] = "8.12.8";