Import sendmail 8.11.5
This commit is contained in:
parent
8774250cea
commit
13058a9161
@ -35,6 +35,13 @@ This list is not guaranteed to be complete.
|
||||
restructuring of the code -- for example, almost no C library support
|
||||
could be used to handle strings.
|
||||
|
||||
* Header checks are not called if header value is too long.
|
||||
|
||||
If the value of a header is longer than 1250 (MAXNAME + MAXATOM - 6)
|
||||
characters or it contains a single word longer than 256 (MAXNAME)
|
||||
characters then no header check is done even if one is configured for
|
||||
the header.
|
||||
|
||||
* Duplicate error messages.
|
||||
|
||||
Sometimes identical, duplicate error messages can be generated. As
|
||||
@ -193,10 +200,10 @@ This list is not guaranteed to be complete.
|
||||
local mail delivery and NFS hard mounted home directories should be
|
||||
avoided, as attempts to open the forward files could hang.
|
||||
|
||||
* Race condition for delivery to setuid files
|
||||
* Race condition for delivery to set-user-id files
|
||||
|
||||
Sendmail will deliver to a fail if the file is owned by the DefaultUser
|
||||
or has the setuid bit set. Unfortunately, some systems clear that bit
|
||||
or has the set-user-id bit set. Unfortunately, some systems clear that bit
|
||||
when a file is modified. Sendmail compensates by resetting the file mode
|
||||
back to it's original settings. Unfortunately, there's still a
|
||||
permission failure race as sendmail checks the permissions before locking
|
||||
@ -211,4 +218,4 @@ This list is not guaranteed to be complete.
|
||||
state. This option and it's use is deprecated and will be removed from a
|
||||
future version of sendmail.
|
||||
|
||||
$Revision: 8.43.16.1 $, Last updated $Date: 2000/09/28 00:45:37 $
|
||||
$Revision: 8.43.16.2 $, Last updated $Date: 2001/07/31 22:42:46 $
|
||||
|
@ -13,7 +13,7 @@ f16 Fingerprint16 = 18 A4 51 78 CA 72 D4 A7 ED 80 BA 8A C4 98 71 1D
|
||||
uid Sendmail Security <sendmail-security@sendmail.org>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: PGPfreeware 5.0 for non-commercial use
|
||||
Version: PGPfreeware 5.0i for non-commercial use
|
||||
|
||||
mQCNAzdxaGsAAAEEALq7JPrdyXCm3DdJEKR9miP8/B9vrferOBoNimPFceDEqCpm
|
||||
0RiJtnGhUJwt/HZZhiGDWPYTIa7VajfxiEzJ7LZH+/uXgQFVN27fPwoNKCI+7sr3
|
||||
@ -22,43 +22,69 @@ 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
|
||||
FrAdFBf1y33xWo58zRsg2u2h
|
||||
=g1qL
|
||||
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
|
||||
=shxn
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
@ -76,56 +102,64 @@ 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
|
||||
jJ6uIUj4EdMVJ1WwHbfG
|
||||
=XS0J
|
||||
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
|
||||
IGYsL+zTOZY=
|
||||
=Zfy5
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
@ -135,6 +169,7 @@ uid Sendmail Signing Key/2000 <sendmail@Sendmail.ORG>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: PGPfreeware 5.0i for non-commercial use
|
||||
Comment: Processed by Mailcrypt 3.5.6, an Emacs/PGP interface
|
||||
|
||||
mQCNAzhVRnYAAAEEALjBKz/mDHemTNA+hNjGcruAJm6Blc9ZIGHPthQWkFt0ca70
|
||||
w0U8TBbK/m03WdMvq+PaZAb8EG5uqXctZKwmWIIGB7nRBLLnj42er8XwUfAT8KNJ
|
||||
@ -200,8 +235,16 @@ q/V9TA/LY7qmVspylvu0w64NdtiUqnTa5jS/9BZtFf3eyOezqSIEwRkQC6My/JQx
|
||||
BKvXspdbJDnrJxD0D0B2eTWa3MQD7BK+WC1RRkTjvyqJAJUDBRA4Vt0jBn5e2L+1
|
||||
ZWkBAekjA/47X/leujEhaUEjj9hMyDY6/8HbgxwNyUd+Sx6i9FK+vhAGq8s07dTt
|
||||
y9brozqixmHCGYPyvvVkcsVpeQlEWoXc750hbj5a/Et1m3C1J6vGn979f0do144Z
|
||||
iiVpzTCh1LZHH5rALd5tuaNcD5MbOYQeP0vDVcJm2GQzm+IdjGtzPw==
|
||||
=RnIu
|
||||
iiVpzTCh1LZHH5rALd5tuaNcD5MbOYQeP0vDVcJm2GQzm+IdjGtzP4kBFQMFEDlU
|
||||
6+1RidpgCr+sGQEBeVYIAJ1YGxnhVIibC1ucCCAhZH3NlvGmQpmjEXvI9e0EVKfd
|
||||
drli+DpArasN0a0xZTZl7Utm7Atql7/LG1JvlT+DpnfTrCqDlvjlqiYd+9050e0s
|
||||
crUiDWZDYt1jaWTvH1Hd44WE8RUksWQH9iWW6SPiIFOVzA0cdRRHM5BJ2qU1/rRW
|
||||
Wyi++CVTY0pZ3DylbuItNoKFqzaWQQY+oXkI3XS5csG+ea89/n8zNsW257oBNV96
|
||||
PEztAwQh8fAklSe3n8XZdEKVaMvnM9zLGytbdRKgJd6NnXGvOIFaPCKiNklH5Yrt
|
||||
0JeYPp4AlibRmXP0gOaBgf7Naf7GhCZ7i/15pIS0hXqJAEYEEBECAAYFAjjPmocA
|
||||
CgkQ39aWMbRxfNV36gCdEiGBY4NgCp6wYZwYSlNLIQsP5EQAoJc/ZhH2oxVT4vaG
|
||||
8pT7nBukEciC
|
||||
=idc8
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
@ -210,7 +253,8 @@ f16 Fingerprint16 = 25 73 4C 8E 94 B1 E8 EA EA 9B A4 D6 00 51 C3 71
|
||||
uid Sendmail Signing Key/1999 <sendmail@Sendmail.ORG>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: 2.6.3a
|
||||
Version: PGPfreeware 5.0i for non-commercial use
|
||||
Comment: Processed by Mailcrypt 3.5.6, an Emacs/PGP interface
|
||||
|
||||
mQCNAzaRMIoAAAEEAMWVJpGkwKWD6GFDUHtV6AUDzwSAXiWc6UinY7EpCLwFdYu9
|
||||
Le06VwQt8H9Xtb/2jrXDV61Wu0IDJub6g7PZxWxU8WHVnMX4aBT5WOCBpwFRme3u
|
||||
@ -244,8 +288,16 @@ giXndPbvmwPpOn4ONmCo/zZFWryNQKuqPn2EN4rPhngjRokAPwMFEDaRbhPU3njY
|
||||
eCkb2BECLnMAn3t8IsH2yr+vd+1IWstXMCUwzBZnAKCtq5l+00/EYeH8PXhrhIIS
|
||||
9EquTokAdQMFEDaRvApyyULY6lojeQEBQa8DALEmw8SIvCjwo55yu9p26czt/ohn
|
||||
D1IdJPepf1H5X+QY99kUpsxb+Csnz5VSfNz7dSJxvhwsB0gJityk/YX8uOcEfvsK
|
||||
NsABSN/fcLCnzlwO0SNGDPJc4KHTFXHfVy4SgA==
|
||||
=f3oA
|
||||
NsABSN/fcLCnzlwO0SNGDPJc4KHTFXHfVy4SgIkAlQMFEDao80LPc8jyYlQBCQEB
|
||||
aHUD/jM/RGzNHL+xm+ON6yxnqNFgfQml0jlubR34F1ibmpXT6BWAcCCKjkFAS4Ks
|
||||
k6oECzdEfAZN0DxkBE4x2IAaoSH2iZGX8G8mOsMGWU8s10J+kE8ws5HOJ0wPG0W0
|
||||
LKgzK0KgY1GRAYoVK8XmNmDNS8v2lK+vlAY3SD21PYUXI/0FiQA/AwUQN31dlIMC
|
||||
oaE+3wLqEQI7RQCgzWvVVtWCmnihUfS8Yq7YglCfJRIAoP5iibHCe5S7fEMJ0voB
|
||||
RGWidN9niQBGBBARAgAGBQI3L4BOAAoJEHlwE/5CaaTy2V0An3tCNkR6qFVPULvo
|
||||
2hxqeGhtY1L5AJ0W5u/dd+7S8upDzbfzh7hOQ5NoEYkARgQQEQIABgUCOBJuIQAK
|
||||
CRA60G4NkWcuTo8QAJ4h1GhDmjgPjtaGG40sVH+5yTK5egCgppFkq4g5OItCgGr3
|
||||
jrUhNvQ0uaY=
|
||||
=2DHr
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
@ -254,7 +306,8 @@ f16 Fingerprint16 = F9 32 40 A1 3B 3A B6 DE B2 98 6A 70 AF 54 9D 26
|
||||
uid Sendmail Signing Key/1998 <sendmail@Sendmail.ORG>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: PGP for Personal Privacy 5.0
|
||||
Version: PGPfreeware 5.0i for non-commercial use
|
||||
Comment: Processed by Mailcrypt 3.5.6, an Emacs/PGP interface
|
||||
|
||||
mQCNAzUKkdIAAAEEAKvdxY+iy7eLqxP5StbpZuxYNPWLye98bXA8oKwrEm1vy7Xq
|
||||
LBg3uNXjlMtwcNW/r+oFu5A++2R+1qC7w/0867C+52D2zkfGRH3hn9Lh6YaA5uIP
|
||||
@ -315,8 +368,10 @@ q+MkyiHyjbgh1eN6gsCHUSHiROQdXMRRSxZm4FVsjznisjybCqzd93lBQQyKJ6XX
|
||||
KWu9SjJq/b6yg83byTgHZRW6kwjmDal97kVyHtV1WZBGDJ+v9nCY2tSvqujtNQbJ
|
||||
LWrHp447BSIXBBpMkF/J+cbl7yZLiUN8I1SnLYYttmKOtfD33eL41oKT2LK+j8sI
|
||||
kCd4XbcGoMJ+DExDVhFeiwwXWzomvTP42Wv0b8DYI+xeuE+AyARxJ5AVbGUBl4sZ
|
||||
qVuNMDZWhc0GLpT10RUeJ5HJVAGIWB2fLIsE
|
||||
=ljft
|
||||
qVuNMDZWhc0GLpT10RUeJ5HJVAGIWB2fLIsEiQBGBBARAgAGBQI2DrCPAAoJEJCq
|
||||
pX+wMhajifoAn1CMdyWFZx4m+3TnyvV21l4/T+gqAJ9A3dSRTH18x89BzgwYZDJi
|
||||
d+8ynw==
|
||||
=Xern
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
@ -325,7 +380,8 @@ f16 Fingerprint16 = CA AE F2 94 3B 1D 41 3C 94 7B 72 5F AE 0B 6A 11
|
||||
uid Sendmail Signing Key/1997 <sendmail@Sendmail.ORG>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: PGP for Personal Privacy 5.0
|
||||
Version: PGPfreeware 5.0i for non-commercial use
|
||||
Comment: Processed by Mailcrypt 3.5.6, an Emacs/PGP interface
|
||||
|
||||
mQCNAzNwqnIAAAEEAL1KqbRgVm9kp9OHLkKGb1tbT8rwEIeeh8KKSKJyDFiV6lZG
|
||||
wbEa8OC5vokXvjsJtJvvhMfrG5OYc1Q1sLzPXXBYzenzXFrPaXDO8F9DE8B5VTuy
|
||||
@ -387,8 +443,13 @@ LEG2m+r6YZlLratpkK9rI/SeSpwz2AfmrC89PI+C9Pcysj+EH4hV8WyETjcNA0le
|
||||
n2tSLsf98uStHSQOzboE0KgghjybiQCVAwUQM8wrnM7nzgldNyzFAQFfGAP8DWSO
|
||||
R5ELTdPUugVgB26FStcadMS44is1JWwRT8NkRiewBP1cvVwS3c6zS75qdXNoAz3g
|
||||
UklXw90/CeviKHNA1wHOupsMCxwPqy91Uo5SOT49vTOuHZ5HQxY17WfTgFXUUFx7
|
||||
RQTB+ga9BpGedHq0Fm5kfvH4L4Fdn1vOpEmsakg=
|
||||
=9d88
|
||||
RQTB+ga9BpGedHq0Fm5kfvH4L4Fdn1vOpEmsakiJAD8DBRA08oifuBk5xWQLXTgR
|
||||
AttnAKDIXIaePyzwWjwW8s7fMUY62USKoACgrLQCwxBdUW63UQFpK7RAiB/4GKSJ
|
||||
AJUDBRAz+8+LZWCprDT5+dUBAY83A/wMdkJCRGhcPZnpO4N6prpXLS0jpgnzrrRN
|
||||
zbDayIF38X5C4IcdntKzPJZBn4Ce7LzFoX1X3gmhPED5UW5QHJ7APW9gqDFrnzoY
|
||||
tSPZ1GJtRB+gfkVxj3A9ADp6rk4hRhdi1TgkHLxYZHHCMrOKzThY1BLuhGBV89U4
|
||||
u/GzJ59ptg==
|
||||
=PE0m
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
@ -397,7 +458,8 @@ f16 Fingerprint16 = C0 28 E6 7B 13 5B 29 02 6F 7E 43 3A 48 4F 45 29
|
||||
uid Eric P. Allman <eric@Sendmail.ORG>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: PGP for Personal Privacy 5.0
|
||||
Version: PGPfreeware 5.0i for non-commercial use
|
||||
Comment: Processed by Mailcrypt 3.5.6, an Emacs/PGP interface
|
||||
|
||||
mQCNAy9MzZsAAAEEAK3o3N9W8Ynb47vNtIqUvdjYYl/nEt/hddhumsDNqt/icanP
|
||||
7x9VTS1bCfKmAEQ86DSkWRWZmhIpExbcqmuRtixn/RfDHzJ4hU/wAd6kAzUTVIfY
|
||||
@ -409,30 +471,78 @@ s+a2N87pPVKxh/brycLvr08to2TvRTbxbebPkF6UWOlurdPI1Ga4kgLZF0Ppwd6J
|
||||
AJUDBRAyWFEdXuWsrmbLc90BAaE6BACqO5uGZQ1rLrFxOi9ljDghYmDRLFI0x1ls
|
||||
NWh//FAGduRs3N+NemP715N/8vH4n+nY0u0xfPDMi5UklmD1l4EHJlHxNvrXNnQl
|
||||
I7gLkkKxvCly/hjbKiMciDtpnUYGa8dgSy/nru6J8QSpOhXbs+UeMsY8xtPYTZqp
|
||||
e5fNjWhVJrQjRXJpYyBQLiBBbGxtYW4gPGVyaWNAUmVmZXJlbmNlLkNPTT6JAJUD
|
||||
BRAyHkUOgEp1EPeh9ysBAZxGBACWWXNNwG/3fWmGFhDi0eFVSQXbIPK9nOk6/kSM
|
||||
5hKqESarPrLsVNapNu5s2BSac4qi6xrrV+4SCEcEkkfESbG/3nXx6ieuxswLim03
|
||||
BTHvsceFjjPUN9X+Hny0LEbHbcwACHPq+yGgQ9kEYLmzMM6/9kaIy+56Iy/PbAyT
|
||||
ARKGOrQgRXJpYyBQLiBBbGxtYW4gPGVyaWNAVXNlbml4Lk9SRz60IkVyaWMgUC4g
|
||||
QWxsbWFuIDxlcmljQFNlbmRtYWlsLk9SRz6JAD8DBRA0qiAaXtpa2zmNWFARAkMb
|
||||
AJ9sSKb6Aj1fwF8QyDH5rArzoWOXYgCgj0OcgAVTjMHV1BaAKDvq+dfASKG0JUVy
|
||||
aWMgUC4gQWxsbWFuIDxlcmljQENTLkJlcmtlbGV5LkVEVT6JANUDBRAxPmCOSSSp
|
||||
RrHt/oUBAVdpBf9fXDKX23m0mI35fy8GkH2n6p+2j+r5fTCsJr0ShtXA1E8BS3XR
|
||||
Z9wPPbi925UoT0uBc8bAZhSwMMX19hVKyvo8tjmy3nRhhjfOZKTprjAGHDOQnfce
|
||||
UY2URhmM2ELkKioY3jVYnoTSiL5tLXDUfii/frwEG7ZY31LW1YErCKMl4lqlZucK
|
||||
XF7n7gijTPebGAYckU2XP1y0n5YZrNq4WQBv+6wgDD4wqtDiyCG1/O2jh7eJ1UDF
|
||||
3FvDOEfdcgKoID2JAJUDBRAvbcy3g3t4fqRAn2UBAW2nBACXg7tSyMU+Jj9NBrjg
|
||||
DLnYEoKWV0F++dWHqM0WisDOCwU+v51BUP/VJdqEwWc6CdUrbNbTHCVCG/3D0set
|
||||
DuvmkxBKpBsljN7gxDTfUEMciCrdtlEh/jJ5YZ1ofSujxIHjYZ6OJg/4x9AgdJ5O
|
||||
EsDUvK2fEI3+dFGRYrw2XUOqeokAVQMFEC9SbfUeUtMXXNLGGQEBz58B/AuGcYU/
|
||||
mNixrR5QYndJVmarw/0ewfRJMXzYXCn+9TFYy8gul9K6Mu3/zv3Z2BzB92sdsbVC
|
||||
rXlcazNrR/gedMGJAJUDBRAvUm2lI+Ri1L97pCEBAdDhA/9YP8KoUDp/YmSekMBU
|
||||
4myhSpFsCW5Fs6I07Cwn84Q/hkZ9myG+rGxUltBry2Z7CMcwQABa9D254FjV/BR6
|
||||
eVIgADSBIR2U3DSrEgSP0qGdT5yFCrbP5HOge59/b/0CknBlDvBLLD3HW+OrwOaQ
|
||||
cF/4gBUnbMJ01gZEY36IFgXsvokAdQMFEC/gXgxqmwnIWCbPjQEBQwIDAJRi8+tW
|
||||
be7gQpW5ZSriDbss6J3/dd/WDspD4WnwnoiNMFKzVDVRbZGAMjsSqsLCJSywdIus
|
||||
P7eLs0kayCx0ov7UcF/O6N0MYw/jy6NkFtiSND6TqtJ7Pc2SZcjetbpIkA==
|
||||
=StEG
|
||||
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
|
||||
v7YI5Xji
|
||||
=GYWC
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
@ -442,7 +552,8 @@ uid Gregory Neil Shapiro <gshapiro@sendmail.org>
|
||||
uid Gregory Neil Shapiro <gshapiro@sendmail.com>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: PGP for Personal Privacy 5.0
|
||||
Version: PGPfreeware 5.0i for non-commercial use
|
||||
Comment: Processed by Mailcrypt 3.5.6, an Emacs/PGP interface
|
||||
|
||||
mQCNAzUB04kAAAEEANHOOWZH9BdsPi8071kHB49qWAWL7OjoUk2NpItw5D9o/sRa
|
||||
jZbBwtvPSjx+/cC1Nka+apIuXGccjBzpu71DJFLxIYEk+MW33bSgymI19utPS1b7
|
||||
@ -451,85 +562,272 @@ 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
|
||||
=idnw
|
||||
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
|
||||
=ftIJ
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
$Revision: 8.5.16.3 $, Last updated $Date: 2000/12/19 22:33:12 $
|
||||
Type Bits KeyID Created Expires Algorithm Use
|
||||
pub 1024 0x22327A01 1999-05-30 ---------- RSA Sign & Encrypt
|
||||
f16 Fingerprint16 = 03 3D 49 6D E4 D9 D6 01 F8 9D B0 3A 3D 68 6A 86
|
||||
uid Claus Assmann (PGP2) <ca+pgp2@Sendmail.ORG>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.0.6 (OpenBSD)
|
||||
Comment: For info see http://www.gnupg.org
|
||||
|
||||
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
|
||||
=dbDm
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
$Revision: 8.5.16.4 $, Last updated $Date: 2001/07/31 22:36:18 $
|
||||
|
@ -18,7 +18,9 @@ the latest updates.
|
||||
1. Read this README file, especially this introduction, and the DIRECTORY
|
||||
PERMISSIONS sections.
|
||||
|
||||
2. Read sendmail/README, especially:
|
||||
2. Read the INSTALL file in this directory.
|
||||
|
||||
3. Read sendmail/README, especially:
|
||||
a. the introduction
|
||||
b. the BUILDING SENDMAIL section
|
||||
c. the relevant part(s) of the OPERATING SYSTEM AND COMPILE QUIRKS section
|
||||
@ -27,8 +29,10 @@ the latest updates.
|
||||
|
||||
d. devtools/README
|
||||
e. devtools/Site/README
|
||||
f. mail.local/README
|
||||
g. smrsh/README
|
||||
|
||||
3. Read cf/README.
|
||||
4. Read cf/README.
|
||||
|
||||
Sendmail is a trademark of Sendmail, Inc.
|
||||
|
||||
@ -107,7 +111,10 @@ each directory in the file's path.
|
||||
There are other files you should read. Rooted in this directory are:
|
||||
|
||||
FAQ
|
||||
Answers to Frequently Asked Questions.
|
||||
The FAQ (frequently answered questions) is no longer maintained
|
||||
with the sendmail release. It is available at
|
||||
http://www.sendmail.org/faq/ . The file FAQ is a reminder of
|
||||
this and a pointer to the web page.
|
||||
INSTALL
|
||||
Installation instructions for building and installing sendmail.
|
||||
KNOWNBUGS
|
||||
@ -385,4 +392,4 @@ sendmail Source for the sendmail program itself.
|
||||
test Some test scripts (currently only for compilation aids).
|
||||
vacation Source for the vacation program. NOT PART OF SENDMAIL!
|
||||
|
||||
$Revision: 8.71.4.6 $, Last updated $Date: 2000/06/29 04:18:43 $
|
||||
$Revision: 8.71.4.8 $, Last updated $Date: 2001/07/31 22:42:46 $
|
||||
|
@ -1,11 +1,53 @@
|
||||
SENDMAIL RELEASE NOTES
|
||||
$Id: RELEASE_NOTES,v 8.561.2.5.2.235 2001/05/27 21:39:16 gshapiro Exp $
|
||||
$Id: RELEASE_NOTES,v 8.561.2.5.2.254 2001/07/31 22:42:46 gshapiro Exp $
|
||||
|
||||
|
||||
This listing shows the version of the sendmail binary, the version
|
||||
of the sendmail configuration files, the date of release, and a
|
||||
summary of the changes in that release.
|
||||
|
||||
8.11.5/8.11.5 2001/07/31
|
||||
Fix a possible race condition when sending a HUP signal to restart
|
||||
the daemon. This could terminate the current process without
|
||||
starting a new daemon. Problem reported by Wolfgang Breyha
|
||||
of SE Netway Communications.
|
||||
Only apply MaxHeadersLength when receiving a message via SMTP or
|
||||
the command line. Problem noted by Andrey J. Melnikoff.
|
||||
When finding the system's local hostname on an IPv6-enabled system
|
||||
which doesn't have any IPv6 interface addresses, fall back
|
||||
to looking up only IPv4 addresses. Problem noted by Tim
|
||||
Bosserman of EarthLink.
|
||||
When commands were being rejected due to check_relay or TCP
|
||||
Wrappers, the ETRN command was not giving a response.
|
||||
Incoming IPv4 connections on a Family=inet6 daemon (using
|
||||
IPv4-mapped addresses) were incorrectly labeled as "may be
|
||||
forged". Problem noted by Per Steinar Iversen of Oslo
|
||||
University College.
|
||||
Shutdown address test mode cleanly on SIGTERM. Problem noted by
|
||||
Greg King of the OAO Corporation.
|
||||
Restore the original real uid (changed in main() to prevent
|
||||
out of band signals) before invoking a delivery agent.
|
||||
Some delivery agents use this for the "From " envelope
|
||||
"header". Problem noted by Leslie Carroll of the
|
||||
University at Albany.
|
||||
Mark closed file descriptors properly to avoid reuse. Problem
|
||||
noted by Jeff Bronson of J.D. Bronson, Inc.
|
||||
Setting Timeout options on the command line will also override
|
||||
their sub-suboptions in the .cf file, e.g., -O
|
||||
Timeout.queuereturn=2d will set all queuereturn timeouts
|
||||
to 2 days. Problem noted by Roger B.A. Klorese.
|
||||
Portability:
|
||||
BSD/OS has a broken setreuid() implementation. Problem
|
||||
noted by Vernon Schryver of Rhyolite Software.
|
||||
BSD/OS has /dev/urandom(4) (as of version 4.1/199910 ?).
|
||||
Noted by Vernon Schryver of Rhyolite Software.
|
||||
BSD/OS has fchown(2). Noted by Dave Yadallee of Netline
|
||||
2000 Internet Solutions Inc.
|
||||
Solaris 2.X and later have strerror(3). From Sebastian
|
||||
Hagedorn of Cologne University.
|
||||
CONFIG: Fix parsing for IPv6 domain literals in addresses
|
||||
(user@[IPv6:address]). Problem noted by Liyuan Zhou.
|
||||
|
||||
8.11.4/8.11.4 2001/05/28
|
||||
Clean up signal handling routines to reduce the chances of heap
|
||||
corruption and other potential race conditions.
|
||||
@ -730,18 +772,18 @@ summary of the changes in that release.
|
||||
|
||||
8.10.0/8.10.0 2000/03/01
|
||||
*************************************************************
|
||||
* The engineering department at Sendmail, Inc. has suffered *
|
||||
* the tragic loss of a key member of our engineering team. *
|
||||
* Julie Van Bourg was the Vice President of Engineering *
|
||||
* at Sendmail, Inc. during the development and deployment *
|
||||
* of this release. It was her vision, dedication, and *
|
||||
* support that has made this release a success. Julie died *
|
||||
* on October 26, 1999 of cancer. We have lost a leader, a *
|
||||
* coach, and a friend. *
|
||||
* *
|
||||
* This release is dedicated to her memory and to the joy, *
|
||||
* strength, ideals, and hope that she brought to all of us. *
|
||||
* Julie, we miss you! *
|
||||
* The engineering department at Sendmail, Inc. has suffered *
|
||||
* the tragic loss of a key member of our engineering team. *
|
||||
* Julie Van Bourg was the Vice President of Engineering *
|
||||
* at Sendmail, Inc. during the development and deployment *
|
||||
* of this release. It was her vision, dedication, and *
|
||||
* support that has made this release a success. Julie died *
|
||||
* on October 26, 1999 of cancer. We have lost a leader, a *
|
||||
* coach, and a friend. *
|
||||
* *
|
||||
* This release is dedicated to her memory and to the joy, *
|
||||
* strength, ideals, and hope that she brought to all of us. *
|
||||
* Julie, we miss you! *
|
||||
*************************************************************
|
||||
SECURITY: The safe file checks now back track through symbolic
|
||||
links to make sure the files can't be compromised due
|
||||
@ -1586,7 +1628,7 @@ summary of the changes in that release.
|
||||
CONFIG: OSTYPE(`bsdi1.0') and OSTYPE(`bsdi2.0') have been
|
||||
deprecated and may be removed from a future release.
|
||||
BSD/OS users should begin using OSTYPE(`bsdi').
|
||||
CONFIG: OpenBSD 2.4 installs mail.local non-setuid root. This
|
||||
CONFIG: OpenBSD 2.4 installs mail.local non-set-user-id root. This
|
||||
requires a new OSTYPE(`openbsd'). From Todd C. Miller of
|
||||
Courtesan Consulting.
|
||||
CONFIG: New OSTYPE(`hpux11') for HP/UX 11.X.
|
||||
@ -1846,7 +1888,7 @@ summary of the changes in that release.
|
||||
the others (if it exists).
|
||||
DEVTOOLS: Change order of LIBS: first product specific libraries
|
||||
then the default ones.
|
||||
MAIL.LOCAL: Will not be installed setuid root. To use mail.local
|
||||
MAIL.LOCAL: Will not be installed set-user-id root. To use mail.local
|
||||
as local delivery agent without LMTP mode, use
|
||||
MODIFY_MAILER_FLAGS(`LOCAL', `+S')
|
||||
to set the S flag.
|
||||
@ -2401,7 +2443,7 @@ summary of the changes in that release.
|
||||
uid and gid for user bin instead of daemon. If DefaultUser
|
||||
is set in the configuration file, that value overrides this
|
||||
default.
|
||||
SECURITY: Since 8.8.7, the check for non-setuid binaries
|
||||
SECURITY: Since 8.8.7, the check for non-set-user-id binaries
|
||||
interfered with setting an alternate group id for the
|
||||
RunAsUser option. Problem noted by Randall Winchester of
|
||||
the University of Maryland.
|
||||
@ -3069,7 +3111,7 @@ summary of the changes in that release.
|
||||
In some cases, errors during an SMTP session could leave files
|
||||
open or locked.
|
||||
Better handling of missing file descriptors (0, 1, 2) on startup.
|
||||
Better handling of non-setuid binaries -- avoids certain obnoxious
|
||||
Better handling of non-set-user-id binaries -- avoids certain obnoxious
|
||||
errors during testing.
|
||||
Errors in file locking of NEWDB maps had the incorrect file name
|
||||
printed in the error message.
|
||||
@ -3461,7 +3503,7 @@ summary of the changes in that release.
|
||||
change to the sendmail map code was made in 8.8.3. Problem
|
||||
noted by Gregory Neil Shapiro.
|
||||
MAKEMAP: Give warnings on file problems such as map files that are
|
||||
symbolic links; although makemap is not setuid root, it is
|
||||
symbolic links; although makemap is not set-user-id root, it is
|
||||
often run as root and hence has the potential for the same
|
||||
sorts of problems as alias rebuilds.
|
||||
MAKEMAP: Change compilation so that it will link properly on
|
||||
@ -4247,9 +4289,9 @@ summary of the changes in that release.
|
||||
Fix problem finding network interface addresses. Patch from
|
||||
Motonori Nakamura.
|
||||
Don't reject qf entries that are not owned by your effective uid if
|
||||
you are not running setuid; this makes management of certain
|
||||
kinds of firewall setups difficult. Patch suggested by
|
||||
Eamonn Coleman of Qualcomm.
|
||||
you are not running set-user-id; this makes management of
|
||||
certain kinds of firewall setups difficult. Patch
|
||||
suggested by Eamonn Coleman of Qualcomm.
|
||||
Add persistent host status. This keeps the information normally
|
||||
maintained within a single queue run in disk files that are
|
||||
shared between sendmail instances. The HostStatusDirectory
|
||||
@ -4617,7 +4659,7 @@ summary of the changes in that release.
|
||||
failure in the hosts.files map. This error caused hard
|
||||
bounces when it should have requeued.
|
||||
Aliases to files such as /users/bar/foo/inbox, with /users/bar/foo
|
||||
owned by bar mode 700 and inbox being setuid bar stopped
|
||||
owned by bar mode 700 and inbox being set-user-id bar stopped
|
||||
working properly due to excessive paranoia. Pointed out by
|
||||
John Hawkinson of Panix.
|
||||
An SMTP RCPT command referencing a host that gave a nameserver
|
||||
@ -5291,7 +5333,7 @@ summary of the changes in that release.
|
||||
the aliases file: use the default uid/gid instead of the
|
||||
real uid/gid. This allows you to create a file owned by
|
||||
and writable only by the default uid/gid that will work
|
||||
all the time (without having the setuid bit set). Change
|
||||
all the time (without having the set-user-id bit set). Change
|
||||
suggested by Shau-Ping Lo and Andrew Cheng of Sun
|
||||
Microsystems.
|
||||
Add "DialDelay" option (no short name) to provide an "extra"
|
||||
|
@ -221,6 +221,11 @@ to create the pathnames. The default value of this variable is
|
||||
`/etc/mail/'. If you set this macro to a different value, you MUST include
|
||||
a trailing slash.
|
||||
|
||||
Notice: all filenames used in a .mc (or .cf) file should be absolute
|
||||
(starting at the root, i.e., with '/'). Relative filenames most
|
||||
likely cause surprises during operations (unless otherwise noted).
|
||||
|
||||
|
||||
+--------+
|
||||
| OSTYPE |
|
||||
+--------+
|
||||
@ -1087,9 +1092,9 @@ delay_checks The rulesets check_mail and check_relay will not be called
|
||||
rbl This feature is deprecated! Please use dnsbl instead.
|
||||
Turns on rejection of hosts found in the Realtime Blackhole
|
||||
List. If an argument is provided it is used as the domain
|
||||
in which blocked hosts are listed; otherwise, the main
|
||||
RBL domain rbl.maps.vix.com is used. For details, see
|
||||
http://maps.vix.com/rbl/.
|
||||
in which blocked hosts are listed; otherwise, the main RBL
|
||||
domain rbl.maps.vix.com is used (see NOTE below). For
|
||||
details, see http://maps.vix.com/rbl/.
|
||||
|
||||
dnsbl Turns on rejection of hosts found in an DNS based rejection
|
||||
list. If an argument is provided it is used as the domain
|
||||
@ -1102,6 +1107,13 @@ dnsbl Turns on rejection of hosts found in an DNS based rejection
|
||||
feature can be included several times to query different DNS
|
||||
based rejection lists.
|
||||
|
||||
NOTE: The default DNS blacklist, blackholes.mail-abuse.org,
|
||||
is a service offered by the Mail Abuse Prevention System
|
||||
(MAPS). As of July 31, 2001, MAPS is a subscription
|
||||
service, so using that network address won't work if you
|
||||
haven't subscribed. Contact MAPS to subscribe
|
||||
(http://mail-abuse.org/).
|
||||
|
||||
loose_relay_check
|
||||
Normally, if % addressing is used for a recipient, e.g.
|
||||
user%site@othersite, and othersite is in class {R}, the
|
||||
@ -1819,9 +1831,17 @@ spammers. To use this database, use
|
||||
FEATURE(`dnsbl')
|
||||
|
||||
This will cause sendmail to reject mail from any site in the
|
||||
Realtime Blackhole List database. You can specify an alternative
|
||||
RBL domain to check by specifying an argument to the FEATURE.
|
||||
The default error message is
|
||||
Realtime Blackhole List database. This default DNS blacklist,
|
||||
blackholes.mail-abuse.org, is a service offered by the Mail Abuse
|
||||
Prevention System (MAPS). As of July 31, 2001, MAPS is a subscription
|
||||
service, so using that network address won't work if you haven't
|
||||
subscribed. Contact MAPS to subscribe (http://mail-abuse.org/).
|
||||
|
||||
You can specify an alternative RBL server to check by specifying an
|
||||
argument to the FEATURE. The default error message is
|
||||
|
||||
You can specify an alternative RBL domain to check by specifying an
|
||||
argument to the FEATURE. The default error message is
|
||||
|
||||
Mail from $&{client_addr} refused by blackhole site DOMAIN
|
||||
|
||||
@ -2013,6 +2033,21 @@ probably not be used in production.
|
||||
In this text, cert will be used as an abreviation for X.509 certificate,
|
||||
DN is the distinguished name of a cert, and CA is a certification authority.
|
||||
|
||||
For STARTTLS to be offered by sendmail you need to set at least
|
||||
this variables (the file names and paths are just examples):
|
||||
|
||||
define(`confCACERT_PATH', `/etc/mail/certs/')
|
||||
define(`confCACERT', `/etc/mail/certs/CA.cert.pem')
|
||||
define(`confSERVER_CERT', `/etc/mail/certs/my.cert.pem')
|
||||
define(`confSERVER_KEY', `/etc/mail/certs/my.key.pem')
|
||||
|
||||
On systems which do not have the compile flag HASURANDOM set (see
|
||||
sendmail/README) you also must set confRAND_FILE.
|
||||
|
||||
See doc/op/op.{me,ps} for more information about these options,
|
||||
esp. the sections ``Certificates for STARTTLS'' and ``PRNG for
|
||||
STARTTLS''.
|
||||
|
||||
Macros related to STARTTLS are:
|
||||
|
||||
${cert_issuer} holds the DN of the CA (the cert issuer).
|
||||
@ -3278,4 +3313,4 @@ M4 DIVERSIONS
|
||||
8 DNS based blacklists
|
||||
9 special local rulesets (1 and 2)
|
||||
|
||||
$Revision: 8.383.2.1.2.43 $, Last updated $Date: 2001/05/24 16:41:53 $
|
||||
$Revision: 8.383.2.1.2.47 $, Last updated $Date: 2001/07/13 22:31:49 $
|
||||
|
@ -1,6 +1,6 @@
|
||||
divert(-1)
|
||||
#
|
||||
# Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers.
|
||||
# Copyright (c) 1998, 1999, 2001 Sendmail, Inc. and its suppliers.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
|
||||
# Copyright (c) 1988, 1993
|
||||
@ -13,14 +13,14 @@ divert(-1)
|
||||
#
|
||||
|
||||
#
|
||||
# This is a generic configuration file for HP-UX 9.x.
|
||||
# This is a generic configuration file for HP-UX 10.x.
|
||||
# It has support for local and SMTP mail only. If you want to
|
||||
# customize it, copy it to a name appropriate for your environment
|
||||
# and do the modifications there.
|
||||
#
|
||||
|
||||
divert(0)dnl
|
||||
VERSIONID(`$Id: generic-hpux10.mc,v 8.11 1999/02/07 07:26:02 gshapiro Exp $')
|
||||
VERSIONID(`$Id: generic-hpux10.mc,v 8.11.22.2 2001/05/29 17:30:18 ca Exp $')
|
||||
OSTYPE(hpux10)dnl
|
||||
DOMAIN(generic)dnl
|
||||
MAILER(local)dnl
|
||||
|
@ -13,7 +13,7 @@ divert(-1)
|
||||
#
|
||||
divert(0)
|
||||
|
||||
VERSIONID(`$Id: proto.m4,v 8.446.2.5.2.41 2001/05/23 21:32:16 ca Exp $')
|
||||
VERSIONID(`$Id: proto.m4,v 8.446.2.5.2.44 2001/07/31 22:25:49 gshapiro Exp $')
|
||||
|
||||
MAILER(local)dnl
|
||||
|
||||
@ -161,8 +161,10 @@ ifdef(`_ACCEPT_UNRESOLVABLE_DOMAINS_',`dnl',`dnl
|
||||
# Resolve map (to check if a host exists in check_mail)
|
||||
Kresolve host -a<OK> -T<TEMP>')
|
||||
|
||||
ifdef(`_FFR_5_', `# macro storage map
|
||||
Kmacro macro')
|
||||
ifdef(`_NEED_MACRO_MAP_', `dnl
|
||||
ifdef(`_MACRO_MAP_', `', `# macro storage map
|
||||
define(`_MACRO_MAP_', `1')dnl
|
||||
Kmacro macro')', `dnl')
|
||||
|
||||
ifdef(`confCR_FILE', `dnl
|
||||
# Hosts for which relaying is permitted ($=R)
|
||||
@ -631,7 +633,7 @@ R$* < $* > $* <@> $: $1 < $2 > $3 unmark <addr>
|
||||
R@ $* <@> $: @ $1 unmark @host:...
|
||||
R$* :: $* <@> $: $1 :: $2 unmark node::addr
|
||||
R:`include': $* <@> $: :`include': $1 unmark :`include':...
|
||||
R$* [ IPv6 $- ] <@> $: $1 [ IPv6 $2 ] unmark IPv6 addr
|
||||
R$* [ IPv6 : $+ ] <@> $: $1 [ IPv6 : $2 ] unmark IPv6 addr
|
||||
R$* : $* [ $* ] $: $1 : $2 [ $3 ] <@> remark if leading colon
|
||||
R$* : $* <@> $: $2 strip colon if marked
|
||||
R$* <@> $: $1 unmark
|
||||
@ -707,9 +709,9 @@ ifdef(`_NO_UUCP_', `dnl',
|
||||
`R$* < @ localhost . UUCP > $* $: $1 < @ $j . > $2 .UUCP domain')
|
||||
|
||||
# check for IPv6 domain literal (save quoted form)
|
||||
R$* < @ [ IPv6 $- ] > $* $: $2 $| $1 < @@ [ $(dequote $2 $) ] > $3 mark IPv6 addr
|
||||
R$- $| $* < @@ $=w > $* $: $2 < @ $j . > $4 self-literal
|
||||
R$- $| $* < @@ [ $+ ] > $* $@ $2 < @ [ IPv6 $1 ] > $4 canon IP addr
|
||||
R$* < @ [ IPv6 : $+ ] > $* $: $2 $| $1 < @@ [ $(dequote $2 $) ] > $3 mark IPv6 addr
|
||||
R$+ $| $* < @@ $=w > $* $: $2 < @ $j . > $4 self-literal
|
||||
R$+ $| $* < @@ [ $+ ] > $* $@ $2 < @ [ IPv6 : $1 ] > $4 canon IP addr
|
||||
|
||||
# check for IPv4 domain literal
|
||||
R$* < @ [ $+ ] > $* $: $1 < @@ [ $2 ] > $3 mark [a.b.c.d]
|
||||
@ -907,8 +909,8 @@ ifdef(`_MAILER_smtp_',
|
||||
dnl there is no check whether this is really an IP number
|
||||
R$* < @ [ $+ ] > $* $: $>ParseLocal $1 < @ [ $2 ] > $3 numeric internet spec
|
||||
R$* < @ [ $+ ] > $* $1 < @ [ $2 ] : $S > $3 Add smart host to path
|
||||
R$* < @ [ IPv6 $- ] : > $*
|
||||
$#_SMTP_ $@ [ $(dequote $2 $) ] $: $1 < @ [IPv6 $2 ] > $3 no smarthost: send
|
||||
R$* < @ [ IPv6 : $+ ] : > $*
|
||||
$#_SMTP_ $@ [ $(dequote $2 $) ] $: $1 < @ [IPv6 : $2 ] > $3 no smarthost: send
|
||||
R$* < @ [ $+ ] : > $* $#_SMTP_ $@ [$2] $: $1 < @ [$2] > $3 no smarthost: send
|
||||
R$* < @ [ $+ ] : $- : $*> $* $#$3 $@ $4 $: $1 < @ [$2] > $5 smarthost with mailer
|
||||
R$* < @ [ $+ ] : $+ > $* $#_SMTP_ $@ $3 $: $1 < @ [$2] > $4 smarthost without mailer',
|
||||
@ -936,6 +938,8 @@ R<@> $+ $: $1
|
||||
R<!> $+ $: $1
|
||||
R< error : $-.$-.$- : $+ > $* $#error $@ $1.$2.$3 $: $4
|
||||
R< error : $- $+ > $* $#error $@ $(dequote $1 $) $: $2
|
||||
dnl this is not a documented option
|
||||
dnl it performs no looping at all for virtusertable
|
||||
ifdef(`_NO_VIRTUSER_RECURSION_',
|
||||
`R< $+ > $+ < @ $+ > $: $>ParseLocal $>Parse0 $>canonify $1',
|
||||
`R< $+ > $+ < @ $+ > $: $>Recurse $1')
|
||||
@ -1104,7 +1108,7 @@ dnl <error:text> -> error
|
||||
dnl <mailer:user@host> lp<@domain>rest -> mailer host user
|
||||
dnl <mailer:host> address -> mailer host address
|
||||
dnl <localdomain> address -> address
|
||||
dnl <[IPv6 number]> address -> relay number address
|
||||
dnl <[IPv6:number]> address -> relay number address
|
||||
dnl <host> address -> relay host address
|
||||
###################################################################
|
||||
|
||||
@ -1116,7 +1120,7 @@ R< local : $* > $* $>CanonLocal < $1 > $2
|
||||
R< $- : $+ @ $+ > $*<$*>$* $# $1 $@ $3 $: $2<@$3> use literal user
|
||||
R< $- : $+ > $* $# $1 $@ $2 $: $3 try qualified mailer
|
||||
R< $=w > $* $@ $2 delete local host
|
||||
R< [ IPv6 $+ ] > $* $#_RELAY_ $@ $(dequote $1 $) $: $2 use unqualified mailer
|
||||
R< [ IPv6 : $+ ] > $* $#_RELAY_ $@ $(dequote $1 $) $: $2 use unqualified mailer
|
||||
R< $+ > $* $#_RELAY_ $@ $1 $: $2 use unqualified mailer
|
||||
|
||||
###################################################################
|
||||
@ -1280,7 +1284,7 @@ dnl <result> <passthru>
|
||||
SLookUpDomain
|
||||
dnl remove IPv6 mark and dequote address
|
||||
dnl it is a bit ugly because it is checked on each "iteration"
|
||||
R<[IPv6 $-]> <$+> <$*> <$*> $: <[$(dequote $1 $)]> <$2> <$3> <$4>
|
||||
R<[IPv6 : $+]> <$+> <$*> <$*> $: <[$(dequote $1 $)]> <$2> <$3> <$4>
|
||||
dnl workspace <key> <default> <passthru> <mark>
|
||||
dnl lookup with tag (in front, no delimiter here)
|
||||
R<$*> <$+> <$*> <$- $-> $: < $(access $5`'_TAG_DELIM_`'$1 $: ? $) > <$1> <$2> <$3> <$4 $5>
|
||||
|
@ -11,8 +11,8 @@ divert(-1)
|
||||
# the sendmail distribution.
|
||||
#
|
||||
#
|
||||
VERSIONID(`$Id: version.m4,v 8.39.4.29 2001/05/27 21:39:20 gshapiro Exp $')
|
||||
VERSIONID(`$Id: version.m4,v 8.39.4.33 2001/07/31 22:34:17 gshapiro Exp $')
|
||||
#
|
||||
divert(0)
|
||||
# Configuration version number
|
||||
DZ8.11.4`'ifdef(`confCF_VERSION', `/confCF_VERSION')
|
||||
DZ8.11.5`'ifdef(`confCF_VERSION', `/confCF_VERSION')
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $Id: Makefile,v 8.7.8.1 2001/01/04 18:55:46 gshapiro Exp $
|
||||
# $Id: Makefile,v 8.7.8.4 2001/07/01 18:34:56 gshapiro Exp $
|
||||
|
||||
DIR= smm/08.sendmailop
|
||||
SRCS= op.me
|
||||
@ -7,11 +7,13 @@ MACROS= -me
|
||||
ROFF_CMD= groff
|
||||
PIC_CMD= pic
|
||||
EQN_CMD= eqn
|
||||
UL_CMD= ul
|
||||
PIC= ${PIC_CMD} -C
|
||||
EQNASCII= ${EQN_CMD} -C -Tascii
|
||||
EQNPS= ${EQN_CMD} -C -Tps
|
||||
ROFFASCII= ${ROFF_CMD} -Tascii ${MACROS}
|
||||
ROFFPS= ${ROFF_CMD} -Tps -mps ${MACROS}
|
||||
ULASCII= ${UL_CMD} -t dumb
|
||||
|
||||
all: ${OBJS}
|
||||
|
||||
@ -21,7 +23,7 @@ op.ps: ${SRCS}
|
||||
|
||||
op.txt: ${SRCS}
|
||||
rm -f $@
|
||||
${PIC} ${SRCS} | ${EQNASCII} | ${ROFFASCII} > $@
|
||||
${PIC} ${SRCS} | ${EQNASCII} | ${ROFFASCII} | ${ULASCII} > $@
|
||||
|
||||
clean:
|
||||
rm -f op.ps op.txt
|
||||
|
@ -9,9 +9,43 @@
|
||||
.\" the sendmail distribution.
|
||||
.\"
|
||||
.\"
|
||||
.\" $Id: op.me,v 8.317.4.64 2001/05/24 16:45:49 ca Exp $
|
||||
.\" $Id: op.me,v 8.317.4.70 2001/07/24 04:08:25 ca Exp $
|
||||
.\"
|
||||
.\" eqn op.me | pic | troff -me
|
||||
.\"
|
||||
.\" Define \(sc if not defined (for text output)
|
||||
.\"
|
||||
.if !c \(sc .char \(sc S
|
||||
.\"
|
||||
.\" Define \(dg as "*" for text output and create a new .DG macro
|
||||
.\" which describes the symbol.
|
||||
.\"
|
||||
.ie !c \(dg \{\
|
||||
.char \(dg *
|
||||
.de DG
|
||||
an asterick
|
||||
..
|
||||
.\}
|
||||
.el \{\
|
||||
.de DG
|
||||
a dagger
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Define \(dd as "#" for text output and create a new .DD macro
|
||||
.\" which describes the symbol.
|
||||
.\"
|
||||
.ie !c \(dd \{\
|
||||
.char \(dd #
|
||||
.de DD
|
||||
a pound sign
|
||||
..
|
||||
.\}
|
||||
.el \{\
|
||||
.de DD
|
||||
a double dagger
|
||||
..
|
||||
.\}
|
||||
.eh 'SMM:08-%''Sendmail Installation and Operation Guide'
|
||||
.oh 'Sendmail Installation and Operation Guide''SMM:08-%'
|
||||
.\" SD is lib if sendmail is installed in /usr/lib, sbin if in /usr/sbin
|
||||
@ -53,7 +87,7 @@ eric@Sendmail.COM
|
||||
.de Ve
|
||||
Version \\$2
|
||||
..
|
||||
.Ve $Revision: 8.317.4.64 $
|
||||
.Ve $Revision: 8.317.4.70 $
|
||||
.rm Ve
|
||||
.sp
|
||||
For Sendmail Version 8.11
|
||||
@ -2189,8 +2223,12 @@ For compatibility with old configuration files,
|
||||
if no
|
||||
.i suboption
|
||||
is specified,
|
||||
all the timeouts marked with a dagger (\(dg) are set to the indicated value.
|
||||
All but those marked with a double dagger (\(dd) apply to client SMTP.
|
||||
all the timeouts marked with
|
||||
.DG
|
||||
(\(dg) are set to the indicated value.
|
||||
All but those marked with
|
||||
.DD
|
||||
(\(dd) apply to client SMTP.
|
||||
.pp
|
||||
Many of the RFC 1123 minimum values
|
||||
may well be too short.
|
||||
@ -6444,7 +6482,15 @@ Defaults to 600000.
|
||||
.ip QueueLA=\fILA\fP
|
||||
[x]
|
||||
When the system load average exceeds
|
||||
.i LA ,
|
||||
.i LA
|
||||
and the
|
||||
.b QueueFactor
|
||||
(\c
|
||||
.b q )
|
||||
option divided by the difference in the current load average and the
|
||||
.b QueueLA
|
||||
option plus one
|
||||
is less than the priority of the message,
|
||||
just queue messages
|
||||
(i.e., don't try to send them).
|
||||
Defaults to 8 multiplied by
|
||||
@ -6766,7 +6812,10 @@ This should really
|
||||
be set.
|
||||
.ip TempFileMode=\fImode\fP
|
||||
[F]
|
||||
The file mode for queue files.
|
||||
The file mode for queue files, files to which
|
||||
.i sendmail
|
||||
delivers directly, and files in the
|
||||
.b HostStatusDirectory .
|
||||
It is interpreted in octal by default.
|
||||
Defaults to 0600.
|
||||
.ip Timeout.\fItype\fP=\|\fItimeout\fP
|
||||
@ -8704,7 +8753,8 @@ has been compiled with support for STARTTLS.
|
||||
When acting as a server,
|
||||
.i sendmail
|
||||
requires X.509 certificates to support STARTTLS:
|
||||
one as certificate for the server (ServerCertFile)
|
||||
one as certificate for the server (ServerCertFile and corresponding
|
||||
private ServerKeyFile)
|
||||
at least one root CA (CACERTFile),
|
||||
i.e., a certificate that is used to sign other certificates,
|
||||
and a path to a directory which contains other CAs (CACERTPath).
|
||||
@ -8723,7 +8773,7 @@ C=FileName_of_CA_Certificate
|
||||
ln -s $C `openssl x509 -noout -hash < $C`.0
|
||||
.)b
|
||||
An X.509 certificate is also required for authentication in client mode
|
||||
(ClientCertFile), however,
|
||||
(ClientCertFile and corresponding private ClientKeyFile), however,
|
||||
.i sendmail
|
||||
will always use STARTTLS when offered by a server.
|
||||
The client and server certificates can be identical.
|
||||
@ -9425,7 +9475,7 @@ replace it with a blank sheet for double-sided output.
|
||||
.\".sz 10
|
||||
.\"Eric Allman
|
||||
.\".sp
|
||||
.\"Version $Revision: 8.317.4.64 $
|
||||
.\"Version $Revision: 8.317.4.70 $
|
||||
.\".ce 0
|
||||
.bp 3
|
||||
.ce
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999-2000 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1999-2001 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
*
|
||||
* By using this file, you agree to the terms and conditions set
|
||||
@ -7,7 +7,7 @@
|
||||
* the sendmail distribution.
|
||||
*
|
||||
*
|
||||
* $Id: milter.h,v 8.24.16.9 2001/03/02 21:22:48 geir Exp $
|
||||
* $Id: milter.h,v 8.24.16.10 2001/07/20 04:19:35 gshapiro Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -10,7 +10,7 @@
|
||||
* the sendmail distribution.
|
||||
*
|
||||
*
|
||||
* $Id: sendmail.h,v 8.34.4.7 2000/10/09 16:15:26 gshapiro Exp $
|
||||
* $Id: sendmail.h,v 8.34.4.8 2001/06/01 05:06:51 gshapiro Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -108,7 +108,6 @@ typedef unsigned int BITMAP256[BITMAPBYTES / sizeof (int)];
|
||||
extern int safefile __P((char *, UID_T, GID_T, char *, long, int, struct stat *));
|
||||
extern int safedirpath __P((char *, UID_T, GID_T, char *, long, int, int));
|
||||
extern int safeopen __P((char *, int, int, long));
|
||||
extern FILE *safefopen __P((char *, int, int, long));
|
||||
extern int dfopen __P((char *, int, int, long));
|
||||
extern bool filechanged __P((char *, int, struct stat *));
|
||||
|
||||
|
@ -59,14 +59,14 @@ Filters are specified with a key letter ``X'' (for ``eXternal'').
|
||||
For example:
|
||||
|
||||
Xfilter1, S=local:/var/run/f1.sock, F=R
|
||||
Xfilter2, S=inet6:999@localhost, F=T, T=S:1s;R:1s;E:5m
|
||||
Xfilter2, S=inet6:999@localhost, F=T, T=C:10m;S:1s;R:1s;E:5m
|
||||
Xfilter3, S=inet:3333@localhost
|
||||
|
||||
specifies three filters. Filters can be specified in your .mc file using
|
||||
the following:
|
||||
|
||||
INPUT_MAIL_FILTER(`filter1', `S=local:/var/run/f1.sock, F=R')
|
||||
INPUT_MAIL_FILTER(`filter2', `S=inet6:999@localhost, F=T, T=S:1s;R:1s;E:5m')
|
||||
INPUT_MAIL_FILTER(`filter2', `S=inet6:999@localhost, F=T, T=C:10m;S:1s;R:1s;E:5m')
|
||||
INPUT_MAIL_FILTER(`filter3', `S=inet:3333@localhost')
|
||||
|
||||
The first attaches to a Unix-domain socket in the /var/run directory; the
|
||||
@ -80,19 +80,21 @@ If neither F=R nor F=T is specified, the message is passed through sendmail
|
||||
as if the filter were not present.
|
||||
|
||||
Finally, you can override the default timeouts used by sendmail when
|
||||
talking to the filters using the T= equate. There are three fields inside
|
||||
talking to the filters using the T= equate. There are four fields inside
|
||||
of the T= equate:
|
||||
|
||||
Letter Meaning
|
||||
S Timeout for sending information from the MTA to a filter
|
||||
R Timeout for reading reply from the filter
|
||||
E Overall timeout between sending end-of-message to filter
|
||||
and waiting for the final acknowledgment
|
||||
C Timeout for connecting to a filter (if 0, use system timeout)
|
||||
S Timeout for sending information from the MTA to a filter
|
||||
R Timeout for reading reply from the filter
|
||||
E Overall timeout between sending end-of-message to filter
|
||||
and waiting for the final acknowledgment
|
||||
|
||||
Note the separator between each is a ';' as a ',' already separates equates
|
||||
and therefore can't separate timeouts. The default values (if not set in the config) are:
|
||||
and therefore can't separate timeouts. The default values (if not set in
|
||||
the config) are:
|
||||
|
||||
T=S:10s;R:10s;E:5m
|
||||
T=C:0m;S:10s;R:10s;E:5m
|
||||
|
||||
where 's' is seconds and 'm' is minutes.
|
||||
|
||||
@ -424,4 +426,4 @@ main(argc, argv)
|
||||
|
||||
/* eof */
|
||||
|
||||
$Revision: 8.9.2.1.2.17 $, Last updated $Date: 2001/04/11 18:32:58 $
|
||||
$Revision: 8.9.2.1.2.19 $, Last updated $Date: 2001/06/28 22:25:14 $
|
||||
|
@ -17,7 +17,7 @@
|
||||
# define EXTERN
|
||||
# define INIT(x) = x
|
||||
# ifndef lint
|
||||
static char MilterlId[] = "@(#)$Id: libmilter.h,v 8.3.6.14 2001/05/27 14:31:12 ca Exp $";
|
||||
static char MilterlId[] = "@(#)$Id: libmilter.h,v 8.3.6.16 2001/06/07 23:21:35 geir Exp $";
|
||||
# endif /* ! lint */
|
||||
#else /* _DEFINE */
|
||||
# define EXTERN extern
|
||||
|
@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: sm_gethost.c,v 8.7.8.10 2001/05/09 20:57:12 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: sm_gethost.c,v 8.7.8.11 2001/07/21 00:10:23 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#if _FFR_MILTER
|
||||
@ -31,12 +31,15 @@ static char id[] = "@(#)$Id: sm_gethost.c,v 8.7.8.10 2001/05/09 20:57:12 gshapir
|
||||
|
||||
#if NETINET6 && NEEDSGETIPNODE
|
||||
|
||||
# ifndef AI_V4MAPPED
|
||||
# define AI_V4MAPPED 0 /* dummy */
|
||||
# endif /* ! AI_V4MAPPED */
|
||||
# ifndef AI_ADDRCONFIG
|
||||
# define AI_ADDRCONFIG 0 /* dummy */
|
||||
# endif /* ! AI_ADDRCONFIG */
|
||||
# ifndef AI_ALL
|
||||
# define AI_ALL 0 /* dummy */
|
||||
# endif /* ! AI_ALL */
|
||||
# ifndef AI_DEFAULT
|
||||
# define AI_DEFAULT 0 /* dummy */
|
||||
# endif /* ! AI_DEFAULT */
|
||||
|
||||
static struct hostent *
|
||||
getipnodebyname(name, family, flags, err)
|
||||
@ -97,11 +100,15 @@ 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;
|
||||
int err;
|
||||
# endif /* NETINET6 */
|
||||
|
||||
# if NETINET6
|
||||
h = getipnodebyname(name, family, AI_V4MAPPED|AI_ALL, &err);
|
||||
# if ADDRCONFIG_IS_BROKEN
|
||||
flags &= ~AI_ADDRCONFIG;
|
||||
# endif /* ADDRCONFIG_IS_BROKEN */
|
||||
h = getipnodebyname(name, family, flags, &err);
|
||||
SM_SET_H_ERRNO(err);
|
||||
# else /* NETINET6 */
|
||||
h = gethostbyname(name);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2000 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: safefile.c,v 8.81.4.7 2000/09/01 21:09:23 ca Exp $";
|
||||
static char id[] = "@(#)$Id: safefile.c,v 8.81.4.10 2001/07/20 04:19:36 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -660,10 +660,6 @@ safedirpath(fn, uid, gid, user, flags, level, offset)
|
||||
** Same as open.
|
||||
*/
|
||||
|
||||
#ifndef O_ACCMODE
|
||||
# define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
|
||||
#endif /* ! O_ACCMODE */
|
||||
|
||||
int
|
||||
safeopen(fn, omode, cmode, sff)
|
||||
char *fn;
|
||||
@ -735,81 +731,6 @@ safeopen(fn, omode, cmode, sff)
|
||||
return fd;
|
||||
}
|
||||
/*
|
||||
** SAFEFOPEN -- do a file open with extra checking
|
||||
**
|
||||
** Parameters:
|
||||
** fn -- the file name to open.
|
||||
** omode -- the open-style mode flags.
|
||||
** cmode -- the create-style mode flags.
|
||||
** sff -- safefile flags.
|
||||
**
|
||||
** Returns:
|
||||
** Same as fopen.
|
||||
*/
|
||||
|
||||
FILE *
|
||||
safefopen(fn, omode, cmode, sff)
|
||||
char *fn;
|
||||
int omode;
|
||||
int cmode;
|
||||
long sff;
|
||||
{
|
||||
int fd;
|
||||
int save_errno;
|
||||
FILE *fp;
|
||||
char *fmode;
|
||||
|
||||
switch (omode & O_ACCMODE)
|
||||
{
|
||||
case O_RDONLY:
|
||||
fmode = "r";
|
||||
break;
|
||||
|
||||
case O_WRONLY:
|
||||
if (bitset(O_APPEND, omode))
|
||||
fmode = "a";
|
||||
else
|
||||
fmode = "w";
|
||||
break;
|
||||
|
||||
case O_RDWR:
|
||||
if (bitset(O_TRUNC, omode))
|
||||
fmode = "w+";
|
||||
else if (bitset(O_APPEND, omode))
|
||||
fmode = "a+";
|
||||
else
|
||||
fmode = "r+";
|
||||
break;
|
||||
|
||||
default:
|
||||
syserr("554 5.3.5 safefopen: unknown omode %o", omode);
|
||||
fmode = "x";
|
||||
}
|
||||
fd = safeopen(fn, omode, cmode, sff);
|
||||
if (fd < 0)
|
||||
{
|
||||
save_errno = errno;
|
||||
if (tTd(44, 10))
|
||||
dprintf("safefopen: safeopen failed: %s\n",
|
||||
errstring(errno));
|
||||
errno = save_errno;
|
||||
return NULL;
|
||||
}
|
||||
fp = fdopen(fd, fmode);
|
||||
if (fp != NULL)
|
||||
return fp;
|
||||
|
||||
save_errno = errno;
|
||||
if (tTd(44, 10))
|
||||
{
|
||||
dprintf("safefopen: fdopen(%s, %s) failed: omode=%x, sff=%lx, err=%s\n",
|
||||
fn, fmode, omode, sff, errstring(errno));
|
||||
}
|
||||
(void) close(fd);
|
||||
errno = save_errno;
|
||||
return NULL;
|
||||
}
|
||||
/*
|
||||
** FILECHANGED -- check to see if file changed after being opened
|
||||
**
|
||||
** Parameters:
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998-2000 Sendmail, Inc. and its suppliers.
|
||||
* Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 1997 Eric P. Allman. All rights reserved.
|
||||
* Copyright (c) 1988, 1993
|
||||
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: snprintf.c,v 8.27.16.2 2000/09/17 17:04:24 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: snprintf.c,v 8.27.16.4 2001/07/20 04:19:37 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -86,10 +86,10 @@ sm_vsnprintf(str, count, fmt, args)
|
||||
sm_dopr( str, fmt, args );
|
||||
if (count > 0)
|
||||
DoprEnd[0] = 0;
|
||||
if (SnprfOverflow && tTd(57, 2))
|
||||
if (SnprfOverflow > 0 && tTd(57, 2))
|
||||
dprintf("\nvsnprintf overflow, len = %ld, str = %s",
|
||||
(long) count, shortenstring(str, MAXSHORTSTR));
|
||||
return strlen(str);
|
||||
return strlen(str) + SnprfOverflow;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -19,7 +19,7 @@ static char copyright[] =
|
||||
#endif /* ! lint */
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: mail.local.c,v 8.143.4.57 2001/02/11 20:08:20 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: mail.local.c,v 8.143.4.58 2001/06/01 05:33:31 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
/*
|
||||
|
@ -9,7 +9,7 @@
|
||||
# the sendmail distribution.
|
||||
#
|
||||
#
|
||||
# $Id: README,v 8.263.2.1.2.35 2001/05/09 20:58:32 gshapiro Exp $
|
||||
# $Id: README,v 8.263.2.1.2.37 2001/06/03 03:41:12 ca Exp $
|
||||
#
|
||||
|
||||
This directory contains the source files for sendmail(TM).
|
||||
@ -82,7 +82,6 @@ Porting to a new Unix-based system should be a matter of creating
|
||||
an appropriate configuration file in the devtools/OS/ directory.
|
||||
|
||||
|
||||
|
||||
+----------------------+
|
||||
| DATABASE DEFINITIONS |
|
||||
+----------------------+
|
||||
@ -178,6 +177,7 @@ addresses, so "^[0-9]+$" would match this. By using such a map in a
|
||||
check_* rule-set, you can block a certain range of addresses that would
|
||||
otherwise be considered valid.
|
||||
|
||||
|
||||
+---------------+
|
||||
| COMPILE FLAGS |
|
||||
+---------------+
|
||||
@ -463,6 +463,7 @@ NEEDSGETIPNODE Set this if your system supports IPv6 but doesn't include
|
||||
the getipnodeby{name,addr}() functions. Set automatically
|
||||
for Linux's glibc.
|
||||
|
||||
|
||||
+-----------------------+
|
||||
| COMPILE-TIME FEATURES |
|
||||
+-----------------------+
|
||||
@ -600,6 +601,13 @@ SFIO Uses sfio instead of stdio. sfio is available from AT&T
|
||||
OPERATING SYSTEM AND COMPILE QUIRKS.
|
||||
|
||||
|
||||
Generic notice: If you enable a compile time option that needs
|
||||
libraries or include files that don't come with sendmail or are
|
||||
installed in a location that your C compiler doesn't use by default
|
||||
you should set confINCDIRS and confLIBDIRS as explained in the
|
||||
first section: BUILDING SENDMAIL.
|
||||
|
||||
|
||||
+---------------------+
|
||||
| DNS/RESOLVER ISSUES |
|
||||
+---------------------+
|
||||
@ -639,6 +647,7 @@ ResolverOptions setting. However, instead, we recommend catching the
|
||||
problem and reporting it to the name server administrator so we can rid the
|
||||
world of broken name servers.
|
||||
|
||||
|
||||
+----------------------------------------+
|
||||
| STARTTLS COMPILATION AND CONFIGURATION |
|
||||
+----------------------------------------+
|
||||
@ -649,11 +658,16 @@ sendmail. See devtools/README how to set the correct compile time
|
||||
parameters; you should at least set the following variables:
|
||||
|
||||
define(`confSTDIO_TYPE', `portable')
|
||||
APPENDDEF(`confENVDEF', `-DSFIO')
|
||||
APPENDDEF(`confLIBS', `-lsfio')
|
||||
APPENDDEF(`conf_sendmail_ENVDEF', `-DSFIO')
|
||||
APPENDDEF(`conf_sendmail_LIBS', `-lsfio')
|
||||
APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS')
|
||||
APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto')
|
||||
|
||||
If you have installed the OpenSSL libraries and include files in
|
||||
a location that your C compiler doesn't use by default you should
|
||||
set confINCDIRS and confLIBDIRS as explained in the first section:
|
||||
BUILDING SENDMAIL.
|
||||
|
||||
Configuration information can be found in doc/op/op.me (required
|
||||
certificates) and cf/README (how to tell sendmail about certificates).
|
||||
|
||||
@ -667,10 +681,8 @@ there are any problems listed about permissions (unsafe files)
|
||||
or the validity of X.509 certificates.
|
||||
|
||||
Note: sfio must be used in all libraries with which sendmail exchanges
|
||||
file pointers. That is, libsmutil must be compiled with sfio, which
|
||||
is accomplished by the above config parameters. Another example is
|
||||
PH map support. This does not apply to the usual libraries, e.g.,
|
||||
OpenSSL, Berkeley DB, Cyrus SASL.
|
||||
file pointers. An example is PH map support. This does not apply to the
|
||||
usual libraries, e.g., OpenSSL, Berkeley DB, Cyrus SASL.
|
||||
|
||||
Further information can be found via:
|
||||
http://www.sendmail.org/tips/
|
||||
@ -682,7 +694,17 @@ http://www.sendmail.org/tips/
|
||||
|
||||
Please read the docs accompanying the library (INSTALL and README).
|
||||
If you use Berkeley DB for Cyrus SASL then you must compile sendmail
|
||||
with the same version of Berkeley DB.
|
||||
with the same version of Berkeley DB. See devtools/README how to
|
||||
set the correct compile time parameters; you should at least set
|
||||
the following variables:
|
||||
|
||||
APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL')
|
||||
APPENDDEF(`conf_sendmail_LIBS', `-lsasl')
|
||||
|
||||
If you have installed the Cyrus SASL library and include files in
|
||||
a location that your C compiler doesn't use by default you should
|
||||
set confINCDIRS and confLIBDIRS as explained in the first section:
|
||||
BUILDING SENDMAIL.
|
||||
|
||||
You have to select and install authentication mechanisms and tell
|
||||
sendmail where to find the sasl library and the include files (see
|
||||
@ -1599,6 +1621,7 @@ Regular Expressions (MAP_REGEX)
|
||||
The manual pages have been written against the -man macros, and
|
||||
should format correctly with any reasonable *roff.
|
||||
|
||||
|
||||
+-----------------+
|
||||
| DEBUGGING HOOKS |
|
||||
+-----------------+
|
||||
@ -1706,4 +1729,4 @@ util.c Some general purpose routines used by sendmail.
|
||||
version.c The version number and information about this
|
||||
version of sendmail.
|
||||
|
||||
(Version $Revision: 8.263.2.1.2.35 $, last update $Date: 2001/05/09 20:58:32 $ )
|
||||
(Version $Revision: 8.263.2.1.2.37 $, last update $Date: 2001/06/03 03:41:12 $ )
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: clock.c,v 8.52.18.14 2001/05/17 18:12:28 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: clock.c,v 8.52.18.17 2001/07/31 23:04:59 ca Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -21,8 +21,8 @@ static char id[] = "@(#)$Id: clock.c,v 8.52.18.14 2001/05/17 18:12:28 gshapiro E
|
||||
# define sigmask(s) (1 << ((s) - 1))
|
||||
#endif /* ! sigmask */
|
||||
|
||||
static SIGFUNC_DECL tick __P((int));
|
||||
static void endsleep __P((void));
|
||||
static SIGFUNC_DECL sm_tick __P((int));
|
||||
static void endsleep __P((void));
|
||||
|
||||
|
||||
/*
|
||||
@ -119,7 +119,7 @@ sigsafe_setevent(intvl, func, arg)
|
||||
** This shouldn't happen. If called from setevent(),
|
||||
** we have just malloced a FreeEventList entry. If
|
||||
** called from a signal handler, it should have been
|
||||
** from an existing event which tick() just added to the
|
||||
** from an existing event which sm_tick() just added to the
|
||||
** FreeEventList.
|
||||
*/
|
||||
|
||||
@ -143,7 +143,7 @@ sigsafe_setevent(intvl, func, arg)
|
||||
*evp = ev;
|
||||
LEAVE_CRITICAL();
|
||||
|
||||
(void) setsignal(SIGALRM, tick);
|
||||
(void) setsignal(SIGALRM, sm_tick);
|
||||
intvl = EventQueue->ev_time - now;
|
||||
(void) alarm((unsigned) intvl < 1 ? 1 : intvl);
|
||||
if (wasblocked == 0)
|
||||
@ -247,7 +247,7 @@ clear_events()
|
||||
(void) releasesignal(SIGALRM);
|
||||
}
|
||||
/*
|
||||
** TICK -- take a clock tick
|
||||
** SM_TICK -- take a clock sm_tick
|
||||
**
|
||||
** Called by the alarm clock. This routine runs events as needed.
|
||||
** Always called as a signal handler, so we assume that SIGALRM
|
||||
@ -268,8 +268,8 @@ clear_events()
|
||||
*/
|
||||
|
||||
/* ARGSUSED */
|
||||
SIGFUNC_DECL
|
||||
tick(sig)
|
||||
static SIGFUNC_DECL
|
||||
sm_tick(sig)
|
||||
int sig;
|
||||
{
|
||||
register time_t now;
|
||||
@ -279,7 +279,7 @@ tick(sig)
|
||||
|
||||
(void) alarm(0);
|
||||
|
||||
FIX_SYSV_SIGNAL(sig, tick);
|
||||
FIX_SYSV_SIGNAL(sig, sm_tick);
|
||||
|
||||
errno = save_errno;
|
||||
CHECK_CRITICAL(sig);
|
||||
@ -287,8 +287,8 @@ tick(sig)
|
||||
mypid = getpid();
|
||||
while (PendingSignal != 0)
|
||||
{
|
||||
int sigbit;
|
||||
int sig;
|
||||
int sigbit = 0;
|
||||
int sig = 0;
|
||||
|
||||
if (bitset(PEND_SIGHUP, PendingSignal))
|
||||
{
|
||||
@ -321,7 +321,7 @@ tick(sig)
|
||||
|
||||
now = curtime();
|
||||
if (tTd(5, 4))
|
||||
dprintf("tick: now=%ld\n", (long) now);
|
||||
dprintf("sm_tick: now=%ld\n", (long) now);
|
||||
|
||||
while ((ev = EventQueue) != NULL &&
|
||||
(ev->ev_time <= now || ev->ev_pid != mypid))
|
||||
@ -336,7 +336,7 @@ tick(sig)
|
||||
EventQueue = EventQueue->ev_link;
|
||||
LEAVE_CRITICAL();
|
||||
if (tTd(5, 6))
|
||||
dprintf("tick: ev=%lx, func=%lx, arg=%d, pid=%d\n",
|
||||
dprintf("sm_tick: ev=%lx, func=%lx, arg=%d, pid=%d\n",
|
||||
(u_long) ev, (u_long) ev->ev_func,
|
||||
ev->ev_arg, ev->ev_pid);
|
||||
|
||||
@ -431,11 +431,32 @@ pend_signal(sig)
|
||||
|
||||
if (sigbit != 0)
|
||||
PendingSignal |= sigbit;
|
||||
(void) setsignal(SIGALRM, tick);
|
||||
(void) setsignal(SIGALRM, sm_tick);
|
||||
(void) alarm(1);
|
||||
errno = save_errno;
|
||||
}
|
||||
/*
|
||||
** SM_SIGNAL_NOOP -- A signal no-op function
|
||||
**
|
||||
** Parameters:
|
||||
** sig -- signal received
|
||||
**
|
||||
** Returns:
|
||||
** SIGFUNC_RETURN
|
||||
*/
|
||||
|
||||
/* ARGSUSED */
|
||||
SIGFUNC_DECL
|
||||
sm_signal_noop(sig)
|
||||
int sig;
|
||||
{
|
||||
int save_errno = errno;
|
||||
|
||||
FIX_SYSV_SIGNAL(sig, sm_signal_noop);
|
||||
errno = save_errno;
|
||||
return SIGFUNC_RETURN;
|
||||
}
|
||||
/*
|
||||
** SLEEP -- a version of sleep that works with this stuff
|
||||
**
|
||||
** Because sleep uses the alarm facility, I must reimplement
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: collect.c,v 8.136.4.21 2001/05/17 18:10:14 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: collect.c,v 8.136.4.22 2001/06/07 21:01:02 ca Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -352,7 +352,8 @@ bufferchar:
|
||||
{
|
||||
*bp++ = c;
|
||||
hdrslen++;
|
||||
if (MaxHeadersLength > 0 &&
|
||||
if (!headeronly &&
|
||||
MaxHeadersLength > 0 &&
|
||||
hdrslen > MaxHeadersLength)
|
||||
{
|
||||
sm_syslog(LOG_NOTICE, e->e_id,
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: conf.c,v 8.646.2.2.2.86 2001/05/17 18:18:40 ca Exp $";
|
||||
static char id[] = "@(#)$Id: conf.c,v 8.646.2.2.2.87 2001/07/20 23:56:52 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -4542,9 +4542,7 @@ sm_gethostbyname(name, family)
|
||||
hbuf, family);
|
||||
|
||||
# if NETINET6
|
||||
h = getipnodebyname(hbuf, family,
|
||||
AI_V4MAPPED|AI_ALL,
|
||||
&err);
|
||||
h = getipnodebyname(hbuf, family, flags, &err);
|
||||
SM_SET_H_ERRNO(err);
|
||||
save_errno = errno;
|
||||
# else /* NETINET6 */
|
||||
|
@ -10,7 +10,7 @@
|
||||
* the sendmail distribution.
|
||||
*
|
||||
*
|
||||
* $Id: conf.h,v 8.496.4.43 2001/05/20 22:29:59 gshapiro Exp $
|
||||
* $Id: conf.h,v 8.496.4.54 2001/07/31 22:30:24 gshapiro Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -488,6 +488,7 @@ typedef int pid_t;
|
||||
# endif /* ! __svr4__ */
|
||||
# define GIDSET_T gid_t
|
||||
# define USE_SA_SIGACTION 1 /* use sa_sigaction field */
|
||||
# define HASSTRERROR 1 /* has strerror(3) */
|
||||
# if _FFR_MILTER
|
||||
# define BROKEN_PTHREAD_SLEEP 1 /* sleep after pthread_create() fails */
|
||||
# endif /* _FFR_MILTER */
|
||||
@ -867,9 +868,11 @@ typedef int pid_t;
|
||||
#ifdef __bsdi__
|
||||
# include <paths.h>
|
||||
# define HASUNSETENV 1 /* has the unsetenv(3) call */
|
||||
# define HASSETREUID 0 /* BSD-OS has broken setreuid(2) emulation */
|
||||
# define HASSETSID 1 /* has the setsid(2) POSIX syscall */
|
||||
# define USESETEUID 1 /* has usable seteuid(2) call */
|
||||
# define HASFCHMOD 1 /* has fchmod(2) syscall */
|
||||
# define HASFCHOWN 1 /* has fchown(2) syscall */
|
||||
# define HASSETLOGIN 1 /* has setlogin(2) */
|
||||
# define HASSNPRINTF 1 /* has snprintf(3) and vsnprintf(3) */
|
||||
# define HASUNAME 1 /* has uname(2) syscall */
|
||||
@ -896,6 +899,9 @@ typedef int pid_t;
|
||||
# if defined(_BSDI_VERSION) && _BSDI_VERSION >= 199701 /* on 3.x */
|
||||
# define HASSETUSERCONTEXT 1 /* has setusercontext */
|
||||
# endif /* defined(_BSDI_VERSION) && _BSDI_VERSION >= 199701 */
|
||||
# if defined(_BSDI_VERSION) && _BSDI_VERSION >= 199910 /* on 4.x */
|
||||
# define HASURANDOMDEV 1 /* has /dev/urandom(4) */
|
||||
# endif /* defined(_BSDI_VERSION) && _BSDI_VERSION >= 199910 */
|
||||
#endif /* __bsdi__ */
|
||||
|
||||
|
||||
@ -1718,6 +1724,7 @@ typedef int pid_t;
|
||||
# include <sys/mkdev.h>
|
||||
# define __svr4__
|
||||
# define SYS5SIGNALS 1
|
||||
# define HASFCHOWN 1 /* has fchown(2) call */
|
||||
# define HASSETSID 1
|
||||
# define HASSNPRINTF 1
|
||||
# define HASSETREUID 1
|
||||
@ -2517,6 +2524,10 @@ typedef struct msgb mblk_t;
|
||||
# define S_IWOTH 0002
|
||||
#endif /* ! S_IWOTH */
|
||||
|
||||
#ifndef O_ACCMODE
|
||||
# define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
|
||||
#endif /* ! O_ACCMODE */
|
||||
|
||||
/* close-on-exec flag */
|
||||
#ifndef FD_CLOEXEC
|
||||
# define FD_CLOEXEC 1
|
||||
|
@ -16,9 +16,9 @@
|
||||
|
||||
#ifndef lint
|
||||
# ifdef DAEMON
|
||||
static char id[] = "@(#)$Id: daemon.c,v 8.401.4.61 2001/05/27 22:14:40 gshapiro Exp $ (with daemon mode)";
|
||||
static char id[] = "@(#)$Id: daemon.c,v 8.401.4.68 2001/07/20 18:45:58 gshapiro Exp $ (with daemon mode)";
|
||||
# else /* DAEMON */
|
||||
static char id[] = "@(#)$Id: daemon.c,v 8.401.4.61 2001/05/27 22:14:40 gshapiro Exp $ (without daemon mode)";
|
||||
static char id[] = "@(#)$Id: daemon.c,v 8.401.4.68 2001/07/20 18:45:58 gshapiro Exp $ (without daemon mode)";
|
||||
# endif /* DAEMON */
|
||||
#endif /* ! lint */
|
||||
|
||||
@ -702,7 +702,6 @@ getrequests(e)
|
||||
(void) setsignal(SIGHUP, SIG_DFL);
|
||||
(void) setsignal(SIGTERM, intsig);
|
||||
|
||||
|
||||
if (!control)
|
||||
{
|
||||
define(macid("{daemon_addr}", NULL),
|
||||
@ -718,6 +717,7 @@ getrequests(e)
|
||||
{
|
||||
if (Daemons[idx].d_socket >= 0)
|
||||
(void) close(Daemons[idx].d_socket);
|
||||
Daemons[idx].d_socket = -1;
|
||||
}
|
||||
clrcontrol();
|
||||
|
||||
@ -2481,15 +2481,26 @@ sighup(sig)
|
||||
** restarts the daemon or exits if restart fails.
|
||||
*/
|
||||
|
||||
/* Make a non-DFL/IGN signal a noop */
|
||||
#define SM_NOOP_SIGNAL(sig, old) \
|
||||
do \
|
||||
{ \
|
||||
(old) = setsignal((sig), sm_signal_noop); \
|
||||
if ((old) == SIG_IGN || (old) == SIG_DFL) \
|
||||
(void) setsignal((sig), (old)); \
|
||||
} while (0)
|
||||
|
||||
static void
|
||||
restart_daemon()
|
||||
{
|
||||
int i;
|
||||
int save_errno;
|
||||
char *reason;
|
||||
sigfunc_t oalrm, ochld, ohup, oint, opipe, oterm, ousr1;
|
||||
sigfunc_t ignore, oalrm, ousr1;
|
||||
extern int DtableSize;
|
||||
|
||||
/* clear the events to turn off SIGALRMs */
|
||||
clear_events();
|
||||
allsignals(TRUE);
|
||||
|
||||
reason = RestartRequest;
|
||||
@ -2527,28 +2538,37 @@ restart_daemon()
|
||||
(void) fcntl(i, F_SETFD, j | FD_CLOEXEC);
|
||||
}
|
||||
|
||||
/* need to allow signals before execve() so make them harmless */
|
||||
oalrm = setsignal(SIGALRM, SIG_DFL);
|
||||
ochld = setsignal(SIGCHLD, SIG_DFL);
|
||||
ohup = setsignal(SIGHUP, SIG_DFL);
|
||||
oint = setsignal(SIGINT, SIG_DFL);
|
||||
opipe = setsignal(SIGPIPE, SIG_DFL);
|
||||
oterm = setsignal(SIGTERM, SIG_DFL);
|
||||
ousr1 = setsignal(SIGUSR1, SIG_DFL);
|
||||
/*
|
||||
** Need to allow signals before execve() to make them "harmless".
|
||||
** However, the default action can be "terminate", so it isn't
|
||||
** really harmless. Setting signals to IGN will cause them to be
|
||||
** ignored in the new process to, so that isn't a good alternative.
|
||||
*/
|
||||
|
||||
SM_NOOP_SIGNAL(SIGALRM, oalrm);
|
||||
SM_NOOP_SIGNAL(SIGCHLD, ignore);
|
||||
SM_NOOP_SIGNAL(SIGHUP, ignore);
|
||||
SM_NOOP_SIGNAL(SIGINT, ignore);
|
||||
SM_NOOP_SIGNAL(SIGPIPE, ignore);
|
||||
SM_NOOP_SIGNAL(SIGTERM, ignore);
|
||||
#ifdef SIGUSR1
|
||||
SM_NOOP_SIGNAL(SIGUSR1, ousr1);
|
||||
#endif /* SIGUSR1 */
|
||||
allsignals(FALSE);
|
||||
|
||||
(void) execve(SaveArgv[0], (ARGV_T) SaveArgv, (ARGV_T) ExternalEnviron);
|
||||
save_errno = errno;
|
||||
|
||||
/* restore signals */
|
||||
/* block signals again and restore needed signals */
|
||||
allsignals(TRUE);
|
||||
|
||||
/* For finis() events */
|
||||
(void) setsignal(SIGALRM, oalrm);
|
||||
(void) setsignal(SIGCHLD, ochld);
|
||||
(void) setsignal(SIGHUP, ohup);
|
||||
(void) setsignal(SIGINT, oint);
|
||||
(void) setsignal(SIGPIPE, opipe);
|
||||
(void) setsignal(SIGTERM, oterm);
|
||||
|
||||
#ifdef SIGUSR1
|
||||
/* For debugging finis() */
|
||||
(void) setsignal(SIGUSR1, ousr1);
|
||||
#endif /* SIGUSR1 */
|
||||
|
||||
errno = save_errno;
|
||||
if (LogLevel > 0)
|
||||
@ -2580,6 +2600,19 @@ myhostname(hostbuf, size)
|
||||
if (gethostname(hostbuf, size) < 0 || hostbuf[0] == '\0')
|
||||
(void) strlcpy(hostbuf, "localhost", size);
|
||||
hp = sm_gethostbyname(hostbuf, InetMode);
|
||||
# if NETINET && NETINET6
|
||||
if (hp == NULL && InetMode == AF_INET6)
|
||||
{
|
||||
/*
|
||||
** It's possible that this IPv6 enabled machine doesn't
|
||||
** actually have any IPv6 interfaces and, therefore, no
|
||||
** IPv6 addresses. Fall back to AF_INET.
|
||||
*/
|
||||
|
||||
hp = sm_gethostbyname(hostbuf, AF_INET);
|
||||
}
|
||||
# endif /* NETINET && NETINET6 */
|
||||
|
||||
if (hp == NULL)
|
||||
return NULL;
|
||||
if (strchr(hp->h_name, '.') != NULL || strchr(hostbuf, '.') == NULL)
|
||||
@ -2793,10 +2826,30 @@ getauthinfo(fd, may_be_forged)
|
||||
}
|
||||
else
|
||||
{
|
||||
/* try to match the reverse against the forward lookup */
|
||||
hp = sm_gethostbyname(RealHostName,
|
||||
RealHostAddr.sa.sa_family);
|
||||
int family;
|
||||
|
||||
family = RealHostAddr.sa.sa_family;
|
||||
# if NETINET6 && NEEDSGETIPNODE
|
||||
/*
|
||||
** If RealHostAddr is an IPv6 connection with an
|
||||
** IPv4-mapped address, we need RealHostName's IPv4
|
||||
** address(es) for addrcmp() to compare against
|
||||
** RealHostAddr.
|
||||
**
|
||||
** Actually, we only need to do this for systems
|
||||
** which NEEDSGETIPNODE since the real getipnodebyname()
|
||||
** already does V4MAPPED address via the AI_V4MAPPEDCFG
|
||||
** flag. A better fix to this problem is to add this
|
||||
** functionality to our stub getipnodebyname().
|
||||
*/
|
||||
|
||||
if (family == AF_INET6 &&
|
||||
IN6_IS_ADDR_V4MAPPED(&RealHostAddr.sin6.sin6_addr))
|
||||
family = AF_INET;
|
||||
# endif /* NETINET6 && NEEDSGETIPNODE */
|
||||
|
||||
/* try to match the reverse against the forward lookup */
|
||||
hp = sm_gethostbyname(RealHostName, family);
|
||||
if (hp == NULL)
|
||||
*may_be_forged = TRUE;
|
||||
else
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: deliver.c,v 8.600.2.1.2.81 2001/05/23 02:15:42 ca Exp $";
|
||||
static char id[] = "@(#)$Id: deliver.c,v 8.600.2.1.2.86 2001/07/20 21:52:55 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -1927,6 +1927,9 @@ tryhost:
|
||||
struct stat stb;
|
||||
extern int DtableSize;
|
||||
|
||||
/* clear the events to turn off SIGALRMs */
|
||||
clear_events();
|
||||
|
||||
/* Reset global flags */
|
||||
RestartRequest = NULL;
|
||||
ShutdownRequest = NULL;
|
||||
@ -1936,9 +1939,14 @@ tryhost:
|
||||
(void) close(fileno(e->e_lockfp));
|
||||
|
||||
/* child -- set up input & exec mailer */
|
||||
(void) setsignal(SIGINT, SIG_IGN);
|
||||
(void) setsignal(SIGALRM, sm_signal_noop);
|
||||
(void) setsignal(SIGCHLD, SIG_DFL);
|
||||
(void) setsignal(SIGHUP, SIG_IGN);
|
||||
(void) setsignal(SIGINT, SIG_IGN);
|
||||
(void) setsignal(SIGTERM, SIG_DFL);
|
||||
# ifdef SIGUSR1
|
||||
(void) setsignal(SIGUSR1, sm_signal_noop);
|
||||
# endif /* SIGUSR1 */
|
||||
|
||||
if (m != FileMailer || stat(tochain->q_user, &stb) < 0)
|
||||
stb.st_mode = 0;
|
||||
@ -2071,7 +2079,19 @@ tryhost:
|
||||
/* reset user id */
|
||||
endpwent();
|
||||
if (bitnset(M_SPECIFIC_UID, m->m_flags))
|
||||
{
|
||||
new_euid = m->m_uid;
|
||||
|
||||
/*
|
||||
** Undo the effects of the uid change in main
|
||||
** for signal handling. The real uid may
|
||||
** be used by mailer in adding a "From "
|
||||
** line.
|
||||
*/
|
||||
|
||||
if (RealUid != 0 && RealUid != getuid())
|
||||
new_ruid = RealUid;
|
||||
}
|
||||
else if (bitset(S_ISUID, stb.st_mode))
|
||||
new_ruid = stb.st_uid;
|
||||
else if (ctladdr != NULL && ctladdr->q_uid != 0)
|
||||
@ -2091,6 +2111,22 @@ tryhost:
|
||||
|
||||
vendor_set_uid(new_euid);
|
||||
# if MAILER_SETUID_METHOD == USE_SETEUID
|
||||
# if HASSETREUID
|
||||
/*
|
||||
** Undo the effects of the uid change in main
|
||||
** for signal handling. The real uid may
|
||||
** be used by mailer in adding a "From "
|
||||
** line.
|
||||
*/
|
||||
|
||||
if (new_ruid != NO_UID &&
|
||||
setreuid(RealUid, geteuid()) < 0)
|
||||
{
|
||||
syserr("openmailer: setreuid(%d, %d) failed",
|
||||
(int) new_ruid, (int) geteuid());
|
||||
exit(EX_OSERR);
|
||||
}
|
||||
# endif /* HASSETREUID */
|
||||
if (seteuid(new_euid) < 0 && suidwarn)
|
||||
{
|
||||
syserr("openmailer: seteuid(%ld) failed",
|
||||
@ -3045,7 +3081,7 @@ markfailure(e, q, mci, rcode, ovr)
|
||||
** and if it represents an error, we print it.
|
||||
**
|
||||
** Parameters:
|
||||
** pid -- pid of mailer.
|
||||
** mci -- the mailer connection info.
|
||||
** e -- the current envelope.
|
||||
** pv -- the parameter vector that invoked the mailer
|
||||
** (for error messages).
|
||||
@ -4925,11 +4961,13 @@ hostsignature(m, host)
|
||||
nmx = getmxrr(hp, mxhosts, mxprefs, TRUE, &rcode);
|
||||
if (nmx <= 0)
|
||||
{
|
||||
int save_errno;
|
||||
register MCI *mci;
|
||||
|
||||
/* update the connection info for this host */
|
||||
save_errno = errno;
|
||||
mci = mci_get(hp, m);
|
||||
mci->mci_errno = errno;
|
||||
mci->mci_errno = save_errno;
|
||||
mci->mci_herrno = h_errno;
|
||||
mci->mci_lastuse = now;
|
||||
if (rcode == EX_NOHOST)
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: err.c,v 8.120.4.2 2001/05/03 17:24:06 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: err.c,v 8.120.4.3 2001/05/30 00:22:26 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -157,8 +157,6 @@ syserr(fmt, va_alist)
|
||||
#ifdef ESTALE
|
||||
case ESTALE:
|
||||
#endif /* ESTALE */
|
||||
|
||||
|
||||
printopenfds(TRUE);
|
||||
mci_dump_all(TRUE);
|
||||
break;
|
||||
|
@ -21,7 +21,7 @@ static char copyright[] =
|
||||
#endif /* ! lint */
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: main.c,v 8.485.4.60 2001/05/27 22:00:26 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: main.c,v 8.485.4.65 2001/07/20 00:53:00 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#define _DEFINE
|
||||
@ -35,7 +35,9 @@ static char id[] = "@(#)$Id: main.c,v 8.485.4.60 2001/05/27 22:00:26 gshapiro Ex
|
||||
|
||||
static SIGFUNC_DECL intindebug __P((int));
|
||||
static SIGFUNC_DECL quiesce __P((int));
|
||||
#ifdef SIGUSR1
|
||||
static SIGFUNC_DECL sigusr1 __P((int));
|
||||
# endif /* SIGUSR1 */
|
||||
static SIGFUNC_DECL term_daemon __P((int));
|
||||
static void dump_class __P((STAB *, int));
|
||||
static void obsolete __P((char **));
|
||||
@ -2156,7 +2158,7 @@ finis(drop, exitstat)
|
||||
{
|
||||
/* Still want to process new timeouts added below */
|
||||
clear_events();
|
||||
releasesignal(SIGALRM);
|
||||
(void) releasesignal(SIGALRM);
|
||||
|
||||
if (tTd(2, 1))
|
||||
{
|
||||
@ -2272,7 +2274,8 @@ shutdown_daemon()
|
||||
PendingSignal = 0;
|
||||
|
||||
if (LogLevel > 79)
|
||||
sm_syslog(LOG_DEBUG, CurEnv->e_id, "interrupt");
|
||||
sm_syslog(LOG_DEBUG, CurEnv->e_id, "interrupt (%s)",
|
||||
reason == NULL ? "implicit call" : reason);
|
||||
|
||||
FileName = NULL;
|
||||
closecontrolsocket(TRUE);
|
||||
@ -2347,7 +2350,7 @@ intsig(sig)
|
||||
|
||||
drop = TRUE;
|
||||
}
|
||||
else
|
||||
else if (OpMode != MD_TEST)
|
||||
unlockqueue(CurEnv);
|
||||
|
||||
finis(drop, EX_OK);
|
||||
@ -2758,6 +2761,7 @@ dumpstate(when)
|
||||
}
|
||||
sm_syslog(LOG_DEBUG, CurEnv->e_id, "--- end of state dump ---");
|
||||
}
|
||||
#ifdef SIGUSR1
|
||||
/*
|
||||
** SIGUSR1 -- Signal a request to dump state.
|
||||
**
|
||||
@ -2788,6 +2792,7 @@ sigusr1(sig)
|
||||
errno = save_errno;
|
||||
return SIGFUNC_RETURN;
|
||||
}
|
||||
# endif /* SIGUSR1 */
|
||||
/*
|
||||
** DROP_PRIVILEGES -- reduce privileges to those of the RunAsUser option
|
||||
**
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: map.c,v 8.414.4.53 2001/05/04 01:29:00 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: map.c,v 8.414.4.54 2001/06/01 08:23:24 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -126,9 +126,6 @@ static bool text_getcanonname __P((char *, int, int *));
|
||||
# define LOCK_ON_OPEN 0 /* no such luck -- bend over backwards */
|
||||
#endif /* O_EXLOCK && HASFLOCK && !BOGUS_O_EXCL */
|
||||
|
||||
#ifndef O_ACCMODE
|
||||
# define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
|
||||
#endif /* ! O_ACCMODE */
|
||||
/*
|
||||
** MAP_PARSEARGS -- parse config line arguments for database lookup
|
||||
**
|
||||
|
@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: milter.c,v 8.50.4.46 2001/05/11 18:11:36 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: milter.c,v 8.50.4.51 2001/07/20 00:53:01 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#if _FFR_MILTER
|
||||
@ -26,6 +26,7 @@ static char id[] = "@(#)$Id: milter.c,v 8.50.4.46 2001/05/11 18:11:36 gshapiro E
|
||||
# define SM_FD_ISSET FD_ISSET
|
||||
# define SM_FD_SETSIZE FD_SETSIZE
|
||||
|
||||
static void milter_connect_timeout __P((void));
|
||||
static void milter_error __P((struct milter *));
|
||||
static int milter_open __P((struct milter *, bool, ENVELOPE *));
|
||||
static void milter_parse_timeouts __P((char *, struct milter *));
|
||||
@ -511,6 +512,8 @@ milter_write(m, cmd, buf, len, to, e)
|
||||
** -1 otherwise.
|
||||
*/
|
||||
|
||||
static jmp_buf MilterConnectTimeout;
|
||||
|
||||
static int
|
||||
milter_open(m, parseonly, e)
|
||||
struct milter *m;
|
||||
@ -950,8 +953,23 @@ milter_open(m, parseonly, e)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (connect(sock, (struct sockaddr *) &addr, addrlen) >= 0)
|
||||
break;
|
||||
if (setjmp(MilterConnectTimeout) == 0)
|
||||
{
|
||||
EVENT *ev = NULL;
|
||||
int i;
|
||||
|
||||
if (m->mf_timeout[SMFTO_CONNECT] > 0)
|
||||
ev = setevent(m->mf_timeout[SMFTO_CONNECT],
|
||||
milter_connect_timeout, 0);
|
||||
|
||||
i = connect(sock, (struct sockaddr *) &addr, addrlen);
|
||||
save_errno = errno;
|
||||
if (ev != NULL)
|
||||
clrevent(ev);
|
||||
errno = save_errno;
|
||||
if (i >= 0)
|
||||
break;
|
||||
}
|
||||
|
||||
/* couldn't connect.... try next address */
|
||||
save_errno = errno;
|
||||
@ -1006,6 +1024,8 @@ milter_open(m, parseonly, e)
|
||||
}
|
||||
continue;
|
||||
}
|
||||
p = CurHostName;
|
||||
CurHostName = at;
|
||||
if (tTd(64, 5))
|
||||
dprintf("X%s: error connecting to filter: %s\n",
|
||||
m->mf_name, errstring(save_errno));
|
||||
@ -1013,6 +1033,7 @@ milter_open(m, parseonly, e)
|
||||
sm_syslog(LOG_ERR, e->e_id,
|
||||
"X%s: error connecting to filter: %s",
|
||||
m->mf_name, errstring(save_errno));
|
||||
CurHostName = p;
|
||||
milter_error(m);
|
||||
# if _FFR_FREEHOSTENT && NETINET6
|
||||
if (hp != NULL)
|
||||
@ -1030,6 +1051,19 @@ milter_open(m, parseonly, e)
|
||||
# endif /* _FFR_FREEHOSTENT && NETINET6 */
|
||||
return sock;
|
||||
}
|
||||
|
||||
static void
|
||||
milter_connect_timeout()
|
||||
{
|
||||
/*
|
||||
** NOTE: THIS CAN BE CALLED FROM A SIGNAL HANDLER. DO NOT ADD
|
||||
** ANYTHING TO THIS ROUTINE UNLESS YOU KNOW WHAT YOU ARE
|
||||
** DOING.
|
||||
*/
|
||||
|
||||
errno = ETIMEDOUT;
|
||||
longjmp(MilterConnectTimeout, 1);
|
||||
}
|
||||
/*
|
||||
** MILTER_SETUP -- setup structure for a mail filter
|
||||
**
|
||||
@ -1066,6 +1100,7 @@ milter_setup(line)
|
||||
m->mf_name = newstr(line);
|
||||
m->mf_state = SMFS_READY;
|
||||
m->mf_sock = -1;
|
||||
m->mf_timeout[SMFTO_CONNECT] = (time_t) 0;
|
||||
m->mf_timeout[SMFTO_WRITE] = (time_t) 10;
|
||||
m->mf_timeout[SMFTO_READ] = (time_t) 10;
|
||||
m->mf_timeout[SMFTO_EOM] = (time_t) 300;
|
||||
@ -1097,6 +1132,10 @@ milter_setup(line)
|
||||
/* install the field into the filter struct */
|
||||
switch (fcode)
|
||||
{
|
||||
case 'C':
|
||||
m->mf_timeout[SMFTO_CONNECT] = convtime(p, 's');
|
||||
break;
|
||||
|
||||
case 'S': /* socket */
|
||||
if (p == NULL)
|
||||
m->mf_conn = NULL;
|
||||
@ -2851,7 +2890,10 @@ milter_connect(hostname, addr, e, state)
|
||||
|
||||
# if NETINET6
|
||||
case AF_INET6:
|
||||
family = SMFIA_INET6;
|
||||
if (IN6_IS_ADDR_V4MAPPED(&addr.sin6.sin6_addr))
|
||||
family = SMFIA_INET;
|
||||
else
|
||||
family = SMFIA_INET6;
|
||||
port = htons(addr.sin6.sin6_port);
|
||||
sockinfo = anynet_ntop(&addr.sin6.sin6_addr, buf6,
|
||||
sizeof buf6);
|
||||
|
@ -16,9 +16,9 @@
|
||||
|
||||
#ifndef lint
|
||||
# if QUEUE
|
||||
static char id[] = "@(#)$Id: queue.c,v 8.343.4.55 2001/05/03 23:37:11 gshapiro Exp $ (with queueing)";
|
||||
static char id[] = "@(#)$Id: queue.c,v 8.343.4.62 2001/07/20 00:53:01 gshapiro Exp $ (with queueing)";
|
||||
# else /* QUEUE */
|
||||
static char id[] = "@(#)$Id: queue.c,v 8.343.4.55 2001/05/03 23:37:11 gshapiro Exp $ (without queueing)";
|
||||
static char id[] = "@(#)$Id: queue.c,v 8.343.4.62 2001/07/20 00:53:01 gshapiro Exp $ (without queueing)";
|
||||
# endif /* QUEUE */
|
||||
#endif /* ! lint */
|
||||
|
||||
@ -68,6 +68,35 @@ static int workcmpf2();
|
||||
static int workcmpf3();
|
||||
static int workcmpf4();
|
||||
|
||||
/*
|
||||
** Current qf file field assignments:
|
||||
**
|
||||
** A AUTH= parameter
|
||||
** B body type
|
||||
** C controlling user
|
||||
** D data file name
|
||||
** E error recipient
|
||||
** F flag bits
|
||||
** G queue delay algorithm
|
||||
** H header
|
||||
** I data file's inode number
|
||||
** K time of last delivery attempt
|
||||
** L Solaris Content-Length: header (obsolete)
|
||||
** M message (obsolete)
|
||||
** N number of delivery attempts
|
||||
** P message priority
|
||||
** Q original recipient (ORCPT=)
|
||||
** R recipient
|
||||
** S sender
|
||||
** T init time
|
||||
** V queue file version
|
||||
** X character set (_FFR_SAVE_CHARSET)
|
||||
** Y current delay
|
||||
** Z original envelope id from ESMTP
|
||||
** $ define macro
|
||||
** . terminate file
|
||||
*/
|
||||
|
||||
/*
|
||||
** QUEUEUP -- queue a message up for future transmission.
|
||||
**
|
||||
@ -374,6 +403,7 @@ queueup(e, announce)
|
||||
if (q->q_orcpt != NULL)
|
||||
fprintf(tfp, "Q%s\n",
|
||||
denlstring(q->q_orcpt, TRUE, FALSE));
|
||||
|
||||
(void) putc('R', tfp);
|
||||
if (bitset(QPRIMARY, q->q_flags))
|
||||
(void) putc('P', tfp);
|
||||
@ -2151,15 +2181,15 @@ readqf(e)
|
||||
/* regenerated below */
|
||||
break;
|
||||
|
||||
case 'K': /* time of last delivery attempt */
|
||||
case 'K': /* time of last delivery attempt */
|
||||
e->e_dtime = atol(&buf[1]);
|
||||
break;
|
||||
|
||||
# if _FFR_QUEUEDELAY
|
||||
case 'G': /* queue delay algorithm */
|
||||
case 'G': /* queue delay algorithm */
|
||||
e->e_queuealg = atoi(&buf[1]);
|
||||
break;
|
||||
case 'Y': /* current delay */
|
||||
case 'Y': /* current delay */
|
||||
e->e_queuedelay = (time_t) atol(&buf[1]);
|
||||
break;
|
||||
# endif /* _FFR_QUEUEDELAY */
|
||||
@ -2933,7 +2963,15 @@ setctluser(user, qfver)
|
||||
if ((p = strtok(NULL, ":")) != NULL)
|
||||
a->q_gid = atoi(p);
|
||||
if ((p = strtok(NULL, ":")) != NULL)
|
||||
{
|
||||
char *o;
|
||||
|
||||
a->q_flags |= QGOODUID;
|
||||
|
||||
/* if there is another ':': restore it */
|
||||
if ((o = strtok(NULL, ":")) != NULL && o > p)
|
||||
o[-1] = ':';
|
||||
}
|
||||
}
|
||||
else if ((pw = sm_getpwnam(user)) != NULL)
|
||||
{
|
||||
@ -3086,7 +3124,7 @@ setnewqueue(e)
|
||||
return;
|
||||
}
|
||||
|
||||
if (NumQueues == 1)
|
||||
if (NumQueues <= 1)
|
||||
idx = 0;
|
||||
else
|
||||
{
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: readcf.c,v 8.382.4.40 2001/05/03 17:24:13 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: readcf.c,v 8.382.4.42 2001/07/31 22:30:24 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -3380,6 +3380,7 @@ settimeout(name, val, sticky)
|
||||
{
|
||||
register struct timeoutinfo *to;
|
||||
int i;
|
||||
int addopts;
|
||||
time_t toval;
|
||||
|
||||
if (tTd(37, 2))
|
||||
@ -3413,6 +3414,7 @@ settimeout(name, val, sticky)
|
||||
dprintf("\n");
|
||||
|
||||
toval = convtime(val, 'm');
|
||||
addopts = 0;
|
||||
|
||||
switch (to->to_code)
|
||||
{
|
||||
@ -3481,6 +3483,7 @@ settimeout(name, val, sticky)
|
||||
TimeOuts.to_q_warning[TOC_NORMAL] = toval;
|
||||
TimeOuts.to_q_warning[TOC_URGENT] = toval;
|
||||
TimeOuts.to_q_warning[TOC_NONURGENT] = toval;
|
||||
addopts = 2;
|
||||
break;
|
||||
|
||||
case TO_QUEUEWARN_NORMAL:
|
||||
@ -3503,6 +3506,7 @@ settimeout(name, val, sticky)
|
||||
TimeOuts.to_q_return[TOC_NORMAL] = toval;
|
||||
TimeOuts.to_q_return[TOC_URGENT] = toval;
|
||||
TimeOuts.to_q_return[TOC_NONURGENT] = toval;
|
||||
addopts = 2;
|
||||
break;
|
||||
|
||||
case TO_QUEUERETURN_NORMAL:
|
||||
@ -3530,6 +3534,7 @@ settimeout(name, val, sticky)
|
||||
TimeOuts.res_retrans[RES_TO_DEFAULT] = toval;
|
||||
TimeOuts.res_retrans[RES_TO_FIRST] = toval;
|
||||
TimeOuts.res_retrans[RES_TO_NORMAL] = toval;
|
||||
addopts = 2;
|
||||
break;
|
||||
|
||||
case TO_RESOLVER_RETRY:
|
||||
@ -3537,6 +3542,7 @@ settimeout(name, val, sticky)
|
||||
TimeOuts.res_retry[RES_TO_DEFAULT] = i;
|
||||
TimeOuts.res_retry[RES_TO_FIRST] = i;
|
||||
TimeOuts.res_retry[RES_TO_NORMAL] = i;
|
||||
addopts = 2;
|
||||
break;
|
||||
|
||||
case TO_RESOLVER_RETRANS_NORMAL:
|
||||
@ -3565,7 +3571,10 @@ settimeout(name, val, sticky)
|
||||
}
|
||||
|
||||
if (sticky)
|
||||
setbitn(to->to_code, StickyTimeoutOpt);
|
||||
{
|
||||
for (i = 0; i <= addopts; i++)
|
||||
setbitn(to->to_code + i, StickyTimeoutOpt);
|
||||
}
|
||||
}
|
||||
/*
|
||||
** INITTIMEOUTS -- parse and set timeout values
|
||||
|
@ -20,7 +20,7 @@
|
||||
#ifdef _DEFINE
|
||||
# define EXTERN
|
||||
# ifndef lint
|
||||
static char SmailId[] = "@(#)$Id: sendmail.h,v 8.517.4.64 2001/05/23 17:49:13 ca Exp $";
|
||||
static char SmailId[] = "@(#)$Id: sendmail.h,v 8.517.4.69 2001/07/20 18:46:01 gshapiro Exp $";
|
||||
# endif /* ! lint */
|
||||
#else /* _DEFINE */
|
||||
# define EXTERN extern
|
||||
@ -1360,8 +1360,9 @@ extern char *validate_connection __P((SOCKADDR *, char *, ENVELOPE *));
|
||||
#define SMFTO_WRITE 0 /* Timeout for sending information */
|
||||
#define SMFTO_READ 1 /* Timeout waiting for a response */
|
||||
#define SMFTO_EOM 2 /* Timeout for ACK/NAK to EOM */
|
||||
#define SMFTO_CONNECT 3 /* Timeout for connect() */
|
||||
|
||||
#define SMFTO_NUM_TO 3 /* Total number of timeouts */
|
||||
#define SMFTO_NUM_TO 4 /* Total number of timeouts */
|
||||
|
||||
struct milter
|
||||
{
|
||||
@ -1649,13 +1650,14 @@ do \
|
||||
} while (0)
|
||||
|
||||
#define CHECK_CRITICAL(sig) \
|
||||
do \
|
||||
{ \
|
||||
if (InCriticalSection > 0 && (sig) != 0) \
|
||||
{ \
|
||||
pend_signal((sig)); \
|
||||
return SIGFUNC_RETURN; \
|
||||
} \
|
||||
}
|
||||
} while (0)
|
||||
|
||||
/* reset signal in case System V semantics */
|
||||
#ifdef SYS5SIGNALS
|
||||
@ -2114,6 +2116,7 @@ extern SIGFUNC_DECL reapchild __P((int));
|
||||
extern int releasesignal __P((int));
|
||||
extern void resetlimits __P((void));
|
||||
extern bool rfc822_string __P((char *));
|
||||
extern FILE *safefopen __P((char *, int, int, long));
|
||||
extern void savemail __P((ENVELOPE *, bool));
|
||||
extern void seed_random __P((void));
|
||||
extern void sendtoargv __P((char **, ENVELOPE *));
|
||||
@ -2139,6 +2142,7 @@ extern int sm_getla __P((ENVELOPE *));
|
||||
extern struct passwd *sm_getpwnam __P((char *));
|
||||
extern struct passwd *sm_getpwuid __P((UID_T));
|
||||
extern void sm_setproctitle __P((bool, ENVELOPE *, const char *, ...));
|
||||
extern SIGFUNC_DECL sm_signal_noop __P((int));
|
||||
extern int sm_strcasecmp __P((const char *, const char *));
|
||||
extern void stop_sendmail __P((void));
|
||||
extern bool strcontainedin __P((char *, char *));
|
||||
|
@ -9,7 +9,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: sfsasl.c,v 8.17.4.14 2001/05/03 17:24:16 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: sfsasl.c,v 8.17.4.15 2001/07/11 17:37:07 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#if SFIO
|
||||
@ -168,18 +168,19 @@ sfdcsasl(fin, fout, conn)
|
||||
# include "sfsasl.h"
|
||||
# include <openssl/err.h>
|
||||
|
||||
static ssize_t
|
||||
# if SFIO
|
||||
static ssize_t
|
||||
tls_read(f, buf, size, disc)
|
||||
Sfio_t *f;
|
||||
Void_t *buf;
|
||||
size_t size;
|
||||
Sfdisc_t *disc;
|
||||
# else /* SFIO */
|
||||
static int
|
||||
tls_read(disc, buf, size)
|
||||
void *disc;
|
||||
void *buf;
|
||||
size_t size;
|
||||
char *buf;
|
||||
int size;
|
||||
# endif /* SFIO */
|
||||
{
|
||||
int r;
|
||||
@ -226,18 +227,19 @@ tls_read(disc, buf, size)
|
||||
return r;
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
# if SFIO
|
||||
static ssize_t
|
||||
tls_write(f, buf, size, disc)
|
||||
Sfio_t *f;
|
||||
const Void_t *buf;
|
||||
size_t size;
|
||||
Sfdisc_t *disc;
|
||||
# else /* SFIO */
|
||||
static int
|
||||
tls_write(disc, buf, size)
|
||||
void *disc;
|
||||
const void *buf;
|
||||
size_t size;
|
||||
const char *buf;
|
||||
int size;
|
||||
# endif /* SFIO */
|
||||
{
|
||||
int r;
|
||||
|
@ -16,9 +16,9 @@
|
||||
|
||||
#ifndef lint
|
||||
# if SMTP
|
||||
static char id[] = "@(#)$Id: srvrsmtp.c,v 8.471.2.2.2.77 2001/05/27 22:20:30 gshapiro Exp $ (with SMTP)";
|
||||
static char id[] = "@(#)$Id: srvrsmtp.c,v 8.471.2.2.2.78 2001/06/26 18:52:21 gshapiro Exp $ (with SMTP)";
|
||||
# else /* SMTP */
|
||||
static char id[] = "@(#)$Id: srvrsmtp.c,v 8.471.2.2.2.77 2001/05/27 22:20:30 gshapiro Exp $ (without SMTP)";
|
||||
static char id[] = "@(#)$Id: srvrsmtp.c,v 8.471.2.2.2.78 2001/06/26 18:52:21 gshapiro Exp $ (without SMTP)";
|
||||
# endif /* SMTP */
|
||||
#endif /* ! lint */
|
||||
|
||||
@ -768,7 +768,7 @@ smtp(nullserver, d_flags, e)
|
||||
if (bitnset(D_ETRNONLY, d_flags) &&
|
||||
nullserver == NULL)
|
||||
break;
|
||||
continue;
|
||||
/* FALLTHROUGH */
|
||||
|
||||
default:
|
||||
if (++badcommands > MAXBADCOMMANDS)
|
||||
|
@ -15,9 +15,9 @@
|
||||
|
||||
#ifndef lint
|
||||
# if SMTP
|
||||
static char id[] = "@(#)$Id: usersmtp.c,v 8.245.4.33 2001/05/23 18:53:09 ca Exp $ (with SMTP)";
|
||||
static char id[] = "@(#)$Id: usersmtp.c,v 8.245.4.34 2001/06/26 21:55:23 gshapiro Exp $ (with SMTP)";
|
||||
# else /* SMTP */
|
||||
static char id[] = "@(#)$Id: usersmtp.c,v 8.245.4.33 2001/05/23 18:53:09 ca Exp $ (without SMTP)";
|
||||
static char id[] = "@(#)$Id: usersmtp.c,v 8.245.4.34 2001/06/26 21:55:23 gshapiro Exp $ (without SMTP)";
|
||||
# endif /* SMTP */
|
||||
#endif /* ! lint */
|
||||
|
||||
@ -1873,6 +1873,9 @@ smtpdata(m, mci, e)
|
||||
if (Verbose)
|
||||
nmessage(">>> .");
|
||||
|
||||
sm_syslog(LOG_CRIT, e->e_id,
|
||||
"%.100s: SMTP DATA-1 protocol error: remote server returned response before final dot",
|
||||
CurHostName);
|
||||
mci->mci_errno = EIO;
|
||||
mci->mci_state = MCIS_ERROR;
|
||||
mci_setstat(mci, EX_PROTOCOL, "5.5.0", NULL);
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: util.c,v 8.225.2.1.2.23 2001/05/17 18:10:18 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: util.c,v 8.225.2.1.2.26 2001/06/01 08:23:25 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
#include <sendmail.h>
|
||||
@ -2529,6 +2529,81 @@ proc_list_display(out)
|
||||
}
|
||||
}
|
||||
/*
|
||||
** SAFEFOPEN -- do a file open with extra checking
|
||||
**
|
||||
** Parameters:
|
||||
** fn -- the file name to open.
|
||||
** omode -- the open-style mode flags.
|
||||
** cmode -- the create-style mode flags.
|
||||
** sff -- safefile flags.
|
||||
**
|
||||
** Returns:
|
||||
** Same as fopen.
|
||||
*/
|
||||
|
||||
FILE *
|
||||
safefopen(fn, omode, cmode, sff)
|
||||
char *fn;
|
||||
int omode;
|
||||
int cmode;
|
||||
long sff;
|
||||
{
|
||||
int fd;
|
||||
int save_errno;
|
||||
FILE *fp;
|
||||
char *fmode;
|
||||
|
||||
switch (omode & O_ACCMODE)
|
||||
{
|
||||
case O_RDONLY:
|
||||
fmode = "r";
|
||||
break;
|
||||
|
||||
case O_WRONLY:
|
||||
if (bitset(O_APPEND, omode))
|
||||
fmode = "a";
|
||||
else
|
||||
fmode = "w";
|
||||
break;
|
||||
|
||||
case O_RDWR:
|
||||
if (bitset(O_TRUNC, omode))
|
||||
fmode = "w+";
|
||||
else if (bitset(O_APPEND, omode))
|
||||
fmode = "a+";
|
||||
else
|
||||
fmode = "r+";
|
||||
break;
|
||||
|
||||
default:
|
||||
syserr("554 5.3.5 safefopen: unknown omode %o", omode);
|
||||
fmode = "x";
|
||||
}
|
||||
fd = safeopen(fn, omode, cmode, sff);
|
||||
if (fd < 0)
|
||||
{
|
||||
save_errno = errno;
|
||||
if (tTd(44, 10))
|
||||
dprintf("safefopen: safeopen failed: %s\n",
|
||||
errstring(errno));
|
||||
errno = save_errno;
|
||||
return NULL;
|
||||
}
|
||||
fp = fdopen(fd, fmode);
|
||||
if (fp != NULL)
|
||||
return fp;
|
||||
|
||||
save_errno = errno;
|
||||
if (tTd(44, 10))
|
||||
{
|
||||
dprintf("safefopen: fdopen(%s, %s) failed: omode=%x, sff=%lx, err=%s\n",
|
||||
fn, fmode, omode, sff, errstring(errno));
|
||||
}
|
||||
(void) close(fd);
|
||||
errno = save_errno;
|
||||
return NULL;
|
||||
}
|
||||
/*
|
||||
** SM_STRCASECMP -- 8-bit clean version of strcasecmp
|
||||
**
|
||||
** Thank you, vendors, for making this all necessary.
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char id[] = "@(#)$Id: version.c,v 8.43.4.33 2001/05/27 21:39:21 gshapiro Exp $";
|
||||
static char id[] = "@(#)$Id: version.c,v 8.43.4.37 2001/07/31 22:34:20 gshapiro Exp $";
|
||||
#endif /* ! lint */
|
||||
|
||||
char Version[] = "8.11.4";
|
||||
char Version[] = "8.11.5";
|
||||
|
@ -13,7 +13,8 @@ main(argc, argv)
|
||||
|
||||
r = snprintf(buf, sizeof buf, "%s", TEST_STRING);
|
||||
|
||||
if (buf[sizeof buf - 1] != '\0')
|
||||
if (buf[sizeof buf - 1] != '\0' ||
|
||||
r != strlen(TEST_STRING))
|
||||
{
|
||||
fprintf(stderr, "Add the following to devtools/Site/site.config.m4:\n\n");
|
||||
fprintf(stderr, "APPENDDEF(`confENVDEF', `-DSNPRINTF_IS_BROKEN=1')\n\n");
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" Copyright (c) 1999-2000 Sendmail, Inc. and its suppliers.
|
||||
.\" Copyright (c) 1999-2001 Sendmail, Inc. and its suppliers.
|
||||
.\" All rights reserved.
|
||||
.\" Copyright (c) 1985, 1987, 1990, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
@ -9,9 +9,9 @@
|
||||
.\" the sendmail distribution.
|
||||
.\"
|
||||
.\"
|
||||
.\" $Id: vacation.1,v 8.11.4.6 2000/12/29 18:12:23 gshapiro Exp $
|
||||
.\" $Id: vacation.1,v 8.11.4.8 2001/07/20 04:19:38 gshapiro Exp $
|
||||
.\"
|
||||
.TH VACATION 1 "$Date: 2000/12/29 18:12:23 $"
|
||||
.TH VACATION 1 "$Date: 2001/07/20 04:19:38 $"
|
||||
.SH NAME
|
||||
vacation
|
||||
\- return ``I am not here'' indication
|
||||
@ -55,7 +55,7 @@ Available options:
|
||||
.TP
|
||||
.BI \-a " alias"
|
||||
Handle messages for
|
||||
.Ar alias
|
||||
.I alias
|
||||
in the same manner as those received for the user's
|
||||
login name.
|
||||
.TP
|
||||
|
Loading…
x
Reference in New Issue
Block a user