Many things have changed since the release of the third edition of this book. That edition covered sendmail through V8.12. Since then, V8.13 through V8.14 have been released. V8.13 was covered in the book sendmail 8.13 Companion. Unfortunately, there is no completely satisfactory way to indicate all those changes within the text proper of this book. Instead, we have elected to list the changes in this appendix, ordered by the chapter in which they are described, and thus, essentially by subject.
The tutorial of earlier editions has been condensed to this single chapter, and partly incorporated into others.
|
Download the Source on page 42 |
A more complete explanation of how to validate signature of the source distribution (ed4) |
|
The libsm Directory on page 49 |
Tests in libsm now
require |
|
confCCLINK on page 73 |
The |
|
confMKDIR on page 90 |
The |
|
confMSP_STFILE on page 91 |
The |
|
HAS... on page 114 |
HASCLOSEFROM indicates that you have closefrom(3) (8.13) |
|
HAS... on page 114 |
HASFDWALK indicates that you have fdwalk(3) (8.13) |
|
MAX... on page 120 |
MAXINPLINE increased to 12288 to support long AUTH negotiation lines (8.14) |
|
MILTER_NO_NAGLE on page 1172 |
MILTER_NO_NAGLE turns off nagling for communication with Milters (8.14) |
|
NEED... on page 126 |
NEEDINTERRNO to say |
|
SASL on page 137 |
SASL flaw fixed for possible library initialization race condition (8.14) |
|
SM_CONF_LDAP_INITIALIZE on page 143 |
SM_CONF_LDAP_INITIALIZE to enable ldap_initialize(3) (8.13) |
|
SM_CONF_POLL on page 1172 |
SM_CONF_POLL for poll(2) instead of select(2) in Milters (8.13) |
|
SOCKETMAP on page 145 |
SOCKETMAP to enable use of |
Nothing new since the third edition.
|
SASL and Your mc File on page 191 |
AUTH is now more fully explained with more detailed examples (ed4) |
|
Public Key Cryptography on page 199 |
Public/Private encryption is now explained (ed4) |
|
Set Up Your Certificates on page 206 |
TLS now includes certificate creation examples (ed4) |
|
Add STARTTLS Support to Your mc File on page 211 |
The new confCRL m4 macro (8.12) |
|
Pitfalls on page 219 |
SMTP AUTH information now excluded from bounce email (8.13) |
|
-ba on page 233 |
Using |
|
-D on page 239 |
Write debugging output to a file with
|
|
The -Q command-line switch on page 440 |
Quarantine an envelope with |
|
-v on page 249 |
The modified |
|
The Local_check_ Rule Sets on page 252 |
HTTP proxy commands immediately cause the server to drop the connection (8.14) |
|
Local_check_relay and check_relay on page 252 |
Macros which, when defined in check_relay, are maintained for the entire SMTP session (8.14) |
|
FEATURE(dnsbl) on page 261 |
The |
|
FEATURE(dnsbl) on page 261 |
The |
|
FEATURE(dnsbl) on page 261 |
The |
|
FEATURE(enhdnsbl) on page 263 |
The |
|
The access Database on page 277 |
The |
|
Rejection Message for REJECT on page 283 |
The |
|
The check_eom Rule Set on page 258 |
The |
|
FEATURE(badmx)—V8.14 and Later on page 291 |
The |
|
FEATURE(block_bad_helo)—V8.14 and Later on page 292 |
The |
|
FEATURE(greet_pause)—V8.13 and Later on page 293 |
The |
|
FEATURE(greet_pause)—V8.13 and Later on page 293 |
Log the time after which the |
|
FEATURE(greet_pause)—V8.13 and Later on page 293 |
Do not invoke |
|
FEATURE(greet_pause)—V8.13 and Later on page 293 |
Don’t log |
|
FEATURE(mtamark)—V8.13 and Later, Experimental on page 295 |
Experimental |
|
FEATURE(require_rdns)—V8.14 and Later on page 296 |
The |
|
FEATURE(use_client_ptr)—V8.13 and Later on page 297 |
The |
Nothing new since the third edition.
|
Which BIND? on page 324 |
BIND 9 is now the recommended version (ed4) |
|
Failover MX Servers Result in Spam on page 332 |
Risks of backup MX servers is discussed (ed4) |
|
How to Use dig on page 338 |
The dig(1) program replaces the nslookup(1) program (ed4) |
|
The mailstats Program on page 364 |
The mailstats program’s
output includes an |
|
-D on page 373 |
The makemap program’s
new |
|
-j on page 388 |
The vacation program’s
new |
|
-R on page 390 |
The vacation program’s
new |
|
Handle Qf Files on page 422 |
Use |
|
Handle Deep Queues on page 404 |
Handling deep queues moved from defunct performance chapter (ed4) |
|
Recover from a Full Queue on page 407 |
Recover from full queues moved from defunct performance chapter (ed4) |
|
Parts of a Queued Message on page 396 |
The |
|
Periodically with -q on page 427 |
The |
|
Queue Group Limitations on page 418 |
The |
|
Persistent Queue Runners with -qp on page 434 |
All persistent queue runners can restart with SIGHUP to control persistent queue runner (8.14) |
|
Queue Quarantining on page 438 |
Queue quarantining now officially supported (8.13) |
|
The -qQ command-line switch on page 439 |
Use |
|
The -Q command-line switch on page 440 |
Quarantine an envelope with |
|
Pitfalls on page 444 |
Milter recipient rejection defect and queue group selection fixed (8.14) |
|
q line on page 453 |
The |
|
V line on page 457 |
The |
|
Timeout.queuereturn (V8.7 and later) on page 1106 |
The new |
|
Timeout.queuewarn (V8.7 and later) on page 1107 |
The new |
|
RFC2142 Common Mailbox Names on page 474 |
RFC2142 has been documented in its own section (ed4) |
|
Mail List Etiquette on page 495 |
Mail list etiquette (ed4) |
|
Other Useful Logging on page 520 |
A guide to other syslog information in this book (ed4) |
|
action= on page 521 |
The |
|
milter= on page 524 |
The |
|
quarantine= on page 526 |
The |
|
The -D Debug File Switch on page 535 |
The new |
|
Table of All -d Categories on page 536 |
The latest debugging settings have been listed (8.13 and 8.14) |
|
Pitfalls on page 539 |
|
Nothing new since third edition.
|
The access Database on page 277 |
The |
|
FEATURE(badmx)—V8.14 and Later on page 291 |
F |
|
FEATURE(block_bad_helo)—V8.14 and Later on page 292 |
|
|
FEATURE(require_rdns)—V8.14 and Later on page 296 |
|
|
The LOCAL_UUCP mc Macro on page 609 |
The |
|
FEATURE(conncontrol) on page 619 |
|
|
FEATURE(nodns) on page 635 |
Removed |
|
FEATURE(local_lmtp) on page 625 |
|
|
FEATURE(local_lmtp) on page 625 |
|
|
FEATURE(ratecontrol) on page 638 |
|
|
As of V8.13, rules no longer need to balance on page 653 |
Rules no longer need to balance special characters (8.13) |
|
srv_features on page 708 |
The |
|
Use rule sets to quarantine on page 442 |
The |
|
FEATURE(local_lmtp) on page 625 |
|
|
L= on page 745 |
|
|
F=B on page 768 |
|
|
F=W on page 782 |
|
|
${addr_type} on page 803 |
Existing |
|
${auth_authen} on page 804 |
Existing |
|
${auth_author} on page 805 |
Existing |
|
${client_connections} on page 811 |
New |
|
${client_rate} on page 814 |
New |
|
${msg_id} on page 834 |
New |
|
${nbadrcpts} on page 837 |
New |
|
${quarantine} on page 841 |
New |
|
${time} on page 846 |
New |
|
${client_rate} on page 814 |
New |
|
${client_ptr} on page 813 |
New |
|
Classes with mc Configuration on page 866 |
Two existing class macros, |
|
$=w on page 876 |
The class |
|
DNS database-map -B switch on page 908 |
The |
|
DNS database-map -Z switch on page 908 |
The |
|
DNS database-map -z switch on page 908 |
The |
|
arith on page 898 |
The |
|
LDAP default schema for aliases includes recursion on page 914 |
The |
|
LDAP default schema for classes includes recursion on page 914 |
The |
|
The -H ldap database-map switch on page 915 |
The |
|
The -K ldap database-map switch (V8.14 and later) on page 916 |
The |
|
The -v ldap database-map switch on page 919 |
The |
|
The -w ldap database-map switch on page 921 |
The |
|
FEATURE(ldap_routing) on page 922 |
|
|
FEATURE(ldap_routing) on page 922 |
|
|
AuthOptions on page 977 |
The |
|
AuthRealm on page 978 |
The |
|
CheckpointInterval on page 983 |
The |
|
ConnectionCacheSize on page 987 |
The |
|
ConnectionRateWindowSize on page 989 |
The |
|
ControlSocketName on page 990 |
The control socket defined by the |
|
CRLFile on page 992 |
The |
|
DaemonPortOptions=InputFilter= on page 1178 |
The |
|
DaemonPortOptions=children= (8.14 and later) on page 994 |
The |
|
DaemonPortOptions=delayLA= (8.14 and later) on page 995 |
The |
|
DaemonPortOptions=DeliveryMode= (8.14 and later) on page 995 |
The |
|
DaemonPortOptions=Modify= on page 996 |
The |
|
DaemonPortOptions=queueLA= (8.14 and later) on page 997 |
The |
|
DaemonPortOptions=refuseLA= (8.14 and later) on page 997 |
The |
|
ErrorMode=w on page 1030 |
The |
|
FallBackSmartHost on page 1031 |
The |
|
HeloName on page 1034 |
The |
|
MaxNOOPCommands on page 1048 |
The |
|
PrivacyOptions=noactualrecipient on page 1067 |
The |
|
RejectLogInterval on page 1079 |
The |
|
RequiresDirFsync on page 1082 |
The |
|
SharedMemoryKeyFile on page 1091 |
The |
|
SoftBounce on page 1094 |
The |
|
StatusFile on page 1095 |
The |
|
Timeout.queuereturn (V8.7 and later) on page 1106 |
The |
|
Timeout.queuewarn (V8.7 and later) on page 1107 |
The |
|
Milter.macros.data on page 1055 |
The |
|
Milter.macros.eom on page 1056 |
The |
|
PidFile on page 1063 |
The |
|
QueueSortOrder=none (V8.13 and later) on page 1075 |
The |
|
SuperSafe on page 1096 |
The |
|
No balancing with $>+ on page 1133 |
Header fields are now 8-bit clean (8.14) |
|
No balancing with $>+ on page 1133 |
Preserve spaces after the colon in a header (V8.14) |
|
No balancing with $>+ on page 1133 |
Special characters no longer need to balance
with |
|
H_RECEIPTTO Header Flag (V8.7 and Later) on page 1141 |
The |
|
Message-ID: on page 1159 |
The |
|
${msg_id} on page 834 |
The new |
|
Root Won’t Remove Socket File on page 1179 |
Root won’t remove a Milter socket file (V8.13) |
|
Milter smfi_addrcpt_par() on page 1186 |
The Milter |
|
Milter smfi_chgfrom() on page 1187 |
The Milter |
|
Milter smfi_getsymval() on page 1190 |
sendmail macros may be
passed to |
|
Milter smfi_opensocket() on page 1193 |
The Milter |
|
Milter smfi_progress() on page 1193 |
The Milter |
|
Milter smfi_quarantine() on page 1194 |
The Milter |
|
Milter smfi_setbacklog() on page 1197 |
The Milter |
|
Milter smfi_setdbg() on page 1198 |
The Milter |
|
Milter smfi_setmlreply() on page 1198 |
The Milter |
|
Milter smfi_setreply() on page 1200 |
The use of a 421 return code and returning a
temporary failure to drop a connection now works
with |
|
Milter smfi_setsymlist() on page 1201 |
The Milter |
|
Milter smfi_stop() on page 1202 |
The Milter |
|
Milter smfi_version() on page 1203 |
The Milter |
|
Milter xxfi_body() on page 1207 |
The |
|
Milter xxfi_data() on page 1210 |
The Milter |
|
Milter xxfi_header() on page 1217 |
The Milter |
|
Milter xxfi_negotiate() on page 1220 |
The Milter |
|
Milter xxfi_negotiate() on page 1220 |
The Milter |
|
Milter xxfi_unknown() on page 1223 |
The Milter |