From 78fe66320c18087215c42243c41620efb6972c98 Mon Sep 17 00:00:00 2001
From: Wietse Venema
If your machine is not the main machine for $myorigin and you wish to have some users delivered locally without going via that @@ -502,7 +502,7 @@ from remote SMTP clients only if the client matches the domain name specified with the remote_header_rewrite_domain configuration parameter, if one is specified. To get the behavior before Postfix 2.2, specify "local_header_rewrite_clients = -static:all".
+static:all".Some will argue that rewriting "host" to "host.domain" is bad. That is why it can be turned off. Others like the convenience @@ -519,7 +519,7 @@ from remote SMTP clients only if the client matches the local_header_rewrite_clients parameter, or if the remote_header_rewrite_domain configuration parameter specifies a non-empty value. To get the behavior before Postfix 2.2, specify -"local_header_rewrite_clients = static:all".
+"local_header_rewrite_clients = static:all". @@ -537,7 +537,7 @@ from remote SMTP clients only if the client matches the local_header_rewrite_clients parameter, or if the remote_header_rewrite_domain configuration parameter specifies a non-empty value. To get the behavior before Postfix 2.2, specify -"local_header_rewrite_clients = static:all". +"local_header_rewrite_clients = static:all".Address rewriting is done for local and remote addresses. The mapping is useful to @@ -621,7 +621,7 @@ from remote SMTP clients only if the client matches the local_header_rewrite_clients parameter, or if the remote_header_rewrite_domain configuration parameter specifies a non-empty value. To get the behavior before Postfix 2.2, specify -"local_header_rewrite_clients = static:all".
+"local_header_rewrite_clients = static:all".Address masquerading is disabled by default, and is implemented by the cleanup(8) server. To enable, edit the masquerade_domains @@ -995,9 +995,9 @@ local machine.
smtp_generic_maps = hash:/etc/postfix/generic /etc/postfix/generic: - his@localdomain.local hisaccount@hisisp.example - her@localdomain.local heraccount@herisp.example - @localdomain.local hisaccount+local@hisisp.example + his@localdomain.local hisaccount@hisisp.example + her@localdomain.local heraccount@herisp.example + @localdomain.local hisaccount+local@hisisp.example diff --git a/postfix/html/BACKSCATTER_README.html b/postfix/html/BACKSCATTER_README.html index 631e15235..2638260bc 100644 --- a/postfix/html/BACKSCATTER_README.html +++ b/postfix/html/BACKSCATTER_README.html @@ -195,7 +195,7 @@ patterns like this: endif /^Message-ID:.* <!&!/ DUNNO /^Message-ID:.*@(porcupine\.org)/ - reject forged domain name in Message-ID: header: $1 + reject forged domain name in Message-ID: header: $1 /etc/postfix/body_checks: # Do not indent the patterns between "if" and "endif". @@ -209,7 +209,7 @@ patterns like this: endif /^[> ]*Message-ID:.* <!&!/ DUNNO /^[> ]*Message-ID:.*@(porcupine\.org)/ - reject forged domain name in Message-ID: header: $1 + reject forged domain name in Message-ID: header: $1 diff --git a/postfix/html/BUILTIN_FILTER_README.html b/postfix/html/BUILTIN_FILTER_README.html index 22418cdce..0e75f9f71 100644 --- a/postfix/html/BUILTIN_FILTER_README.html +++ b/postfix/html/BUILTIN_FILTER_README.html @@ -78,13 +78,13 @@ built-in content inspection works:@@ -1191,7 +1191,7 @@ directory:# postmulti [-I postfix-myinst] [-G mygroup] -e create \ - "config_directory = /path/to/config_directory" \ - "queue_directory = /path/to/queue_directory" \ - "data_directory = /path/to/data_directory" + "config_directory = /path/to/config_directory" \ + "queue_directory = /path/to/queue_directory" \ + "data_directory = /path/to/data_directory"
diff --git a/postfix/html/RESTRICTION_CLASS_README.html b/postfix/html/RESTRICTION_CLASS_README.html index 6b85f8d8f..8858b92b8 100644 --- a/postfix/html/RESTRICTION_CLASS_README.html +++ b/postfix/html/RESTRICTION_CLASS_README.html @@ -49,9 +49,9 @@ care about these low-level details. smtpd_recipient_restrictions = permit_mynetworks - # reject_unauth_destination is not needed here if the mail - # relay policy is specified with smtpd_relay_restrictions - # (available with Postfix 2.10 and later). + # reject_unauth_destination is not needed here if the mail + # relay policy is specified with smtpd_relay_restrictions + # (available with Postfix 2.10 and later). reject_unauth_destination check_recipient_access hash:/etc/postfix/recipient_access ... diff --git a/postfix/html/SASL_README.html b/postfix/html/SASL_README.html index 5c34030da..e39391fe7 100644 --- a/postfix/html/SASL_README.html +++ b/postfix/html/SASL_README.html @@ -1385,9 +1385,9 @@ Examples: # preferably specified under smtpd_relay_restrictions. /etc/postfix/main.cf: smtpd_relay_restrictions = - permit_mynetworks - permit_sasl_authenticated - reject_unauth_destination + permit_mynetworks + permit_sasl_authenticated + reject_unauth_destination# postmulti [-I postfix-myinst] [-G mygroup] -e import \ - "config_directory = /path/of/config_directory" + "config_directory = /path/of/config_directory"
@@ -1396,10 +1396,10 @@ Examples:
# 2.10 specify "smtpd_relay_restrictions=".
/etc/postfix/main.cf:
smtpd_recipient_restrictions =
- permit_mynetworks
- permit_sasl_authenticated
- reject_unauth_destination
- ...other rules...
+ permit_mynetworks
+ permit_sasl_authenticated
+ reject_unauth_destination
+ ...other rules...
@@ -1425,7 +1425,7 @@ use a particular envelope sender address:
smtpd_recipient_restrictions =
...
reject_sender_login_mismatch
- permit_sasl_authenticated
+ permit_sasl_authenticated
...
@@ -1472,14 +1472,14 @@ REJECT mail from accounts whose credentials have been compromised.
/etc/postfix/main.cf:
smtpd_recipient_restrictions =
- permit_mynetworks
- check_sasl_access hash:/etc/postfix/sasl_access
- permit_sasl_authenticated
- ...
+ permit_mynetworks
+ check_sasl_access hash:/etc/postfix/sasl_access
+ permit_sasl_authenticated
+ ...
/etc/postfix/sasl_access:
# Use this when smtpd_sasl_local_domain is empty.
- username HOLD
+ username HOLD
# Use this when smtpd_sasl_local_domain=example.com.
username@example.com HOLD
diff --git a/postfix/html/SCHEDULER_README.html b/postfix/html/SCHEDULER_README.html
index 0fc20d84a..06922f398 100644
--- a/postfix/html/SCHEDULER_README.html
+++ b/postfix/html/SCHEDULER_README.html
@@ -1,5 +1,5 @@
+ "http://www.w3.org/TR/html4/loose.dtd">
@@ -877,10 +877,10 @@ do
if transport process limit reached continue
foreach transport's job (in the order of the transport's job list)
do
- foreach job's peer (round-robin-by-destination)
- if peer->queue->concurrency < peer->queue->window
- return next peer entry.
- done
+ foreach job's peer (round-robin-by-destination)
+ if peer->queue->concurrency < peer->queue->window
+ return next peer entry.
+ done
done
done
diff --git a/postfix/html/SMTPD_ACCESS_README.html b/postfix/html/SMTPD_ACCESS_README.html
index 6d8a81a52..87c810305 100644
--- a/postfix/html/SMTPD_ACCESS_README.html
+++ b/postfix/html/SMTPD_ACCESS_README.html
@@ -190,20 +190,20 @@ described in the postconf(5) manual page.
# Relay control (Postfix 2.10 and later): local clients and
# authenticated clients may specify any destination domain.
smtpd_relay_restrictions = permit_mynetworks,
- permit_sasl_authenticated,
- reject_unauth_destination
+ permit_sasl_authenticated,
+ reject_unauth_destination
# Spam control: exclude local clients and authenticated clients
# from DNSBL lookups.
smtpd_recipient_restrictions = permit_mynetworks,
- permit_sasl_authenticated,
- # reject_unauth_destination is not needed here if the mail
- # relay policy is specified under smtpd_relay_restrictions
- # (available with Postfix 2.10 and later).
- reject_unauth_destination
- reject_rbl_client zen.spamhaus.org,
- reject_rhsbl_helo dbl.spamhaus.org,
- reject_rhsbl_sender dbl.spamhaus.org
+ permit_sasl_authenticated,
+ # reject_unauth_destination is not needed here if the mail
+ # relay policy is specified under smtpd_relay_restrictions
+ # (available with Postfix 2.10 and later).
+ reject_unauth_destination
+ reject_rbl_client zen.spamhaus.org,
+ reject_rhsbl_helo dbl.spamhaus.org,
+ reject_rhsbl_sender dbl.spamhaus.org
# Block clients that speak too early.
smtpd_data_restrictions = reject_unauth_pipelining
diff --git a/postfix/html/TLS_README.html b/postfix/html/TLS_README.html
index c460a195a..c15cae3b2 100644
--- a/postfix/html/TLS_README.html
+++ b/postfix/html/TLS_README.html
@@ -1528,7 +1528,7 @@ As in the example above, we show two matching fingerprints:
/etc/postfix/tls_policy: - example.com fingerprint + example.com fingerprint match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35@@ -2299,8 +2299,8 @@ Example: [mail.example.org]:587 secure match=nexthop # Postfix 2.5 and later [thumb.example.org] fingerprint - match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 - match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 + match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 + match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 # Postfix 2.6 and later example.info may protocols=!SSLv2 ciphers=medium exclude=3DES @@ -2791,14 +2791,14 @@ but don't require them from all clients. /etc/postfix/main.cf: smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_tls_session_cache_database = - btree:/var/lib/postfix/smtp_tls_session_cache + btree:/var/lib/postfix/smtp_tls_session_cache smtp_tls_security_level = may smtpd_tls_CAfile = /etc/postfix/cacert.pem smtpd_tls_cert_file = /etc/postfix/foo-cert.pem smtpd_tls_key_file = /etc/postfix/foo-key.pem smtpd_tls_received_header = yes smtpd_tls_session_cache_database = - btree:/var/lib/postfix/smtpd_tls_session_cache + btree:/var/lib/postfix/smtpd_tls_session_cache tls_random_source = dev:/dev/urandom smtpd_tls_security_level = may diff --git a/postfix/html/postconf.5.html b/postfix/html/postconf.5.html index 2c013792f..28a3b3e6d 100644 --- a/postfix/html/postconf.5.html +++ b/postfix/html/postconf.5.html @@ -7018,7 +7018,7 @@ to the configured before/after 220 greeting tests./etc/postfix/main.cf: postscreen_access_list = permit_mynetworks, - cidr:/etc/postfix/postscreen_access.cidr + cidr:/etc/postfix/postscreen_access.cidr postscreen_blacklist_action = enforce@@ -7341,7 +7341,7 @@ the file is read)./etc/postfix/dnsbl_reply: - secret.zen.spamhaus.org zen.spamhaus.org + secret.zen.spamhaus.org zen.spamhaus.orgThis feature is available in Postfix 2.8.
@@ -11199,7 +11199,7 @@ As in the example above, we show two matching fingerprints:/etc/postfix/tls_policy: - example.com fingerprint + example.com fingerprint match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35@@ -11777,8 +11777,8 @@ Example: [mail.example.org]:587 secure match=nexthop # Postfix 2.5 and later [thumb.example.org] fingerprint - match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 - match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 + match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 + match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1Note: The hostname strategy if listed in a non-default diff --git a/postfix/proto/Makefile.in b/postfix/proto/Makefile.in index e9a69cd15..adfcf2591 100644 --- a/postfix/proto/Makefile.in +++ b/postfix/proto/Makefile.in @@ -95,6 +95,7 @@ MAN = ../man/man5/postconf.5 AWK = awk '{ print; if (NR == 1) print ".pl 9999\n.ll 65" }' SRCTOMAN= ../mantools/srctoman POSTLINK= ../mantools/postlink +DETAB = pr -tre HT2READ = ../mantools/html2readme MAKEAAA = ../mantools/makereadme MAKESOHO= ../mantools/make_soho_readme @@ -138,341 +139,341 @@ clobber: $(SRCTOMAN) - $? | $(AWK) | nroff -man | col -bx | uniq | sed 's/^/# /' >$@ ../html/ADDRESS_CLASS_README.html: ADDRESS_CLASS_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/ADDRESS_REWRITING_README.html: ADDRESS_REWRITING_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/ADDRESS_VERIFICATION_README.html: ADDRESS_VERIFICATION_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/BACKSCATTER_README.html: BACKSCATTER_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/CDB_README.html: CDB_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/CONNECTION_CACHE_README.html: CONNECTION_CACHE_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/CONTENT_INSPECTION_README.html: CONTENT_INSPECTION_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/CYRUS_README.html: CYRUS_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/BASIC_CONFIGURATION_README.html: BASIC_CONFIGURATION_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/BUILTIN_FILTER_README.html: BUILTIN_FILTER_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/DATABASE_README.html: DATABASE_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/DB_README.html: DB_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/DEBUG_README.html: DEBUG_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/DSN_README.html: DSN_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/ETRN_README.html: ETRN_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/FILTER_README.html: FILTER_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/INSTALL.html: INSTALL.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/IPV6_README.html: IPV6_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/LDAP_README.html: LDAP_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/LINUX_README.html: LINUX_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/LOCAL_RECIPIENT_README.html: LOCAL_RECIPIENT_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/MAILDROP_README.html: MAILDROP_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/LMDB_README.html: LMDB_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/MEMCACHE_README.html: MEMCACHE_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/MILTER_README.html: MILTER_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/MULTI_INSTANCE_README.html: MULTI_INSTANCE_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/MYSQL_README.html: MYSQL_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/NFS_README.html: NFS_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/OVERVIEW.html: OVERVIEW.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/PACKAGE_README.html: PACKAGE_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/PCRE_README.html: PCRE_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/PGSQL_README.html: PGSQL_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/POSTSCREEN_README.html: POSTSCREEN_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/QMQP_README.html: QMQP_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/QSHAPE_README.html: QSHAPE_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/RESTRICTION_CLASS_README.html: RESTRICTION_CLASS_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/SASL_README.html: SASL_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/SCHEDULER_README.html: SCHEDULER_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/SMTPD_ACCESS_README.html: SMTPD_ACCESS_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/SMTPD_POLICY_README.html: SMTPD_POLICY_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/SMTPD_PROXY_README.html: SMTPD_PROXY_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/SOHO_README.html: $(MAKESOHO) $(DEPSOHO) - $(MAKESOHO) | $(POSTLINK) >$@ + $(MAKESOHO) | $(POSTLINK) | $(DETAB) >$@ ../html/SQLITE_README.html: SQLITE_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/STANDARD_CONFIGURATION_README.html: STANDARD_CONFIGURATION_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/STRESS_README.html: STRESS_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/TUNING_README.html: TUNING_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/UUCP_README.html: UUCP_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/ULTRIX_README.html: ULTRIX_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/VERP_README.html: VERP_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/VIRTUAL_README.html: VIRTUAL_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/XCLIENT_README.html: XCLIENT_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/XFORWARD_README.html: XFORWARD_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/TLS_README.html: TLS_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../html/TLS_LEGACY_README.html: TLS_LEGACY_README.html - $(POSTLINK) $? >$@ + $(POSTLINK) $? | $(DETAB) >$@ ../README_FILES/ADDRESS_CLASS_README: ADDRESS_CLASS_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/ADDRESS_REWRITING_README: ADDRESS_REWRITING_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/ADDRESS_VERIFICATION_README: ADDRESS_VERIFICATION_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/BACKSCATTER_README: BACKSCATTER_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/BASIC_CONFIGURATION_README: BASIC_CONFIGURATION_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/BUILTIN_FILTER_README: BUILTIN_FILTER_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/CDB_README: CDB_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/CONNECTION_CACHE_README: CONNECTION_CACHE_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/CONTENT_INSPECTION_README: CONTENT_INSPECTION_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/CYRUS_README: CYRUS_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/DATABASE_README: DATABASE_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/DB_README: DB_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/DEBUG_README: DEBUG_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/DSN_README: DSN_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/ETRN_README: ETRN_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/FILTER_README: FILTER_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/INSTALL: INSTALL.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/IPV6_README: IPV6_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/LDAP_README: LDAP_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/LINUX_README: LINUX_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/LOCAL_RECIPIENT_README: LOCAL_RECIPIENT_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/MAILDROP_README: MAILDROP_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/LMDB_README: LMDB_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/MEMCACHE_README: MEMCACHE_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/MILTER_README: MILTER_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/MULTI_INSTANCE_README: MULTI_INSTANCE_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/MYSQL_README: MYSQL_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/NFS_README: NFS_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/OVERVIEW: OVERVIEW.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/PACKAGE_README: PACKAGE_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/PCRE_README: PCRE_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/PGSQL_README: PGSQL_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/POSTSCREEN_README: POSTSCREEN_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/QMQP_README: QMQP_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/QSHAPE_README: QSHAPE_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/RESTRICTION_CLASS_README: RESTRICTION_CLASS_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/SASL_README: SASL_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/SCHEDULER_README: SCHEDULER_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/SMTPD_ACCESS_README: SMTPD_ACCESS_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/SMTPD_POLICY_README: SMTPD_POLICY_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/SMTPD_PROXY_README: SMTPD_PROXY_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/SOHO_README: $(MAKESOHO) $(DEPSOHO) - $(MAKESOHO) | $(HT2READ) >$@ + $(MAKESOHO) | $(HT2READ) | $(DETAB) >$@ ../README_FILES/SQLITE_README: SQLITE_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/STANDARD_CONFIGURATION_README: STANDARD_CONFIGURATION_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/STRESS_README: STRESS_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/TUNING_README: TUNING_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/UUCP_README: UUCP_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/ULTRIX_README: ULTRIX_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/VERP_README: VERP_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/VIRTUAL_README: VIRTUAL_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/XCLIENT_README: XCLIENT_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/XFORWARD_README: XFORWARD_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/TLS_README: TLS_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/TLS_LEGACY_README: TLS_LEGACY_README.html - $(HT2READ) $? >$@ + $(HT2READ) $? | $(DETAB) >$@ ../README_FILES/AAAREADME: ../html/index.html $(MAKEAAA) - $(MAKEAAA) ../html/index.html | $(HT2READ) >$@ + $(MAKEAAA) ../html/index.html | $(HT2READ) | $(DETAB) >$@ ../man/man5/postconf.5: postconf.man.prolog postconf.proto postconf.man.epilog \ ../mantools/xpostconf ../mantools/postconf2html ../mantools/postconf2man (cat postconf.man.prolog; ../mantools/xpostconf postconf.proto | \ ../mantools/postconf2html | ../mantools/postconf2man | \ - sed 's/\\e&/\\\&/'; cat postconf.man.epilog ) > $@ + sed 's/\\e&/\\\&/'; cat postconf.man.epilog ) | $(DETAB) > $@ ../html/postconf.5.html: postconf.html.prolog postconf.proto \ postconf.html.epilog ../mantools/xpostconf ../mantools/postconf2html \ ../mantools/postlink (cat postconf.html.prolog; ../mantools/xpostconf postconf.proto | \ ../mantools/postconf2html | ../mantools/postlink; \ - cat postconf.html.epilog ) > $@ + cat postconf.html.epilog ) | $(DETAB) > $@ diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 90692516b..04ddb62aa 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,7 +20,7 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20131102" +#define MAIL_RELEASE_DATE "20131103" #define MAIL_VERSION_NUMBER "2.11" #ifdef SNAPSHOT diff --git a/postfix/src/util/dict_lmdb.c b/postfix/src/util/dict_lmdb.c index 1aa8412b6..aa6836042 100644 --- a/postfix/src/util/dict_lmdb.c +++ b/postfix/src/util/dict_lmdb.c @@ -551,12 +551,31 @@ DICT *dict_lmdb_open(const char *path, int open_flags, int dict_flags) mdb_path = concatenate(path, "." DICT_TYPE_LMDB, (char *) 0); /* - * Impedance adapters. + * Security violation. + * + * By default, LMDB 0.9.9 writes uninitialized heap memory to a + * world-readable database file. This is a basic memory disclosure + * vulnerability: memory content that a program does not intend to share + * ends up in a world-readable file. The content of uninitialized heap + * memory depends on program execution history. That history includes + * code execution in other libraries that are linked into the program. + * + * As a workaround we turn on MDB_WRITEMAP which disables the use of + * malloc() in LMDB. However, that does not address several disclosures + * of stack memory. */ mdb_flags = MDB_NOSUBDIR | MDB_NOLOCK; if (open_flags == O_RDONLY) mdb_flags |= MDB_RDONLY; + /* + * Replace with MDB_VERSION_FULL < MDB_VERINT(X, Y, Z) after this is + * fixed up-stream. + */ +#if 1 + mdb_flags |= MDB_WRITEMAP; +#endif + slmdb_flags = 0; if (dict_flags & DICT_FLAG_BULK_UPDATE) slmdb_flags |= SLMDB_FLAG_BULK; -- 2.47.3