Import sendmail 8.14.6

This commit is contained in:
gshapiro 2012-12-29 20:13:40 +00:00
parent 8601cea5b1
commit 9deed03348
63 changed files with 1251 additions and 780 deletions

View File

@ -35,7 +35,7 @@ each of the following conditions is met:
forth as paragraph 6 below, in the documentation and/or other materials
provided with the distribution. For the purposes of binary distribution
the "Copyright Notice" refers to the following language:
"Copyright (c) 1998-2010 Sendmail, Inc. All rights reserved."
"Copyright (c) 1998-2012 Sendmail, Inc. All rights reserved."
4. Neither the name of Sendmail, Inc. nor the University of California nor
names of their contributors may be used to endorse or promote
@ -78,4 +78,4 @@ each of the following conditions is met:
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
$Revision: 8.17 $, Last updated $Date: 2010/12/03 01:10:00 $, Document 139848.1
$Revision: 8.18 $, Last updated $Date: 2012/05/15 21:49:03 $, Document 139848.1

302
PGPKEYS
View File

@ -142,7 +142,149 @@ gpExpdV7qPrw9k01j5rod5PjZlG8zV0=
-----END PGP PUBLIC KEY BLOCK-----
Type Bits KeyID Created Expires Algorithm Use
pub 2048 A97884B0 2011-01-04 ------- RSA Sign & Encrypt
pub 2048 CEEEF43B 2011-12-14 ------- RSA Sign & Encrypt
fingerprint: CA7A 8F39 A241 9FFF B0A9 AB27 8E5A E9FB CEEE F43B
uid Sendmail Signing Key/2012 <sendmail@Sendmail.ORG>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (OpenBSD)
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
=qHzF
-----END PGP PUBLIC KEY BLOCK-----
Type Bits KeyID Created Expires Algorithm Use
pub 2048 A97884B0 2011-01-04 ------- RSA Sign & Encrypt
fingerprint: 5872 6218 A913 400D E660 3601 39A4 C77D A978 84B0
uid Sendmail Signing Key/2011 <sendmail@Sendmail.ORG>
@ -251,7 +393,7 @@ KH6d5q94eHcPD56A4cYD275DIZzAYqRpwzmB9O845HrHAPmQ
-----END PGP PUBLIC KEY BLOCK-----
Type Bits KeyID Created Expires Algorithm Use
pub 2048 85410ABE 2010-02-19 ------- RSA Sign
pub 2048 85410ABE 2010-02-19 ------- RSA Sign
fingerprint: B175 9644 5303 5DCE DD7B E919 604D FBF2 8541 0ABE
uid Sendmail Signing Key/2010 <sendmail@Sendmail.ORG>
@ -1453,13 +1595,79 @@ aBteGdu18ACeNXYmxUhQN/ogZuSaBhd/51aBD8SIRgQQEQIABgUCP9X7SwAKCRCk
-----END PGP PUBLIC KEY BLOCK-----
Type Bits KeyID Created Expires Algorithm Use
pub 1024 0xA0F8AA0C 2006-03-17 ---------- DSA Sign & Encrypt
f20 Fingerprint20 = 770E 4AC8 8A97 B69E 6E75 0605 1043 2518 A0F8 AA0C
sub 2048 0x6E613854 2006-03-17 ---------- Diffie-Hellman
pub 2048 0x0C8B8333 2011-12-14 ---------- RSA Sign & Encrypt
f20 Fingerprint20 = B080 979F 4D04 3E19 D05A 369C 629E F8EE 0C8B 8333
sub 2048 0x6763ED11 2011-12-14 ---------- RSA
uid Sendmail, Inc. Security Officer <security-officer@sendmail.com>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.4 (Darwin)
Version: GnuPG v1.4.11 (Darwin)
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
G09zJuZGoDdC9KhhogEVj4Ow+ydV
=qF87
-----END PGP PUBLIC KEY BLOCK-----
Type Bits KeyID Created Expires Algorithm Use
pub 1024 0xA0F8AA0C 2006-03-17 ---------- DSA Sign & Encrypt
f20 Fingerprint20 = 770E 4AC8 8A97 B69E 6E75 0605 1043 2518 A0F8 AA0C
sub 2048 0x6E613854 2006-03-17 ---------- Diffie-Hellman
uid Sendmail, Inc. Security Officer <security-officer@sendmail.com> [REVOKED]
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.11 (Darwin)
mQGiBEQbQzgRBAC7QmIW2r0oJ9Ixk1ewPxfwN1CU15k2ORBzRVIcO1UcLm6I5t3Z
Gorbj22J8xNyY67yQ3pi5O+pffl5LujEKTco3D3sHhHnpz8vIaBiLyVUG3dCHZwU
@ -1469,42 +1677,50 @@ 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
3plWjAkK4jGDVnkcVv2eMGfTP20=
=Ylc5
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
Z9M/bQ==
=nJIt
-----END PGP PUBLIC KEY BLOCK-----
Type Bits KeyID Created Expires Algorithm Use
@ -2082,4 +2298,4 @@ DnF3FZZEzV7oqPwC2jzv/1dD6GFhtgy0cnyoPGUJCyc=
=nES8
-----END PGP PUBLIC KEY BLOCK-----
$Revision: 8.36 $, Last updated $Date: 2011/01/28 21:17:54 $
$Revision: 8.40 $, Last updated $Date: 2012/01/09 04:44:59 $

View File

@ -1,11 +1,60 @@
SENDMAIL RELEASE NOTES
$Id: RELEASE_NOTES,v 8.1991 2011/05/15 04:28:16 ca Exp $
$Id: RELEASE_NOTES,v 8.2011 2012/12/21 18:42:16 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.14.6/8.14.6 2012/12/23
Fix a regression introduced in 8.14.5: if a server offers
two AUTH lines, the MTA would not read them after
STARTTLS has been used and hence SMTP AUTH for
the client side would fail. Problem noted by Lena.
Do not cache hostnames internally in a non case sensitive way
as that may cause addresses to change from lower case
to upper case or vice versa. These header modifications
can cause problems with milters that rely on receiving
headers in the same way as they are being sent out such
as a DKIM signing milter.
If MaxQueueChildren is set then it was possible that new queue
runners could not be started anymore because an
internal counter was subject to a race condition.
If a milter decreases the timeout it waits for a communication
with the MTA, the MTA might experience a write() timeout.
In some situations, the resulting error might have been
ignored. Problem noted by Werner Wiethege.
Note: decreasing the communication timeout in a milter
should not be done without considering the potential
problems.
smfi_setsymlist() now properly sets the list of macros for
the milter which invoked it, instead of a global
list for all milters. Problem reported by
David Shrimpton of the University of Queensland.
If Timeout.resolver.retrans is set to a value larger than 20,
then resolver.retry was temporarily set to 0 for
gethostbyaddr() lookups. Now it is set to 1 instead.
Patch from Peter.
If sendmail could not lock the statistics file due to a system
error, and sendmail later sends a DSN for a mail that
triggered such an error, then sendmail tried to access
memory that was freed before (causing a crash on some
systems). Problem reported by Ryan Stone.
Do not log negative values for size= nor pri= to avoid confusing
log parsers, instead limit the values to LONG_MAX.
Account for an API change in newer versions of Cyrus-SASL.
Patch from Hajimu UMEMOTO from FreeBSD.
Do not try to resolve link-local addresses for IPv4 (just as it
is done for IPv6). Patch from John Beck of Oracle.
Improve logging of client and server STARTTLS connection failures
that may be due to incompatible cipher lists by including
the reason for the failure in a single log line. Suggested
by James Carey of Boeing.
Portability:
Add support for Darwin 11.x and 12.x (Mac OS X 10.7 and 10.8).
Add support for SunOS 5.12 (aka Solaris 12). Patch from
John Beck of Oracle.
8.14.5/8.14.5 2011/05/17
Do not cache SMTP extensions across connections as the cache
is based on hostname which may not be a unique identifier

View File

