Import sendmail 8.14.7
This commit is contained in:
parent
ccc63572ab
commit
e388eedd7a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/sendmail/dist/; revision=249727 svn path=/vendor/sendmail/8.14.7/; revision=249728; tag=vendor/sendmail/8.14.7
146
CACerts
146
CACerts
@ -1,4 +1,4 @@
|
||||
# $Id: CACerts,v 8.5 2011/05/06 23:05:10 ca Exp $
|
||||
# $Id: CACerts,v 8.6 2013/01/18 15:14:17 ca Exp $
|
||||
# This file contains some CA certificates that are used to sign the
|
||||
# certificates of mail servers of members of the sendmail consortium
|
||||
# who may reply to questions etc sent to sendmail.org.
|
||||
@ -10,93 +10,93 @@ Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
c2:3c:61:67:3b:0a:cc:5e
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2009/emailAddress=ca+ca-rsa2009@esmtp.org
|
||||
f1:41:b3:3d:ba:bd:33:49
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2012/emailAddress=ca+ca-rsa2012@esmtp.org
|
||||
Validity
|
||||
Not Before: May 14 04:42:18 2009 GMT
|
||||
Not After : May 13 04:42:18 2012 GMT
|
||||
Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2009/emailAddress=ca+ca-rsa2009@esmtp.org
|
||||
Not Before: Mar 10 02:47:46 2012 GMT
|
||||
Not After : Mar 10 02:47:46 2015 GMT
|
||||
Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2012/emailAddress=ca+ca-rsa2012@esmtp.org
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:d5:f8:d3:48:38:75:df:2e:6b:8b:c4:8d:1d:41:
|
||||
5e:ad:4b:96:3d:48:c2:dc:e5:ff:61:98:95:32:03:
|
||||
e9:b6:71:5a:68:31:bc:e1:5c:aa:0e:70:a7:bc:51:
|
||||
b7:13:6a:78:54:ae:a6:d0:44:49:1b:5e:37:5b:59:
|
||||
20:01:47:a7:ec:41:4c:11:79:8c:25:c1:1b:c0:ed:
|
||||
85:b2:de:0f:10:9f:e7:b2:a3:c4:f1:fc:85:51:aa:
|
||||
d6:68:49:51:3e:04:e1:eb:e9:cd:87:1b:d0:9d:97:
|
||||
7b:4c:e1:1e:b1:6a:be:01:0a:a9:97:9a:50:89:e3:
|
||||
66:06:4c:07:cb:7e:99:70:13:e8:b4:9c:e7:e6:52:
|
||||
38:c0:64:90:42:d0:f5:cf:22:46:22:60:e9:34:70:
|
||||
1d:e3:d1:13:33:3a:31:ba:13:06:a8:c2:34:90:47:
|
||||
c5:a1:bd:2d:7d:98:21:70:de:22:d0:13:11:e5:08:
|
||||
dd:a0:77:0b:df:34:a7:07:55:de:5a:71:f6:6c:9e:
|
||||
ec:f7:45:75:1f:22:a9:84:06:c6:4f:84:3d:4e:05:
|
||||
d7:e4:e5:98:41:61:7b:8e:c9:3b:a6:ed:31:80:7d:
|
||||
fd:fa:f0:dc:b7:07:82:b8:ec:27:20:39:5f:78:95:
|
||||
f1:0d:93:8d:f9:4d:21:08:fd:72:89:01:ff:2c:a0:
|
||||
71:9d
|
||||
Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:a2:80:fc:c6:ce:7f:60:38:65:f4:38:f9:7a:d9:
|
||||
87:fd:47:eb:3f:2c:4a:c9:38:77:6a:77:94:92:7f:
|
||||
83:3d:99:57:2c:5f:37:bb:ba:12:10:17:56:fa:eb:
|
||||
43:a6:4b:4c:1e:30:32:07:94:2f:5a:d8:65:49:29:
|
||||
fa:24:d1:f0:0b:45:2d:e5:d5:cb:7d:60:dc:a6:ce:
|
||||
a4:47:35:30:ee:5e:8d:c2:30:e7:a7:63:32:b0:59:
|
||||
80:cc:8c:99:64:77:8f:50:8e:88:51:47:36:ea:9a:
|
||||
f3:b4:c0:8c:a6:ab:c6:42:57:88:b9:5f:9f:61:15:
|
||||
bb:79:65:93:ca:a9:fd:17:eb:87:26:8b:eb:b7:2b:
|
||||
7e:33:05:2b:ba:c0:46:f7:08:fd:da:c1:50:9b:3d:
|
||||
26:83:5c:53:97:89:2c:cc:5f:f2:7b:a8:b7:3d:fb:
|
||||
f2:b4:89:0d:43:ef:18:5c:21:75:71:cc:f0:c2:a3:
|
||||
84:69:c0:a7:f3:9b:de:c1:c7:5a:5c:7e:68:da:49:
|
||||
71:af:58:a8:51:9f:bd:f9:3d:bb:a5:92:fa:7b:1d:
|
||||
52:f5:fe:90:59:95:27:65:a4:af:97:9a:4f:01:39:
|
||||
59:7d:08:6f:a1:8f:42:47:49:bf:12:52:53:39:74:
|
||||
8d:62:3b:bd:4c:4f:05:0f:c4:b9:3e:da:a8:0e:96:
|
||||
05:2d
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
A7:61:FA:31:AF:A8:E2:5E:93:B6:84:9E:74:08:A2:76:50:87:69:7C
|
||||
08:38:E3:88:92:53:6E:F1:56:69:27:44:B5:4C:A0:18:CA:06:97:EB
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:A7:61:FA:31:AF:A8:E2:5E:93:B6:84:9E:74:08:A2:76:50:87:69:7C
|
||||
DirName:/C=US/ST=California/L=Berkeley/O=Endmail Org/OU=MTA/CN=Claus Assmann CA RSA 2009/emailAddress=ca+ca-rsa2009@esmtp.org
|
||||
serial:C2:3C:61:67:3B:0A:CC:5E
|
||||
keyid:08:38:E3:88:92:53:6E:F1:56:69:27:44:B5:4C:A0:18:CA:06:97:EB
|
||||
DirName:/C=US/ST=California/L=Berkeley/O=Endmail Org/OU=MTA/CN=Claus Assmann CA RSA 2012/emailAddress=ca+ca-rsa2012@esmtp.org
|
||||
serial:F1:41:B3:3D:BA:BD:33:49
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
email:ca+ca-rsa2009@esmtp.org
|
||||
email:ca+ca-rsa2012@esmtp.org
|
||||
X509v3 Issuer Alternative Name:
|
||||
email:ca+ca-rsa2009@esmtp.org
|
||||
Signature Algorithm: md5WithRSAEncryption
|
||||
b3:38:e0:da:a8:07:d8:cc:b8:4d:8c:20:a6:06:2c:f8:27:db:
|
||||
8e:28:0f:39:bd:d9:24:c7:9f:e0:4d:d6:b6:63:42:36:0f:d8:
|
||||
70:41:e7:9e:a2:24:64:05:ea:85:97:ac:f2:cc:c2:a6:71:bb:
|
||||
30:21:c1:c7:c4:54:34:1d:30:09:f0:9b:74:27:93:59:12:4c:
|
||||
53:0b:8c:3e:d0:39:ed:4a:d0:d9:66:24:d8:e7:e5:9c:a8:6d:
|
||||
5f:56:5d:9a:91:fe:1b:7d:b9:7c:79:9e:1c:b9:71:74:14:f8:
|
||||
0c:30:50:f9:b1:22:56:a8:4d:6f:4b:9b:e5:8a:81:33:1b:77:
|
||||
75:f6:d8:ce:d4:90:34:86:34:d1:86:75:a9:e1:23:e6:af:c1:
|
||||
8e:28:97:47:20:4d:1b:57:09:39:f4:56:01:d2:87:43:3e:29:
|
||||
f6:c4:5b:7d:8f:9e:bd:ad:36:79:cf:09:70:43:30:21:98:23:
|
||||
31:c8:0d:39:ee:77:e1:4a:44:1a:5c:79:2f:6c:ec:8a:3c:db:
|
||||
99:a0:11:bc:1a:46:24:51:e7:75:d6:9a:db:ad:dd:55:d4:dd:
|
||||
ca:81:a0:10:77:96:91:9c:76:30:38:18:f0:82:43:b3:7c:41:
|
||||
64:4c:4e:da:66:22:67:cf:b7:d7:10:ba:ed:f4:6d:43:59:00:
|
||||
d0:82:1e:07
|
||||
email:ca+ca-rsa2012@esmtp.org
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
9a:8f:4d:23:5b:30:80:e1:94:e4:66:9c:3a:17:8b:79:49:5b:
|
||||
ec:5d:e5:a1:22:2d:71:37:a1:51:e7:1d:b1:0d:a9:9b:aa:a9:
|
||||
0d:c7:cd:d6:24:f9:e0:f0:57:be:4f:74:0c:4b:7a:42:4c:70:
|
||||
19:2e:8e:eb:cb:1b:00:26:27:eb:1c:42:33:d5:ec:32:b4:6c:
|
||||
7d:a3:04:a1:5c:00:49:c9:0d:4c:4d:28:37:06:22:77:ec:40:
|
||||
15:25:3a:23:84:ae:1f:da:90:dd:c9:dc:27:ee:7c:ec:e5:df:
|
||||
b8:ba:1e:3f:ee:c2:91:a2:3f:22:92:1e:f3:06:7e:aa:e9:c3:
|
||||
11:2d:3d:2f:85:f7:fc:d7:e2:f8:6d:70:a6:40:62:69:e7:52:
|
||||
ed:1b:19:38:72:86:08:a1:3d:47:c8:68:82:41:db:db:2a:52:
|
||||
25:d7:49:aa:9e:c5:83:22:7d:2f:0b:df:8c:90:2d:b5:aa:33:
|
||||
c7:9b:e8:39:8f:bb:79:5b:13:2d:4e:a9:69:59:c7:09:26:e2:
|
||||
b5:53:80:86:72:bb:7c:be:e9:46:5b:d8:b2:78:42:d6:5d:c3:
|
||||
bb:3a:3b:5f:0f:e8:c3:60:fb:88:9f:3a:2b:9f:d3:7d:9f:c7:
|
||||
32:aa:4d:34:a7:66:a1:25:16:95:a6:69:e7:86:a3:5c:b9:b9:
|
||||
df:58:05:e3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
gkOzfEFkTE7aZiJnz7fXELrt9G1DWQDQgh4H
|
||||
BgNVBAsTA01UQTEiMCAGA1UEAxMZQ2xhdXMgQXNzbWFubiBDQSBSU0EgMjAxMjEm
|
||||
MCQGCSqGSIb3DQEJARYXY2ErY2EtcnNhMjAxMkBlc210cC5vcmeCCQDxQbM9ur0z
|
||||
STAMBgNVHRMEBTADAQH/MCIGA1UdEQQbMBmBF2NhK2NhLXJzYTIwMTJAZXNtdHAu
|
||||
b3JnMCIGA1UdEgQbMBmBF2NhK2NhLXJzYTIwMTJAZXNtdHAub3JnMA0GCSqGSIb3
|
||||
DQEBBQUAA4IBAQCaj00jWzCA4ZTkZpw6F4t5SVvsXeWhIi1xN6FR5x2xDambqqkN
|
||||
x83WJPng8Fe+T3QMS3pCTHAZLo7ryxsAJifrHEIz1ewytGx9owShXABJyQ1MTSg3
|
||||
BiJ37EAVJTojhK4f2pDdydwn7nzs5d+4uh4/7sKRoj8ikh7zBn6q6cMRLT0vhff8
|
||||
1+L4bXCmQGJp51LtGxk4coYIoT1HyGiCQdvbKlIl10mqnsWDIn0vC9+MkC21qjPH
|
||||
m+g5j7t5WxMtTqlpWccJJuK1U4CGcrt8vulGW9iyeELWXcO7OjtfD+jDYPuInzor
|
||||
n9N9n8cyqk00p2ahJRaVpmnnhqNcubnfWAXj
|
||||
-----END CERTIFICATE-----
|
||||
|
139
PGPKEYS
139
PGPKEYS
@ -141,6 +141,143 @@ gpExpdV7qPrw9k01j5rod5PjZlG8zV0=
|
||||
=SR28
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
pub 2048 5207CAD3 2013-01-02 ------- RSA Sign & Encrypt
|
||||
fingerprint: B87D 4569 86F1 9484 07E5 CCB4 3D68 B25D 5207 CAD3
|
||||
uid Sendmail Signing Key/2013 <sendmail@Sendmail.ORG>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.13 (Darwin)
|
||||
|
||||
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
|
||||
x4XQOkQ96TXgQoe/dvARKuUcAQl7RvZOIZcBTPs=
|
||||
=kpXE
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
pub 2048 CEEEF43B 2011-12-14 ------- RSA Sign & Encrypt
|
||||
fingerprint: CA7A 8F39 A241 9FFF B0A9 AB27 8E5A E9FB CEEE F43B
|
||||
@ -2298,4 +2435,4 @@ DnF3FZZEzV7oqPwC2jzv/1dD6GFhtgy0cnyoPGUJCyc=
|
||||
=nES8
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
$Revision: 8.40 $, Last updated $Date: 2012/01/09 04:44:59 $
|
||||
$Revision: 8.43 $, Last updated $Date: 2013/01/18 17:40:21 $
|
||||
|
@ -1,11 +1,40 @@
|
||||
SENDMAIL RELEASE NOTES
|
||||
$Id: RELEASE_NOTES,v 8.2011 2012/12/21 18:42:16 ca Exp $
|
||||
$Id: RELEASE_NOTES,v 8.2024 2013/04/19 15:01:58 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.7/8.14.7 2013/04/21
|
||||
Drop support for IPv4-mapped IPv6 addresses to prevent the MTA
|
||||
from using a mapped address over a legitimate IPv6 address
|
||||
and to enforce the proper semantics over the IPv6
|
||||
connection. Problem noted by Ulrich Sporlein.
|
||||
Fix a regression introduced in 8.14.6: the wrong list of
|
||||
macros was sent to a milter in the EHLO stage.
|
||||
Problem found by Fabrice Bellet, reported via RedHat
|
||||
(Jaroslav Skarvada).
|
||||
Fix handling of ORCPT parameter for DSNs: xtext decoding
|
||||
was not performed and a wrong syntax check was applied
|
||||
to the "addr-type" field. Problem noted by Dan Lukes
|
||||
of Obludarium.
|
||||
Fix handling of NUL characters in the MIME conversion functions
|
||||
so that message bodies containing them will be sent
|
||||
on properly. Note: this usually also affects mails
|
||||
that are not converted as those functions are used
|
||||
for other purposes too. Problem noted by Elchonon
|
||||
Edelson of Lockheed Martin.
|
||||
Do not perform "duplicate" elimination of recipients if they
|
||||
resolve to the error mailer using a temporary failure
|
||||
(4xy) via ruleset 0. Problem noted by Akira Takahashi
|
||||
of IIJ.
|
||||
CONTRIB: Updated version of etrn.pl script from John Beck
|
||||
of Oracle.
|
||||
Portability:
|
||||
Unlike gcc, clang doesn't apply full prototypes to K&R
|
||||
definitions.
|
||||
|
||||
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
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:43 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -122,7 +122,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:43 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -123,7 +123,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:43 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -123,7 +123,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:43 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -127,7 +127,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:43 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -123,7 +123,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:44 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -122,7 +122,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:44 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -123,7 +123,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:44 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -122,7 +122,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:44 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -123,7 +123,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:44 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -123,7 +123,7 @@ DnMAILER-DAEMON
|
||||
CPREDIRECT
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6
|
||||
DZ8.14.7
|
||||
|
||||
|
||||
###############
|
||||
|
@ -16,8 +16,8 @@
|
||||
#####
|
||||
##### SENDMAIL CONFIGURATION FILE
|
||||
#####
|
||||
##### 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
|
||||
##### built by ca@wiz.smi.sendmail.com on Fri Apr 19 08:04:44 PDT 2013
|
||||
##### in /extra/home/ca/sm-8.14.7/OpenSource/sendmail-8.14.7/cf/cf
|
||||
##### using ../ as configuration include directory
|
||||
#####
|
||||
######################################################################
|
||||
@ -114,7 +114,7 @@ D{MTAHost}[127.0.0.1]
|
||||
|
||||
|
||||
# Configuration version number
|
||||
DZ8.14.6/Submit
|
||||
DZ8.14.7/Submit
|
||||
|
||||
|
||||
###############
|
||||
|
@ -1,6 +1,6 @@
|
||||
divert(-1)
|
||||
#
|
||||
# Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
|
||||
# Copyright (c) 1998-2013 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.222 2012/12/19 05:11:43 ca Exp $')
|
||||
VERSIONID(`$Id: version.m4,v 8.230 2013/04/18 15:07:16 ca Exp $')
|
||||
#
|
||||
divert(0)
|
||||
# Configuration version number
|
||||
DZ8.14.6`'ifdef(`confCF_VERSION', `/confCF_VERSION')
|
||||
DZ8.14.7`'ifdef(`confCF_VERSION', `/confCF_VERSION')
|
||||
|
@ -1,22 +1,40 @@
|
||||
#!/usr/local/bin/perl -w
|
||||
#!/usr/perl5/bin/perl -w
|
||||
#
|
||||
# CDDL HEADER START
|
||||
#
|
||||
# The contents of this file are subject to the terms of the
|
||||
# Common Development and Distribution License (the "License").
|
||||
# You may not use this file except in compliance with the License.
|
||||
#
|
||||
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
||||
# or http://www.opensolaris.org/os/licensing.
|
||||
# See the License for the specific language governing permissions
|
||||
# and limitations under the License.
|
||||
#
|
||||
# When distributing Covered Code, include this CDDL HEADER in each
|
||||
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
||||
# If applicable, add the following below this CDDL HEADER, with the
|
||||
# fields enclosed by brackets "[]" replaced with your own identifying
|
||||
# information: Portions Copyright [yyyy] [name of copyright owner]
|
||||
#
|
||||
# CDDL HEADER END
|
||||
#
|
||||
#
|
||||
# Copyright (c) 1996-2000 by John T. Beck <john@beck.org>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Copyright (c) 2000 by Sun Microsystems, Inc.
|
||||
# All rights reserved.
|
||||
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
|
||||
# Use is subject to license terms.
|
||||
#
|
||||
#ident "@(#)etrn.pl 1.1 00/09/06 SMI"
|
||||
|
||||
require 5.005; # minimal Perl version required
|
||||
require 5.8.4; # minimal Perl version required
|
||||
use strict;
|
||||
use warnings;
|
||||
use English;
|
||||
|
||||
# hardcoded constants, should work fine for BSD-based systems
|
||||
use Socket;
|
||||
use Getopt::Std;
|
||||
use vars qw($opt_v);
|
||||
my $sockaddr = 'S n a4 x8';
|
||||
our ($opt_v, $opt_b);
|
||||
|
||||
# system requirements:
|
||||
# must have 'hostname' program.
|
||||
@ -26,11 +44,12 @@ select(STDERR);
|
||||
|
||||
chop(my $name = `hostname || uname -n`);
|
||||
|
||||
(my $hostname, my $aliases, my $type, my $len, undef) = gethostbyname($name);
|
||||
my ($hostname) = (gethostbyname($name))[0];
|
||||
|
||||
my $usage = "Usage: $PROGRAM_NAME [-v] host [args]";
|
||||
getopts('v');
|
||||
my $usage = "Usage: $PROGRAM_NAME [-bv] host [args]";
|
||||
getopts('bv');
|
||||
my $verbose = $opt_v;
|
||||
my $boot_check = $opt_b;
|
||||
my $server = shift(@ARGV);
|
||||
my @hosts = @ARGV;
|
||||
die $usage unless $server;
|
||||
@ -86,24 +105,60 @@ if (!@hosts) {
|
||||
die "open $cwfile: $ERRNO";
|
||||
}
|
||||
}
|
||||
# Do this automatically if no client hosts are specified.
|
||||
$boot_check = "yes";
|
||||
}
|
||||
|
||||
($name, $aliases, my $proto) = getprotobyname('tcp');
|
||||
($name, $aliases, $port) = getservbyname($port, 'tcp')
|
||||
my ($proto) = (getprotobyname('tcp'))[2];
|
||||
($port) = (getservbyname($port, 'tcp'))[2]
|
||||
unless $port =~ /^\d+/;
|
||||
|
||||
if ($boot_check) {
|
||||
# first connect to localhost to verify that we can accept connections
|
||||
print "verifying that localhost is accepting SMTP connections\n"
|
||||
if ($verbose);
|
||||
my $localhost_ok = 0;
|
||||
($name, my $laddr) = (gethostbyname('localhost'))[0, 4];
|
||||
(!defined($name)) && die "gethostbyname failed, unknown host localhost";
|
||||
|
||||
# get a connection
|
||||
my $sinl = sockaddr_in($port, $laddr);
|
||||
my $save_errno = 0;
|
||||
for (my $num_tries = 1; $num_tries < 5; $num_tries++) {
|
||||
socket(S, &PF_INET, &SOCK_STREAM, $proto)
|
||||
|| die "socket: $ERRNO";
|
||||
if (connect(S, $sinl)) {
|
||||
&alarm("sending 'quit' to $server");
|
||||
print S "quit\n";
|
||||
alarm(0);
|
||||
$localhost_ok = 1;
|
||||
close(S);
|
||||
alarm(0);
|
||||
last;
|
||||
}
|
||||
print STDERR "localhost connect failed ($num_tries)\n";
|
||||
$save_errno = $ERRNO;
|
||||
sleep(1 << $num_tries);
|
||||
close(S);
|
||||
alarm(0);
|
||||
}
|
||||
if (! $localhost_ok) {
|
||||
die "could not connect to localhost: $save_errno\n";
|
||||
}
|
||||
}
|
||||
|
||||
# look it up
|
||||
|
||||
($name, $aliases, $type, $len, my $thataddr) = gethostbyname($server);
|
||||
($name, my $thataddr) = (gethostbyname($server))[0, 4];
|
||||
(!defined($name)) && die "gethostbyname failed, unknown host $server";
|
||||
|
||||
|
||||
# get a connection
|
||||
my $that = pack($sockaddr, &AF_INET, $port, $thataddr);
|
||||
socket(S, &AF_INET, &SOCK_STREAM, $proto)
|
||||
my $sinr = sockaddr_in($port, $thataddr);
|
||||
socket(S, &PF_INET, &SOCK_STREAM, $proto)
|
||||
|| die "socket: $ERRNO";
|
||||
print "server = $server\n" if (defined($verbose));
|
||||
&alarm("connect to $server");
|
||||
if (! connect(S, $that)) {
|
||||
if (! connect(S, $sinr)) {
|
||||
die "cannot connect to $server: $ERRNO\n";
|
||||
}
|
||||
alarm(0);
|
||||
|
23
doc/op/op.me
23
doc/op/op.me
@ -9,7 +9,7 @@
|
||||
.\" the sendmail distribution.
|
||||
.\"
|
||||
.\"
|
||||
.\" $Id: op.me,v 8.749 2012/03/02 22:37:11 ca Exp $
|
||||
.\" $Id: op.me,v 8.751 2013/04/08 21:41:25 ca Exp $
|
||||
.\"
|
||||
.\" eqn op.me | pic | troff -me
|
||||
.\"
|
||||
@ -90,7 +90,7 @@ Sendmail, Inc.
|
||||
.de Ve
|
||||
Version \\$2
|
||||
..
|
||||
.Ve $Revision: 8.749 $
|
||||
.Ve $Revision: 8.751 $
|
||||
.rm Ve
|
||||
.sp
|
||||
For Sendmail Version 8.14
|
||||
@ -5547,9 +5547,6 @@ It can have primary types
|
||||
or full types
|
||||
(such as
|
||||
.q text/plain ).
|
||||
The class is initialized to have
|
||||
.q text/plain
|
||||
only.
|
||||
.ip $=s
|
||||
contains the set of subtypes of message that can be treated recursively.
|
||||
By default it contains only
|
||||
@ -6609,8 +6606,13 @@ Modifier Options (flags) for the client
|
||||
.)b
|
||||
The
|
||||
.i Addr ess
|
||||
mask may be a numeric address in dot notation
|
||||
mask may be a numeric address in IPv4 dot notation or IPv6 colon notation
|
||||
or a network name.
|
||||
Note that if a network name is specified,
|
||||
only the first IP address returned for it will be used.
|
||||
This may cause indeterminate behavior for network names
|
||||
that resolve to multiple addresses.
|
||||
Therefore, use of an address is recommended.
|
||||
.i Modifier
|
||||
can be the following character:
|
||||
.(b
|
||||
@ -6778,8 +6780,13 @@ The
|
||||
key is used for error messages and logging.
|
||||
The
|
||||
.i Addr ess
|
||||
mask may be a numeric address in dot notation
|
||||
mask may be a numeric address in IPv4 dot notation or IPv6 colon notation
|
||||
or a network name.
|
||||
Note that if a network name is specified,
|
||||
only the first IP address returned for it will be used.
|
||||
This may cause indeterminate behavior for network names
|
||||
that resolve to multiple addresses.
|
||||
Therefore, use of an address is recommended.
|
||||
The
|
||||
.i Family
|
||||
key defaults to INET (IPv4).
|
||||
@ -11471,7 +11478,7 @@ replace it with a blank sheet for double-sided output.
|
||||
.\".sz 10
|
||||
.\"Eric Allman
|
||||
.\".sp
|
||||
.\"Version $Revision: 8.749 $
|
||||
.\"Version $Revision: 8.751 $
|
||||
.\".ce 0
|
||||
.bp 3
|
||||
.ce
|
||||
|
429
doc/op/op.ps
429
doc/op/op.ps
@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.19
|
||||
%%CreationDate: Fri Dec 21 10:44:56 2012
|
||||
%%CreationDate: Fri Apr 19 08:04:25 2013
|
||||
%%DocumentNeededResources: font Times-Bold
|
||||
%%+ font Times-Roman
|
||||
%%+ font Times-Italic
|
||||
@ -234,7 +234,7 @@ BP
|
||||
(TION AND OPERA)-1.14 E(TION GUIDE)-1.14 E/F3 10/Times-Roman@0 SF
|
||||
(Eric Allman)263.42 196.2 Q(Claus Assmann)256.75 208.2 Q(Gre)244.75
|
||||
220.2 Q(gory Neil Shapiro)-.15 E(Sendmail, Inc.)258.975 232.2 Q -1.11
|
||||
(Ve)260.225 256.2 S(rsion 8.749)1.11 E -.15(Fo)234.465 280.2 S 2.5(rS)
|
||||
(Ve)260.225 256.2 S(rsion 8.751)1.11 E -.15(Fo)234.465 280.2 S 2.5(rS)
|
||||
.15 G(endmail V)-2.5 E(ersion 8.14)-1.11 E/F4 10/Times-Italic@0 SF
|
||||
(Sendmail)97 324.6 Q/F5 8/Times-Roman@0 SF(TM)-5 I F3 .1
|
||||
(implements a general purpose internetw)2.6 5 N .1(ork mail routing f)
|
||||
@ -4713,9 +4713,8 @@ G 1.853(ultipart messages are al)-6.853 F -.1(wa)-.1 G 1.853
|
||||
138 345.6 Q 3.357(yw)-.15 G .858(ill be encoded as quoted-printable\).)
|
||||
-3.357 F .858(It can ha)5.858 F 1.158 -.15(ve p)-.2 H .858
|
||||
(rimary types \(e.g., \231te).15 F .858(xt\232\) or full)-.15 F
|
||||
(types \(such as \231te)138 357.6 Q 2.5(xt/plain\232\). The)-.15 F
|
||||
(class is initialized to ha)2.5 E .3 -.15(ve \231)-.2 H(te).15 E
|
||||
(xt/plain\232 only)-.15 E(.)-.65 E 18.97($=s contains)102 373.8 R .648
|
||||
(types \(such as \231te)138 357.6 Q(xt/plain\232\).)-.15 E 18.97
|
||||
($=s contains)102 373.8 R .648
|
||||
(the set of subtypes of message that can be treated recursi)3.148 F -.15
|
||||
(ve)-.25 G(ly).15 E 5.648(.B)-.65 G 3.148(yd)-5.648 G(ef)-3.148 E .648
|
||||
(ault it con-)-.1 F .969(tains only \231rfc822\232.)138 385.8 R .969
|
||||
@ -5502,143 +5501,152 @@ G(ree port\))-2.5 E 48.95(Addr Address)214 204.6 R(mask \(def)2.5 E
|
||||
21.72(SndBufSize Size)214 228.6 R(of TCP send b)2.5 E(uf)-.2 E(fer)-.25
|
||||
E 21.17(RcvBufSize Size)214 240.6 R(of TCP recei)2.5 E .3 -.15(ve b)-.25
|
||||
H(uf)-.05 E(fer)-.25 E 34.5(Modi\214er Options)214 252.6 R
|
||||
(\(\215ags\) for the client)2.5 E(The)174 268.8 Q F2(Addr)3.166 E F1
|
||||
.666(ess mask may be a numeric address in dot notation or a netw)B .665
|
||||
(ork name.)-.1 F F2(Modi\214er)174 280.8 Q F1(can be the follo)2.5 E
|
||||
(wing character:)-.25 E 67(hu)214 297 S(se name of interf)-67 E
|
||||
(ace for HELO command)-.1 E 64.78(Ad)214 309 S(on')-64.78 E 2.5(tu)-.18
|
||||
G(se A)-2.5 E(UTH when sending e-mail)-.55 E 66.44(Sd)214 321 S(on')
|
||||
-66.44 E 2.5(tu)-.18 G(se ST)-2.5 E(AR)-.93 E(TTLS when sending e-mail)
|
||||
-.6 E .763(If `)174 337.2 R(`h')-.74 E 3.263('i)-.74 G 3.263(ss)-3.263 G
|
||||
.763(et, the name corresponding to the outgoing interf)-3.263 F .764
|
||||
(\(\215ags\) for the client)2.5 E(The)174 268.8 Q F2(Addr)3.257 E F1
|
||||
.756
|
||||
(ess mask may be a numeric address in IPv4 dot notation or IPv6 colon)B
|
||||
1.148(notation or a netw)174 280.8 R 1.148(ork name.)-.1 F 1.149
|
||||
(Note that if a netw)6.148 F 1.149(ork name is speci\214ed, only the)-.1
|
||||
F .383(\214rst IP address returned for it will be used.)174 292.8 R .383
|
||||
(This may cause indeterminate beha)5.383 F(v-)-.2 E 1.485(ior for netw)
|
||||
174 304.8 R 1.485(ork names that resolv)-.1 F 3.985(et)-.15 G 3.985(om)
|
||||
-3.985 G 1.485(ultiple addresses.)-3.985 F 1.485(Therefore, use of an)
|
||||
6.485 F(address is recommended.)174 316.8 Q F2(Modi\214er)5 E F1
|
||||
(can be the follo)2.5 E(wing character:)-.25 E 67(hu)214 333 S
|
||||
(se name of interf)-67 E(ace for HELO command)-.1 E 64.78(Ad)214 345 S
|
||||
(on')-64.78 E 2.5(tu)-.18 G(se A)-2.5 E(UTH when sending e-mail)-.55 E
|
||||
66.44(Sd)214 357 S(on')-66.44 E 2.5(tu)-.18 G(se ST)-2.5 E(AR)-.93 E
|
||||
(TTLS when sending e-mail)-.6 E .764(If `)174 373.2 R(`h')-.74 E 3.264
|
||||
('i)-.74 G 3.264(ss)-3.264 G .763
|
||||
(et, the name corresponding to the outgoing interf)-3.264 F .763
|
||||
(ace address \(whether)-.1 F .431
|
||||
(chosen via the Connection parameter or the def)174 349.2 R .431
|
||||
(ault\) is used for the HELO/EHLO)-.1 F 3.617(command. Ho)174 361.2 R
|
||||
(we)-.25 E -.15(ve)-.25 G 1.917 -.4(r, t).15 H 1.118
|
||||
(he name must not start with a square brack).4 F 1.118(et and it must)
|
||||
-.1 F 1.842(contain at least one dot.)174 373.2 R 1.842
|
||||
(This is a simple test whether the name is not an IP)6.842 F .712
|
||||
(address \(in square brack)174 385.2 R .713(ets\) b)-.1 F .713
|
||||
(ut a quali\214ed hostname.)-.2 F .713(Note that multiple Client-)5.713
|
||||
F .344(PortOptions settings are allo)174 397.2 R .343
|
||||
(wed in order to gi)-.25 F .643 -.15(ve s)-.25 H .343
|
||||
(ettings for each protocol f).15 F(amily)-.1 E .315(\(e.g., one for F)
|
||||
174 409.2 R .316(amily=inet and one for F)-.15 F 2.816(amily=inet6\). A)
|
||||
-.15 F .316(restriction placed on one)2.816 F -.1(fa)174 421.2 S
|
||||
(chosen via the Connection parameter or the def)174 385.2 R .431
|
||||
(ault\) is used for the HELO/EHLO)-.1 F 3.618(command. Ho)174 397.2 R
|
||||
(we)-.25 E -.15(ve)-.25 G 1.918 -.4(r, t).15 H 1.118
|
||||
(he name must not start with a square brack).4 F 1.117(et and it must)
|
||||
-.1 F 1.841(contain at least one dot.)174 409.2 R 1.842
|
||||
(This is a simple test whether the name is not an IP)6.842 F .713
|
||||
(address \(in square brack)174 421.2 R .713(ets\) b)-.1 F .713
|
||||
(ut a quali\214ed hostname.)-.2 F .712(Note that multiple Client-)5.713
|
||||
F .343(PortOptions settings are allo)174 433.2 R .343
|
||||
(wed in order to gi)-.25 F .643 -.15(ve s)-.25 H .344
|
||||
(ettings for each protocol f).15 F(amily)-.1 E .316(\(e.g., one for F)
|
||||
174 445.2 R .316(amily=inet and one for F)-.15 F 2.816(amily=inet6\). A)
|
||||
-.15 F .315(restriction placed on one)2.816 F -.1(fa)174 457.2 S
|
||||
(mily only af).1 E(fects outgoing connections on that particular f)-.25
|
||||
E(amily)-.1 E(.)-.65 E 3.95(ColonOkInAddr [no)102 437.4 R 4.679
|
||||
E(amily)-.1 E(.)-.65 E 3.95(ColonOkInAddr [no)102 473.4 R 4.679
|
||||
(short name] If set, colons are acceptable in e-mail addresses \(e.g.,)
|
||||
7.18 F 3.54(\231host:user\232\). If)174 449.4 R 1.04
|
||||
7.179 F 3.54(\231host:user\232\). If)174 485.4 R 1.04
|
||||
(not set, colons indicate the be)3.54 F 1.04
|
||||
(ginning of a RFC 822 group con-)-.15 F 1.988
|
||||
(struct \(\231groupname: member1, member2, ... memberN;\232\).)174 461.4
|
||||
R 1.987(Doubled colons are)6.987 F(al)174 473.4 Q -.1(wa)-.1 G 2.215(ys\
|
||||
(ginning of a RFC 822 group con-)-.15 F 1.987
|
||||
(struct \(\231groupname: member1, member2, ... memberN;\232\).)174 497.4
|
||||
R 1.988(Doubled colons are)6.988 F(al)174 509.4 Q -.1(wa)-.1 G 2.215(ys\
|
||||
acceptable \(\231nodename::user\232\) and proper route-addr nesting is\
|
||||
under).1 F(-)-.2 E 1.037(stood \(\231<@relay:user@host>\232\).)174
|
||||
485.4 R 1.037(Furthermore, this option def)6.037 F 1.036
|
||||
(aults on if the con-)-.1 F .853(\214guration v)174 497.4 R .853
|
||||
(ersion le)-.15 F -.15(ve)-.25 G 3.353(li).15 G 3.353(sl)-3.353 G .853
|
||||
(ess than 6 \(for back compatibility\).)-3.353 F(Ho)5.854 E(we)-.25 E
|
||||
-.15(ve)-.25 G 1.654 -.4(r, i).15 H 3.354(tm).4 G(ust)-3.354 E(be of)174
|
||||
509.4 Q 2.5(ff)-.25 G(or full compatibility with RFC 822.)-2.5 E
|
||||
(ConnectionCacheSize=)102 525.6 Q F2(N)A F1 .242([k] The maximum number\
|
||||
of open connections that will be cached at a time.)174 537.6 R(The)
|
||||
5.242 E(def)174 549.6 Q .385(ault is one.)-.1 F .386
|
||||
under).1 F(-)-.2 E 1.036(stood \(\231<@relay:user@host>\232\).)174
|
||||
521.4 R 1.037(Furthermore, this option def)6.036 F 1.037
|
||||
(aults on if the con-)-.1 F .854(\214guration v)174 533.4 R .854
|
||||
(ersion le)-.15 F -.15(ve)-.25 G 3.354(li).15 G 3.354(sl)-3.354 G .853
|
||||
(ess than 6 \(for back compatibility\).)-3.354 F(Ho)5.853 E(we)-.25 E
|
||||
-.15(ve)-.25 G 1.653 -.4(r, i).15 H 3.353(tm).4 G(ust)-3.353 E(be of)174
|
||||
545.4 Q 2.5(ff)-.25 G(or full compatibility with RFC 822.)-2.5 E
|
||||
(ConnectionCacheSize=)102 561.6 Q F2(N)A F1 .242([k] The maximum number\
|
||||
of open connections that will be cached at a time.)174 573.6 R(The)
|
||||
5.243 E(def)174 585.6 Q .386(ault is one.)-.1 F .386
|
||||
(This delays closing the current connection until either this in)5.386 F
|
||||
-.2(vo)-.4 G(ca-).2 E 1.192(tion of)174 561.6 R F2(sendmail)3.692 E F1
|
||||
1.191(needs to connect to another host or it terminates.)3.692 F 1.191
|
||||
(Setting it to)6.191 F 2.046(zero def)174 573.6 R 2.046
|
||||
(aults to the old beha)-.1 F(vior)-.2 E 4.546(,t)-.4 G 2.047
|
||||
-.2(vo)-.4 G(ca-).2 E 1.191(tion of)174 597.6 R F2(sendmail)3.691 E F1
|
||||
1.191(needs to connect to another host or it terminates.)3.691 F 1.192
|
||||
(Setting it to)6.192 F 2.047(zero def)174 609.6 R 2.047
|
||||
(aults to the old beha)-.1 F(vior)-.2 E 4.546(,t)-.4 G 2.046
|
||||
(hat is, connections are closed immediately)-4.546 F(.)-.65 E .266(Sinc\
|
||||
e this consumes \214le descriptors, the connection cache should be k)174
|
||||
585.6 R .265(ept small: 4)-.1 F(is probably a practical maximum.)174
|
||||
597.6 Q(ConnectionCacheT)102 613.8 Q(imeout=)-.35 E F2(timeout)A F1 .708
|
||||
621.6 R .266(ept small: 4)-.1 F(is probably a practical maximum.)174
|
||||
633.6 Q(ConnectionCacheT)102 649.8 Q(imeout=)-.35 E F2(timeout)A F1 .708
|
||||
([K] The maximum amount of time a cached connection will be permitted t\
|
||||
o idle)174 625.8 R 1.083(without acti)174 637.8 R(vity)-.25 E 6.083(.I)
|
||||
-.65 G 3.583(ft)-6.083 G 1.083(his time is e)-3.583 F 1.082
|
||||
(xceeded, the connection is immediately closed.)-.15 F .417(This v)174
|
||||
649.8 R .418(alue should be small \(on the order of ten minutes\).)-.25
|
||||
F(Before)5.418 E F2(sendmail)2.918 E F1 .418(uses a)2.918 F .508
|
||||
(cached connection, it al)174 661.8 R -.1(wa)-.1 G .507
|
||||
(ys sends a RSET command to check the connection; if).1 F .401(this f)
|
||||
174 673.8 R .401(ails, it reopens the connection.)-.1 F .401(This k)
|
||||
5.401 F .402(eeps your end from f)-.1 F .402(ailing if the other)-.1 F
|
||||
1.545(end times out.)174 685.8 R 1.545
|
||||
(The point of this option is to be a good netw)6.545 F 1.544
|
||||
(ork neighbor and)-.1 F -.2(avo)174 697.8 S(id using up e).2 E(xcessi)
|
||||
-.15 E .3 -.15(ve r)-.25 H(esources on the other end.).15 E(The def)5 E
|
||||
(ault is \214v)-.1 E 2.5(em)-.15 G(inutes.)-2.5 E 0 Cg EP
|
||||
o idle)174 661.8 R 1.082(without acti)174 673.8 R(vity)-.25 E 6.082(.I)
|
||||
-.65 G 3.582(ft)-6.082 G 1.083(his time is e)-3.582 F 1.083
|
||||
(xceeded, the connection is immediately closed.)-.15 F .418(This v)174
|
||||
685.8 R .418(alue should be small \(on the order of ten minutes\).)-.25
|
||||
F(Before)5.418 E F2(sendmail)2.918 E F1 .417(uses a)2.917 F .507
|
||||
(cached connection, it al)174 697.8 R -.1(wa)-.1 G .508
|
||||
(ys sends a RSET command to check the connection; if).1 F .402(this f)
|
||||
174 709.8 R .402(ails, it reopens the connection.)-.1 F .401(This k)
|
||||
5.402 F .401(eeps your end from f)-.1 F .401(ailing if the other)-.1 F
|
||||
1.544(end times out.)174 721.8 R 1.545
|
||||
(The point of this option is to be a good netw)6.544 F 1.545
|
||||
(ork neighbor and)-.1 F 0 Cg EP
|
||||
%%Page: 64 60
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 10/Times-Bold@0 SF 193.36(SMM:08-64 Sendmail)72 60 R
|
||||
(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF
|
||||
(ConnectOnlyT)102 96 Q(o=)-.8 E/F2 10/Times-Italic@0 SF(addr)A(ess)-.37
|
||||
E F1 .861([no short name] This can be used to o)174 108 R -.15(ve)-.15 G
|
||||
.862(rride the connection address \(for testing).15 F(purposes\).)174
|
||||
120 Q(ConnectionRateThrottle=)102 136.2 Q F2(N)A F1 .212
|
||||
([no short name] If set to a positi)174 148.2 R .511 -.15(ve v)-.25 H
|
||||
.211(alue, allo)-.1 F 2.711(wn)-.25 G 2.711(om)-2.711 G .211(ore than)
|
||||
-2.711 F F2(N)2.711 E F1 .211(incoming connec-)2.711 F .132
|
||||
(tions in a one second period per daemon.)174 160.2 R .132
|
||||
(This is intended to \215atten out peaks and)5.132 F(allo)174 172.2 Q
|
||||
(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF -.2(avo)
|
||||
174 96 S(id using up e).2 E(xcessi)-.15 E .3 -.15(ve r)-.25 H
|
||||
(esources on the other end.).15 E(The def)5 E(ault is \214v)-.1 E 2.5
|
||||
(em)-.15 G(inutes.)-2.5 E(ConnectOnlyT)102 112.2 Q(o=)-.8 E/F2 10
|
||||
/Times-Italic@0 SF(addr)A(ess)-.37 E F1 .862
|
||||
([no short name] This can be used to o)174 124.2 R -.15(ve)-.15 G .861
|
||||
(rride the connection address \(for testing).15 F(purposes\).)174 136.2
|
||||
Q(ConnectionRateThrottle=)102 152.4 Q F2(N)A F1 .211
|
||||
([no short name] If set to a positi)174 164.4 R .511 -.15(ve v)-.25 H
|
||||
.211(alue, allo)-.1 F 2.711(wn)-.25 G 2.712(om)-2.711 G .212(ore than)
|
||||
-2.712 F F2(N)2.712 E F1 .212(incoming connec-)2.712 F .132
|
||||
(tions in a one second period per daemon.)174 176.4 R .132
|
||||
(This is intended to \215atten out peaks and)5.132 F(allo)174 188.4 Q
|
||||
2.5(wt)-.25 G(he load a)-2.5 E -.15(ve)-.2 G(rage checking to cut in.)
|
||||
.15 E(Def)5 E(aults to zero \(no limits\).)-.1 E(ConnectionRateW)102
|
||||
188.4 Q(indo)-.4 E(wSize=)-.25 E F2(N)A F1 .459
|
||||
([no short name] De\214ne the length of the interv)174 200.4 R .458
|
||||
204.6 Q(indo)-.4 E(wSize=)-.25 E F2(N)A F1 .458
|
||||
([no short name] De\214ne the length of the interv)174 216.6 R .459
|
||||
(al for which the number of incom-)-.25 F
|
||||
(ing connections is maintained.)174 212.4 Q(The def)5 E
|
||||
(ault is 60 seconds.)-.1 E(ControlSock)102 228.6 Q(etName=)-.1 E F2
|
||||
(name)A F1 .476([no short name] Name of the control sock)174 240.6 R
|
||||
.477(et for daemon management.)-.1 F 2.977(Ar)5.477 G(unning)-2.977 E F2
|
||||
(sendmail)174 252.6 Q F1 1.225
|
||||
(ing connections is maintained.)174 228.6 Q(The def)5 E
|
||||
(ault is 60 seconds.)-.1 E(ControlSock)102 244.8 Q(etName=)-.1 E F2
|
||||
(name)A F1 .477([no short name] Name of the control sock)174 256.8 R
|
||||
.476(et for daemon management.)-.1 F 2.976(Ar)5.476 G(unning)-2.976 E F2
|
||||
(sendmail)174 268.8 Q F1 1.225
|
||||
(daemon can be controlled through this named sock)3.725 F 3.725(et. A)
|
||||
-.1 F -.25(va)-.74 G 1.225(ilable com-).25 F 2.926(mands are:)174 264.6
|
||||
-.1 F -.25(va)-.74 G 1.225(ilable com-).25 F 2.926(mands are:)174 280.8
|
||||
R F2 2.926(help, mstat, r)5.426 F 2.926(estart, shutdown,)-.37 F F1(and)
|
||||
5.426 E F2(status.)5.426 E F1(The)7.926 E F2(status)5.426 E F1(command)
|
||||
5.426 E .46(returns the current number of daemon children, the maximum \
|
||||
number of daemon)174 276.6 R .449
|
||||
number of daemon)174 292.8 R .449
|
||||
(children, the free disk space \(in blocks\) of the queue directory)174
|
||||
288.6 R 2.95(,a)-.65 G .45(nd the load a)-2.95 F -.15(ve)-.2 G -.2(r-)
|
||||
.15 G .883(age of the machine e)174 300.6 R .883(xpressed as an inte)
|
||||
-.15 F(ger)-.15 E 5.883(.I)-.55 G 3.383(fn)-5.883 G .882
|
||||
(ot set, no control sock)-3.383 F .882(et will be)-.1 F -.2(av)174 312.6
|
||||
S 5.029(ailable. Solaris)-.05 F 2.529(and pre-4.4BSD k)5.029 F 2.529
|
||||
(ernel users should see the note in send-)-.1 F(mail/README .)174 324.6
|
||||
Q(CRLFile=)102 340.8 Q F2(name)A F1 .483
|
||||
304.8 R 2.949(,a)-.65 G .449(nd the load a)-2.949 F -.15(ve)-.2 G -.2
|
||||
(r-).15 G .882(age of the machine e)174 316.8 R .883
|
||||
(xpressed as an inte)-.15 F(ger)-.15 E 5.883(.I)-.55 G 3.383(fn)-5.883 G
|
||||
.883(ot set, no control sock)-3.383 F .883(et will be)-.1 F -.2(av)174
|
||||
328.8 S 5.03(ailable. Solaris)-.05 F 2.529(and pre-4.4BSD k)5.029 F
|
||||
2.529(ernel users should see the note in send-)-.1 F(mail/README .)174
|
||||
340.8 Q(CRLFile=)102 357 Q F2(name)A F1 .482
|
||||
([no short name] Name of \214le that contains certi\214cate re)9.69 F
|
||||
-.2(vo)-.25 G .482(cation status, useful for).2 F .792
|
||||
(X.509v3 authentication.)174 352.8 R .792
|
||||
(CRL checking requires at least OpenSSL v)5.792 F .793(ersion 0.9.7.)
|
||||
-.15 F(Note: if a CRLFile is speci\214ed b)174 364.8 Q
|
||||
-.2(vo)-.25 G .483(cation status, useful for).2 F .793
|
||||
(X.509v3 authentication.)174 369 R .792
|
||||
(CRL checking requires at least OpenSSL v)5.793 F .792(ersion 0.9.7.)
|
||||
-.15 F(Note: if a CRLFile is speci\214ed b)174 381 Q
|
||||
(ut the \214le is unusable, ST)-.2 E(AR)-.93 E(TTLS is disabled.)-.6 E
|
||||
(DHP)102 381 Q 10.78(arameters Possible)-.15 F -.25(va)2.5 G(lues are:)
|
||||
.25 E 67(5u)214 397.2 S(se 512 bit prime)-67 E 67(1u)214 409.2 S
|
||||
(se 1024 bit prime)-67 E 50.06(none do)214 421.2 R(not use Dif)2.5 E
|
||||
(\214e-Hellman)-.25 E -.35(NA)214 433.2 S 40.41(ME load).35 F
|
||||
(DHP)102 397.2 Q 10.78(arameters Possible)-.15 F -.25(va)2.5 G
|
||||
(lues are:).25 E 67(5u)214 413.4 S(se 512 bit prime)-67 E 67(1u)214
|
||||
425.4 S(se 1024 bit prime)-67 E 50.06(none do)214 437.4 R(not use Dif)
|
||||
2.5 E(\214e-Hellman)-.25 E -.35(NA)214 449.4 S 40.41(ME load).35 F
|
||||
(prime from \214le)2.5 E 2.147
|
||||
(This is only required if a ciphersuite containing DSA/DH is used.)174
|
||||
449.4 R 2.147(If `)7.147 F(`5')-.74 E 4.646('i)-.74 G(s)-4.646 E 1.877
|
||||
(selected, then precomputed, \214x)174 461.4 R 1.877
|
||||
(ed primes are used.)-.15 F 1.878(This is the def)6.878 F 1.878
|
||||
(ault for the)-.1 F 1.539(client side.)174 473.4 R 1.539(If `)6.539 F
|
||||
(`1')-.74 E 4.039('i)-.74 G 4.038(ss)-4.039 G 1.538
|
||||
(elected, then prime v)-4.038 F 1.538
|
||||
(alues are computed during startup.)-.25 F .742(This is the def)174
|
||||
485.4 R .743(ault for the serv)-.1 F .743(er side.)-.15 F .743
|
||||
(Note: this operation can tak)5.743 F 3.243(eas)-.1 G(igni\214cant)
|
||||
-3.243 E .838(amount of time on a slo)174 497.4 R 3.337(wm)-.25 G .837
|
||||
(achine \(se)-3.337 F -.15(ve)-.25 G .837(ral seconds\), b).15 F .837
|
||||
(ut it is only done once at)-.2 F 2.959(startup. If)174 509.4 R -.74(``)
|
||||
465.6 R 2.147(If `)7.147 F(`5')-.74 E 4.647('i)-.74 G(s)-4.647 E 1.878
|
||||
(selected, then precomputed, \214x)174 477.6 R 1.878
|
||||
(ed primes are used.)-.15 F 1.877(This is the def)6.877 F 1.877
|
||||
(ault for the)-.1 F 1.538(client side.)174 489.6 R 1.538(If `)6.538 F
|
||||
(`1')-.74 E 4.038('i)-.74 G 4.038(ss)-4.038 G 1.538
|
||||
(elected, then prime v)-4.038 F 1.539
|
||||
(alues are computed during startup.)-.25 F .743(This is the def)174
|
||||
501.6 R .743(ault for the serv)-.1 F .743(er side.)-.15 F .743
|
||||
(Note: this operation can tak)5.743 F 3.242(eas)-.1 G(igni\214cant)
|
||||
-3.242 E .837(amount of time on a slo)174 513.6 R 3.337(wm)-.25 G .837
|
||||
(achine \(se)-3.337 F -.15(ve)-.25 G .837(ral seconds\), b).15 F .838
|
||||
(ut it is only done once at)-.2 F 2.959(startup. If)174 525.6 R -.74(``)
|
||||
2.959 G(none').74 E 2.959('i)-.74 G 2.959(ss)-2.959 G .459
|
||||
(elected, then TLS ciphersuites containing DSA/DH cannot)-2.959 F 1.337
|
||||
(be used.)174 521.4 R 1.337(If a \214le name is speci\214ed \(which mus\
|
||||
t be an absolute path\), then the)6.337 F(primes are read from it.)174
|
||||
533.4 Q(DaemonPortOptions=)102 549.6 Q F2(options)A F1 .363
|
||||
([O] Set serv)174 561.6 R .363(er SMTP options.)-.15 F .364
|
||||
(Each instance of)5.364 F F0(DaemonP)2.864 E(ortOptions)-.2 E F1 .364
|
||||
(leads to an)2.864 F(additional incoming sock)174 573.6 Q 2.5(et. The)
|
||||
(elected, then TLS ciphersuites containing DSA/DH cannot)-2.959 F 1.336
|
||||
(be used.)174 537.6 R 1.337(If a \214le name is speci\214ed \(which mus\
|
||||
t be an absolute path\), then the)6.336 F(primes are read from it.)174
|
||||
549.6 Q(DaemonPortOptions=)102 565.8 Q F2(options)A F1 .364
|
||||
([O] Set serv)174 577.8 R .364(er SMTP options.)-.15 F .364
|
||||
(Each instance of)5.364 F F0(DaemonP)2.863 E(ortOptions)-.2 E F1 .363
|
||||
(leads to an)2.863 F(additional incoming sock)174 589.8 Q 2.5(et. The)
|
||||
-.1 F(options are)2.5 E F2 -.1(ke)2.5 G(y=value)-.2 E F1 2.5(pairs. Kno)
|
||||
2.5 F(wn k)-.25 E -.15(ey)-.1 G 2.5(sa).15 G(re:)-2.5 E 0 Cg EP
|
||||
%%Page: 65 61
|
||||
@ -5664,170 +5672,177 @@ BP
|
||||
(Deli)2.5 E -.1(ve)-.1 G(ryMode).1 E F1(.)A 31.74(refuseLA RefuseLA)214
|
||||
228 R(per daemon)2.5 E 34.51(delayLA DelayLA)214 240 R(per daemon)2.5 E
|
||||
32.29(queueLA QueueLA)214 252 R(per daemon)2.5 E(The)174 268.2 Q/F2 10
|
||||
/Times-Italic@0 SF(Name)2.681 E F1 -.1(ke)2.681 G 2.681(yi)-.05 G 2.681
|
||||
(su)-2.681 G .181(sed for error messages and logging.)-2.681 F(The)5.181
|
||||
E F2(Addr)2.68 E F1 .18(ess mask may be)B 2.907(an)174 280.2 S .407
|
||||
(umeric address in dot notation or a netw)-2.907 F .407(ork name.)-.1 F
|
||||
(The)5.407 E F2 -.75(Fa)2.907 G(mily).75 E F1 -.1(ke)2.907 G 2.908(yd)
|
||||
-.05 G(ef)-2.908 E .408(aults to)-.1 F 1.161(INET \(IPv4\).)174 292.2 R
|
||||
1.161(IPv6 users who wish to also accept IPv6 connections should add)
|
||||
6.161 F 2.215(additional F)174 304.2 R(amily=inet6)-.15 E F0(DaemonP)
|
||||
4.715 E(ortOptions)-.2 E F1 4.715(lines. The)4.715 F F2(InputMailF)4.715
|
||||
E(ilter)-.45 E(s)-.1 E F1 -.1(ke)4.715 G(y)-.05 E -.15(ove)174 316.2 S
|
||||
.01(rrides the def).15 F .01
|
||||
/Times-Italic@0 SF(Name)2.68 E F1 -.1(ke)2.68 G 2.68(yi)-.05 G 2.68(su)
|
||||
-2.68 G .181(sed for error messages and logging.)-2.68 F(The)5.181 E F2
|
||||
(Addr)2.681 E F1 .181(ess mask may be)B 2.768(an)174 280.2 S .268
|
||||
(umeric address in IPv4 dot notation or IPv6 colon notation or a netw)
|
||||
-2.768 F .267(ork name.)-.1 F .898(Note that if a netw)174 292.2 R .899
|
||||
(ork name is speci\214ed, only the \214rst IP address returned for it)
|
||||
-.1 F 2.028(will be used.)174 304.2 R 2.027
|
||||
(This may cause indeterminate beha)7.028 F 2.027(vior for netw)-.2 F
|
||||
2.027(ork names that)-.1 F(resolv)174 316.2 Q 2.722(et)-.15 G 2.722(om)
|
||||
-2.722 G .222(ultiple addresses.)-2.722 F .223
|
||||
(Therefore, use of an address is recommended.)5.223 F(The)5.223 E F2
|
||||
-.75(Fa)174 328.2 S(mily).75 E F1 -.1(ke)3.977 G 3.977(yd)-.05 G(ef)
|
||||
-3.977 E 1.477(aults to INET \(IPv4\).)-.1 F 1.477
|
||||
(IPv6 users who wish to also accept IPv6)6.477 F .317
|
||||
(connections should add additional F)174 340.2 R(amily=inet6)-.15 E F0
|
||||
(DaemonP)2.817 E(ortOptions)-.2 E F1 2.818(lines. The)2.817 F F2
|
||||
(InputMailF)174 352.2 Q(ilter)-.45 E(s)-.1 E F1 -.1(ke)4.129 G 4.129(yo)
|
||||
-.05 G -.15(ve)-4.279 G 1.629(rrides the def).15 F 1.628
|
||||
(ault list of input mail \214lters listed in the)-.1 F F0
|
||||
(InputMailFilters)2.51 E F1(option.)2.51 E 1.011
|
||||
(If multiple input mail \214lters are required, the)174 328.2 R 3.511
|
||||
(ym)-.15 G 1.011(ust be separated by semicolons)-3.511 F .178
|
||||
(\(not commas\).)174 340.2 R F2(Modi\214er)5.178 E F1 .178
|
||||
(can be a sequence \(without an)2.678 F 2.677(yd)-.15 G .177
|
||||
(elimiters\) of the follo)-2.677 F(w-)-.25 E(ing characters:)174 352.2 Q
|
||||
67.56(aa)214 368.4 S -.1(lwa)-67.56 G(ys require authentication).1 E 67
|
||||
(bb)214 380.4 S(ind to interf)-67 E
|
||||
(InputMailFilters)174 364.2 Q F1 2.969(option. If)2.969 F .469
|
||||
(multiple input mail \214lters are required, the)2.969 F 2.969(ym)-.15 G
|
||||
.47(ust be)-2.969 F .449(separated by semicolons \(not commas\).)174
|
||||
376.2 R F2(Modi\214er)5.449 E F1 .449(can be a sequence \(without an)
|
||||
2.949 F(y)-.15 E(delimiters\) of the follo)174 388.2 Q(wing characters:)
|
||||
-.25 E 67.56(aa)214 404.4 S -.1(lwa)-67.56 G(ys require authentication)
|
||||
.1 E 67(bb)214 416.4 S(ind to interf)-67 E
|
||||
(ace through which mail has been recei)-.1 E -.15(ve)-.25 G(d).15 E
|
||||
67.56(cp)214 392.4 S(erform hostname canoni\214cation \(.cf\))-67.56 E
|
||||
68.67(fr)214 404.4 S(equire fully quali\214ed hostname \(.cf\))-68.67 E
|
||||
68.11(sR)214 416.4 S(un smtps \(SMTP o)-68.11 E -.15(ve)-.15 G 2.5(rS)
|
||||
.15 G(SL\) instead of smtp)-2.5 E 67(ua)214 428.4 S(llo)-67 E 2.5(wu)
|
||||
-.25 G(nquali\214ed addresses \(.cf\))-2.5 E 64.78(Ad)214 440.4 S
|
||||
67.56(cp)214 428.4 S(erform hostname canoni\214cation \(.cf\))-67.56 E
|
||||
68.67(fr)214 440.4 S(equire fully quali\214ed hostname \(.cf\))-68.67 E
|
||||
68.11(sR)214 452.4 S(un smtps \(SMTP o)-68.11 E -.15(ve)-.15 G 2.5(rS)
|
||||
.15 G(SL\) instead of smtp)-2.5 E 67(ua)214 464.4 S(llo)-67 E 2.5(wu)
|
||||
-.25 G(nquali\214ed addresses \(.cf\))-2.5 E 64.78(Ad)214 476.4 S
|
||||
(isable A)-64.78 E(UTH \(o)-.55 E -.15(ve)-.15 G
|
||||
(rrides 'a' modi\214er\)).15 E 65.33(Cd)214 452.4 S(on')-65.33 E 2.5(tp)
|
||||
-.18 G(erform hostname canoni\214cation)-2.5 E 65.89(Ed)214 464.4 S
|
||||
(rrides 'a' modi\214er\)).15 E 65.33(Cd)214 488.4 S(on')-65.33 E 2.5(tp)
|
||||
-.18 G(erform hostname canoni\214cation)-2.5 E 65.89(Ed)214 500.4 S
|
||||
(isallo)-65.89 E 2.5(wE)-.25 G(TRN \(see RFC 2476\))-2.5 E 64.78(Oo)214
|
||||
476.4 S(ptional; if opening the sock)-64.78 E(et f)-.1 E(ails ignore it)
|
||||
-.1 E 66.44(Sd)214 488.4 S(on')-66.44 E 2.5(to)-.18 G -.25(ff)-2.5 G
|
||||
(er ST).25 E(AR)-.93 E(TTLS)-.6 E 2.412(That is, one w)174 504.6 R 2.413
|
||||
512.4 S(ptional; if opening the sock)-64.78 E(et f)-.1 E(ails ignore it)
|
||||
-.1 E 66.44(Sd)214 524.4 S(on')-66.44 E 2.5(to)-.18 G -.25(ff)-2.5 G
|
||||
(er ST).25 E(AR)-.93 E(TTLS)-.6 E 2.412(That is, one w)174 540.6 R 2.413
|
||||
(ay to specify a message submission agent \(MSA\) that al)-.1 F -.1(wa)
|
||||
-.1 G(ys).1 E(requires authentication is:)174 516.6 Q 2.5(OD)214 532.8 S
|
||||
-.1 G(ys).1 E(requires authentication is:)174 552.6 Q 2.5(OD)214 568.8 S
|
||||
(aemonPortOptions=Name=MSA, Port=587, M=Ea)-2.5 E .244
|
||||
(The modi\214ers that are mark)174 549 R .244(ed with "\(.cf\)" ha)-.1 F
|
||||
(The modi\214ers that are mark)174 585 R .244(ed with "\(.cf\)" ha)-.1 F
|
||||
.544 -.15(ve o)-.2 H .244(nly ef).15 F .244
|
||||
(fect in the standard con\214g-)-.25 F .16(uration \214le, in which the)
|
||||
174 561 R 2.66(ya)-.15 G .16(re a)-2.66 F -.25(va)-.2 G .16(ilable via)
|
||||
174 597 R 2.66(ya)-.15 G .16(re a)-2.66 F -.25(va)-.2 G .16(ilable via)
|
||||
.25 F F0(${daemon_\215ags})2.66 E F1 5.16(.N)C .16(otice: Do)-5.16 F F0
|
||||
(not)2.66 E F1(use)2.66 E .461(the `)174 573 R(`a')-.74 E 2.961('m)-.74
|
||||
(not)2.66 E F1(use)2.66 E .461(the `)174 609 R(`a')-.74 E 2.961('m)-.74
|
||||
G .461(odi\214er on a public accessible MT)-2.961 F 2.961(A! It)-.93 F
|
||||
.46(should only be used for a MSA)2.961 F 2.553
|
||||
(that is accessed by authorized users for initial mail submission.)174
|
||||
585 R 2.553(Users must)7.553 F 1.141
|
||||
(authenticate to use a MSA which has this option turned on.)174 597 R
|
||||
621 R 2.553(Users must)7.553 F 1.141
|
||||
(authenticate to use a MSA which has this option turned on.)174 633 R
|
||||
1.14(The \215ags `)6.14 F(`c')-.74 E 3.64('a)-.74 G(nd)-3.64 E -.74(``)
|
||||
174 609 S(C').74 E 3.785('c)-.74 G 1.285(an change the def)-3.785 F
|
||||
174 645 S(C').74 E 3.785('c)-.74 G 1.285(an change the def)-3.785 F
|
||||
1.286(ault for hostname canoni\214cation in the)-.1 F F2(sendmail.cf)
|
||||
3.786 E F1(\214le.)3.786 E .765(See the rele)174 621 R -.25(va)-.25 G
|
||||
3.786 E F1(\214le.)3.786 E .765(See the rele)174 657 R -.25(va)-.25 G
|
||||
.765(nt documentation for).25 F/F3 9/Times-Roman@0 SF(FEA)3.265 E
|
||||
(TURE\(nocanonify\))-.999 E F1 5.765(.T)C .765(he modi\214er `)-5.765 F
|
||||
-1.95(`f ')-.74 F 3.264('d)-.74 G(is-)-3.264 E(allo)174 633 Q .794
|
||||
-1.95(`f ')-.74 F 3.264('d)-.74 G(is-)-3.264 E(allo)174 669 Q .794
|
||||
(ws addresses of the form)-.25 F F0(user@host)3.294 E F1 .795
|
||||
(unless the)3.295 F 3.295(ya)-.15 G .795(re submitted directly)-3.295 F
|
||||
5.795(.T)-.65 G(he)-5.795 E 2.127(\215ag `)174 645 R(`u')-.74 E 4.627
|
||||
5.795(.T)-.65 G(he)-5.795 E 2.127(\215ag `)174 681 R(`u')-.74 E 4.627
|
||||
('a)-.74 G(llo)-4.627 E 2.127
|
||||
(ws unquali\214ed sender addresses, i.e., those without @host.)-.25 F
|
||||
-.74(``)7.127 G(b').74 E(')-.74 E 2.791
|
||||
(forces sendmail to bind to the interf)174 657 R 2.791
|
||||
(ace through which the e-mail has been)-.1 F(recei)174 669 Q -.15(ve)
|
||||
(forces sendmail to bind to the interf)174 693 R 2.791
|
||||
(ace through which the e-mail has been)-.1 F(recei)174 705 Q -.15(ve)
|
||||
-.25 G 4.369(df).15 G 1.869(or the outgoing connection.)-4.369 F F0 -1.2
|
||||
(WA)6.869 G(RNING:)1.2 E F1 1.869(Use `)4.369 F(`b')-.74 E 4.369('o)-.74
|
||||
G 1.869(nly if outgoing)-4.369 F .517
|
||||
(mail can be routed through the incoming connection')174 681 R 3.017(si)
|
||||
-.55 G(nterf)-3.017 E .518(ace to its destination.)-.1 F .119(No attemp\
|
||||
t is made to catch problems due to a miscon\214guration of this paramet\
|
||||
er)174 693 R(,)-.4 E 1.177
|
||||
(use it only for virtual hosting where each virtual interf)174 705 R
|
||||
1.177(ace can connect to e)-.1 F -.15(ve)-.25 G(ry).15 E 10.247
|
||||
(possible location.)174 717 R 10.246(This will also o)15.247 F -.15(ve)
|
||||
-.15 G 10.246(rride possible settings via).15 F 0 Cg EP
|
||||
(mail can be routed through the incoming connection')174 717 R 3.017(si)
|
||||
-.55 G(nterf)-3.017 E .518(ace to its destination.)-.1 F 0 Cg EP
|
||||
%%Page: 66 62
|
||||
%%BeginPageSetup
|
||||
BP
|
||||
%%EndPageSetup
|
||||
/F0 10/Times-Bold@0 SF 193.36(SMM:08-66 Sendmail)72 60 R
|
||||
(Installation and Operation Guide)2.5 E(ClientP)174 96 Q(ortOptions.)-.2
|
||||
E/F1 10/Times-Roman@0 SF(Note,)8.975 E/F2 10/Times-Italic@0 SF(sendmail)
|
||||
6.475 E F1 3.975(will listen on a ne)6.475 F 6.475(ws)-.25 G(ock)-6.475
|
||||
E 3.975(et for each)-.1 F .746(occurence of the)174 108 R F0(DaemonP)
|
||||
3.246 E(ortOptions)-.2 E F1 .746(option in a con\214guration \214le.)
|
||||
3.246 F .746(The modi-)5.746 F .399(\214er `)174 120 R(`O')-.74 E 2.899
|
||||
('c)-.74 G .399(auses sendmail to ignore a sock)-2.899 F .399
|
||||
(et if it can')-.1 F 2.9(tb)-.18 G 2.9(eo)-2.9 G 2.9(pened. This)-2.9 F
|
||||
.4(applies to)2.9 F -.1(fa)174 132 S(ilures from the sock).1 E
|
||||
(et\(2\) and bind\(2\) calls.)-.1 E(Def)102 148.2 Q 2.95
|
||||
(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF .119(No \
|
||||
attempt is made to catch problems due to a miscon\214guration of this p\
|
||||
arameter)174 96 R(,)-.4 E 1.177
|
||||
(use it only for virtual hosting where each virtual interf)174 108 R
|
||||
1.177(ace can connect to e)-.1 F -.15(ve)-.25 G(ry).15 E 2.002
|
||||
(possible location.)174 120 R 2.001(This will also o)7.001 F -.15(ve)
|
||||
-.15 G 2.001(rride possible settings via).15 F F0(ClientP)4.501 E
|
||||
(ortOp-)-.2 E(tions.)174 132 Q F1(Note,)5.486 E/F2 10/Times-Italic@0 SF
|
||||
(sendmail)2.986 E F1 .486(will listen on a ne)2.986 F 2.986(ws)-.25 G
|
||||
(ock)-2.986 E .487(et for each occurence of the)-.1 F F0(Dae-)2.987 E
|
||||
(monP)174 144 Q(ortOptions)-.2 E F1 .838
|
||||
(option in a con\214guration \214le.)3.338 F .838(The modi\214er `)5.838
|
||||
F(`O')-.74 E 3.338('c)-.74 G .838(auses send-)-3.338 F 1.417
|
||||
(mail to ignore a sock)174 156 R 1.417(et if it can')-.1 F 3.917(tb)-.18
|
||||
G 3.917(eo)-3.917 G 3.917(pened. This)-3.917 F 1.418(applies to f)3.918
|
||||
F 1.418(ailures from the)-.1 F(sock)174 168 Q
|
||||
(et\(2\) and bind\(2\) calls.)-.1 E(Def)102 184.2 Q 2.95
|
||||
(aultAuthInfo [no)-.1 F .181(short name] Filename that contains def)
|
||||
2.681 F .181(ault authentication information for out-)-.1 F 1.737(going\
|
||||
connections. This \214le must contain the user id, the authorization i\
|
||||
d, the)174 160.2 R(passw)174 172.2 Q 1.562(ord \(plain te)-.1 F 1.561
|
||||
d, the)174 196.2 R(passw)174 208.2 Q 1.562(ord \(plain te)-.1 F 1.561
|
||||
(xt\), the realm and the list of mechanisms to use on separate)-.15 F
|
||||
.287(lines and must be readable by root \(or the trusted user\) only)174
|
||||
184.2 R 5.288(.I)-.65 G 2.788(fn)-5.288 G 2.788(or)-2.788 G .288
|
||||
(ealm is speci-)-2.788 F(\214ed,)174 196.2 Q F0($j)3.705 E F1 1.205
|
||||
220.2 R 5.288(.I)-.65 G 2.788(fn)-5.288 G 2.788(or)-2.788 G .288
|
||||
(ealm is speci-)-2.788 F(\214ed,)174 232.2 Q F0($j)3.705 E F1 1.205
|
||||
(is used.)3.705 F 1.205(If no mechanisms are speci\214ed, the list gi)
|
||||
6.205 F -.15(ve)-.25 G 3.704(nb).15 G(y)-3.704 E F0 -.5(Au)3.704 G
|
||||
(thMecha-).5 E(nisms)174 208.2 Q F1 1.371(is used.)3.871 F 1.372
|
||||
(thMecha-).5 E(nisms)174 244.2 Q F1 1.371(is used.)3.871 F 1.372
|
||||
(Notice: this option is deprecated and will be remo)6.371 F -.15(ve)-.15
|
||||
G 3.872(di).15 G 3.872(nf)-3.872 G(uture)-3.872 E -.15(ve)174 220.2 S
|
||||
G 3.872(di).15 G 3.872(nf)-3.872 G(uture)-3.872 E -.15(ve)174 256.2 S
|
||||
3.411(rsions. Moreo).15 F -.15(ve)-.15 G 1.711 -.4(r, i).15 H 3.411(td)
|
||||
.4 G(oesn')-3.411 E 3.411(tw)-.18 G .911(ork for the MSP since it can')
|
||||
-3.511 F 3.41(tr)-.18 G .91(ead the \214le \(the)-3.41 F .014
|
||||
(\214le must not be group/w)174 232.2 R .014(orld-readable otherwise)-.1
|
||||
(\214le must not be group/w)174 268.2 R .014(orld-readable otherwise)-.1
|
||||
F F2(sendmail)2.514 E F1 .014(will complain\).)2.514 F .014(Use the)
|
||||
5.014 F 1.2(authinfo ruleset instead which pro)174 244.2 R 1.2
|
||||
5.014 F 1.2(authinfo ruleset instead which pro)174 280.2 R 1.2
|
||||
(vides more control o)-.15 F -.15(ve)-.15 G 3.7(rt).15 G 1.2
|
||||
(he usage of the data)-3.7 F(an)174 256.2 Q(yw)-.15 E(ay)-.1 E(.)-.65 E
|
||||
(Def)102 272.4 Q(aultCharSet=)-.1 E F2 -.15(ch)C(ar).15 E(set)-.1 E F1
|
||||
.16([no short name] When a message that has 8-bit characters b)174 284.4
|
||||
R .161(ut is not in MIME for)-.2 F(-)-.2 E .495(mat is con)174 296.4 R
|
||||
(he usage of the data)-3.7 F(an)174 292.2 Q(yw)-.15 E(ay)-.1 E(.)-.65 E
|
||||
(Def)102 308.4 Q(aultCharSet=)-.1 E F2 -.15(ch)C(ar).15 E(set)-.1 E F1
|
||||
.16([no short name] When a message that has 8-bit characters b)174 320.4
|
||||
R .161(ut is not in MIME for)-.2 F(-)-.2 E .495(mat is con)174 332.4 R
|
||||
-.15(ve)-.4 G .495
|
||||
(rted to MIME \(see the EightBitMode option\) a character set must be)
|
||||
.15 F .487(included in the Content-T)174 308.4 R .487(ype: header)-.8 F
|
||||
.15 F .487(included in the Content-T)174 344.4 R .487(ype: header)-.8 F
|
||||
5.487(.T)-.55 G .488(his character set is normally set from the)-5.487 F
|
||||
.133(Charset= \214eld of the mailer descriptor)174 320.4 R 5.133(.I)-.55
|
||||
.133(Charset= \214eld of the mailer descriptor)174 356.4 R 5.133(.I)-.55
|
||||
G 2.633(ft)-5.133 G .133(hat is not set, the v)-2.633 F .133
|
||||
(alue of this option is)-.25 F 2.5(used. If)174 332.4 R
|
||||
(alue of this option is)-.25 F 2.5(used. If)174 368.4 R
|
||||
(this option is not set, the v)2.5 E(alue \231unkno)-.25 E
|
||||
(wn-8bit\232 is used.)-.25 E(DataFileBuf)102 348.6 Q(ferSize=)-.25 E F2
|
||||
(thr)A(eshold)-.37 E F1 .011([no short name] Set the)174 360.6 R F2(thr)
|
||||
(wn-8bit\232 is used.)-.25 E(DataFileBuf)102 384.6 Q(ferSize=)-.25 E F2
|
||||
(thr)A(eshold)-.37 E F1 .011([no short name] Set the)174 396.6 R F2(thr)
|
||||
2.511 E(eshold)-.37 E F1 2.511(,i)C 2.512(nb)-2.511 G .012
|
||||
(ytes, before a memory-based queue data \214le)-2.512 F
|
||||
(becomes disk-based.)174 372.6 Q(The def)5 E(ault is 4096 bytes.)-.1 E
|
||||
(DeadLetterDrop=)102 388.8 Q F2(\214le)A F1 .535([no short name] De\214\
|
||||
(becomes disk-based.)174 408.6 Q(The def)5 E(ault is 4096 bytes.)-.1 E
|
||||
(DeadLetterDrop=)102 424.8 Q F2(\214le)A F1 .535([no short name] De\214\
|
||||
nes the location of the system-wide dead.letter \214le, formerly)174
|
||||
400.8 R .743(hardcoded to /usr/tmp/dead.letter)174 412.8 R 5.743(.I)-.55
|
||||
436.8 R .743(hardcoded to /usr/tmp/dead.letter)174 448.8 R 5.743(.I)-.55
|
||||
G 3.243(ft)-5.743 G .744(his option is not set \(the def)-3.243 F .744
|
||||
(ault\), sendmail)-.1 F 1.465(will not attempt to sa)174 424.8 R 1.764
|
||||
(ault\), sendmail)-.1 F 1.465(will not attempt to sa)174 460.8 R 1.764
|
||||
-.15(ve t)-.2 H 3.964(oas).15 G 1.464
|
||||
(ystem-wide dead.letter \214le in the e)-3.964 F -.15(ve)-.25 G 1.464
|
||||
(nt it cannot).15 F .575(bounce the mail to the user or postmaster)174
|
||||
436.8 R 5.575(.I)-.55 G .575(nstead, it will rename the qf \214le as it)
|
||||
472.8 R 5.575(.I)-.55 G .575(nstead, it will rename the qf \214le as it)
|
||||
-5.575 F
|
||||
(has in the past when the dead.letter \214le could not be opened.)174
|
||||
448.8 Q(Def)102 465 Q(aultUser=)-.1 E F2(user:gr)A(oup)-.45 E F1 .014
|
||||
([u] Set the def)174 477 R .014(ault userid for mailers to)-.1 F F2
|
||||
484.8 Q(Def)102 501 Q(aultUser=)-.1 E F2(user:gr)A(oup)-.45 E F1 .014
|
||||
([u] Set the def)174 513 R .014(ault userid for mailers to)-.1 F F2
|
||||
(user:gr)2.513 E(oup)-.45 E F1 5.013(.I)C(f)-5.013 E F2(gr)2.513 E(oup)
|
||||
-.45 E F1 .013(is omitted and)2.513 F F2(user)2.513 E F1(is)2.513 E
|
||||
4.306(au)174 489 S 1.807
|
||||
4.306(au)174 525 S 1.807
|
||||
(ser name \(as opposed to a numeric user id\) the def)-4.306 F 1.807
|
||||
(ault group listed in the)-.1 F 1.153
|
||||
(/etc/passwd \214le for that user is used as the def)174 501 R 1.153
|
||||
(/etc/passwd \214le for that user is used as the def)174 537 R 1.153
|
||||
(ault group.)-.1 F(Both)6.153 E F2(user)3.653 E F1(and)3.652 E F2(gr)
|
||||
3.652 E(oup)-.45 E F1 1.152(may be numeric.)174 513 R 1.152
|
||||
3.652 E(oup)-.45 E F1 1.152(may be numeric.)174 549 R 1.152
|
||||
(Mailers without the)6.152 F F2(S)3.652 E F1 1.152
|
||||
(\215ag in the mailer de\214nition will run as)3.652 F .142(this user)
|
||||
174 527 R 5.142(.D)-.55 G(ef)-5.142 E .142(aults to 1:1.)-.1 F .142
|
||||
174 563 R 5.142(.D)-.55 G(ef)-5.142 E .142(aults to 1:1.)-.1 F .142
|
||||
(The v)5.142 F .142(alue can also be gi)-.25 F -.15(ve)-.25 G 2.642(na)
|
||||
.15 G 2.642(sas)-2.642 G .142(ymbolic user name.)-2.642 F/F3 7
|
||||
/Times-Roman@0 SF(19)-4 I F1(DelayLA=)102 543.2 Q F2(LA)A F1 .996
|
||||
/Times-Roman@0 SF(19)-4 I F1(DelayLA=)102 579.2 Q F2(LA)A F1 .996
|
||||
([no short name] When the system load a)17.48 F -.15(ve)-.2 G .996
|
||||
(rage e).15 F(xceeds)-.15 E F2(LA)3.496 E F1(,)A F2(sendmail)3.496 E F1
|
||||
.996(will sleep)3.496 F
|
||||
(for one second on most SMTP commands and before accepting connections.)
|
||||
174 555.2 Q(Deli)102 571.4 Q -.15(ve)-.25 G(rByMin=).15 E F2(time)A F1
|
||||
.203([0] Set minimum time for Deli)174 583.4 R -.15(ve)-.25 G 2.702(rB)
|
||||
174 591.2 Q(Deli)102 607.4 Q -.15(ve)-.25 G(rByMin=).15 E F2(time)A F1
|
||||
.203([0] Set minimum time for Deli)174 619.4 R -.15(ve)-.25 G 2.702(rB)
|
||||
.15 G 2.702(yS)-2.702 G .202(MTP Service Extension \(RFC 2852\).)-2.702
|
||||
F .202(If 0,)5.202 F .486(no time is listed, if less than 0, the e)174
|
||||
595.4 R .487(xtension is not of)-.15 F .487
|
||||
631.4 R .487(xtension is not of)-.15 F .487
|
||||
(fered, if greater than 0, it is)-.25 F
|
||||
(listed as minimum time for the EHLO k)174 607.4 Q -.15(ey)-.1 G -.1(wo)
|
||||
.15 G(rd DELIVERBY).1 E(.)-1.29 E(Deli)102 623.6 Q -.15(ve)-.25 G
|
||||
(listed as minimum time for the EHLO k)174 643.4 Q -.15(ey)-.1 G -.1(wo)
|
||||
.15 G(rd DELIVERBY).1 E(.)-1.29 E(Deli)102 659.6 Q -.15(ve)-.25 G
|
||||
(ryMode=).15 E F2(x)A F1([d] Deli)4 E -.15(ve)-.25 G 2.5(ri).15 G 2.5
|
||||
(nm)-2.5 G(ode)-2.5 E F2(x)2.5 E F1 5(.L)C -2.25 -.15(eg a)-5 H 2.5(lm)
|
||||
.15 G(odes are:)-2.5 E .32 LW 76 678.8 72 678.8 DL 80 678.8 76 678.8 DL
|
||||
|
@ -6,7 +6,7 @@
|
||||
* forth in the LICENSE file which can be found at the top level of
|
||||
* the sendmail distribution.
|
||||
*
|
||||
* $Id: config.h,v 1.47 2004/10/26 21:41:07 gshapiro Exp $
|
||||
* $Id: config.h,v 1.48 2013/03/22 22:48:57 gshapiro Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -24,14 +24,16 @@
|
||||
|
||||
/*
|
||||
** SM_CONF_STDBOOL_H is 1 if <stdbool.h> exists
|
||||
**
|
||||
** Note, unlike gcc, clang doesn't apply full prototypes to K&R definitions.
|
||||
*/
|
||||
|
||||
# ifndef SM_CONF_STDBOOL_H
|
||||
# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
# if !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
# define SM_CONF_STDBOOL_H 1
|
||||
# else /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
|
||||
# else /* !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
|
||||
# define SM_CONF_STDBOOL_H 0
|
||||
# endif /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
|
||||
# endif /* !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
|
||||
# endif /* ! SM_CONF_STDBOOL_H */
|
||||
|
||||
/*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2002, 2004 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 2000-2002, 2004, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1990
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
@ -11,7 +11,7 @@
|
||||
* forth in the LICENSE file which can be found at the top level of
|
||||
* the sendmail distribution.
|
||||
*
|
||||
* $Id: io.h,v 1.24 2004/03/03 19:14:49 ca Exp $
|
||||
* $Id: io.h,v 1.25 2013/03/12 15:24:49 ca Exp $
|
||||
*/
|
||||
|
||||
/*-
|
||||
@ -269,7 +269,7 @@ int sm_io_close __P((SM_FILE_T *, int SM_NONVOLATILE));
|
||||
SM_FILE_T *sm_io_dup __P((SM_FILE_T *));
|
||||
int sm_io_eof __P((SM_FILE_T *));
|
||||
int sm_io_error __P((SM_FILE_T *));
|
||||
char *sm_io_fgets __P((SM_FILE_T *, int, char *, int));
|
||||
int sm_io_fgets __P((SM_FILE_T *, int, char *, int));
|
||||
int sm_io_flush __P((SM_FILE_T *, int SM_NONVOLATILE));
|
||||
|
||||
int PRINTFLIKE(3, 4)
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl $Id: Makefile.m4,v 8.88 2012/09/25 17:40:32 ca Exp $
|
||||
dnl $Id: Makefile.m4,v 8.92 2013/04/16 20:19:54 ca Exp $
|
||||
include(confBUILDTOOLSDIR`/M4/switch.m4')
|
||||
|
||||
dnl only required for compilation of EXTRAS
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999-2001, 2004, 2010 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1999-2001, 2004, 2010, 2013 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: sm_gethost.c,v 8.29 2010/07/27 01:09:31 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: sm_gethost.c,v 8.30 2013/02/22 22:43:33 gshapiro Exp $")
|
||||
|
||||
#include <sendmail.h>
|
||||
#if NETINET || NETINET6
|
||||
@ -101,7 +101,12 @@ mi_gethostbyname(name, family)
|
||||
# endif /* SOLARIS == 20300 || SOLARIS == 203 */
|
||||
#else /* (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && SOLARIS < 204) || (defined(sony_news) && defined(__svr4)) */
|
||||
# if NETINET6
|
||||
int flags = AI_DEFAULT|AI_ALL;
|
||||
# ifndef SM_IPNODEBYNAME_FLAGS
|
||||
/* For IPv4-mapped addresses, use: AI_DEFAULT|AI_ALL */
|
||||
# define SM_IPNODEBYNAME_FLAGS AI_ADDRCONFIG
|
||||
# endif /* SM_IPNODEBYNAME_FLAGS */
|
||||
|
||||
int flags = SM_IPNODEBYNAME_FLAGS;
|
||||
int err;
|
||||
# endif /* NETINET6 */
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl $Id: Makefile.m4,v 1.72 2006/08/16 21:06:31 ca Exp $
|
||||
dnl $Id: Makefile.m4,v 1.73 2013/03/12 15:24:50 ca Exp $
|
||||
define(`confREQUIRE_LIBUNIX')
|
||||
include(confBUILDTOOLSDIR`/M4/switch.m4')
|
||||
|
||||
@ -18,6 +18,7 @@ smcheck(`t-exc', `compile-run')
|
||||
smcheck(`t-rpool', `compile-run')
|
||||
smcheck(`t-string', `compile-run')
|
||||
smcheck(`t-smstdio', `compile-run')
|
||||
smcheck(`t-fget', `compile-run')
|
||||
smcheck(`t-match', `compile-run')
|
||||
smcheck(`t-strio', `compile-run')
|
||||
smcheck(`t-heap', `compile-run')
|
||||
|
@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
#include <sm/gen.h>
|
||||
SM_RCSID("@(#)$Id: cf.c,v 1.6 2001/09/11 04:04:47 gshapiro Exp $")
|
||||
SM_RCSID("@(#)$Id: cf.c,v 1.7 2013/03/12 15:24:50 ca Exp $")
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
@ -54,7 +54,7 @@ sm_cf_getopt(path, optc, optv)
|
||||
if (cfp == NULL)
|
||||
return errno;
|
||||
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
p = strchr(buf, '\n');
|
||||
if (p != NULL)
|
||||
|
29
libsm/fget.c
29
libsm/fget.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2001 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 2000-2001, 2013 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: fget.c,v 1.24 2001/09/11 04:04:48 gshapiro Exp $")
|
||||
SM_RCSID("@(#)$Id: fget.c,v 1.25 2013/03/12 15:24:50 ca Exp $")
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sm/io.h>
|
||||
@ -33,31 +33,32 @@ SM_RCSID("@(#)$Id: fget.c,v 1.24 2001/09/11 04:04:48 gshapiro Exp $")
|
||||
** n -- size of 'buf'
|
||||
**
|
||||
** Returns:
|
||||
** success: returns value of 'buf'
|
||||
** failure: NULL (no characters were read)
|
||||
** timeout: NULL and errno set to EAGAIN
|
||||
** success: number of characters
|
||||
** failure: -1
|
||||
** timeout: -1 and errno set to EAGAIN
|
||||
**
|
||||
** Side Effects:
|
||||
** may move the file pointer
|
||||
*/
|
||||
|
||||
char *
|
||||
int
|
||||
sm_io_fgets(fp, timeout, buf, n)
|
||||
register SM_FILE_T *fp;
|
||||
int timeout;
|
||||
char *buf;
|
||||
register int n;
|
||||
{
|
||||
register int len;
|
||||
register char *s;
|
||||
register unsigned char *p, *t;
|
||||
int len, r;
|
||||
char *s;
|
||||
unsigned char *p, *t;
|
||||
|
||||
SM_REQUIRE_ISA(fp, SmFileMagic);
|
||||
if (n <= 0) /* sanity check */
|
||||
return NULL;
|
||||
return -1;
|
||||
|
||||
s = buf;
|
||||
n--; /* leave space for NUL */
|
||||
r = 0;
|
||||
while (n > 0)
|
||||
{
|
||||
/* If the buffer is empty, refill it. */
|
||||
@ -73,7 +74,7 @@ sm_io_fgets(fp, timeout, buf, n)
|
||||
{
|
||||
/* EOF/error: stop with partial or no line */
|
||||
if (s == buf)
|
||||
return NULL;
|
||||
return -1;
|
||||
break;
|
||||
}
|
||||
len = fp->f_r;
|
||||
@ -93,18 +94,20 @@ sm_io_fgets(fp, timeout, buf, n)
|
||||
if (t != NULL)
|
||||
{
|
||||
len = ++t - p;
|
||||
r += len;
|
||||
fp->f_r -= len;
|
||||
fp->f_p = t;
|
||||
(void) memcpy((void *) s, (void *) p, len);
|
||||
s[len] = 0;
|
||||
return buf;
|
||||
return r;
|
||||
}
|
||||
fp->f_r -= len;
|
||||
fp->f_p += len;
|
||||
(void) memcpy((void *) s, (void *) p, len);
|
||||
s += len;
|
||||
r += len;
|
||||
n -= len;
|
||||
}
|
||||
*s = 0;
|
||||
return buf;
|
||||
return r;
|
||||
}
|
||||
|
86
libsm/t-fget.c
Normal file
86
libsm/t-fget.c
Normal file
@ -0,0 +1,86 @@
|
||||
/*
|
||||
* Copyright (c) 2013 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.
|
||||
*/
|
||||
|
||||
#include <sm/gen.h>
|
||||
SM_IDSTR(id, "@(#)$Id: t-fget.c,v 1.1 2013/03/12 15:24:50 ca Exp $")
|
||||
|
||||
#include <sm/io.h>
|
||||
#include <sm/string.h>
|
||||
#include <sm/test.h>
|
||||
#include <errno.h>
|
||||
|
||||
void
|
||||
check(char *msg, int l)
|
||||
{
|
||||
SM_FILE_T *wfp, *rfp;
|
||||
char buf[256];
|
||||
size_t n;
|
||||
int r, i;
|
||||
static char fn[] = "tfget";
|
||||
|
||||
wfp = sm_io_open(SmFtStdio, SM_TIME_DEFAULT, fn,
|
||||
SM_IO_WRONLY_B, NULL);
|
||||
SM_TEST(wfp != NULL);
|
||||
for (i = 0; i < l; i++)
|
||||
{
|
||||
r = sm_io_putc(wfp, SM_TIME_DEFAULT, msg[i]);
|
||||
SM_TEST(r >= 0);
|
||||
}
|
||||
r = sm_io_close(wfp, SM_TIME_DEFAULT);
|
||||
SM_TEST(r == 0);
|
||||
|
||||
rfp = sm_io_open(SmFtStdio, SM_TIME_DEFAULT, fn,
|
||||
SM_IO_RDONLY_B, NULL);
|
||||
SM_TEST(rfp != NULL);
|
||||
n = sizeof(buf);
|
||||
r = sm_io_fgets(rfp, SM_TIME_DEFAULT, buf, n);
|
||||
if (l == 0)
|
||||
{
|
||||
SM_TEST(r == -1);
|
||||
SM_TEST(errno == 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
SM_TEST(r == l);
|
||||
if (r != l)
|
||||
fprintf(stderr, "buf='%s', in='%s', r=%d, l=%d\n",
|
||||
buf, msg, r, l);
|
||||
}
|
||||
SM_TEST(memcmp(buf, msg, l) == 0);
|
||||
r = sm_io_close(rfp, SM_TIME_DEFAULT);
|
||||
SM_TEST(r == 0);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
char res[256];
|
||||
int l;
|
||||
|
||||
sm_test_begin(argc, argv, "test fget");
|
||||
|
||||
check("", strlen(""));
|
||||
check("\n", strlen("\n"));
|
||||
check("test\n", strlen("test\n"));
|
||||
|
||||
l = snprintf(res, sizeof(res), "%c%s\n", '\0', "test ing");
|
||||
check(res, l);
|
||||
|
||||
l = snprintf(res, sizeof(res), "%c%s%c\n", '\0', "test ing", '\0');
|
||||
check(res, l);
|
||||
|
||||
l = snprintf(res, sizeof(res), "%c%s%c%s\n",
|
||||
'\0', "test ing", '\0', "eol");
|
||||
check(res, l);
|
||||
|
||||
return sm_test_end();
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2002, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
Copyright (c) 1988, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: mailstats.c,v 8.100 2002/06/27 23:24:06 gshapiro Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: mailstats.c,v 8.102 2013/03/12 15:24:50 ca Exp $")
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stddef.h>
|
||||
@ -68,13 +68,14 @@ main(argc, argv)
|
||||
extern char *ctime();
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
# define MSOPTS "cC:f:opP"
|
||||
|
||||
cfile = getcfname(0, 0, SM_GET_SENDMAIL_CF, NULL);
|
||||
sfile = NULL;
|
||||
mnames = true;
|
||||
progmode = false;
|
||||
trunc = false;
|
||||
while ((ch = getopt(argc, argv, "cC:f:opP")) != -1)
|
||||
while ((ch = getopt(argc, argv, MSOPTS)) != -1)
|
||||
{
|
||||
switch (ch)
|
||||
{
|
||||
@ -90,6 +91,7 @@ main(argc, argv)
|
||||
sfile = optarg;
|
||||
break;
|
||||
|
||||
|
||||
case 'o':
|
||||
mnames = false;
|
||||
break;
|
||||
@ -102,6 +104,7 @@ main(argc, argv)
|
||||
progmode = true;
|
||||
break;
|
||||
|
||||
|
||||
case '?':
|
||||
default:
|
||||
usage:
|
||||
@ -131,7 +134,7 @@ main(argc, argv)
|
||||
(void) sm_strlcpy(mtable[mno++], "*file*", MNAMELEN + 1);
|
||||
(void) sm_strlcpy(mtable[mno++], "*include*", MNAMELEN + 1);
|
||||
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *b;
|
||||
char *s;
|
||||
@ -270,6 +273,7 @@ main(argc, argv)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (progmode)
|
||||
{
|
||||
(void) time(&now);
|
||||
|
@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
Copyright (c) 1992, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: makemap.c,v 8.180 2010/11/23 02:35:08 gshapiro Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: makemap.c,v 8.181 2013/03/12 15:24:51 ca Exp $")
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
@ -242,7 +242,7 @@ main(argc, argv)
|
||||
cfile, sm_errstring(errno));
|
||||
exit(EX_NOINPUT);
|
||||
}
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *b;
|
||||
|
||||
@ -392,7 +392,7 @@ main(argc, argv)
|
||||
{
|
||||
lineno = 0;
|
||||
while (sm_io_fgets(smioin, SM_TIME_DEFAULT, ibuf, sizeof ibuf)
|
||||
!= NULL)
|
||||
>= 0)
|
||||
{
|
||||
register char *p;
|
||||
|
||||
|
@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
Copyright (c) 1988, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: praliases.c,v 8.96 2008/07/10 20:13:10 ca Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: praliases.c,v 8.97 2013/03/12 15:24:51 ca Exp $")
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
@ -122,7 +122,7 @@ main(argc, argv)
|
||||
exit(EX_NOINPUT);
|
||||
}
|
||||
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(cfp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *b, *p;
|
||||
|
||||
|
@ -18,7 +18,7 @@ SM_IDSTR(copyright,
|
||||
Copyright (c) 1988, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: rmail.c,v 8.61 2001/09/18 21:45:29 gshapiro Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: rmail.c,v 8.62 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
/*
|
||||
* RMAIL -- UUCP mail server.
|
||||
@ -134,7 +134,7 @@ main(argc, argv)
|
||||
{
|
||||
/* Get and nul-terminate the line. */
|
||||
if (sm_io_fgets(smioin, SM_TIME_DEFAULT, lbuf,
|
||||
sizeof(lbuf)) == NULL)
|
||||
sizeof(lbuf)) < 0)
|
||||
err(EX_DATAERR, "no data");
|
||||
if ((p = strchr(lbuf, '\n')) == NULL)
|
||||
err(EX_DATAERR, "line too long");
|
||||
@ -379,7 +379,7 @@ main(argc, argv)
|
||||
{
|
||||
(void) sm_io_fprintf(fp, SM_TIME_DEFAULT, "%s", lbuf);
|
||||
} while (sm_io_fgets(smioin, SM_TIME_DEFAULT, lbuf,
|
||||
sizeof(lbuf)) != NULL);
|
||||
sizeof(lbuf)) >= 0);
|
||||
|
||||
if (sm_io_error(smioin))
|
||||
err(EX_TEMPFAIL, "stdin: %s", sm_errstring(errno));
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl $Id: Makefile.m4,v 8.132 2012/09/11 20:02:44 ca Exp $
|
||||
dnl $Id: Makefile.m4,v 8.139 2013/04/17 17:15:54 ca Exp $
|
||||
include(confBUILDTOOLSDIR`/M4/switch.m4')
|
||||
|
||||
define(`confREQUIRE_LIBSM', `true')
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: alias.c,v 8.219 2006/10/24 18:04:09 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: alias.c,v 8.220 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
#define SEPARATOR ':'
|
||||
# define ALIAS_SPEC_SEPARATORS " ,/:"
|
||||
@ -657,7 +657,7 @@ readaliases(map, af, announcestats, logstats)
|
||||
LineNumber = 0;
|
||||
naliases = bytes = longest = 0;
|
||||
skipping = false;
|
||||
while (sm_io_fgets(af, SM_TIME_DEFAULT, line, sizeof(line)) != NULL)
|
||||
while (sm_io_fgets(af, SM_TIME_DEFAULT, line, sizeof(line)) >= 0)
|
||||
{
|
||||
int lhssize, rhssize;
|
||||
int c;
|
||||
@ -670,7 +670,7 @@ readaliases(map, af, announcestats, logstats)
|
||||
{
|
||||
p--;
|
||||
if (sm_io_fgets(af, SM_TIME_DEFAULT, p,
|
||||
SPACELEFT(line, p)) == NULL)
|
||||
SPACELEFT(line, p)) < 0)
|
||||
break;
|
||||
LineNumber++;
|
||||
p = strchr(p, '\n');
|
||||
@ -780,7 +780,7 @@ readaliases(map, af, announcestats, logstats)
|
||||
|
||||
/* read continuation line */
|
||||
if (sm_io_fgets(af, SM_TIME_DEFAULT, p,
|
||||
sizeof(line) - (p-line)) == NULL)
|
||||
sizeof(line) - (p-line)) < 0)
|
||||
break;
|
||||
LineNumber++;
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: collect.c,v 8.285 2012/06/14 23:54:02 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: collect.c,v 8.286 2013/03/15 17:54:12 ca Exp $")
|
||||
|
||||
static void eatfrom __P((char *volatile, ENVELOPE *));
|
||||
static void collect_doheader __P((ENVELOPE *));
|
||||
@ -300,6 +300,9 @@ collect(fp, smtpmode, hdrp, e, rsetsize)
|
||||
unsigned char *pbp;
|
||||
unsigned char peekbuf[8];
|
||||
char bufbuf[MAXLINE];
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
bool hasNUL; /* has at least one NUL input byte */
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
|
||||
df = NULL;
|
||||
ignrdot = smtpmode ? false : IgnrDot;
|
||||
@ -315,6 +318,9 @@ collect(fp, smtpmode, hdrp, e, rsetsize)
|
||||
hdrslen = 0;
|
||||
numhdrs = 0;
|
||||
HasEightBits = false;
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
hasNUL = false;
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
buf = bp = bufbuf;
|
||||
buflen = sizeof(bufbuf);
|
||||
pbp = peekbuf;
|
||||
@ -403,6 +409,10 @@ collect(fp, smtpmode, hdrp, e, rsetsize)
|
||||
SM_TIME_DEFAULT,
|
||||
c);
|
||||
}
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
if (c == '\0')
|
||||
hasNUL = true;
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
if (c == SM_IO_EOF)
|
||||
goto readerr;
|
||||
if (SevenBitInput)
|
||||
@ -893,6 +903,14 @@ collect(fp, smtpmode, hdrp, e, rsetsize)
|
||||
e->e_bodytype = "7BIT";
|
||||
}
|
||||
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
if (hasNUL && RejectNUL)
|
||||
{
|
||||
e->e_status = "5.6.1";
|
||||
usrerrenh(e->e_status, "554 NUL byte not allowed");
|
||||
}
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
|
||||
if (SuperSafe == SAFE_REALLY && !bitset(EF_FATALERRS, e->e_flags))
|
||||
{
|
||||
char *dfname = queuename(e, DATAFL_LETTER);
|
||||
|
42
src/conf.c
42
src/conf.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2013 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.1176 2012/12/07 03:59:54 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: conf.c,v 8.1182 2013/04/05 17:39:09 ca Exp $")
|
||||
|
||||
#include <sm/sendmail.h>
|
||||
#include <sendmail/pathnames.h>
|
||||
@ -967,7 +967,7 @@ switch_map_find(service, maptype, mapreturn)
|
||||
char buf[MAXLINE];
|
||||
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) != NULL)
|
||||
sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *p;
|
||||
|
||||
@ -2848,7 +2848,7 @@ uname(name)
|
||||
char buf[MAXLINE];
|
||||
|
||||
while (sm_io_fgets(file, SM_TIME_DEFAULT,
|
||||
buf, sizeof(buf)) != NULL)
|
||||
buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
if (sm_io_sscanf(buf, "#define sysname \"%*[^\"]\"",
|
||||
NODE_LENGTH, name->nodename) > 0)
|
||||
@ -3222,7 +3222,7 @@ usershellok(user, shell)
|
||||
return false;
|
||||
}
|
||||
|
||||
while (sm_io_fgets(shellf, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(shellf, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register char *p, *q;
|
||||
|
||||
@ -4294,7 +4294,12 @@ sm_gethostbyname(name, family)
|
||||
#else /* (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && SOLARIS < 204) || (defined(sony_news) && defined(__svr4)) */
|
||||
int nmaps;
|
||||
# if NETINET6
|
||||
int flags = AI_DEFAULT|AI_ALL;
|
||||
# ifndef SM_IPNODEBYNAME_FLAGS
|
||||
/* For IPv4-mapped addresses, use: AI_DEFAULT|AI_ALL */
|
||||
# define SM_IPNODEBYNAME_FLAGS AI_ADDRCONFIG
|
||||
# endif /* SM_IPNODEBYNAME_FLAGS */
|
||||
|
||||
int flags = SM_IPNODEBYNAME_FLAGS;
|
||||
int err;
|
||||
# endif /* NETINET6 */
|
||||
char *maptype[MAXMAPSTACK];
|
||||
@ -6004,6 +6009,23 @@ char *OsCompileOptions[] =
|
||||
#if SECUREWARE
|
||||
"SECUREWARE",
|
||||
#endif /* SECUREWARE */
|
||||
#if SFS_TYPE == SFS_4ARGS
|
||||
"SFS_4ARGS",
|
||||
#elif SFS_TYPE == SFS_MOUNT
|
||||
"SFS_MOUNT",
|
||||
#elif SFS_TYPE == SFS_NONE
|
||||
"SFS_NONE",
|
||||
#elif SFS_TYPE == SFS_NT
|
||||
"SFS_NT",
|
||||
#elif SFS_TYPE == SFS_STATFS
|
||||
"SFS_STATFS",
|
||||
#elif SFS_TYPE == SFS_STATVFS
|
||||
"SFS_STATVFS",
|
||||
#elif SFS_TYPE == SFS_USTAT
|
||||
"SFS_USTAT",
|
||||
#elif SFS_TYPE == SFS_VFS
|
||||
"SFS_VFS",
|
||||
#endif
|
||||
#if SHARE_V1
|
||||
"SHARE_V1",
|
||||
#endif /* SHARE_V1 */
|
||||
@ -6184,6 +6206,10 @@ char *FFRCompileOptions[] =
|
||||
|
||||
"_FFR_GETHBN_ExFILE",
|
||||
#endif /* _FFR_GETHBN_ExFILE */
|
||||
#if _FFR_FIPSMODE
|
||||
/* FIPSMode (if supported by OpenSSL library) */
|
||||
"_FFR_FIPSMODE",
|
||||
#endif /* _FFR_FIPSMODE */
|
||||
#if _FFR_FIX_DASHT
|
||||
/*
|
||||
** If using -t, force not sending to argv recipients, even
|
||||
@ -6363,6 +6389,10 @@ char *FFRCompileOptions[] =
|
||||
|
||||
"_FFR_REDIRECTEMPTY",
|
||||
#endif /* _FFR_REDIRECTEMPTY */
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
/* reject NUL bytes in body */
|
||||
"_FFR_REJECT_NUL_BYTE",
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
#if _FFR_RESET_MACRO_GLOBALS
|
||||
/* Allow macro 'j' to be set dynamically via rulesets. */
|
||||
"_FFR_RESET_MACRO_GLOBALS",
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: control.c,v 8.128 2006/08/15 23:24:56 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: control.c,v 8.129 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
#include <sm/fdset.h>
|
||||
|
||||
@ -301,7 +301,7 @@ control_command(sock, e)
|
||||
(void) sm_io_setvbuf(s, SM_TIME_DEFAULT, NULL,
|
||||
SM_IO_NBF, SM_IO_BUFSIZ);
|
||||
|
||||
if (sm_io_fgets(s, SM_TIME_DEFAULT, inp, sizeof(inp)) == NULL)
|
||||
if (sm_io_fgets(s, SM_TIME_DEFAULT, inp, sizeof(inp)) < 0)
|
||||
{
|
||||
(void) sm_io_close(s, SM_TIME_DEFAULT);
|
||||
exit(EX_IOERR);
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <sendmail.h>
|
||||
#include <sm/time.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: deliver.c,v 8.1027 2012/12/19 02:49:21 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: deliver.c,v 8.1028 2013/01/02 18:57:42 ca Exp $")
|
||||
|
||||
#if HASSETUSERCONTEXT
|
||||
# include <login_cap.h>
|
||||
@ -6153,7 +6153,7 @@ starttls(m, mci, e)
|
||||
sm_syslog(LOG_ERR, NOQID,
|
||||
"STARTTLS=client, error: SSL_new failed");
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("client");
|
||||
tlslogerr(LOG_WARNING, "client");
|
||||
}
|
||||
return EX_SOFTWARE;
|
||||
}
|
||||
@ -6172,7 +6172,7 @@ starttls(m, mci, e)
|
||||
"STARTTLS=client, error: SSL_set_xfd failed=%d",
|
||||
result);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("client");
|
||||
tlslogerr(LOG_WARNING, "client");
|
||||
}
|
||||
return EX_SOFTWARE;
|
||||
}
|
||||
@ -6202,7 +6202,7 @@ starttls(m, mci, e)
|
||||
result, sr == NULL ? "unknown" : sr, ssl_err,
|
||||
errno, i);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("client");
|
||||
tlslogerr(LOG_WARNING, "client");
|
||||
}
|
||||
|
||||
SSL_free(clt_ssl);
|
||||
|
12
src/main.c
12
src/main.c
@ -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.981 2012/06/14 23:54:02 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: main.c,v 8.983 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
|
||||
#if NETINET || NETINET6
|
||||
@ -2103,7 +2103,7 @@ main(argc, argv, envp)
|
||||
"> ");
|
||||
(void) sm_io_flush(smioout, SM_TIME_DEFAULT);
|
||||
if (sm_io_fgets(smioin, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) == NULL)
|
||||
sizeof(buf)) < 0)
|
||||
testmodeline("/quit", &MainEnvelope);
|
||||
p = strchr(buf, '\n');
|
||||
if (p != NULL)
|
||||
@ -2153,7 +2153,13 @@ main(argc, argv, envp)
|
||||
if (tls_ok)
|
||||
{
|
||||
/* basic TLS initialization */
|
||||
tls_ok = init_tls_library();
|
||||
tls_ok = init_tls_library(FipsMode);
|
||||
if (!tls_ok && FipsMode)
|
||||
{
|
||||
(void) sm_io_fprintf(smioout, SM_TIME_DEFAULT,
|
||||
"ERROR: FIPSMode failed to initialize\n");
|
||||
exit(EX_USAGE);
|
||||
}
|
||||
}
|
||||
|
||||
if (!tls_ok && (OpMode == MD_QUEUERUN || OpMode == MD_DELIVER))
|
||||
|
11
src/map.c
11
src/map.c
@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: map.c,v 8.709 2012/04/20 18:47:09 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: map.c,v 8.711 2013/03/12 15:24:52 ca Exp $")
|
||||
|
||||
#if LDAPMAP
|
||||
# include <sm/ldap.h>
|
||||
@ -2883,6 +2883,9 @@ nis_getcanonname(name, hbsize, statp)
|
||||
# undef T_UNSPEC /* symbol conflict in nis.h -> ... -> sys/tiuser.h */
|
||||
# include <rpcsvc/nis.h>
|
||||
# include <rpcsvc/nislib.h>
|
||||
# ifndef NIS_TABLE_OBJ
|
||||
# define NIS_TABLE_OBJ TABLE_OBJ
|
||||
# endif /* NIS_TABLE_OBJ */
|
||||
|
||||
# define EN_col(col) zo_data.objdata_u.en_data.en_cols.en_cols_val[(col)].ec_value.ec_value_val
|
||||
# define COL_NAME(res,i) ((res->objects.objects_val)->TA_data.ta_cols.ta_cols_val)[i].tc_name
|
||||
@ -2970,7 +2973,7 @@ nisplus_map_open(map, mode)
|
||||
}
|
||||
|
||||
if (NIS_RES_NUMOBJ(res) != 1 ||
|
||||
(NIS_RES_OBJECT(res)->zo_data.zo_type != TABLE_OBJ))
|
||||
(NIS_RES_OBJECT(res)->zo_data.zo_type != NIS_TABLE_OBJ))
|
||||
{
|
||||
if (tTd(38, 10))
|
||||
sm_dprintf("nisplus_map_open: %s is not a table\n", qbuf);
|
||||
@ -5834,7 +5837,7 @@ text_map_lookup(map, name, av, statp)
|
||||
key_idx = map->map_keycolno;
|
||||
delim = map->map_coldelim;
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT,
|
||||
linebuf, sizeof(linebuf)) != NULL)
|
||||
linebuf, sizeof(linebuf)) >= 0)
|
||||
{
|
||||
char *p;
|
||||
|
||||
@ -5908,7 +5911,7 @@ text_getcanonname(name, hbsize, statp)
|
||||
found = false;
|
||||
while (!found &&
|
||||
sm_io_fgets(f, SM_TIME_DEFAULT,
|
||||
linebuf, sizeof(linebuf)) != NULL)
|
||||
linebuf, sizeof(linebuf)) >= 0)
|
||||
{
|
||||
char *p = strpbrk(linebuf, "#\n");
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: mci.c,v 8.223 2010/03/10 04:35:28 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: mci.c,v 8.224 2013/03/12 15:24:53 ca Exp $")
|
||||
|
||||
#if NETINET || NETINET6
|
||||
# include <arpa/inet.h>
|
||||
@ -972,7 +972,7 @@ mci_read_persistent(fp, mci)
|
||||
sm_io_rewind(fp, SM_TIME_DEFAULT);
|
||||
ver = -1;
|
||||
LineNumber = 0;
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
LineNumber++;
|
||||
p = strchr(buf, '\n');
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999-2009 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1999-2009, 2012, 2013 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: milter.c,v 8.279 2012/11/16 20:25:03 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: milter.c,v 8.280 2013/01/16 18:48:36 ca Exp $")
|
||||
|
||||
#if MILTER
|
||||
# include <sm/sendmail.h>
|
||||
@ -2184,7 +2184,7 @@ milter_send_command(m, cmd, data, sz, e, state, where)
|
||||
** cmd -- command to send.
|
||||
** data -- optional command data.
|
||||
** sz -- length of buf.
|
||||
** macros -- macros to send for filter smfi_getsymval().
|
||||
** stage -- index of macros to send for filter smfi_getsymval().
|
||||
** e -- current envelope (for macro access).
|
||||
** state -- return state word.
|
||||
** where -- description of calling function (logging).
|
||||
@ -2328,7 +2328,6 @@ milter_getsymlist(m, buf, rlen, offset)
|
||||
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)
|
||||
|
41
src/mime.c
41
src/mime.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2003, 2006 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2003, 2006, 2013 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1994, 1996-1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1994
|
||||
@ -14,7 +14,7 @@
|
||||
#include <sendmail.h>
|
||||
#include <string.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: mime.c,v 8.147 2007/09/26 23:29:11 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: mime.c,v 8.148 2013/03/12 15:24:53 ca Exp $")
|
||||
|
||||
/*
|
||||
** MIME support.
|
||||
@ -107,6 +107,7 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
{
|
||||
register char *p;
|
||||
int linelen;
|
||||
int blen;
|
||||
int bt;
|
||||
off_t offset;
|
||||
size_t sectionsize, sectionhighbits;
|
||||
@ -322,13 +323,13 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
goto writeerr;
|
||||
mci->mci_flags &= ~MCIF_INHEADER;
|
||||
bt = MBT_FINAL;
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
bt = mimeboundary(buf, boundaries);
|
||||
if (bt != MBT_NOTSEP)
|
||||
break;
|
||||
if (!putxline(buf, strlen(buf), mci,
|
||||
if (!putxline(buf, blen, mci,
|
||||
PXLF_MAPFROM|PXLF_STRIP8BIT))
|
||||
goto writeerr;
|
||||
if (tTd(43, 99))
|
||||
@ -366,13 +367,13 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
mci->mci_flags &= ~MCIF_INMIME;
|
||||
|
||||
/* skip the late "comment" epilogue */
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
bt = mimeboundary(buf, boundaries);
|
||||
if (bt != MBT_NOTSEP)
|
||||
break;
|
||||
if (!putxline(buf, strlen(buf), mci,
|
||||
if (!putxline(buf, blen, mci,
|
||||
PXLF_MAPFROM|PXLF_STRIP8BIT))
|
||||
goto writeerr;
|
||||
if (tTd(43, 99))
|
||||
@ -443,16 +444,16 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
DATAFL_LETTER, e->e_id);
|
||||
|
||||
/* do a scan of this body type to count character types */
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
if (mimeboundary(buf, boundaries) != MBT_NOTSEP)
|
||||
break;
|
||||
for (p = buf; *p != '\0'; p++)
|
||||
for (i = 0; i < blen; i++)
|
||||
{
|
||||
/* count bytes with the high bit set */
|
||||
sectionsize++;
|
||||
if (bitset(0200, *p))
|
||||
if (bitset(0200, buf[i]))
|
||||
sectionhighbits++;
|
||||
}
|
||||
|
||||
@ -522,8 +523,8 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
if (!putline("", mci))
|
||||
goto writeerr;
|
||||
mci->mci_flags &= ~MCIF_INHEADER;
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
if (!bitset(MCIF_INLONGLINE, mci->mci_flags))
|
||||
{
|
||||
@ -531,7 +532,7 @@ mime8to7(mci, header, e, boundaries, flags, level)
|
||||
if (bt != MBT_NOTSEP)
|
||||
break;
|
||||
}
|
||||
if (!putxline(buf, strlen(buf), mci,
|
||||
if (!putxline(buf, blen, mci,
|
||||
PXLF_MAPFROM|PXLF_NOADDEOL))
|
||||
goto writeerr;
|
||||
}
|
||||
@ -1033,7 +1034,7 @@ mime7to8(mci, header, e)
|
||||
HDR *header;
|
||||
register ENVELOPE *e;
|
||||
{
|
||||
int pxflags;
|
||||
int pxflags, blen;
|
||||
register char *p;
|
||||
char *cte;
|
||||
char **pvp;
|
||||
@ -1066,10 +1067,10 @@ mime7to8(mci, header, e)
|
||||
if (!putline("", mci))
|
||||
goto writeerr;
|
||||
mci->mci_flags &= ~MCIF_INHEADER;
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf, sizeof(buf))
|
||||
!= NULL)
|
||||
while ((blen = sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf))) >= 0)
|
||||
{
|
||||
if (!putline(buf, mci))
|
||||
if (!putxline(buf, blen, mci, PXLF_MAPFROM))
|
||||
goto writeerr;
|
||||
}
|
||||
return true;
|
||||
@ -1177,7 +1178,7 @@ mime7to8(mci, header, e)
|
||||
pxflags |= PXLF_NOADDEOL;
|
||||
fbufp = fbuf;
|
||||
while (sm_io_fgets(e->e_dfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) != NULL)
|
||||
sizeof(buf)) >= 0)
|
||||
{
|
||||
off = mime_fromqp((unsigned char *) buf, &fbufp,
|
||||
&fbuf[MAXLINE] - fbufp);
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: parseaddr.c,v 8.405 2012/02/27 22:49:08 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: parseaddr.c,v 8.406 2013/04/17 16:53:01 ca Exp $")
|
||||
|
||||
#include <sm/sendmail.h>
|
||||
#include "map.h"
|
||||
@ -2350,6 +2350,14 @@ sameaddr(a, b)
|
||||
if (a->q_mailer != b->q_mailer)
|
||||
return false;
|
||||
|
||||
/*
|
||||
** Addresses resolving to error mailer
|
||||
** should not be considered identical
|
||||
*/
|
||||
|
||||
if (a->q_mailer == &errormailer)
|
||||
return false;
|
||||
|
||||
/* if the user isn't the same, we can drop out */
|
||||
if (strcmp(a->q_user, b->q_user) != 0)
|
||||
return false;
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <sendmail.h>
|
||||
#include <sm/sem.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: queue.c,v 8.997 2012/06/14 23:54:03 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: queue.c,v 8.998 2013/03/12 15:24:53 ca Exp $")
|
||||
|
||||
#include <dirent.h>
|
||||
|
||||
@ -2746,7 +2746,7 @@ gatherq(qgrp, qdir, doall, full, more, pnentries)
|
||||
i |= NEED_QUARANTINE;
|
||||
while (cf != NULL && i != 0 &&
|
||||
sm_io_fgets(cf, SM_TIME_DEFAULT, lbuf,
|
||||
sizeof(lbuf)) != NULL)
|
||||
sizeof(lbuf)) >= 0)
|
||||
{
|
||||
int c;
|
||||
time_t age;
|
||||
@ -4981,7 +4981,7 @@ print_single_queue(qgrp, qdir)
|
||||
quarmsg[0] = '\0';
|
||||
statmsg[0] = bodytype[0] = '\0';
|
||||
qfver = 0;
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
register int i;
|
||||
register char *p;
|
||||
|
25
src/readcf.c
25
src/readcf.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2006, 2008-2010 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2006, 2008-2010, 2013 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/sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: readcf.c,v 8.684 2011/03/15 17:29:29 guenther Exp $")
|
||||
SM_RCSID("@(#)$Id: readcf.c,v 8.690 2013/03/15 17:54:12 ca Exp $")
|
||||
|
||||
#if NETINET || NETINET6
|
||||
# include <arpa/inet.h>
|
||||
@ -1141,7 +1141,7 @@ fileclass(class, filename, fmt, ismap, safe, optional)
|
||||
return;
|
||||
}
|
||||
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
#if SCANF
|
||||
char wordbuf[MAXLINE + 1];
|
||||
@ -2284,6 +2284,14 @@ static struct optioninfo
|
||||
# define O_INETQOS 0xe7 /* reserved for FFR_QOS */
|
||||
{ "InetQoS", O_INETQOS, OI_NONE },
|
||||
#endif
|
||||
#if STARTTLS && _FFR_FIPSMODE
|
||||
# define O_FIPSMODE 0xe8
|
||||
{ "FIPSMode", O_FIPSMODE, OI_NONE },
|
||||
#endif /* STARTTLS && _FFR_FIPSMODE */
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
# define O_REJECTNUL 0xe9
|
||||
{ "RejectNUL", O_REJECTNUL, OI_SAFE },
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
|
||||
{ NULL, '\0', OI_NONE }
|
||||
};
|
||||
@ -3862,6 +3870,11 @@ setoption(opt, val, safe, sticky, e)
|
||||
break;
|
||||
|
||||
#endif /* STARTTLS */
|
||||
#if STARTTLS && _FFR_FIPSMODE
|
||||
case O_FIPSMODE:
|
||||
FipsMode = atobool(val);
|
||||
break;
|
||||
#endif /* STARTTLS && _FFR_FIPSMODE */
|
||||
|
||||
case O_CLIENTPORT:
|
||||
setclientoptions(val);
|
||||
@ -4016,6 +4029,12 @@ setoption(opt, val, safe, sticky, e)
|
||||
break;
|
||||
#endif /* _FFR_BADRCPT_SHUTDOWN */
|
||||
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
case O_REJECTNUL:
|
||||
RejectNUL = atobool(val);
|
||||
break;
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
|
||||
default:
|
||||
if (tTd(37, 1))
|
||||
{
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: recipient.c,v 8.349 2007/07/10 17:01:22 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: recipient.c,v 8.350 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
static void includetimeout __P((int));
|
||||
static ADDRESS *self_reference __P((ADDRESS *));
|
||||
@ -1824,7 +1824,7 @@ include(fname, forwarding, ctladdr, sendq, aliaslevel, e)
|
||||
LineNumber = 0;
|
||||
ctladdr->q_flags &= ~QSELFREF;
|
||||
nincludes = 0;
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL &&
|
||||
while (sm_io_fgets(fp, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0 &&
|
||||
!maxreached)
|
||||
{
|
||||
fixcrlf(buf, true);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2003, 2006 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2003, 2006, 2012, 2013 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: savemail.c,v 8.315 2012/02/27 17:43:03 gshapiro Exp $")
|
||||
SM_RCSID("@(#)$Id: savemail.c,v 8.318 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
static bool errbody __P((MCI *, ENVELOPE *, char *));
|
||||
static bool pruneroute __P((char *));
|
||||
@ -204,7 +204,7 @@ savemail(e, sendbody)
|
||||
(void) sm_io_fprintf(smioout, SM_TIME_DEFAULT,
|
||||
"Transcript follows:\r\n");
|
||||
while (sm_io_fgets(e->e_xfp, SM_TIME_DEFAULT,
|
||||
buf, sizeof(buf)) != NULL &&
|
||||
buf, sizeof(buf)) >= 0 &&
|
||||
!sm_io_error(smioout))
|
||||
(void) sm_io_fputs(smioout,
|
||||
SM_TIME_DEFAULT,
|
||||
@ -866,7 +866,7 @@ errbody(mci, e, separator)
|
||||
if (xfile != NULL)
|
||||
{
|
||||
while (sm_io_fgets(xfile, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) != NULL)
|
||||
sizeof(buf)) >= 0)
|
||||
{
|
||||
int lbs;
|
||||
bool putok;
|
||||
@ -1042,18 +1042,20 @@ errbody(mci, e, separator)
|
||||
}
|
||||
else
|
||||
{
|
||||
int blen;
|
||||
|
||||
printheader = true;
|
||||
(void) bfrewind(e->e_parent->e_xfp);
|
||||
if (e->e_xfp != NULL)
|
||||
(void) sm_io_flush(e->e_xfp, SM_TIME_DEFAULT);
|
||||
while (sm_io_fgets(e->e_parent->e_xfp, SM_TIME_DEFAULT, buf,
|
||||
sizeof(buf)) != NULL)
|
||||
while ((blen = sm_io_fgets(e->e_parent->e_xfp, SM_TIME_DEFAULT,
|
||||
buf, sizeof(buf))) >= 0)
|
||||
{
|
||||
if (printheader && !putline(" ----- Transcript of session follows -----\n",
|
||||
mci))
|
||||
goto writeerr;
|
||||
printheader = false;
|
||||
if (!putline(buf, mci))
|
||||
if (!putxline(buf, blen, mci, PXLF_MAPFROM))
|
||||
goto writeerr;
|
||||
}
|
||||
}
|
||||
@ -1174,11 +1176,24 @@ errbody(mci, e, separator)
|
||||
/* Original-Recipient: -- passed from on high */
|
||||
if (q->q_orcpt != NULL)
|
||||
{
|
||||
(void) sm_snprintf(buf, sizeof(buf),
|
||||
"Original-Recipient: %.800s",
|
||||
q->q_orcpt);
|
||||
if (!putline(buf, mci))
|
||||
goto writeerr;
|
||||
p = strchr(q->q_orcpt, ';');
|
||||
|
||||
/*
|
||||
** p == NULL shouldn't happen due to
|
||||
** check in srvrsmtp.c
|
||||
** we could log an error in this case.
|
||||
*/
|
||||
|
||||
if (p != NULL)
|
||||
{
|
||||
*p = '\0';
|
||||
(void) sm_snprintf(buf, sizeof(buf),
|
||||
"Original-Recipient: %.100s;%.700s",
|
||||
q->q_orcpt, xuntextify(p + 1));
|
||||
*p = ';';
|
||||
if (!putline(buf, mci))
|
||||
goto writeerr;
|
||||
}
|
||||
}
|
||||
|
||||
/* Figure out actual recipient */
|
||||
@ -1682,6 +1697,34 @@ xtextok(s)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
** ISATOM -- check if a string is an "atom"
|
||||
**
|
||||
** Parameters:
|
||||
** s -- the string to check.
|
||||
**
|
||||
** Returns:
|
||||
** true -- iff s is an atom
|
||||
*/
|
||||
|
||||
bool
|
||||
isatom(s)
|
||||
const char *s;
|
||||
{
|
||||
int c;
|
||||
|
||||
if (s == NULL || *s == '\0')
|
||||
return false;
|
||||
while ((c = *s++) != '\0')
|
||||
{
|
||||
if (strchr("()<>@,;:\\.[]\"", c) != NULL)
|
||||
return false;
|
||||
if (c < '!' || c > '~')
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
** PRUNEROUTE -- prune an RFC-822 source route
|
||||
**
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2013 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.1096 2012/11/16 20:25:03 ca Exp $";
|
||||
SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.1101 2013/03/15 17:54:12 ca Exp $";
|
||||
# endif /* ! lint */
|
||||
#endif /* _DEFINE */
|
||||
|
||||
@ -124,7 +124,11 @@ SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.1096 2012/11/16 20:2
|
||||
#if STARTTLS
|
||||
# include <openssl/ssl.h>
|
||||
# if !TLS_NO_RSA
|
||||
# define RSA_KEYLENGTH 512
|
||||
# if _FFR_FIPSMODE
|
||||
# define RSA_KEYLENGTH 1024
|
||||
# else /* _FFR_FIPSMODE */
|
||||
# define RSA_KEYLENGTH 512
|
||||
# endif /* _FFR_FIPSMODE */
|
||||
# endif /* !TLS_NO_RSA */
|
||||
#endif /* STARTTLS */
|
||||
|
||||
@ -1936,14 +1940,14 @@ struct termescape
|
||||
#define TLS_AUTH_FAIL (-1)
|
||||
|
||||
/* functions */
|
||||
extern bool init_tls_library __P((void));
|
||||
extern bool init_tls_library __P((bool _fipsmode));
|
||||
extern bool inittls __P((SSL_CTX **, unsigned long, long, bool, char *, char *, char *, char *, char *));
|
||||
extern bool initclttls __P((bool));
|
||||
extern void setclttls __P((bool));
|
||||
extern bool initsrvtls __P((bool));
|
||||
extern int tls_get_info __P((SSL *, bool, char *, MACROS_T *, bool));
|
||||
extern int endtls __P((SSL *, char *));
|
||||
extern void tlslogerr __P((const char *));
|
||||
extern void tlslogerr __P((int, const char *));
|
||||
|
||||
|
||||
EXTERN char *CACertPath; /* path to CA certificates (dir. with hashes) */
|
||||
@ -2291,6 +2295,7 @@ EXTERN bool DontLockReadFiles; /* don't read lock support files */
|
||||
EXTERN bool DontPruneRoutes; /* don't prune source routes */
|
||||
EXTERN bool ForkQueueRuns; /* fork for each job when running the queue */
|
||||
EXTERN bool FromFlag; /* if set, "From" person is explicit */
|
||||
EXTERN bool FipsMode;
|
||||
EXTERN bool GrabTo; /* if set, get recipients from msg */
|
||||
EXTERN bool EightBitAddrOK; /* we'll let 8-bit addresses through */
|
||||
EXTERN bool HasEightBits; /* has at least one eight bit input byte */
|
||||
@ -2305,6 +2310,9 @@ EXTERN bool NoAlias; /* suppress aliasing */
|
||||
EXTERN bool NoConnect; /* don't connect to non-local mailers */
|
||||
EXTERN bool OnlyOneError; /* .... or only want to give one SMTP reply */
|
||||
EXTERN bool QuickAbort; /* .... but only if we want a quick abort */
|
||||
#if _FFR_REJECT_NUL_BYTE
|
||||
EXTERN bool RejectNUL; /* reject NUL input byte? */
|
||||
#endif /* _FFR_REJECT_NUL_BYTE */
|
||||
#if REQUIRES_DIR_FSYNC
|
||||
EXTERN bool RequiresDirfsync; /* requires fsync() for directory */
|
||||
#endif /* REQUIRES_DIR_FSYNC */
|
||||
@ -2650,6 +2658,7 @@ extern void initmacros __P((ENVELOPE *));
|
||||
extern void initsetproctitle __P((int, char **, char **));
|
||||
extern void init_vendor_macros __P((ENVELOPE *));
|
||||
extern SIGFUNC_DECL intsig __P((int));
|
||||
extern bool isatom __P((const char *));
|
||||
extern bool isloopback __P((SOCKADDR sa));
|
||||
extern void load_if_names __P((void));
|
||||
extern bool lockfile __P((int, char *, char *, int));
|
||||
|
31
src/sfsasl.c
31
src/sfsasl.c
@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
#include <sm/gen.h>
|
||||
SM_RCSID("@(#)$Id: sfsasl.c,v 8.118 2008/07/22 15:12:48 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: sfsasl.c,v 8.120 2013/03/15 17:49:12 guenther Exp $")
|
||||
#include <stdlib.h>
|
||||
#include <sendmail.h>
|
||||
#include <sm/time.h>
|
||||
@ -628,13 +628,14 @@ tls_retry(ssl, rfd, wfd, tlsstart, timeout, err, where)
|
||||
"STARTTLS=%s, error: fd %d/%d too large",
|
||||
where, rfd, wfd);
|
||||
if (LogLevel > 8)
|
||||
tlslogerr(where);
|
||||
tlslogerr(LOG_WARNING, where);
|
||||
}
|
||||
errno = EINVAL;
|
||||
}
|
||||
else if (err == SSL_ERROR_WANT_READ)
|
||||
{
|
||||
fd_set ssl_maskr, ssl_maskx;
|
||||
int save_errno = errno;
|
||||
|
||||
FD_ZERO(&ssl_maskr);
|
||||
FD_SET(rfd, &ssl_maskr);
|
||||
@ -647,10 +648,12 @@ tls_retry(ssl, rfd, wfd, tlsstart, timeout, err, where)
|
||||
} while (ret < 0 && errno == EINTR);
|
||||
if (ret < 0 && errno > 0)
|
||||
ret = -errno;
|
||||
errno = save_errno;
|
||||
}
|
||||
else if (err == SSL_ERROR_WANT_WRITE)
|
||||
{
|
||||
fd_set ssl_maskw, ssl_maskx;
|
||||
int save_errno = errno;
|
||||
|
||||
FD_ZERO(&ssl_maskw);
|
||||
FD_SET(wfd, &ssl_maskw);
|
||||
@ -663,6 +666,7 @@ tls_retry(ssl, rfd, wfd, tlsstart, timeout, err, where)
|
||||
} while (ret < 0 && errno == EINTR);
|
||||
if (ret < 0 && errno > 0)
|
||||
ret = -errno;
|
||||
errno = save_errno;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -770,8 +774,17 @@ tls_read(fp, buf, size)
|
||||
break;
|
||||
#endif /* DEAL_WITH_ERROR_SSL */
|
||||
err = "generic SSL error";
|
||||
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("read");
|
||||
{
|
||||
int pri;
|
||||
|
||||
if (errno == EAGAIN && try > 0)
|
||||
pri = LOG_DEBUG;
|
||||
else
|
||||
pri = LOG_WARNING;
|
||||
tlslogerr(pri, "read");
|
||||
}
|
||||
|
||||
#if DEAL_WITH_ERROR_SSL
|
||||
/* avoid repeated calls? */
|
||||
@ -792,11 +805,19 @@ tls_read(fp, buf, size)
|
||||
"STARTTLS: read error=timeout");
|
||||
}
|
||||
else if (LogLevel > 8)
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
{
|
||||
int pri;
|
||||
|
||||
if (save_errno == EAGAIN && try > 0)
|
||||
pri = LOG_DEBUG;
|
||||
else
|
||||
pri = LOG_WARNING;
|
||||
sm_syslog(pri, NOQID,
|
||||
"STARTTLS: read error=%s (%d), errno=%d, get_error=%s, retry=%d, ssl_err=%d",
|
||||
err, r, errno,
|
||||
ERR_error_string(ERR_get_error(), NULL), try,
|
||||
ssl_err);
|
||||
}
|
||||
else if (LogLevel > 7)
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
"STARTTLS: read error=%s (%d), retry=%d, ssl_err=%d",
|
||||
@ -878,7 +899,7 @@ tls_write(fp, buf, size)
|
||||
ERR_GET_REASON(ERR_peek_error()));
|
||||
*/
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("write");
|
||||
tlslogerr(LOG_WARNING, "write");
|
||||
|
||||
#if DEAL_WITH_ERROR_SSL
|
||||
/* avoid repeated calls? */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2010, 2012 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2010, 2012, 2013 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.1011 2012/12/19 02:49:21 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: srvrsmtp.c,v 8.1015 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
#include <sm/time.h>
|
||||
#include <sm/fdset.h>
|
||||
@ -1864,7 +1864,7 @@ smtp(nullserver, d_flags, e)
|
||||
{
|
||||
message("454 4.3.3 TLS not available: error generating SSL handle");
|
||||
if (LogLevel > 8)
|
||||
tlslogerr("server");
|
||||
tlslogerr(LOG_WARNING, "server");
|
||||
goto tls_done;
|
||||
}
|
||||
|
||||
@ -1927,7 +1927,7 @@ smtp(nullserver, d_flags, e)
|
||||
ssl_err, errno, i,
|
||||
CurSmtpClient);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr("server");
|
||||
tlslogerr(LOG_WARNING, "server");
|
||||
}
|
||||
tls_ok_srv = false;
|
||||
SSL_free(srv_ssl);
|
||||
@ -4518,6 +4518,8 @@ rcpt_esmtp_args(a, kp, vp, e)
|
||||
}
|
||||
else if (sm_strcasecmp(kp, "orcpt") == 0)
|
||||
{
|
||||
char *p;
|
||||
|
||||
if (!bitset(SRV_OFFER_DSN, e->e_features))
|
||||
{
|
||||
usrerr("504 5.7.0 Sorry, ORCPT not supported, we do not allow DSN");
|
||||
@ -4528,16 +4530,25 @@ rcpt_esmtp_args(a, kp, vp, e)
|
||||
usrerr("501 5.5.2 ORCPT requires a value");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
if (strchr(vp, ';') == NULL || !xtextok(vp))
|
||||
{
|
||||
usrerr("501 5.5.4 Syntax error in ORCPT parameter value");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
if (a->q_orcpt != NULL)
|
||||
{
|
||||
usrerr("501 5.5.0 Duplicate ORCPT parameter");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
p = strchr(vp, ';');
|
||||
if (p == NULL)
|
||||
{
|
||||
usrerr("501 5.5.4 Syntax error in ORCPT parameter value");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
*p = '\0';
|
||||
if (!isatom(vp) || !xtextok(p + 1))
|
||||
{
|
||||
*p = ';';
|
||||
usrerr("501 5.5.4 Syntax error in ORCPT parameter value");
|
||||
/* NOTREACHED */
|
||||
}
|
||||
*p = ';';
|
||||
a->q_orcpt = sm_rpool_strdup_x(e->e_rpool, vp);
|
||||
}
|
||||
else
|
||||
@ -4923,7 +4934,7 @@ help(topic, e)
|
||||
|
||||
len = strlen(topic);
|
||||
|
||||
while (sm_io_fgets(hf, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
while (sm_io_fgets(hf, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
if (buf[0] == '#')
|
||||
{
|
||||
|
70
src/tls.c
70
src/tls.c
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000-2006, 2008, 2009, 2011 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 2000-2006, 2008, 2009, 2011, 2013 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.118 2011/03/07 23:20:47 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: tls.c,v 8.121 2013/01/02 23:54:17 ca Exp $")
|
||||
|
||||
#if STARTTLS
|
||||
# include <openssl/err.h>
|
||||
@ -267,15 +267,18 @@ tls_rand_init(randfile, logl)
|
||||
** INIT_TLS_LIBRARY -- Calls functions which setup TLS library for global use.
|
||||
**
|
||||
** Parameters:
|
||||
** none.
|
||||
** fipsmode -- use FIPS?
|
||||
**
|
||||
** Returns:
|
||||
** succeeded?
|
||||
*/
|
||||
|
||||
bool
|
||||
init_tls_library()
|
||||
init_tls_library(fipsmode)
|
||||
bool fipsmode;
|
||||
{
|
||||
bool bv;
|
||||
|
||||
/* basic TLS initialization, ignore result for now */
|
||||
SSL_library_init();
|
||||
SSL_load_error_strings();
|
||||
@ -284,7 +287,30 @@ init_tls_library()
|
||||
SSLeay_add_ssl_algorithms();
|
||||
# endif /* 0 */
|
||||
|
||||
return tls_rand_init(RandFile, 7);
|
||||
bv = tls_rand_init(RandFile, 7);
|
||||
# if _FFR_FIPSMODE
|
||||
if (bv && fipsmode)
|
||||
{
|
||||
if (!FIPS_mode_set(1))
|
||||
{
|
||||
unsigned long err;
|
||||
|
||||
err = ERR_get_error();
|
||||
if (LogLevel > 0)
|
||||
sm_syslog(LOG_ERR, NOQID,
|
||||
"STARTTLS=init, FIPSMode=%s",
|
||||
ERR_error_string(err, NULL));
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LogLevel > 9)
|
||||
sm_syslog(LOG_INFO, NOQID,
|
||||
"STARTTLS=init, FIPSMode=ok");
|
||||
}
|
||||
}
|
||||
#endif /* _FFR_FIPSMODE */
|
||||
return bv;
|
||||
}
|
||||
/*
|
||||
** TLS_SET_VERIFY -- request client certificate?
|
||||
@ -709,7 +735,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_new(SSLv23_%s_method()) failed",
|
||||
who, who);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -808,7 +834,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: RSA_generate_key failed",
|
||||
who);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -829,7 +855,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_use_PrivateKey_file(%s) failed",
|
||||
who, keyfile);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
if (bitset(TLS_I_USE_KEY, req))
|
||||
return false;
|
||||
@ -846,7 +872,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_use_certificate_file(%s) failed",
|
||||
who, certfile);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
if (bitset(TLS_I_USE_CERT, req))
|
||||
return false;
|
||||
@ -863,7 +889,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_check_private_key failed(%s): %d",
|
||||
who, keyfile, r);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
if (bitset(TLS_I_USE_KEY, req))
|
||||
return false;
|
||||
@ -882,7 +908,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_use_PrivateKey_file(%s) failed",
|
||||
who, kf2);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
|
||||
@ -896,7 +922,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_use_certificate_file(%s) failed",
|
||||
who, cf2);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
|
||||
@ -911,7 +937,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: SSL_CTX_check_private_key 2 failed: %d",
|
||||
who, r);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
# endif /* _FFR_TLS_1 */
|
||||
@ -962,7 +988,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
who, dhparam,
|
||||
ERR_error_string(err, NULL));
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -973,7 +999,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: BIO_new_file(%s) failed",
|
||||
who, dhparam);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1089,7 +1115,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
"STARTTLS=%s, error: load verify locs %s, %s failed: %d",
|
||||
who, cacertpath, cacertfile, r);
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
if (bitset(TLS_I_VRFY_LOC, req))
|
||||
return false;
|
||||
@ -1113,7 +1139,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
|
||||
who, CipherList);
|
||||
|
||||
if (LogLevel > 9)
|
||||
tlslogerr(who);
|
||||
tlslogerr(LOG_WARNING, who);
|
||||
}
|
||||
/* failure if setting to this list is required? */
|
||||
}
|
||||
@ -1377,7 +1403,7 @@ endtls(ssl, side)
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
"STARTTLS=%s, SSL_shutdown failed: %d",
|
||||
side, r);
|
||||
tlslogerr(side);
|
||||
tlslogerr(LOG_WARNING, side);
|
||||
}
|
||||
ret = EX_SOFTWARE;
|
||||
}
|
||||
@ -1426,7 +1452,7 @@ endtls(ssl, side)
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
"STARTTLS=%s, SSL_shutdown not done",
|
||||
side);
|
||||
tlslogerr(side);
|
||||
tlslogerr(LOG_WARNING, side);
|
||||
}
|
||||
ret = EX_SOFTWARE;
|
||||
}
|
||||
@ -1659,6 +1685,7 @@ tls_verify_cb(ctx, unused)
|
||||
** TLSLOGERR -- log the errors from the TLS error stack
|
||||
**
|
||||
** Parameters:
|
||||
** level -- syslog level
|
||||
** who -- server/client (for logging).
|
||||
**
|
||||
** Returns:
|
||||
@ -1666,7 +1693,8 @@ tls_verify_cb(ctx, unused)
|
||||
*/
|
||||
|
||||
void
|
||||
tlslogerr(who)
|
||||
tlslogerr(level, who)
|
||||
int level;
|
||||
const char *who;
|
||||
{
|
||||
unsigned long l;
|
||||
@ -1680,7 +1708,7 @@ tlslogerr(who)
|
||||
while ((l = ERR_get_error_line_data(CP &file, &line, CP &data, &flags))
|
||||
!= 0)
|
||||
{
|
||||
sm_syslog(LOG_WARNING, NOQID,
|
||||
sm_syslog(level, NOQID,
|
||||
"STARTTLS=%s: %lu:%s:%s:%d:%s", who, es,
|
||||
ERR_error_string(l, buf),
|
||||
file, line,
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: usersmtp.c,v 8.485 2010/07/23 21:09:38 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: usersmtp.c,v 8.486 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
#include <sysexits.h>
|
||||
|
||||
@ -801,7 +801,7 @@ readauth(filename, safe, sai, rpool)
|
||||
|
||||
lc = 0;
|
||||
while (lc <= SASL_MECHLIST &&
|
||||
sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) != NULL)
|
||||
sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0)
|
||||
{
|
||||
if (buf[0] != '#')
|
||||
{
|
||||
|
15
src/util.c
15
src/util.c
@ -13,7 +13,7 @@
|
||||
|
||||
#include <sendmail.h>
|
||||
|
||||
SM_RCSID("@(#)$Id: util.c,v 8.425 2012/03/03 00:10:43 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: util.c,v 8.426 2013/03/12 15:24:54 ca Exp $")
|
||||
|
||||
#include <sm/sendmail.h>
|
||||
#include <sysexits.h>
|
||||
@ -1285,8 +1285,7 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
char *during;
|
||||
{
|
||||
register char *p;
|
||||
int save_errno;
|
||||
int io_timeout;
|
||||
int save_errno, io_timeout, l;
|
||||
|
||||
SM_REQUIRE(siz > 0);
|
||||
SM_REQUIRE(buf != NULL);
|
||||
@ -1299,7 +1298,7 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
}
|
||||
|
||||
/* try to read */
|
||||
p = NULL;
|
||||
l = -1;
|
||||
errno = 0;
|
||||
|
||||
/* convert the timeout to sm_io notation */
|
||||
@ -1307,8 +1306,8 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
while (!sm_io_eof(fp) && !sm_io_error(fp))
|
||||
{
|
||||
errno = 0;
|
||||
p = sm_io_fgets(fp, io_timeout, buf, siz);
|
||||
if (p == NULL && errno == EAGAIN)
|
||||
l = sm_io_fgets(fp, io_timeout, buf, siz);
|
||||
if (l < 0 && errno == EAGAIN)
|
||||
{
|
||||
/* The sm_io_fgets() call timedout */
|
||||
if (LogLevel > 1)
|
||||
@ -1328,7 +1327,7 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
errno = ETIMEDOUT;
|
||||
return NULL;
|
||||
}
|
||||
if (p != NULL || errno != EINTR)
|
||||
if (l >= 0 || errno != EINTR)
|
||||
break;
|
||||
(void) sm_io_clearerr(fp);
|
||||
}
|
||||
@ -1336,7 +1335,7 @@ sfgets(buf, siz, fp, timeout, during)
|
||||
|
||||
/* clean up the books and exit */
|
||||
LineNumber++;
|
||||
if (p == NULL)
|
||||
if (l < 0)
|
||||
{
|
||||
buf[0] = '\0';
|
||||
if (TrafficLogFile != NULL)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2012 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2013 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.235 2012/12/19 05:11:44 ca Exp $")
|
||||
SM_RCSID("@(#)$Id: version.c,v 8.243 2013/04/18 15:07:17 ca Exp $")
|
||||
|
||||
char Version[] = "8.14.6";
|
||||
char Version[] = "8.14.7";
|
||||
|
@ -1,4 +1,4 @@
|
||||
dnl $Id: Makefile.m4,v 1.4 2002/06/21 22:01:54 ca Exp $
|
||||
dnl $Id: Makefile.m4,v 1.6 2013/04/01 21:04:29 ca Exp $
|
||||
include(confBUILDTOOLSDIR`/M4/switch.m4')
|
||||
|
||||
bldPRODUCT_START(`executable', `test')
|
||||
|
@ -20,7 +20,7 @@ SM_IDSTR(copyright,
|
||||
The Regents of the University of California. All rights reserved.\n\
|
||||
Copyright (c) 1983 Eric P. Allman. All rights reserved.\n")
|
||||
|
||||
SM_IDSTR(id, "@(#)$Id: vacation.c,v 8.146 2009/08/07 21:28:39 ca Exp $")
|
||||
SM_IDSTR(id, "@(#)$Id: vacation.c,v 8.147 2013/03/12 15:24:56 ca Exp $")
|
||||
|
||||
|
||||
#include <ctype.h>
|
||||
@ -509,7 +509,7 @@ readheaders(alwaysrespond)
|
||||
|
||||
cont = false;
|
||||
tome = alwaysrespond;
|
||||
while (sm_io_fgets(smioin, SM_TIME_DEFAULT, buf, sizeof(buf)) &&
|
||||
while (sm_io_fgets(smioin, SM_TIME_DEFAULT, buf, sizeof(buf)) >= 0 &&
|
||||
*buf != '\n')
|
||||
{
|
||||
switch(*buf)
|
||||
@ -954,7 +954,7 @@ xclude(f)
|
||||
|
||||
if (f == NULL)
|
||||
return;
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof buf))
|
||||
while (sm_io_fgets(f, SM_TIME_DEFAULT, buf, sizeof buf) >= 0)
|
||||
{
|
||||
if ((p = strchr(buf, '\n')) != NULL)
|
||||
*p = '\0';
|
||||
@ -1049,7 +1049,7 @@ sendmessage(myname, msgfn, sender)
|
||||
(void) sm_io_fprintf(sfp, SM_TIME_DEFAULT, "To: %s\n", From);
|
||||
(void) sm_io_fprintf(sfp, SM_TIME_DEFAULT,
|
||||
"Auto-Submitted: auto-replied\n");
|
||||
while (sm_io_fgets(mfp, SM_TIME_DEFAULT, buf, sizeof buf))
|
||||
while (sm_io_fgets(mfp, SM_TIME_DEFAULT, buf, sizeof buf) >= 0)
|
||||
(void) sm_io_fputs(sfp, SM_TIME_DEFAULT, buf);
|
||||
(void) sm_io_close(mfp, SM_TIME_DEFAULT);
|
||||
(void) sm_io_close(sfp, SM_TIME_DEFAULT);
|
||||
|
Loading…
Reference in New Issue
Block a user