@ -1144,7 +1144,7 @@ relay_hosts_only
For example, if you specify ``foo.com'', then mail to or
from foo.com, abc.foo.com, or a.very.deep.domain.foo.com
will all be accepted for relaying. This feature changes
the behaviour to lookup individual host names only.
the behaviour to look up individual host names only.
relay_based_on_MX
Turns on the ability to allow relaying based on the MX
@ -2230,9 +2230,9 @@ command:
FEATURE(`ldap_routing', <mailHost>, <mailRoutingAddress>, <bounce>,
<detail>, <nodomain>, <tempfail>)
where <mailHost> is a map definition describing how to lookup an alternative
where <mailHost> is a map definition describing how to look up an alternative
mail host for a particular address; <mailRoutingAddress> is a map definition
describing how to lookup an alternative address for a particular address;
describing how to look up an alternative address for a particular address;
the <bounce> argument, if present and not the word "passthru", dictates
that mail should be bounced if neither a mailHost nor mailRoutingAddress
is found, if set to "sendertoo", the sender will be rejected if not
@ -4701,4 +4701,4 @@ M4 DIVERSIONS
8 DNS based blacklists
9 special local rulesets (1 and 2)
$Revision: 8.727 $, Last updated $Date: 2009/05/07 23:46:17 $
$Revision: 8.728 $, Last updated $Date: 2012/09/07 16:29:13 $

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:13 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:14 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -41,7 +41,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -122,7 +122,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -934,6 +934,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:13 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -42,7 +42,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -123,7 +123,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -935,6 +935,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:13 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:14 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -42,7 +42,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -123,7 +123,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -935,6 +935,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:13 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -46,7 +46,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -127,7 +127,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -939,6 +939,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:13 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -42,7 +42,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -123,7 +123,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -935,6 +935,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:13 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -41,7 +41,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -122,7 +122,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -934,6 +934,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:13 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -42,7 +42,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -123,7 +123,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -935,6 +935,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:13 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -41,7 +41,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -122,7 +122,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -934,6 +934,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:14 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -42,7 +42,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -123,7 +123,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -935,6 +935,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:14 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -42,7 +42,7 @@
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -123,7 +123,7 @@ DnMAILER-DAEMON
CPREDIRECT
# Configuration version number
DZ8.14.5
DZ8.14.6
###############
@ -935,6 +935,8 @@ R$* < @ $+ .REDIRECT. > < $- > $#error $@ 5.1.1 $: "551 User has moved; please t
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -16,8 +16,8 @@
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by ca@wiz.smi.sendmail.com on Sat May 14 21:31:14 PDT 2011
##### in /extra/home/ca/sm-8.14.5/OpenSource/sendmail-8.14.5/cf/cf
##### built by ca@wiz.smi.sendmail.com on Fri Dec 21 10:45:15 PST 2012
##### in /extra/home/ca/sm-8.14.6/OpenSource/sendmail-8.14.6/cf/cf
##### using ../ as configuration include directory
#####
######################################################################
@ -35,7 +35,7 @@
##### $Id: no_default_msa.m4,v 8.2 2001/02/14 05:03:22 gshapiro Exp $ #####
##### $Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $ #####
##### $Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $ #####
# level 10 config file format
V10/Berkeley
@ -114,7 +114,7 @@ D{MTAHost}[127.0.0.1]
# Configuration version number
DZ8.14.5/Submit
DZ8.14.6/Submit
###############
@ -926,6 +926,8 @@ SParseLocal=98
######################################################################
### CanonAddr -- Convert an address into a standard form for
### relay checking. Route address syntax is

View File

@ -10,7 +10,7 @@ divert(-1)
#
divert(0)
VERSIONID(`$Id: ldap_routing.m4,v 8.18 2010/01/05 00:57:27 ca Exp $')
VERSIONID(`$Id: ldap_routing.m4,v 8.20 2012/01/18 22:27:06 ca Exp $')
divert(-1)
# Check first two arguments. If they aren't set, may need to warn in proto.m4

View File

@ -13,7 +13,7 @@ divert(-1)
#
divert(0)
VERSIONID(`$Id: proto.m4,v 8.744 2010/11/23 20:29:47 guenther Exp $')
VERSIONID(`$Id: proto.m4,v 8.760 2012/09/07 16:30:15 ca Exp $')
# level CF_LEVEL config file format
V`'CF_LEVEL`'ifdef(`NO_VENDOR',`', `/ifdef(`VENDOR_NAME', `VENDOR_NAME', `Berkeley')')
@ -1532,8 +1532,9 @@ R<?> <e s> <$+> $#error $@ nouser $: "550 User unknown"')
R<?> <$*> <$+> $@ $2',
`dnl
# return the original address
R<> <> <$+> <@ $+> <$*> $@ $1')',
`dnl')
R<> <> <$+> <@ $+> <$*> $@ $1')
')
ifelse(substr(confDELIVERY_MODE,0,1), `d', `errprint(`WARNING: Antispam rules not available in deferred delivery mode.
')')

View File

@ -1,6 +1,6 @@
divert(-1)
#
# Copyright (c) 1998-2011 Sendmail, Inc. and its suppliers.
# Copyright (c) 1998-2012 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.214 2011/04/26 23:02:36 ca Exp $')
VERSIONID(`$Id: version.m4,v 8.222 2012/12/19 05:11:43 ca Exp $')
#
divert(0)
# Configuration version number
DZ8.14.5`'ifdef(`confCF_VERSION', `/confCF_VERSION')
DZ8.14.6`'ifdef(`confCF_VERSION', `/confCF_VERSION')

View File

@ -10,7 +10,7 @@ divert(-1)
#
# Definitions for Makefile construction for sendmail
#
# $Id: defines.m4,v 8.47 2006/10/06 05:44:44 ca Exp $
# $Id: defines.m4,v 8.48 2012/01/21 00:07:08 ashish Exp $
#
# temporary hack: if confREQUIRE_LIBSM is set then also set confREQUIRE_SM_OS_H
ifdef(`confREQUIRE_LIBSM',`
@ -68,10 +68,10 @@ INCDIRS= confINCDIRS
LIBDIRS=confLIBDIRS
# Additional libs needed
LIBADD= ifdef(`conf_'bldCURRENT_PRD`_LIBS', `conf_'bldCURRENT_PRD`_LIBS')
LIBADD= ifdef(`conf_'bldCURRENT_PRD`_LIBS', `conf_'bldCURRENT_PRD`_LIBS')
# libraries required on your system
LIBS= ${LIBADD} ifdef(`confLIBS', `confLIBS') ifdef(`conf_'bldCURRENT_PRD`_LIB_POST', `conf_'bldCURRENT_PRD`_LIB_POST')
LIBS= ${LIBADD} ifdef(`confLIBS', `confLIBS') ifdef(`conf_'bldCURRENT_PRD`_LIB_POST', `conf_'bldCURRENT_PRD`_LIB_POST')
# location of sendmail binary (usually /usr/sbin or /usr/lib)
BINDIR= ifdef(`confMBINDIR', `confMBINDIR', `/usr/sbin')
@ -101,7 +101,7 @@ ifdef(`conf_'bldCURRENT_PRD`_SRCADD', `bldLIST_PUSH_ITEM(`bldSOURCES', `conf_'bl
# additional .o files needed
OBJADD= ifdef(`confOBJADD', `confOBJADD')
bldCURRENT_PRODUCT`OBJADD'= ifdef(`conf_'bldCURRENT_PRD`_OBJADD', `conf_'bldCURRENT_PRD`_OBJADD') ifdef(`confLIBADD', `bldADD_EXTENSIONS(`a', confLIBADD)', `')
bldCURRENT_PRODUCT`OBJADD'= ifdef(`conf_'bldCURRENT_PRD`_OBJADD', `conf_'bldCURRENT_PRD`_OBJADD') ifdef(`confLIBADD', `bldADD_EXTENSIONS(`a', confLIBADD)', `')
# copy files
CP= ifdef(`confCOPY', `confCOPY', `cp')

View File

@ -10,17 +10,17 @@ divert(-1)
#
# Definitions for Makefile construction for sendmail
#
# $Id: links.m4,v 8.5 1999/07/25 03:53:08 gshapiro Exp $
# $Id: links.m4,v 8.6 2012/01/21 00:07:08 ashish Exp $
#
divert(0)dnl
define(`bldMAKE_SOURCE_LINK',
`$1: ${SRCDIR}/$1
-ln -s ${SRCDIR}/$1 $1'
)dnl
define(`bldMAKE_SOURCE_LINKS',
define(`bldMAKE_SOURCE_LINKS',
`bldFOREACH(`bldMAKE_SOURCE_LINK(', $1)'dnl
)dnl
define(`bldMAKE_TARGET_LINKS',
define(`bldMAKE_TARGET_LINKS',
` for i in $2; do \
rm -f $$i; \
ln -s $1 $$i; \

View File

@ -10,7 +10,7 @@ divert(-1)
#
# Definitions for Makefile construction for sendmail
#
# $Id: manpage.m4,v 8.15 2006/09/07 22:13:07 ca Exp $
# $Id: manpage.m4,v 8.16 2012/01/21 00:07:08 ashish Exp $
#
divert(0)dnl
@ -51,7 +51,7 @@ MAN8MAN=${MANROOTMAN}ifdef(`confMAN8', `confMAN8', `8')
MAN8EXT=ifdef(`confMAN8EXT', `confMAN8EXT', `8')
MAN8SRC=ifdef(`confMAN8SRC', `confMAN8SRC', `0')
define(`bldMAN_TARGET_NAME',
define(`bldMAN_TARGET_NAME',
`bldGET_MAN_BASE_NAME($1).${MAN`'bldGET_MAN_SOURCE_NUM($1)`SRC}' 'dnl
)dnl
MANPAGES= bldFOREACH(`bldMAN_TARGET_NAME(', `bldMAN_PAGES')
@ -66,11 +66,11 @@ bldFOREACH(`bldMAN_BUILD_CMD(', `bldMAN_PAGES')
install-docs: ${MANPAGES}
ifdef(`confNO_MAN_INSTALL', `divert(-1)', `dnl')
define(`bldMAN_INSTALL_CMD',
`ifdef(`confDONT_INSTALL_CATMAN', `dnl',
define(`bldMAN_INSTALL_CMD',
`ifdef(`confDONT_INSTALL_CATMAN', `dnl',
` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC} ]; then confMKDIR -p ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}; else :; fi ')
${INSTALL} -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} bldGET_MAN_BASE_NAME($1).`${MAN'bldGET_MAN_SOURCE_NUM($1)`SRC}' `${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)}/bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`EXT}'')
ifdef(`confINSTALL_RAWMAN',
ifdef(`confINSTALL_RAWMAN',
` ifdef(`confMKDIR', `if [ ! -d ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN} ]; then confMKDIR -p ${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}; else :; fi ')
${INSTALL} -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} bldGET_MAN_BASE_NAME($1).bldGET_MAN_SOURCE_NUM($1) `${DESTDIR}${MAN'bldGET_MAN_SOURCE_NUM($1)`MAN}'/bldGET_MAN_BASE_NAME($1)`.${MAN'bldGET_MAN_SOURCE_NUM($1)`EXT}'', `dnl')'
)dnl

View File

@ -10,7 +10,7 @@ divert(-1)
#
# Definitions for Makefile construction for sendmail
#
# $Id: list.m4,v 8.3 1999/07/15 22:46:05 rand Exp $
# $Id: list.m4,v 8.4 2012/01/21 00:07:07 ashish Exp $
#
divert(0)dnl
define(`bldLIST_PUSH_ITEM',
@ -18,7 +18,7 @@ define(`bldLIST_PUSH_ITEM',
)dnl
define(`bldFOREACH',
`$1substr($2, `0', index($2, ` ')))`'ifelse(index($2, ` '), eval(len($2)-1), , `bldFOREACH(`$1', substr($2, index($2, ` ')))')'dnl
)dnl
)dnl
define(`bldADD_PATH', `$1/$2 ')dnl
define(`bldADD_PATHS',

View File

@ -10,7 +10,7 @@ divert(-1)
#
# Definitions for Makefile construction for sendmail
#
# $Id: switch.m4,v 8.17 2008/08/06 22:41:33 guenther Exp $
# $Id: switch.m4,v 8.18 2012/01/21 00:07:07 ashish Exp $
#
divert(0)dnl
include(confBUILDTOOLSDIR`/M4/string.m4')dnl
@ -57,7 +57,7 @@ define(`bldPRODUCT_END',
include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/smlib.m4')dnl
define(`bldFINISH',
define(`bldFINISH',
ifdef(`bldDONT_INCLUDE_ALL', ,``include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/all.m4')'')dnl
undivert(bldTARGETS_SECTION)dnl
)dnl

25
devtools/OS/Darwin.11.x Normal file
View File

@ -0,0 +1,25 @@
# $Id: Darwin.11.x,v 1.1 2011/11/23 01:08:48 gshapiro Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
#
define(`confCC', `cc -pipe ${Extra_CC_Flags}')
define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DDARWIN=110000 -DBIND_8_COMPAT -DNETINET6')
define(`confLDOPTS', `${Extra_LD_Flags}')
define(`confMTLDOPTS', `-lpthread')
define(`confMILTER_STATIC', `')
define(`confDEPEND_TYPE', `CC-M')
define(`confOPTIMIZE', `-O3')
define(`confRANLIBOPTS', `-c')
define(`confHFDIR', `/usr/share/sendmail')
define(`confINSTALL_RAWMAN')
define(`confMANOWN', `root')
define(`confMANGRP', `wheel')
define(`confUBINOWN', `root')
define(`confUBINGRP', `wheel')
define(`confSBINOWN', `root')
define(`confSBINGRP', `wheel')
define(`confLDOPTS_SO', `-dynamiclib -flat_namespace -undefined suppress -single_module')
define(`confSHAREDLIB_EXT', `.dylib')

View File

@ -1,4 +1,4 @@
# $Id: HP-UX.11.x,v 8.26 2003/11/21 01:05:09 lijian Exp $
# $Id: HP-UX.11.x,v 8.27 2012/01/21 00:07:09 ashish Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
@ -23,7 +23,7 @@ define(`confLDOPTS_SO', `-b')
define(`confCCOPTS_SO', `')
dnl Don't indent or put any tab/space in this file.
dnl Tab/space here causes make syntax error
dnl Tab/space here causes make syntax error
ifelse(confBLDVARIANT, `DEBUG',
dnl Debug build
`

View File

@ -1,4 +1,4 @@
# $Id: IRIX.6.5,v 8.23 2002/03/21 23:59:25 gshapiro Exp $
# $Id: IRIX.6.5,v 8.24 2012/01/21 00:07:09 ashish Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
@ -8,10 +8,10 @@ define(`confLIBSEARCHPATH', `/lib32 /usr/lib32')
define(`confMAPDEF', `-DNEWDB -DNDBM -DNIS -DMAP_REGEX -DMAP_NSD')
define(`confENVDEF', `-DIRIX6')
define(`confSM_OS_HEADER', `sm_os_irix')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')

View File

@ -1,4 +1,4 @@
# $Id: IRIX.6.x,v 8.30 2002/03/21 23:59:25 gshapiro Exp $
# $Id: IRIX.6.x,v 8.31 2012/01/21 00:07:09 ashish Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
@ -8,10 +8,10 @@ define(`confLIBSEARCHPATH', `/lib32 /usr/lib32')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DIRIX6')
define(`confSM_OS_HEADER', `sm_os_irix')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')

View File

@ -1,4 +1,4 @@
# $Id: IRIX64.6.0,v 8.21 2002/03/21 23:59:25 gshapiro Exp $
# $Id: IRIX64.6.0,v 8.22 2012/01/21 00:07:09 ashish Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
@ -7,10 +7,10 @@ define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-DIRIX64')
define(`confSM_OS_HEADER', `sm_os_irix')
define(`confLIBS', `-lelf -lmalloc')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')

View File

@ -1,4 +1,4 @@
# $Id: IRIX64.6.1,v 8.21 2002/03/21 23:59:25 gshapiro Exp $
# $Id: IRIX64.6.1,v 8.22 2012/01/21 00:07:09 ashish Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
@ -7,10 +7,10 @@ define(`confMAPDEF', `-DNDBM')
define(`confENVDEF', `-DIRIX64')
define(`confSM_OS_HEADER', `sm_os_irix')
define(`confLIBS', `-lelf -lmalloc')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')

View File

@ -1,4 +1,4 @@
# $Id: IRIX64.6.5,v 8.21 2002/03/21 23:59:25 gshapiro Exp $
# $Id: IRIX64.6.5,v 8.22 2012/01/21 00:07:09 ashish Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
@ -8,10 +8,10 @@ define(`confLIBSEARCHPATH', `/lib32 /usr/lib32')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DIRIX6')
define(`confSM_OS_HEADER', `sm_os_irix')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')

View File

@ -1,4 +1,4 @@
# $Id: IRIX64.6.x,v 8.30 2002/03/21 23:59:25 gshapiro Exp $
# $Id: IRIX64.6.x,v 8.31 2012/01/21 00:07:09 ashish Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
@ -8,10 +8,10 @@ define(`confLIBSEARCHPATH', `/lib32 /usr/lib32')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DIRIX6')
define(`confSM_OS_HEADER', `sm_os_irix')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confMBINDIR', `/usr/lib')
define(`confUBINDIR', `/usr/bsd')
define(`confEBINDIR', `/usr/lib')

26
devtools/OS/SunOS.5.12 Normal file
View File

@ -0,0 +1,26 @@
# $Id: SunOS.5.12,v 1.1 2012/12/12 02:34:40 ca Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
define(`confCC', `gcc')
define(`confLDOPTS_SO', `-G')
define(`confBEFORE', `sysexits.h')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confENVDEF', `-DSOLARIS=21200 -DNETINET6')
define(`confSM_OS_HEADER', `sm_os_sunos')
define(`confLIBS', `-lsocket -lnsl')
define(`confMTCCOPTS', `-D_REENTRANT')
define(`confMTLDOPTS', `-lpthread')
define(`confMBINDIR', `/usr/lib')
define(`confEBINDIR', `/usr/lib')
define(`confSBINGRP', `sys')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confDEPEND_TYPE', `CC-M')
PUSHDIVERT(3)
sysexits.h:
if [ -r /usr/include/sysexits.h ]; \
then \
ln -s /usr/include/sysexits.h; \
fi
POPDIVERT

View File

@ -1,4 +1,4 @@
# $Id: UNICOS-mp,v 8.1 2003/04/21 17:03:52 ca Exp $
# $Id: UNICOS-mp,v 8.2 2012/01/21 00:07:09 ashish Exp $
dnl DO NOT EDIT THIS FILE.
dnl Place personal settings in devtools/Site/site.config.m4
@ -6,11 +6,11 @@ dnl Place personal settings in devtools/Site/site.config.m4
define(`confENVDEF', `-DUNICOSMP')
define(`confDEPEND_TYPE', `CC-M')
define(`confINSTALL', `${BUILDBIN}/install.sh')
define(`confMANGRP', `sys')
define(`confMANOWN', `root')
define(`confMANGRP', `sys')
define(`confMANOWN', `root')
define(`confMAPDEF', `-DNDBM -DNIS -DMAP_REGEX')
define(`confSBINGRP', `sys')
define(`confSBINOWN', `root')
define(`confSM_OS_HEADER', `sm_os_unicosmp')
define(`confUBINGRP', `sys')
define(`confUBINOWN', `root')
define(`confUBINGRP', `sys')
define(`confUBINOWN', `root')

View File

@ -100,8 +100,8 @@ confMKDIR [empty] A program that creates directories
confDEPEND_TYPE generic How to build dependencies. This should
be the name of a file in
devtools/M4/depend
confDEPLIBS [empty] Dependent libraries when building
shared objects.
confDEPLIBS [empty] Dependent libraries when building
shared objects.
confDONT_INSTALL_CATMAN [undefined] Don't install the formatted manual
pages.
confEBINDIR /usr/libexec The location for binaries executed
@ -214,8 +214,8 @@ confSETUSERID_INSTALL [undefined] Needs to be defined to enable the
install-set-user-id target for
sendmail. See sendmail/SECURITY.
confSHAREDLIB_EXT .so Shared library file extenion name.
confSHAREDLIB_SUFFIX [empty] Shared object version suffix.
confSHAREDLIBDIR /usr/lib/ Directory for installing shared
confSHAREDLIB_SUFFIX [empty] Shared object version suffix.
confSHAREDLIBDIR /usr/lib/ Directory for installing shared
library. Note: if the value is
not empty, it must end with a
slash ('/') otherwise it will not
@ -395,4 +395,4 @@ files that make up the library.
bldINSTALLABLE - This should be set if the library should be installed in
confLIBDIR.
$Revision: 8.103 $, Last updated $Date: 2009/01/22 02:15:07 $
$Revision: 8.104 $, Last updated $Date: 2012/01/21 00:07:06 $

View File

@ -9,7 +9,7 @@
.\" the sendmail distribution.
.\"
.\"
.\" $Id: op.me,v 8.747 2010/05/08 04:18:27 ca Exp $
.\" $Id: op.me,v 8.749 2012/03/02 22:37:11 ca Exp $
.\"
.\" eqn op.me | pic | troff -me
.\"
@ -90,7 +90,7 @@ Sendmail, Inc.
.de Ve
Version \\$2
..
.Ve $Revision: 8.747 $
.Ve $Revision: 8.749 $
.rm Ve
.sp
For Sendmail Version 8.14
@ -5999,7 +5999,7 @@ mailer.
.ip @
Look up addresses in the user database.
.ip %
Do not attempt delivery on initial recipient of a message
Do not attempt delivery on initial receipt of a message
or on queue runs
unless the queued message is selected
using one of the -qI/-qR/-qS queue run modifiers
@ -7540,6 +7540,10 @@ This is intended to allow you to get responsiveness
by processing the queue fairly frequently
without thrashing your system by trying jobs too often.
The default units are minutes.
Note:
This option is ignored for queue runs that select a subset
of the queue, i.e.,
.q \-q[!][I|R|S|Q][string]
.ip MustQuoteChars=\fIs\fP
[no short name]
Sets the list of characters that must be quoted if used in a full name
@ -11467,7 +11471,7 @@ replace it with a blank sheet for double-sided output.
.\".sz 10
.\"Eric Allman
.\".sp
.\"Version $Revision: 8.747 $
.\"Version $Revision: 8.749 $
.\".ce 0
.bp 3
.ce

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999-2004, 2006, 2008 Sendmail, Inc. and its suppliers.
* Copyright (c) 1999-2004, 2006, 2008, 2012 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@ -7,7 +7,7 @@
* the sendmail distribution.
*
*
* $Id: mfapi.h,v 8.80 2009/11/06 00:57:08 ca Exp $
* $Id: mfapi.h,v 8.82 2012/11/16 20:25:04 ca Exp $
*/
/*
@ -96,6 +96,8 @@ typedef int sfsistat;
# ifndef bool
# ifndef __bool_true_false_are_defined
typedef int bool;
# define false 0
# define true 1
# define __bool_true_false_are_defined 1
# endif /* ! __bool_true_false_are_defined */
# endif /* bool */
@ -204,6 +206,7 @@ LIBMILTER_API int smfi_version __P((unsigned int *, unsigned int *, unsigned int
** (hence the list is not sorted by the SMT protocol steps).
*/
#define SMFIM_NOMACROS (-1) /* Do NOT use, internal only */
#define SMFIM_FIRST 0 /* Do NOT use, internal marker only */
#define SMFIM_CONNECT 0 /* connect */
#define SMFIM_HELO 1 /* HELO/EHLO */

View File

@ -9,7 +9,7 @@
* forth in the LICENSE file which can be found at the top level of
* the sendmail distribution.
*
* $Id: clock.h,v 1.12 2004/08/03 19:57:21 ca Exp $
* $Id: clock.h,v 1.13 2011/11/03 03:13:24 ca Exp $
*/
/*
@ -59,7 +59,7 @@ extern SIGFUNC_DECL sm_tick __P((int));
/*
** SM_SETEVENT -- set an event to happen at a specific time in seconds.
**
** Translates the seconds into millseconds and calls sm_seteventm()
** Translates the seconds into milliseconds and calls sm_seteventm()
** to get a specific event to happen in the future at a specific time.
**
** Parameters:

View File

@ -36,7 +36,7 @@
#define SM_TAILQ_H_
/*
* $Id: tailq.h,v 1.2 2007/06/29 23:09:57 ca Exp $
* $Id: tailq.h,v 1.3 2012/01/21 00:12:14 ashish Exp $
*
* This file is a modified copy of queue.h from a BSD system:
* we only need tail queues here.
@ -69,8 +69,8 @@ struct { \
struct type **tqe_prev; /* address of previous next element */ \
}
/*
* tail queue access methods
/*
* tail queue access methods
*/
#define SM_TAILQ_FIRST(head) ((head)->tqh_first)
#define SM_TAILQ_END(head) NULL

View File

@ -1,4 +1,4 @@
dnl $Id: Makefile.m4,v 8.85 2009/11/24 21:59:33 ca Exp $
dnl $Id: Makefile.m4,v 8.88 2012/09/25 17:40:32 ca Exp $
include(confBUILDTOOLSDIR`/M4/switch.m4')
dnl only required for compilation of EXTRAS

View File

@ -2,7 +2,7 @@
<HEAD><TITLE>Milter API</TITLE></HEAD>
<BODY>
<!--
$Id: api.html,v 1.37 2009/05/19 00:40:52 ca Exp $
$Id: api.html,v 1.38 2012/03/29 03:18:37 ca Exp $
-->
<H1>Milter API</H1>
@ -214,7 +214,6 @@ other callbacks are message-oriented.
<TD>SMFIS_REJECT</TD>
<TD>For a connection-oriented routine, reject this connection; call <A HREF="xxfi_close.html">xxfi_close</A>.<BR>
For a message-oriented routine (except
<A HREF="xxfi_eom.html">xxfi_eom</A> or
<A HREF="xxfi_abort.html">xxfi_abort</A>), reject this message.<BR>
For a recipient-oriented routine, reject the current recipient (but continue processing the current message).
</TD>

View File

@ -2,7 +2,7 @@
<HEAD><TITLE>smfi_setsymlist</TITLE></HEAD>
<BODY>
<!--
$Id: smfi_setsymlist.html,v 1.5 2006/12/21 18:30:35 ca Exp $
$Id: smfi_setsymlist.html,v 1.6 2012/05/11 17:34:23 ca Exp $
-->
<H1>smfi_setsymlist</H1>
@ -86,8 +86,10 @@ Otherwise MI_SUCCESS is returned.
<!----------- Notes ---------->
<TR align="left" valign=top>
<TH>NOTES</TH>
<TD>There is an internal limit on the number of macros that can be
set (currently 5),
<TD>There is an internal limit on the number of macros
that can be set
<!-- XREF: MAXFILTERMACROS -->
(currently 50),
however, this limit is not enforced by libmilter, only by the MTA,
but a possible violation of this restriction is not communicated back to
the milter.</TD>
@ -97,7 +99,7 @@ the milter.</TD>
<HR size="1">
<FONT size="-1">
Copyright (c) 2006 Sendmail, Inc. and its suppliers.
Copyright (c) 2006, 2012 Sendmail, Inc. and its suppliers.
All rights reserved.
<BR>
By using this file, you agree to the terms and conditions set

View File

@ -2,7 +2,7 @@
<HEAD><TITLE>smfi_settimeout</TITLE></HEAD>
<BODY>
<!--
$Id: smfi_settimeout.html,v 1.14 2006/12/21 18:30:35 ca Exp $
$Id: smfi_settimeout.html,v 1.15 2011/10/03 16:21:33 ca Exp $
-->
<H1>smfi_settimeout</H1>
@ -52,11 +52,24 @@ If smfi_settimeout is not called, a default timeout of 7210 seconds is used.
<TD>smfi_settimeout always returns MI_SUCCESS.</TD>
</TR>
<!----------- Notes ---------->
<TR>
<TH valign="top" align=left>NOTES</TH>
<TD>
Decreasing the timeout is strongly discouraged
and may break the communication with the MTA.
Do <EM>not</EM> decrease this value without making sure that
the MTA also uses lower timeouts for communication
(with the milter and with the SMTP client).
</TR>
</TABLE>
</TABLE>
<HR size="1">
<FONT size="-1">
Copyright (c) 2000, 2002-2003, 2006 Sendmail, Inc. and its suppliers.
Copyright (c) 2000, 2002-2003, 2006, 2011 Sendmail, Inc. and its suppliers.
All rights reserved.
<BR>
By using this file, you agree to the terms and conditions set

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003-2004, 2007, 2009-2011 Sendmail, Inc. and its suppliers.
* Copyright (c) 2003-2004, 2007, 2009-2012 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
@ -11,7 +11,7 @@
*/
#include <sm/gen.h>
SM_RCSID("@(#)$Id: worker.c,v 8.19 2011/02/14 23:33:48 ca Exp $")
SM_RCSID("@(#)$Id: worker.c,v 8.24 2012/03/13 15:37:46 ca Exp $")
#include "libmilter.h"
@ -141,7 +141,8 @@ static int mi_list_del_ctx __P((SMFICTX_PTR));
#if POOL_DEBUG
# define POOL_LEV_DPRINTF(lev, x) \
do { \
do \
{ \
if ((lev) < ctx->ctx_dbg) \
sm_dprintf x; \
} while (0)
@ -377,7 +378,7 @@ mi_pool_controller(arg)
for (;;)
{
SMFICTX_PTR ctx;
int nfd, rfd, i;
int nfd, r, i;
time_t now;
POOL_LEV_DPRINTF(4, ("Let's %s again...", WAITFN));
@ -498,19 +499,19 @@ mi_pool_controller(arg)
TASKMGR_UNLOCK();
/* Everything is ready, let's wait for an event */
rfd = poll(pfd, nfd, POLL_TIMEOUT);
r = poll(pfd, nfd, POLL_TIMEOUT);
POOL_LEV_DPRINTF(4, ("%s returned: at epoch %d value %d",
WAITFN, now, nfd));
/* timeout */
if (rfd == 0)
if (r == 0)
continue;
rebuild_set = true;
/* error */
if (rfd < 0)
if (r < 0)
{
if (errno == EINTR)
continue;
@ -522,6 +523,7 @@ mi_pool_controller(arg)
if (pcnt >= MAX_FAILS_S)
goto err;
continue;
}
pcnt = 0;
@ -535,7 +537,7 @@ mi_pool_controller(arg)
WAITFN, i, nfd,
WAIT_FD(i)));
/* has a worker signaled an end of task ? */
/* has a worker signaled an end of task? */
if (WAIT_FD(i) == RD_PIPE)
{
char evts[256];
@ -563,7 +565,12 @@ mi_pool_controller(arg)
continue;
}
/* no ! sendmail wants to send a command */
/*
** Not the pipe for workers waking us,
** so must be something on an MTA connection.
*/
TASKMGR_LOCK();
SM_TAILQ_FOREACH(ctx, &WRK_CTX_HEAD, ctx_link)
{
if (ctx->ctx_wstate != WKST_WAITING)
@ -575,7 +582,6 @@ mi_pool_controller(arg)
if (ctx->ctx_sd == pfd[i].fd)
{
TASKMGR_LOCK();
POOL_LEV_DPRINTF(4,
("TASK: found %d for fd[%d]=%d",
@ -591,10 +597,10 @@ mi_pool_controller(arg)
ctx->ctx_wstate = WKST_RUNNING;
LAUNCH_WORKER(ctx);
}
TASKMGR_UNLOCK();
break;
}
}
TASKMGR_UNLOCK();
POOL_LEV_DPRINTF(4,
("TASK %s FOUND - Checking PIPE for fd[%d]",
@ -607,6 +613,14 @@ mi_pool_controller(arg)
free(pfd);
Tskmgr.tm_signature = 0;
#if 0
/*
** Do not clean up ctx -- it can cause double-free()s.
** The program is shutting down anyway, so it's not worth the trouble.
** There is a more complex solution that prevents race conditions
** while accessing ctx, but that's maybe for a later version.
*/
for (;;)
{
SMFICTX_PTR ctx;
@ -616,6 +630,7 @@ mi_pool_controller(arg)
break;
mi_close_session(ctx);
}
#endif
(void) smutex_destroy(&Tskmgr.tm_w_mutex);
(void) scond_destroy(&Tskmgr.tm_w_cond);

View File

@ -1,4 +1,4 @@
dnl $Id: Makefile.m4,v 8.126 2010/11/24 19:59:54 gshapiro Exp $
dnl $Id: Makefile.m4,v 8.132 2012/09/11 20:02:44 ca Exp $
include(confBUILDTOOLSDIR`/M4/switch.m4')
define(`confREQUIRE_LIBSM', `true')

View File

@ -1,4 +1,4 @@
# $Id: TRACEFLAGS,v 8.48 2008/11/03 21:09:26 gshapiro Exp $
# $Id: TRACEFLAGS,v 8.52 2012/03/03 00:10:42 ca Exp $
0, 4 main.c main canonical name, UUCP node name, a.k.a.s
0, 15 main.c main print configuration
0, 44 util.c printav print address of each string
@ -77,12 +77,12 @@
63 queue.c runqueue process watching
64 multiple Milter
65 main.c permission checks
#if _FFR_ADAPTIVE_EOL
66 srvrsmtp.c conformance checks
#endif /* _FFR_ADAPTIVE_EOL */
#if _FFR_QUEUE_SCHED_DBG
69 queue.c scheduling
#endif /* _FFR_QUEUE_SCHED_DBG */
#if _FFR_ADAPTIVE_EOL
66 srvrsmtp.c conformance checks
#endif /* _FFR_ADAPTIVE_EOL */
#if _FFR_QUEUE_SCHED_DBG
69 queue.c scheduling
#endif /* _FFR_QUEUE_SCHED_DBG */
70 queue.c quarantining
71,>99 milter.c quarantine on errors
73 queue.c shared memory updates
@ -92,6 +92,7 @@
83 collect.c timeout
84 deliver.c timeout
85 map.c dprintf map
89 conf.c >=8 use sm_dprintf() instead of syslog()
91 mci.c syslogging of MCI cache information
93,>99 * Prevent daemon connection fork for profiling/debugging
94,>99 srvrsmtp.c cause commands to fail (for protocol testing)

View File

@ -13,7 +13,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: collect.c,v 8.284 2008/08/06 05:26:24 ca Exp $")
SM_RCSID("@(#)$Id: collect.c,v 8.285 2012/06/14 23:54:02 ca Exp $")
static void eatfrom __P((char *volatile, ENVELOPE *));
static void collect_doheader __P((ENVELOPE *));
@ -869,7 +869,8 @@ collect(fp, smtpmode, hdrp, e, rsetsize)
if (LogLevel > 6)
sm_syslog(LOG_NOTICE, e->e_id,
"message size (%ld) exceeds maximum (%ld)",
e->e_msgsize, MaxMessageSize);
PRT_NONNEGL(e->e_msgsize),
MaxMessageSize);
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2010 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2012 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: conf.c,v 8.1168 2011/01/25 18:31:30 ca Exp $")
SM_RCSID("@(#)$Id: conf.c,v 8.1176 2012/12/07 03:59:54 ca Exp $")
#include <sm/sendmail.h>
#include <sendmail/pathnames.h>
@ -53,7 +53,7 @@ static int add_hostnames __P((SOCKADDR *));
static struct hostent *sm_getipnodebyname __P((const char *, int, int, int *));
static struct hostent *sm_getipnodebyaddr __P((const void *, size_t, int, int *));
#else /* NETINET6 && NEEDSGETIPNODE */
#define sm_getipnodebyname getipnodebyname
#define sm_getipnodebyname getipnodebyname
#define sm_getipnodebyaddr getipnodebyaddr
#endif /* NETINET6 && NEEDSGETIPNODE */
@ -4602,6 +4602,10 @@ add_hostnames(sa)
int save_errno = errno;
if (LogLevel > 3 &&
#if NETINET && defined(IN_LINKLOCAL)
!(sa->sa.sa_family == AF_INET &&
IN_LINKLOCAL(ntohl(sa->sin.sin_addr.s_addr))) &&
#endif /* NETINET && defined(IN_LINKLOCAL) */
#if NETINET6
!(sa->sa.sa_family == AF_INET6 &&
IN6_IS_ADDR_LINKLOCAL(&sa->sin6.sin6_addr)) &&
@ -5374,14 +5378,30 @@ sm_syslog(level, id, fmt, va_alist)
#if LOG
if (*id == '\0')
{
if (tTd(89, 8))
if (tTd(89, 10))
{
struct timeval tv;
gettimeofday(&tv, NULL);
sm_dprintf("%ld.%06ld %s\n", (long) tv.tv_sec,
(long) tv.tv_usec, newstring);
}
else if (tTd(89, 8))
sm_dprintf("%s\n", newstring);
else
syslog(level, "%s", newstring);
}
else
{
if (tTd(89, 8))
if (tTd(89, 10))
{
struct timeval tv;
gettimeofday(&tv, NULL);
sm_dprintf("%ld.%06ld %s: %s\n", (long) tv.tv_sec,
(long) tv.tv_usec, id, newstring);
}
else if (tTd(89, 8))
sm_dprintf("%s: %s\n", id, newstring);
else
syslog(level, "%s: %s", id, newstring);

View File

@ -14,7 +14,7 @@
#include <sendmail.h>
#include "map.h"
SM_RCSID("@(#)$Id: daemon.c,v 8.691 2011/01/25 18:31:30 ca Exp $")
SM_RCSID("@(#)$Id: daemon.c,v 8.694 2012/03/03 00:10:42 ca Exp $")
#if defined(SOCK_STREAM) || defined(__GNU_LIBRARY__)
# define USE_SOCK_STREAM 1
@ -827,6 +827,7 @@ getrequests(e)
OutChannel = outchannel;
DisConnected = false;
#if XLA
if (!xla_host_ok(RealHostName))
{
@ -4405,6 +4406,8 @@ hostnamebyanyaddr(sap)
saveretry = _res.retry;
if (_res.retry * _res.retrans > 20)
_res.retry = 20 / _res.retrans;
if (_res.retry == 0)
_res.retry = 1;
# endif /* NAMED_BIND */
switch (sap->sa.sa_family)

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2010 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2010, 2012 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 <sm/time.h>
SM_RCSID("@(#)$Id: deliver.c,v 8.1024 2011/01/12 23:52:59 ca Exp $")
SM_RCSID("@(#)$Id: deliver.c,v 8.1027 2012/12/19 02:49:21 ca Exp $")
#if HASSETUSERCONTEXT
# include <login_cap.h>
@ -37,6 +37,7 @@ static void sendenvelope __P((ENVELOPE *, int));
static int coloncmp __P((const char *, const char *));
#if STARTTLS
# include <openssl/err.h>
static int starttls __P((MAILER *, MCI *, ENVELOPE *));
static int endtlsclt __P((MCI *));
#endif /* STARTTLS */
@ -4271,7 +4272,7 @@ logdelivery(m, mci, dsn, status, ctladdr, xstart, e)
/* pri: changes with each delivery attempt */
(void) sm_snprintf(bp, SPACELEFT(buf, bp), ", pri=%ld",
e->e_msgpriority);
PRT_NONNEGL(e->e_msgpriority));
bp += strlen(bp);
/* relay: max 66 bytes for IPv4 addresses */
@ -6191,10 +6192,16 @@ starttls(m, mci, e)
if (LogLevel > 5)
{
unsigned long l;
const char *sr;
l = ERR_peek_error();
sr = ERR_reason_error_string(l);
sm_syslog(LOG_WARNING, NOQID,
"STARTTLS=client, error: connect failed=%d, SSL_error=%d, errno=%d, retry=%d",
result, ssl_err, errno, i);
if (LogLevel > 8)
"STARTTLS=client, error: connect failed=%d, reason=%s, SSL_error=%d, errno=%d, retry=%d",
result, sr == NULL ? "unknown" : sr, ssl_err,
errno, i);
if (LogLevel > 9)
tlslogerr("client");
}

View File

@ -14,7 +14,7 @@
#include <sendmail.h>
#include <sm/sendmail.h>
SM_RCSID("@(#)$Id: headers.c,v 8.317 2008/08/27 20:11:55 gshapiro Exp $")
SM_RCSID("@(#)$Id: headers.c,v 8.318 2012/06/14 23:54:02 ca Exp $")
static HDR *allocheader __P((char *, char *, int, SM_RPOOL_T *, bool));
static size_t fix_mime_header __P((HDR *, ENVELOPE *));
@ -1152,7 +1152,7 @@ logsender(e, msgid)
(void) sm_snprintf(sbp, SPACELEFT(sbuf, sbp),
"from=%.200s, size=%ld, class=%d, nrcpts=%d",
e->e_from.q_paddr == NULL ? "<NONE>" : e->e_from.q_paddr,
e->e_msgsize, e->e_class, e->e_nrcpts);
PRT_NONNEGL(e->e_msgsize), e->e_class, e->e_nrcpts);
sbp += strlen(sbp);
if (msgid != NULL)
{
@ -1191,7 +1191,7 @@ logsender(e, msgid)
83));
sm_syslog(LOG_INFO, e->e_id,
"size=%ld, class=%ld, nrcpts=%d",
e->e_msgsize, e->e_class, e->e_nrcpts);
PRT_NONNEGL(e->e_msgsize), e->e_class, e->e_nrcpts);
if (msgid != NULL)
sm_syslog(LOG_INFO, e->e_id,
"msgid=%s",

View File

@ -26,7 +26,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.976 2011/03/15 23:14:36 ca Exp $")
SM_RCSID("@(#)$Id: main.c,v 8.981 2012/06/14 23:54:02 ca Exp $")
#if NETINET || NETINET6
@ -2561,6 +2561,10 @@ main(argc, argv, envp)
authinfo = getauthinfo(sm_io_getinfo(InChannel, SM_IO_WHAT_FD,
NULL), &forged);
macdefine(&BlankEnvelope.e_macro, A_TEMP, '_', authinfo);
if (tTd(75, 9))
sm_syslog(LOG_INFO, NOQID,
"main: where=after_getauthinfo, RealHostAddr=%s",
anynet_ntoa(&RealHostAddr));
/* at this point we are in a child: reset state */
sm_rpool_free(MainEnvelope.e_rpool);
@ -2827,7 +2831,7 @@ main(argc, argv, envp)
/* set message size */
(void) sm_snprintf(buf, sizeof(buf), "%ld",
MainEnvelope.e_msgsize);
PRT_NONNEGL(MainEnvelope.e_msgsize));
macdefine(&MainEnvelope.e_macro, A_TEMP,
macid("{msg_size}"), buf);

View File

@ -13,7 +13,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: map.c,v 8.706 2010/07/27 03:35:42 ca Exp $")
SM_RCSID("@(#)$Id: map.c,v 8.709 2012/04/20 18:47:09 ca Exp $")
#if LDAPMAP
# include <sm/ldap.h>
@ -3434,7 +3434,7 @@ ldapmap_open(map, mode)
{
if (LogLevel > 1)
sm_syslog(LOG_NOTICE, CurEnv->e_id,
"timeout conning to LDAP server %.100s",
"timeout connecting to LDAP server %.100s",
id);
}
@ -3763,11 +3763,11 @@ ldapmap_lookup(map, name, av, statp)
if (!bitset(MF_OPTIONAL, map->map_mflags))
{
if (bitset(MF_NODEFER, map->map_mflags))
syserr("Error getting LDAP results in map %s",
map->map_mname);
syserr("Error getting LDAP results, map=%s, name=%s",
map->map_mname, name);
else
syserr("451 4.3.5 Error getting LDAP results in map %s",
map->map_mname);
syserr("451 4.3.5 Error getting LDAP results, map=%s, name=%s",
map->map_mname, name);
}
errno = save_errno;
return NULL;
@ -3781,7 +3781,7 @@ ldapmap_lookup(map, name, av, statp)
{
if (LogLevel > 9)
sm_syslog(LOG_INFO, CurEnv->e_id,
"ldap %.100s => %s", name,
"ldap=%s, %.100s=>%s", map->map_mname, name,
vp == NULL ? "<NULL>" : vp);
if (bitset(MF_MATCHONLY, map->map_mflags))
result = map_rewrite(map, name, strlen(name), NULL);

View File

@ -10,7 +10,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: milter.c,v 8.277 2009/11/06 00:57:06 ca Exp $")
SM_RCSID("@(#)$Id: milter.c,v 8.279 2012/11/16 20:25:03 ca Exp $")
#if MILTER
# include <sm/sendmail.h>
@ -42,7 +42,7 @@ static char *milter_write __P((struct milter *, int, char *, ssize_t,
time_t, ENVELOPE *, const char *));
static char *milter_send_command __P((struct milter *, int, void *,
ssize_t, ENVELOPE *, char *, const char *));
static char *milter_command __P((int, void *, ssize_t, char **,
static char *milter_command __P((int, void *, ssize_t, int,
ENVELOPE *, char *, const char *, bool));
static char *milter_body __P((struct milter *, ENVELOPE *, char *));
static int milter_reopen_df __P((ENVELOPE *));
@ -79,13 +79,13 @@ static int milter_set_macros __P((char *, char **, char *, int));
# define SMFS_READY 'R' /* ready for action */
# define SMFS_SKIP 'S' /* skip body */
static char *MilterConnectMacros[MAXFILTERMACROS + 1];
static char *MilterHeloMacros[MAXFILTERMACROS + 1];
static char *MilterEnvFromMacros[MAXFILTERMACROS + 1];
static char *MilterEnvRcptMacros[MAXFILTERMACROS + 1];
static char *MilterDataMacros[MAXFILTERMACROS + 1];
static char *MilterEOMMacros[MAXFILTERMACROS + 1];
static char *MilterEOHMacros[MAXFILTERMACROS + 1];
/*
** MilterMacros contains the milter macros for each milter and each stage.
** indices are (in order): stages, milter-index, macro
** milter-index == 0: "global" macros (not for a specific milter).
*/
static char *MilterMacros[SMFIM_LAST + 1][MAXFILTERS + 1][MAXFILTERMACROS + 1];
static size_t MilterMaxDataSize = MILTER_MAX_DATA_SIZE;
# define MILTER_CHECK_DONE_MSG() \
@ -98,6 +98,16 @@ static size_t MilterMaxDataSize = MILTER_MAX_DATA_SIZE;
milter_abort(e); \
}
/* set state in case of an error */
# define MILTER_SET_STATE \
if (bitnset(SMF_TEMPFAIL, m->mf_flags)) \
*state = SMFIR_TEMPFAIL; \
else if (bitnset(SMF_TEMPDROP, m->mf_flags)) \
*state = SMFIR_SHUTDOWN; \
else if (bitnset(SMF_REJECT, m->mf_flags)) \
*state = SMFIR_REJECT
/* flow through code maybe using continue; don't wrap in do {} while */
# define MILTER_CHECK_ERROR(initial, action) \
if (!initial && tTd(71, 100)) \
{ \
@ -119,12 +129,7 @@ static size_t MilterMaxDataSize = MILTER_MAX_DATA_SIZE;
e->e_quarmsg); \
} \
} \
else if (bitnset(SMF_TEMPFAIL, m->mf_flags)) \
*state = SMFIR_TEMPFAIL; \
else if (bitnset(SMF_TEMPDROP, m->mf_flags)) \
*state = SMFIR_SHUTDOWN; \
else if (bitnset(SMF_REJECT, m->mf_flags)) \
*state = SMFIR_REJECT; \
else MILTER_SET_STATE; \
else \
action;
@ -1221,6 +1226,7 @@ milter_setup(line)
char *p;
struct milter *m;
STAB *s;
static int idx = 0;
/* collect the filter name */
for (p = line;
@ -1323,7 +1329,10 @@ milter_setup(line)
if (s->s_milter != NULL)
syserr("X%s: duplicate filter definition", m->mf_name);
else
{
s->s_milter = m;
m->mf_idx = ++idx;
}
}
/*
@ -1555,20 +1564,13 @@ static struct milteropt
unsigned char mo_code; /* code for option */
} MilterOptTab[] =
{
# define MO_MACROS_CONNECT SMFIM_CONNECT
{ "macros.connect", MO_MACROS_CONNECT },
# define MO_MACROS_HELO SMFIM_HELO
{ "macros.helo", MO_MACROS_HELO },
# define MO_MACROS_ENVFROM SMFIM_ENVFROM
{ "macros.envfrom", MO_MACROS_ENVFROM },
# define MO_MACROS_ENVRCPT SMFIM_ENVRCPT
{ "macros.envrcpt", MO_MACROS_ENVRCPT },
# define MO_MACROS_DATA SMFIM_DATA
{ "macros.data", MO_MACROS_DATA },
# define MO_MACROS_EOM SMFIM_EOM
{ "macros.eom", MO_MACROS_EOM },
# define MO_MACROS_EOH SMFIM_EOH
{ "macros.eoh", MO_MACROS_EOH },
{ "macros.connect", SMFIM_CONNECT },
{ "macros.helo", SMFIM_HELO },
{ "macros.envfrom", SMFIM_ENVFROM },
{ "macros.envrcpt", SMFIM_ENVRCPT },
{ "macros.data", SMFIM_DATA },
{ "macros.eom", SMFIM_EOM },
{ "macros.eoh", SMFIM_EOH },
# define MO_LOGLEVEL 0x07
{ "loglevel", MO_LOGLEVEL },
@ -1655,39 +1657,14 @@ milter_set_option(name, val, sticky)
break;
# endif /* _FFR_MAXDATASIZE || _FFR_MDS_NEGOTIATE */
case MO_MACROS_CONNECT:
if (macros == NULL)
macros = MilterConnectMacros;
/* FALLTHROUGH */
case MO_MACROS_HELO:
if (macros == NULL)
macros = MilterHeloMacros;
/* FALLTHROUGH */
case MO_MACROS_ENVFROM:
if (macros == NULL)
macros = MilterEnvFromMacros;
/* FALLTHROUGH */
case MO_MACROS_ENVRCPT:
if (macros == NULL)
macros = MilterEnvRcptMacros;
/* FALLTHROUGH */
case MO_MACROS_EOH:
if (macros == NULL)
macros = MilterEOHMacros;
/* FALLTHROUGH */
case MO_MACROS_EOM:
if (macros == NULL)
macros = MilterEOMMacros;
/* FALLTHROUGH */
case MO_MACROS_DATA:
if (macros == NULL)
macros = MilterDataMacros;
case SMFIM_CONNECT:
case SMFIM_HELO:
case SMFIM_ENVFROM:
case SMFIM_ENVRCPT:
case SMFIM_EOH:
case SMFIM_EOM:
case SMFIM_DATA:
macros = MilterMacros[mo->mo_code][0];
r = milter_set_macros(name, macros, val, nummac);
if (r >= 0)
@ -2188,7 +2165,7 @@ milter_send_command(m, cmd, data, sz, e, state, where)
sm_syslog(LOG_ERR, e->e_id,
"milter_send_command(%s): action=%s returned bogus response %c",
m->mf_name, action, rcmd);
milter_error(m, e);
milter_error(m, e); /* NO ERROR CHECK? */
break;
}
@ -2218,11 +2195,11 @@ milter_send_command(m, cmd, data, sz, e, state, where)
*/
static char *
milter_command(cmd, data, sz, macros, e, state, where, cmd_error)
milter_command(cmd, data, sz, stage, e, state, where, cmd_error)
int cmd;
void *data;
ssize_t sz;
char **macros;
int stage;
ENVELOPE *e;
char *state;
const char *where;
@ -2254,14 +2231,27 @@ milter_command(cmd, data, sz, macros, e, state, where, cmd_error)
(m->mf_state != SMFS_OPEN && m->mf_state != SMFS_INMSG))
continue;
/* send macros (regardless of whether we send command) */
if (macros != NULL && macros[0] != NULL)
if (stage >= SMFIM_FIRST && stage <= SMFIM_LAST)
{
milter_send_macros(m, macros, command, e);
if (m->mf_state == SMFS_ERROR)
int idx;
char **macros;
if ((m->mf_lflags & MI_LFLAGS_SYM(stage)) != 0)
idx = m->mf_idx;
else
idx = 0;
SM_ASSERT(idx >= 0 && idx <= MAXFILTERS);
macros = MilterMacros[stage][idx];
/* send macros (regardless of whether we send cmd) */
if (macros != NULL && macros[0] != NULL)
{
MILTER_CHECK_ERROR(false, continue);
break;
milter_send_macros(m, macros, command, e);
if (m->mf_state == SMFS_ERROR)
{
MILTER_CHECK_ERROR(false, continue);
break;
}
}
}
@ -2329,40 +2319,17 @@ milter_getsymlist(m, buf, rlen, offset)
switch (i)
{
case MO_MACROS_CONNECT:
if (macros == NULL)
macros = MilterConnectMacros;
/* FALLTHROUGH */
case MO_MACROS_HELO:
if (macros == NULL)
macros = MilterHeloMacros;
/* FALLTHROUGH */
case MO_MACROS_ENVFROM:
if (macros == NULL)
macros = MilterEnvFromMacros;
/* FALLTHROUGH */
case MO_MACROS_ENVRCPT:
if (macros == NULL)
macros = MilterEnvRcptMacros;
/* FALLTHROUGH */
case MO_MACROS_EOM:
if (macros == NULL)
macros = MilterEOMMacros;
/* FALLTHROUGH */
case MO_MACROS_EOH:
if (macros == NULL)
macros = MilterEOHMacros;
/* FALLTHROUGH */
case MO_MACROS_DATA:
if (macros == NULL)
macros = MilterDataMacros;
case SMFIM_CONNECT:
case SMFIM_HELO:
case SMFIM_ENVFROM:
case SMFIM_ENVRCPT:
case SMFIM_EOH:
case SMFIM_EOM:
case SMFIM_DATA:
SM_ASSERT(m->mf_idx > 0 && m->mf_idx < MAXFILTERS);
macros = MilterMacros[i][m->mf_idx];
m->mf_lflags |= MI_LFLAGS_SYM(i);
len = strlen(buf + offset);
if (len > 0)
{
@ -2370,6 +2337,9 @@ milter_getsymlist(m, buf, rlen, offset)
buf + offset, nummac);
if (r >= 0)
nummac = r;
if (tTd(64, 5))
sm_dprintf("milter_getsymlist(%s, %s)=%d\n",
m->mf_name, buf + offset, r);
}
break;
@ -3989,7 +3959,7 @@ milter_connect(hostname, addr, e, state)
(void) memcpy(bp, sockinfo, strlen(sockinfo) + 1);
}
response = milter_command(SMFIC_CONNECT, buf, s, MilterConnectMacros,
response = milter_command(SMFIC_CONNECT, buf, s, SMFIM_CONNECT,
e, state, "connect", false);
sm_free(buf); /* XXX */
@ -4078,7 +4048,7 @@ milter_helo(helo, e, state)
}
response = milter_command(SMFIC_HELO, helo, strlen(helo) + 1,
MilterHeloMacros, e, state, "helo", false);
SMFIM_EOH, e, state, "helo", false);
milter_per_connection_check(e);
return response;
}
@ -4166,7 +4136,7 @@ milter_envfrom(args, e, state)
sm_syslog(LOG_INFO, e->e_id, "Milter: sender: %s", buf);
/* send it over */
response = milter_command(SMFIC_MAIL, buf, s, MilterEnvFromMacros,
response = milter_command(SMFIC_MAIL, buf, s, SMFIM_ENVFROM,
e, state, "mail", false);
sm_free(buf); /* XXX */
@ -4247,7 +4217,7 @@ milter_envrcpt(args, e, state, rcpt_error)
sm_syslog(LOG_INFO, e->e_id, "Milter: rcpts: %s", buf);
/* send it over */
response = milter_command(SMFIC_RCPT, buf, s, MilterEnvRcptMacros,
response = milter_command(SMFIC_RCPT, buf, s, SMFIM_ENVRCPT,
e, state, "rcpt", rcpt_error);
sm_free(buf); /* XXX */
return response;
@ -4273,8 +4243,8 @@ milter_data_cmd(e, state)
sm_dprintf("milter_data_cmd\n");
/* send it over */
return milter_command(SMFIC_DATA, NULL, 0, MilterDataMacros, e, state,
"data", false);
return milter_command(SMFIC_DATA, NULL, 0, SMFIM_DATA,
e, state, "data", false);
}
/*
@ -4293,7 +4263,12 @@ milter_data_cmd(e, state)
** modify the envelope or message.
*/
/* flow through code using continue; don't wrap in do {} while */
# define MILTER_CHECK_RESULTS() \
if (m->mf_state == SMFS_ERROR && *state == SMFIR_CONTINUE) \
{ \
MILTER_SET_STATE; \
} \
if (*state == SMFIR_ACCEPT || \
m->mf_state == SMFS_DONE || \
m->mf_state == SMFS_ERROR) \
@ -4339,6 +4314,8 @@ milter_data(e, state)
for (i = 0; InputFilters[i] != NULL; i++)
{
int idx;
char **macros;
struct milter *m = InputFilters[i];
if (*state != SMFIR_CONTINUE &&
@ -4383,10 +4360,16 @@ milter_data(e, state)
if (tTd(64, 10))
sm_dprintf("milter_data: eoh\n");
if (MilterEOHMacros[0] != NULL)
if ((m->mf_lflags & MI_LFLAGS_SYM(SMFIM_EOH)) != 0)
idx = m->mf_idx;
else
idx = 0;
SM_ASSERT(idx >= 0 && idx <= MAXFILTERS);
macros = MilterMacros[SMFIM_EOH][idx];
if (macros != NULL)
{
milter_send_macros(m, MilterEOHMacros,
SMFIC_EOH, e);
milter_send_macros(m, macros, SMFIC_EOH, e);
MILTER_CHECK_RESULTS();
}
@ -4405,10 +4388,15 @@ milter_data(e, state)
MILTER_CHECK_RESULTS();
}
if (MilterEOMMacros[0] != NULL)
if ((m->mf_lflags & MI_LFLAGS_SYM(SMFIM_EOH)) != 0)
idx = m->mf_idx;
else
idx = 0;
SM_ASSERT(idx >= 0 && idx <= MAXFILTERS);
macros = MilterMacros[SMFIM_EOM][idx];
if (macros != NULL)
{
milter_send_macros(m, MilterEOMMacros,
SMFIC_BODYEOB, e);
milter_send_macros(m, macros, SMFIC_BODYEOB, e);
MILTER_CHECK_RESULTS();
}
@ -4734,7 +4722,7 @@ milter_unknown(smtpcmd, e, state)
sm_dprintf("milter_unknown(%s)\n", smtpcmd);
return milter_command(SMFIC_UNKNOWN, smtpcmd, strlen(smtpcmd) + 1,
NULL, e, state, "unknown", false);
SMFIM_NOMACROS, e, state, "unknown", false);
}
/*

View File

@ -13,7 +13,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: parseaddr.c,v 8.404 2010/07/27 03:35:42 ca Exp $")
SM_RCSID("@(#)$Id: parseaddr.c,v 8.405 2012/02/27 22:49:08 ca Exp $")
#include <sm/sendmail.h>
#include "map.h"
@ -242,6 +242,7 @@ parseaddr(addr, a, flags, delim, delimptr, e, isrcpt)
**
** Parameters:
** addr -- the address to check.
** note: this is the complete address (including display part)
** delimptr -- if non-NULL: end of address to check, i.e.,
** a pointer in the address string.
** isrcpt -- true iff the address is for a recipient.

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2009, 2011 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2009, 2011, 2012 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 <sm/sem.h>
SM_RCSID("@(#)$Id: queue.c,v 8.991 2011/03/15 23:14:36 ca Exp $")
SM_RCSID("@(#)$Id: queue.c,v 8.997 2012/06/14 23:54:03 ca Exp $")
#include <dirent.h>
@ -1493,6 +1493,7 @@ runqueue(forkflag, verbose, persistent, runall)
for (i = 0; i < NumWorkGroups && !NoMoreRunners; i++)
{
int rwgflags = RWG_NONE;
int wasblocked;
/*
** If MaxQueueChildren active then test whether the start
@ -1529,7 +1530,11 @@ runqueue(forkflag, verbose, persistent, runall)
** increase if some queue runners "hang" for a long time.
*/
/* don't let proc_list_drop() change CurRunners */
wasblocked = sm_blocksignal(SIGCHLD);
CurRunners += WorkGrp[curnum].wg_maxact;
if (wasblocked == 0)
(void) sm_releasesignal(SIGCHLD);
if (forkflag)
rwgflags |= RWG_FORK;
if (verbose)
@ -1549,7 +1554,13 @@ runqueue(forkflag, verbose, persistent, runall)
if (!ret)
{
/* don't let proc_list_drop() change CurRunners */
wasblocked = sm_blocksignal(SIGCHLD);
CurRunners -= WorkGrp[curnum].wg_maxact;
CHK_CUR_RUNNERS("runqueue", curnum,
WorkGrp[curnum].wg_maxact);
if (wasblocked == 0)
(void) sm_releasesignal(SIGCHLD);
break;
}
@ -2031,6 +2042,9 @@ run_work_group(wgrp, flags)
{
IgnoreHostStatus = true;
MinQueueAge = 0;
#if _FFR_EXPDELAY
MaxQueueAge = 0;
#endif /* _FFR_EXPDELAY */
}
/*
@ -2300,7 +2314,7 @@ run_work_group(wgrp, flags)
if (bitset(RWG_PERSISTENT, flags))
{
sequenceno = 1;
sm_setproctitle(true, CurEnv, "running queue: %s",
sm_setproctitle(true, NULL, "running queue: %s",
qid_printqueue(qgrp, qdir));
/*
@ -2860,7 +2874,7 @@ gatherq(qgrp, qdir, doall, full, more, pnentries)
#if _FFR_EXPDELAY
if (MaxQueueAge > 0)
{
time_t lasttry, delay;
time_t lasttry, delay;
lasttry = (time_t) atol(&lbuf[1]);
delay = MIN(lasttry - w->w_ctime,
@ -3704,6 +3718,7 @@ dowork(qgrp, qdir, id, forkflag, requeueflag, e)
(void) dropenvelope(e, true, false);
sm_rpool_free(rpool);
e->e_rpool = NULL;
e->e_message = NULL;
}
}
e->e_id = NULL;
@ -4577,7 +4592,7 @@ readqf(e, openonly)
e->e_dfdev = st.st_dev;
e->e_dfino = ST_INODE(st);
(void) sm_snprintf(buf, sizeof(buf), "%ld",
e->e_msgsize);
PRT_NONNEGL(e->e_msgsize));
macdefine(&e->e_macro, A_TEMP, macid("{msg_size}"),
buf);
}

View File

@ -9,7 +9,7 @@
*/
#include <sm/gen.h>
SM_RCSID("@(#)$Id: sasl.c,v 8.22 2006/08/15 23:24:57 ca Exp $")
SM_RCSID("@(#)$Id: sasl.c,v 8.23 2012/11/27 18:53:13 gshapiro Exp $")
#if SASL
# include <stdlib.h>
@ -20,13 +20,19 @@ SM_RCSID("@(#)$Id: sasl.c,v 8.22 2006/08/15 23:24:57 ca Exp $")
** In order to ensure that storage leaks are tracked, and to prevent
** conflicts between the sm_heap package and sasl, we tell sasl to
** use the following heap allocation functions. Unfortunately,
** the sasl package incorrectly specifies the size of a block
** older sasl packages incorrectly specifies the size of a block
** using unsigned long: for portability, it should be size_t.
*/
void *sm_sasl_malloc __P((unsigned long));
static void *sm_sasl_calloc __P((unsigned long, unsigned long));
static void *sm_sasl_realloc __P((void *, unsigned long));
# if defined(SASL_VERSION_FULL) && SASL_VERSION_FULL >= 0x02011a
# define SM_SASL_SIZE_T size_t
# else /* defined(SASL_VERSION_FULL) && SASL_VERSION_FULL >= 0x02011a */
# define SM_SASL_SIZE_T unsigned long
# endif /* defined(SASL_VERSION_FULL) && SASL_VERSION_FULL >= 0x02011a */
void *sm_sasl_malloc __P((SM_SASL_SIZE_T));
static void *sm_sasl_calloc __P((SM_SASL_SIZE_T, SM_SASL_SIZE_T));
static void *sm_sasl_realloc __P((void *, SM_SASL_SIZE_T));
void sm_sasl_free __P((void *));
/*
@ -50,7 +56,7 @@ void sm_sasl_free __P((void *));
void *
sm_sasl_malloc(size)
unsigned long size;
SM_SASL_SIZE_T size;
{
return sm_malloc((size_t) size);
}
@ -71,8 +77,8 @@ sm_sasl_malloc(size)
static void *
sm_sasl_calloc(nelem, elemsize)
unsigned long nelem;
unsigned long elemsize;
SM_SASL_SIZE_T nelem;
SM_SASL_SIZE_T elemsize;
{
size_t size;
void *p;
@ -99,7 +105,7 @@ sm_sasl_calloc(nelem, elemsize)
static void *
sm_sasl_realloc(o, size)
void *o;
unsigned long size;
SM_SASL_SIZE_T size;
{
return sm_realloc(o, (size_t) size);
}

View File

@ -13,7 +13,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: savemail.c,v 8.314 2009/12/18 17:08:01 ca Exp $")
SM_RCSID("@(#)$Id: savemail.c,v 8.315 2012/02/27 17:43:03 gshapiro Exp $")
static bool errbody __P((MCI *, ENVELOPE *, char *));
static bool pruneroute __P((char *));
@ -506,6 +506,7 @@ returntosender(msg, returnq, flags, e)
int flags;
register ENVELOPE *e;
{
int ret;
register ENVELOPE *ee;
ENVELOPE *oldcur = CurEnv;
ENVELOPE errenvelope;
@ -703,24 +704,35 @@ returntosender(msg, returnq, flags, e)
/* actually deliver the error message */
sendall(ee, SM_DELIVER);
(void) dropenvelope(ee, true, false);
/* check for delivery errors */
ret = -1;
if (ee->e_parent == NULL ||
!bitset(EF_RESPONSE, ee->e_parent->e_flags))
{
ret = 0;
}
else
{
for (q = ee->e_sendqueue; q != NULL; q = q->q_next)
{
if (QS_IS_ATTEMPTED(q->q_state))
{
ret = 0;
break;
}
}
}
/* restore state */
(void) dropenvelope(ee, true, false);
sm_rpool_free(ee->e_rpool);
CurEnv = oldcur;
returndepth--;
/* check for delivery errors */
if (ee->e_parent == NULL ||
!bitset(EF_RESPONSE, ee->e_parent->e_flags))
return 0;
for (q = ee->e_sendqueue; q != NULL; q = q->q_next)
{
if (QS_IS_ATTEMPTED(q->q_state))
return 0;
}
return -1;
return ret;
}
/*
** ERRBODY -- output the body of an error message.
**

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2011 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -52,7 +52,7 @@
#ifdef _DEFINE
# ifndef lint
SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.1089 2011/03/15 23:14:36 ca Exp $";
SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.1096 2012/11/16 20:25:03 ca Exp $";
# endif /* ! lint */
#endif /* _DEFINE */
@ -941,6 +941,8 @@ struct envelope
#endif /* _FFR_MILTER_ENHSC */
};
#define PRT_NONNEGL(v) ((v) < 0 ? LONG_MAX : (v))
/* values for e_flags */
#define EF_OLDSTYLE 0x00000001L /* use spaces (not commas) in hdrs */
#define EF_INQUEUE 0x00000002L /* this message is fully queued */
@ -1481,7 +1483,6 @@ struct symtab
union
{
BITMAP256 sv_class; /* bit-map of word classes */
ADDRESS *sv_addr; /* pointer to address header */
MAILER *sv_mailer; /* pointer to mailer */
char *sv_alias; /* alias */
MAPCLASS sv_mapclass; /* mapping function class */
@ -1511,7 +1512,7 @@ typedef struct symtab STAB;
/* symbol types */
#define ST_UNDEF 0 /* undefined type */
#define ST_CLASS 1 /* class map */
#define ST_ADDRESS 2 /* an address in parsed format */
/* #define ST_unused 2 UNUSED */
#define ST_MAILER 3 /* a mailer header */
#define ST_ALIAS 4 /* an alias */
#define ST_MAPCLASS 5 /* mapping function class */
@ -1538,7 +1539,6 @@ typedef struct symtab STAB;
#define ST_MCI 17 /* mailer connection info (offset) */
#define s_class s_value.sv_class
#define s_address s_value.sv_addr
#define s_mailer s_value.sv_mailer
#define s_alias s_value.sv_alias
#define s_mci s_value.sv_mci
@ -1780,6 +1780,8 @@ struct milter
char *mf_conn; /* connection info */
int mf_sock; /* connected socket */
char mf_state; /* state of filter */
char mf_lflags; /* "local" flags */
int mf_idx; /* milter number (index) */
time_t mf_timeout[SMFTO_NUM_TO]; /* timeouts */
#if _FFR_MILTER_CHECK
/* for testing only */
@ -1789,6 +1791,9 @@ struct milter
#endif /* _FFR_MILTER_CHECK */
};
#define MI_LFL_NONE 0x00000000
#define MI_LFLAGS_SYM(st) (1 << (st)) /* has its own symlist for stage st */
struct milters
{
mi_int32 mis_flags; /* filter flags */
@ -2236,6 +2241,19 @@ extern unsigned char tTdvect[100]; /* trace vector */
# define CHECK_RESTART _CHECK_RESTART
#define CHK_CUR_RUNNERS(fct, idx, count) \
do \
{ \
if (CurRunners < 0) \
{ \
if (LogLevel > 3) \
sm_syslog(LOG_ERR, NOQID, \
"%s: CurRunners=%d, i=%d, count=%d, status=should not happen", \
fct, CurRunners, idx, count); \
CurRunners = 0; \
} \
} while (0)
/* reply types (text in SmtpMsgBuffer) */
#define XS_DEFAULT 0
#define XS_STARTTLS 1

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2010 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2010, 2012 Sendmail, Inc. and its suppliers.
* All rights reserved.
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
* Copyright (c) 1988, 1993
@ -17,7 +17,7 @@
# include <libmilter/mfdef.h>
#endif /* MILTER */
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.1008 2011/01/12 23:52:59 ca Exp $")
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.1011 2012/12/19 02:49:21 ca Exp $")
#include <sm/time.h>
#include <sm/fdset.h>
@ -30,6 +30,7 @@ SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.1008 2011/01/12 23:52:59 ca Exp $")
static int saslmechs __P((sasl_conn_t *, char **));
#endif /* SASL */
#if STARTTLS
# include <openssl/err.h>
# include <sysexits.h>
static SSL_CTX *srv_ctx = NULL; /* TLS server context */
@ -1914,11 +1915,18 @@ smtp(nullserver, d_flags, e)
if (LogLevel > 5)
{
unsigned long l;
const char *sr;
l = ERR_peek_error();
sr = ERR_reason_error_string(l);
sm_syslog(LOG_WARNING, NOQID,
"STARTTLS=server, error: accept failed=%d, SSL_error=%d, errno=%d, retry=%d, relay=%.100s",
r, ssl_err, errno, i,
"STARTTLS=server, error: accept failed=%d, reason=%s, SSL_error=%d, errno=%d, retry=%d, relay=%.100s",
r, sr == NULL ? "unknown"
: sr,
ssl_err, errno, i,
CurSmtpClient);
if (LogLevel > 8)
if (LogLevel > 9)
tlslogerr("server");
}
tls_ok_srv = false;
@ -3481,7 +3489,7 @@ smtp_data(smtp, e)
collect(InChannel, true, NULL, e, true);
/* redefine message size */
(void) sm_snprintf(buf, sizeof(buf), "%ld", e->e_msgsize);
(void) sm_snprintf(buf, sizeof(buf), "%ld", PRT_NONNEGL(e->e_msgsize));
macdefine(&e->e_macro, A_TEMP, macid("{msg_size}"), buf);
/* rscheck() will set Errors or EF_DISCARD if it trips */
@ -3559,7 +3567,7 @@ smtp_data(smtp, e)
}
/* Milter may have changed message size */
(void) sm_snprintf(buf, sizeof(buf), "%ld", e->e_msgsize);
(void) sm_snprintf(buf, sizeof(buf), "%ld", PRT_NONNEGL(e->e_msgsize));
macdefine(&e->e_macro, A_TEMP, macid("{msg_size}"), buf);
/* abort message filters that didn't get the body & log msg is OK */

View File

@ -13,7 +13,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: stab.c,v 8.89 2006/08/15 23:24:58 ca Exp $")
SM_RCSID("@(#)$Id: stab.c,v 8.91 2011/08/08 17:33:34 ca Exp $")
/*
** STAB -- manage the symbol table
@ -65,7 +65,7 @@ stab(name, type, op)
sm_dprintf("(hfunc=%d) ", hfunc);
ps = &SymTab[hfunc];
if (type == ST_MACRO || type == ST_RULESET)
if (type == ST_MACRO || type == ST_RULESET || type == ST_NAMECANON)
{
while ((s = *ps) != NULL &&
(s->s_symtype != type || strcmp(name, s->s_name)))
@ -113,10 +113,6 @@ stab(name, type, op)
len = sizeof(s->s_class);
break;
case ST_ADDRESS:
len = sizeof(s->s_address);
break;
case ST_MAILER:
len = sizeof(s->s_mailer);
break;

View File

@ -13,7 +13,7 @@
#include <sendmail.h>
SM_RCSID("@(#)$Id: util.c,v 8.416 2009/12/18 17:05:26 ca Exp $")
SM_RCSID("@(#)$Id: util.c,v 8.425 2012/03/03 00:10:43 ca Exp $")
#include <sm/sendmail.h>
#include <sysexits.h>
@ -2638,7 +2638,13 @@ proc_list_drop(pid, st, other)
mark_work_group_restart(ProcListVec[i].proc_other, st);
}
else if (type == PROC_QUEUE)
{
CurRunners -= ProcListVec[i].proc_count;
/* CHK_CUR_RUNNERS() can't be used here: uses syslog() */
if (CurRunners < 0)
CurRunners = 0;
}
}
/*
@ -2702,6 +2708,14 @@ proc_list_probe()
(int) ProcListVec[i].proc_pid);
ProcListVec[i].proc_pid = NO_PID;
SM_FREE_CLR(ProcListVec[i].proc_task);
if (ProcListVec[i].proc_type == PROC_QUEUE)
{
CurRunners -= ProcListVec[i].proc_count;
CHK_CUR_RUNNERS("proc_list_probe", i,
ProcListVec[i].proc_count);
}
CurChildren--;
}
else
@ -2852,3 +2866,4 @@ count_open_connections(hostaddr)
}
return n;
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998-2011 Sendmail, Inc. and its suppliers.
* Copyright (c) 1998-2012 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.227 2011/04/26 23:02:35 ca Exp $")
SM_RCSID("@(#)$Id: version.c,v 8.235 2012/12/19 05:11:44 ca Exp $")
char Version[] = "8.14.5";
char Version[] = "8.14.6";