]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.12-20141118
authorWietse Venema <wietse@porcupine.org>
Tue, 18 Nov 2014 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Thu, 20 Nov 2014 02:18:57 +0000 (21:18 -0500)
23 files changed:
postfix/HISTORY
postfix/WISHLIST
postfix/html/postconf.5.html
postfix/man/man5/postconf.5
postfix/proto/postconf.proto
postfix/src/global/dict_pgsql.c
postfix/src/global/mail_version.h
postfix/src/global/mynetworks.c
postfix/src/postconf/postconf.c
postfix/src/postqueue/postqueue.c
postfix/src/smtp/smtp_addr.c
postfix/src/smtpstone/smtp-sink.c
postfix/src/util/base32_code.c
postfix/src/util/base64_code.c
postfix/src/util/cidr_match.c
postfix/src/util/dict_cdb.c
postfix/src/util/dict_db.c
postfix/src/util/dict_dbm.c
postfix/src/util/dict_lmdb.c
postfix/src/util/dict_pcre.c
postfix/src/util/dict_regexp.c
postfix/src/util/dict_sockmap.c
postfix/src/util/dict_thash.c

index f65554850a8c9e530deadfb84498150d0c3f2715..95c8b763c7bf90adb40409e7e3999ea04289d4f6 100644 (file)
@@ -20736,3 +20736,45 @@ Apologies for any names omitted.
        Cleanup: set errno to ETIMEDOUT after postscreen handshake
        timeout event, so that warnings report the correct error.
        File: tlsproxy/tlsproxy.c.
+
+20141112
+
+       Documentation: 24 identical typos. File: proto/postconf.proto.
+
+       Workaround: support space after "MAIL FROM:" and "RCPT TO:"
+       in smtpd_command_filter examples. Reportedly, cashedge.com's
+       software (used by banks) needs this (source: Claus Assmann).
+       File: proto/postconf.proto.
+
+20141117
+
+       Cleanup: use ~0U instead of (unsigned) -1.  Based on
+       complaints from the BEAM static analyzer.  Files:
+       global/mynetworks.c, postconf/postconf.c, util/cidr_match.c.
+
+       Cleanup: forgot the "do" in "do { stuff } while (0)" macros.
+       Luckily, this had caused no problem. Based on complaints
+       from the BEAM static analyzer. Files: util/dict_cdb.c,
+       util/dict_dbm.c, util/dict_lmdb.c, util/dict_pcre.c,
+       util/dict_regexp.c, util/dict_sockmap.c, util/dict_thash.c.
+
+       Bugfix (introduced: Postfix 2.9):  lockfile descriptor leak
+       after error. Based on complaints from the BEAM static
+       analyzer. File: util/dict_db.c.
+
+       Bugfix (introduced: Postfix 1.1): don't "set" the null byte
+       element in the base64 and base32 decoding maps. Based on
+       complaints from the BEAM static analyzer. Files: util/base64_code,
+       util/base32_code.c.
+
+       Cleanup: don't exit(0) after failing to run showq(8). Based
+       on complaints from the BEAM static analyzer.  File:
+       postqueue/postqueue.c.
+
+       Bugfix: memory leak when getaddrinfo() returns a result
+       that is neither IPv4 nor IPv6.  Based on complaints from
+       the BEAM static analyzer.  File: smtp/smtp_addr.c.
+
+       Cleanup: use more meaningful name for global variable so
+       that it isn't shadowed by a local variable. Based on
+       complaints from the BEAM static analyzer. smtpstone/smtp-sink.c.
index d688042f75cf86aaebb0f6e58a10c144d2b01b87..454ae0399021ffd125cee2ec4a0ea2386e54305b 100644 (file)
@@ -8,6 +8,15 @@ Wish list:
 
        Things to do after the stable release:
 
+       Find a way to show non-default OPT, DEBUG etc. settings at
+       the top of the makedefs.out file.
+
+       Inline table for quick tests.  Short form example: inline:{
+       name1=value1, name2=value2 } would instantiate a table with
+       tuples (name1, value1) and (name2, value2). Long form example
+       allows space around =, and space/comma in values: inline:{
+       { name1 = value1 }, { name2 = value2 } }.
+
        Update smtputf8_enable in postconf(5)
 
        Clobber ORCPT when sender is owner-mumble?
@@ -362,11 +371,6 @@ Wish list:
        transport map that piggy-backs domains with the same MX
        host into the same mail delivery transaction?
 
-       inline table where the "whitespace replacement" character
-       is specified in-line. Ex: inline:XYname1Xvalue1Yname2Xvalue2
-       would instantiate a table with (name1, value1) and (name2,
-       value2).  I'm afraid this is just too ugly.
-
        tlsproxy(8) should receive TLS preferences from postscreen(8)
        and smtpd(8), instead of reading them from main.cf. This
        means that many tlsproxy_ parameters become postscreen_
index 839386b981162d6fec351594c104bb64299b11b9..c75a5652a822ef2e19bab97b6927271da610ae4a 100644 (file)
@@ -583,7 +583,7 @@ Examples:
 The alias databases that are used for <a href="local.8.html">local(8)</a> delivery. See
 <a href="aliases.5.html">aliases(5)</a> for syntax details.
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 </p>
@@ -1372,7 +1372,7 @@ manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 </p>
@@ -5468,7 +5468,7 @@ not, but it does not use the result from table lookup.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -5870,7 +5870,7 @@ is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">ma
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -5950,7 +5950,7 @@ is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">ma
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -8395,7 +8395,7 @@ access for the read-only service.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma.
+whitespace or comma.
 Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.
 </p>
 
@@ -8828,7 +8828,7 @@ supported) is added when mail enters from outside of Postfix.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -8863,8 +8863,8 @@ software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
 </p>
 
 <p>
-Note: with Postfix 2.2 and earlier the sender will be notified
-when the BCC address is undeliverable.
+Note: with Postfix 2.2 and earlier the sender will unconditionally
+be notified when the BCC address is undeliverable.
 </p>
 
 <p> Note: automatic BCC recipients are produced only for new mail.
@@ -9153,7 +9153,7 @@ use the result from table lookup.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -9266,7 +9266,7 @@ documented in <a href="relocated.5.html">relocated(5)</a>.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -9503,7 +9503,7 @@ supported) is added when mail enters from outside of Postfix.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -9622,7 +9622,7 @@ This information is overruled with the <a href="transport.5.html">transport(5)</
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -9653,7 +9653,7 @@ the <a href="transport.5.html">transport(5)</a> table. </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -10249,7 +10249,7 @@ table is not indexed by hostname for consistency with
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -10471,7 +10471,7 @@ instead.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -10737,7 +10737,7 @@ is not indexed by hostname for consistency with
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -11088,7 +11088,7 @@ chroot jail, so you can leave the password file in /etc/postfix.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -12138,7 +12138,7 @@ this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -13617,20 +13617,20 @@ feature: </p>
 <pre>
     # Work around clients that send RCPT TO:&lt;'user@domain'&gt;.
     # WARNING: do not lose the parameters that follow the address.
-    /^RCPT\s+TO:\s*&lt;'([^[:space:]]+)'&gt;(.*)/     RCPT TO:&lt;$1&gt;$2
+    /^(RCPT\s+TO:\s*&lt;)'([^[:space:]]+)'(&gt;.*)/     $1$2$3
 </pre>
 
 <pre>
     # Append XVERP to MAIL FROM commands to request VERP-style delivery.
     # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP.
-    /^(MAIL FROM:&lt;listname@example\.com&gt;.*)/   $1 XVERP
+    /^(MAIL FROM:\s*&lt;listname@example\.com&gt;.*)/   $1 XVERP
 </pre>
 
 <pre>
     # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
     # to send bounced mail to the postmaster (with message body removed).
-    /^(RCPT\s+TO:&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2
-    /^(RCPT\s+TO:.*)/                    $1 NOTIFY=NEVER
+    /^(RCPT\s+TO:\s*&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/     $1 NOTIFY=NEVER$2
+    /^(RCPT\s+TO:.*)/                             $1 NOTIFY=NEVER
 </pre>
 
 <p> This feature is available in Postfix 2.7. </p>
@@ -13750,7 +13750,7 @@ The tables are not searched by hostname for robustness reasons.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -15275,7 +15275,7 @@ Optional lookup table with the SASL login names that own sender
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.  With lookups from
 indexed files such as DB or DBM, or from networked tables such as
 NIS, LDAP or SQL, the following search operations are done with a
@@ -18205,7 +18205,7 @@ for details.
 
 <p>
 Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.  If you use this
 feature with local files, run "<b>postmap /etc/postfix/transport</b>"
 after making a change.  </p>
@@ -18788,7 +18788,7 @@ value is backwards compatible with Postfix version 1.1.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 </p>
@@ -18880,7 +18880,7 @@ delivery program.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -19015,7 +19015,7 @@ match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -19128,7 +19128,7 @@ delivery program.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
index 121cc5fbb11a6124fe9bbdf7d8895dfe7ccf20f6..b7d189cb988a6b4ae081174da7c66f923d622640 100644 (file)
@@ -326,7 +326,7 @@ alias_database = hash:/etc/mail/aliases
 The alias databases that are used for \fBlocal\fR(8) delivery. See
 \fBaliases\fR(5) for syntax details.
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 .PP
@@ -790,7 +790,7 @@ are documented in \fBcanonical\fR(5). For an overview of Postfix address
 manipulations see the ADDRESS_REWRITING_README document.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 .PP
@@ -3243,7 +3243,7 @@ lists: Postfix needs to know only if a lookup string is found or
 not, but it does not use the result from table lookup.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 If this parameter is non-empty (the default), then the Postfix SMTP
@@ -3507,7 +3507,7 @@ mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory,
 fallback_transport_maps, fallback_transport and luser_relay.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .SH mailbox_delivery_lock (default: see "postconf -d" output)
 How to lock a UNIX-style \fBlocal\fR(8) mailbox before attempting delivery.
@@ -3549,7 +3549,7 @@ mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory,
 fallback_transport_maps, fallback_transport and luser_relay.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 For safety reasons, this feature does not allow $number
@@ -5162,7 +5162,7 @@ The lookup tables that the \fBproxymap\fR(8) server is allowed to
 access for the read-only service.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma.
+whitespace or comma.
 Table references that don't begin with proxy: are ignored.
 .PP
 This feature is available in Postfix 2.0 and later.
@@ -5379,7 +5379,7 @@ recipient address.  The BCC address (multiple results are not
 supported) is added when mail enters from outside of Postfix.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 The table search order is as follows:
@@ -5405,8 +5405,8 @@ was specified with NOTIFY=NONE. The sender will not be notified
 when the BCC address is undeliverable, as long as all down-stream
 software implements RFC 3461.
 .PP
-Note: with Postfix 2.2 and earlier the sender will be notified
-when the BCC address is undeliverable.
+Note: with Postfix 2.2 and earlier the sender will unconditionally
+be notified when the BCC address is undeliverable.
 .PP
 Note: automatic BCC recipients are produced only for new mail.
 To avoid mailer loops, automatic BCC recipients are not generated
@@ -5626,7 +5626,7 @@ to know only if a lookup string is found or not, but it does not
 use the result from table lookup.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 If this parameter is non-empty, then the Postfix SMTP server will reject
@@ -5699,7 +5699,7 @@ domains that no longer exist.  The table format and lookups are
 documented in \fBrelocated\fR(5).
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 If you use this feature, run "\fBpostmap /etc/postfix/relocated\fR" to
@@ -5864,7 +5864,7 @@ by sender address.  The BCC address (multiple results are not
 supported) is added when mail enters from outside of Postfix.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 The table search order is as follows:
@@ -5947,7 +5947,7 @@ without overriding the global default_transport parameter setting.
 This information is overruled with the \fBtransport\fR(5) table.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 Note: this overrides default_transport, not transport_maps, and
@@ -5970,7 +5970,7 @@ sender_dependent_default_transport_maps, default_transport and with
 the \fBtransport\fR(5) table.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 For safety reasons, this feature does not allow $number
@@ -6336,7 +6336,7 @@ table is not indexed by hostname for consistency with
 smtpd_discard_ehlo_keyword_address_maps.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 This feature is available in Postfix 2.2 and later.
@@ -6505,7 +6505,7 @@ domain name, but uses something like \fIlocaldomain.local\fR
 instead.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 The table format and lookups are documented in \fBgeneric\fR(5);
@@ -6648,7 +6648,7 @@ is not indexed by hostname for consistency with
 smtp_discard_ehlo_keyword_address_maps.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 This feature is available in Postfix 2.4 and later.
@@ -6901,7 +6901,7 @@ The Postfix SMTP client opens the lookup table before going to
 chroot jail, so you can leave the password file in /etc/postfix.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .SH smtp_sasl_path (default: empty)
 Implementation-specific information that the Postfix SMTP client
@@ -7782,7 +7782,7 @@ this overrides the obsolete smtp_tls_per_site parameter.  See
 TLS_README for a more detailed discussion of TLS security levels.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 The TLS policy table is indexed by the full next-hop destination,
@@ -9071,7 +9071,7 @@ feature:
 .ft C
     # Work around clients that send RCPT TO:<'user@domain'>.
     # WARNING: do not lose the parameters that follow the address.
-    /^RCPT\es+TO:\es*<'([^[:space:]]+)'>(.*)/     RCPT TO:<$1>$2
+    /^(RCPT\es+TO:\es*<)'([^[:space:]]+)'(>.*)/     $1$2$3
 .fi
 .ad
 .ft R
@@ -9081,7 +9081,7 @@ feature:
 .ft C
     # Append XVERP to MAIL FROM commands to request VERP-style delivery.
     # See VERP_README for more information on how to use Postfix VERP.
-    /^(MAIL FROM:<listname@example\e.com>.*)/   $1 XVERP
+    /^(MAIL FROM:\es*<listname@example\e.com>.*)/   $1 XVERP
 .fi
 .ad
 .ft R
@@ -9091,8 +9091,8 @@ feature:
 .ft C
     # Bounce-never mail sink. Use notify_classes=bounce,resource,software
     # to send bounced mail to the postmaster (with message body removed).
-    /^(RCPT\es+TO:<.*>.*)\es+NOTIFY=\eS+(.*)/ $1 NOTIFY=NEVER$2
-    /^(RCPT\es+TO:.*)/                    $1 NOTIFY=NEVER
+    /^(RCPT\es+TO:\es*<.*>.*)\es+NOTIFY=\eS+(.*)/     $1 NOTIFY=NEVER$2
+    /^(RCPT\es+TO:.*)/                             $1 NOTIFY=NEVER
 .fi
 .ad
 .ft R
@@ -9173,7 +9173,7 @@ remote SMTP client. See smtpd_discard_ehlo_keywords for details.
 The tables are not searched by hostname for robustness reasons.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 This feature is available in Postfix 2.2 and later.
@@ -10266,7 +10266,7 @@ Optional lookup table with the SASL login names that own sender
 (MAIL FROM) addresses.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.  With lookups from
 indexed files such as DB or DBM, or from networked tables such as
 NIS, LDAP or SQL, the following search operations are done with a
@@ -12461,7 +12461,7 @@ Optional lookup tables with mappings from recipient address to
 for details.
 .PP
 Specify zero or more "type:table" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.  If you use this
 feature with local files, run "\fBpostmap /etc/postfix/transport\fR"
 after making a change.
@@ -12797,7 +12797,7 @@ This feature is available in Postfix 2.0 and later. The default
 value is backwards compatible with Postfix version 1.1.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 .PP
@@ -12851,7 +12851,7 @@ It does not apply when mail is delivered with a different mail
 delivery program.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 In a lookup table, specify a left-hand side of "@domain.tld" to
@@ -12933,7 +12933,7 @@ Optional lookup tables with all valid addresses in the domains that
 match $virtual_mailbox_domains.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 In a lookup table, specify a left-hand side of "@domain.tld" to
@@ -13000,7 +13000,7 @@ It does not apply when mail is delivered with a different mail
 delivery program.
 .PP
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 .PP
 In a lookup table, specify a left-hand side of "@domain.tld"
index 8624f3c672229336f02959a4f7b007957fdc9840..15f87f854b44330125700da6e8f9028777dde8db 100644 (file)
@@ -485,7 +485,7 @@ alias_database = hash:/etc/mail/aliases
 The alias databases that are used for local(8) delivery. See
 aliases(5) for syntax details.
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 </p>
@@ -803,7 +803,7 @@ manipulations see the ADDRESS_REWRITING_README document.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 </p>
@@ -2327,7 +2327,7 @@ not, but it does not use the result from table lookup.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -3502,7 +3502,7 @@ supported) is added when mail enters from outside of Postfix.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -3537,8 +3537,8 @@ software implements RFC 3461.
 </p>
  
 <p>
-Note: with Postfix 2.2 and earlier the sender will be notified
-when the BCC address is undeliverable.
+Note: with Postfix 2.2 and earlier the sender will unconditionally
+be notified when the BCC address is undeliverable.
 </p>
 
 <p> Note: automatic BCC recipients are produced only for new mail.
@@ -3704,7 +3704,7 @@ use the result from table lookup.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -3778,7 +3778,7 @@ documented in relocated(5).
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -3845,7 +3845,7 @@ supported) is added when mail enters from outside of Postfix.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -4507,7 +4507,7 @@ chroot jail, so you can leave the password file in /etc/postfix.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -6374,7 +6374,7 @@ Optional lookup table with the SASL login names that own sender
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.  With lookups from
 indexed files such as DB or DBM, or from networked tables such as
 NIS, LDAP or SQL, the following search operations are done with a
@@ -6723,7 +6723,7 @@ for details.
 
 <p>
 Specify zero or more "type:table" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.  If you use this
 feature with local files, run "<b>postmap /etc/postfix/transport</b>"
 after making a change.  </p>
@@ -6988,7 +6988,7 @@ value is backwards compatible with Postfix version 1.1.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 Note: these lookups are recursive.
 </p>
@@ -7835,7 +7835,7 @@ fallback_transport_maps, fallback_transport and luser_relay.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -8068,7 +8068,7 @@ access for the read-only service.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma.
+whitespace or comma.
 Table references that don't begin with proxy: are ignored.
 </p>
 
@@ -8706,7 +8706,7 @@ delivery program.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -8821,7 +8821,7 @@ match $virtual_mailbox_domains.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -8909,7 +8909,7 @@ delivery program.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -9020,7 +9020,7 @@ smtpd_discard_ehlo_keyword_address_maps. </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -9037,7 +9037,7 @@ The tables are not searched by hostname for robustness reasons.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -10177,7 +10177,7 @@ instead.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -10308,7 +10308,7 @@ the transport(5) table. </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -10719,7 +10719,7 @@ fallback_transport_maps, fallback_transport and luser_relay.  </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -10895,7 +10895,7 @@ TLS_README for a more detailed discussion of TLS security levels.
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -12094,7 +12094,7 @@ smtp_discard_ehlo_keyword_address_maps. </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
@@ -14019,20 +14019,20 @@ feature: </p>
 <pre>
     # Work around clients that send RCPT TO:&lt;'user@domain'&gt;.
     # WARNING: do not lose the parameters that follow the address.
-    /^RCPT\s+TO:\s*&lt;'([^[:space:]]+)'&gt;(.*)/     RCPT TO:&lt;$1&gt;$2
+    /^(RCPT\s+TO:\s*&lt;)'([^[:space:]]+)'(&gt;.*)/     $1$2$3
 </pre>
 
 <pre>
     # Append XVERP to MAIL FROM commands to request VERP-style delivery.
     # See VERP_README for more information on how to use Postfix VERP.
-    /^(MAIL FROM:&lt;listname@example\.com&gt;.*)/   $1 XVERP
+    /^(MAIL FROM:\s*&lt;listname@example\.com&gt;.*)/   $1 XVERP
 </pre>
 
 <pre>
     # Bounce-never mail sink. Use notify_classes=bounce,resource,software 
     # to send bounced mail to the postmaster (with message body removed).
-    /^(RCPT\s+TO:&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2
-    /^(RCPT\s+TO:.*)/                    $1 NOTIFY=NEVER
+    /^(RCPT\s+TO:\s*&lt;.*&gt;.*)\s+NOTIFY=\S+(.*)/     $1 NOTIFY=NEVER$2
+    /^(RCPT\s+TO:.*)/                             $1 NOTIFY=NEVER
 </pre>
 
 <p> This feature is available in Postfix 2.7. </p>
@@ -14128,7 +14128,7 @@ This information is overruled with the transport(5) table. </p>
 
 <p>
 Specify zero or more "type:name" lookup tables, separated by
-whitespace of comma. Tables will be searched in the specified order
+whitespace or comma. Tables will be searched in the specified order
 until a match is found.
 </p>
 
index efe4957e6e34cbada6a589077ade70d463efc086..2f14acd4449b14c6537f42e1d4661cae753ac0e6 100644 (file)
@@ -331,7 +331,6 @@ static const char *dict_pgsql_lookup(DICT *dict, const char *name)
     int     domain_rc;
 
     dict_pgsql = (DICT_PGSQL *) dict;
-    pldb = dict_pgsql->pldb;
 
 #define INIT_VSTR(buf, len) do { \
        if (buf == 0) \
index b0576b604c1ee2e881bf85138dfdecf79de4cb03..f93030bd1dd1ab6327c24ccdba0dcd5359b1e88d 100644 (file)
@@ -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      "20141106"
+#define MAIL_RELEASE_DATE      "20141118"
 #define MAIL_VERSION_NUMBER    "2.12"
 
 #ifdef SNAPSHOT
index 3815a8922b75c9d8fa79a31bd74dd2fe16307d66..007c046cd6ffb4ef46442ca649df0484d6721003 100644 (file)
@@ -186,7 +186,7 @@ static const char *mynetworks_core(const char *style)
                 * Host only. Do not relay authorize other hosts.
                 */
            case MASK_STYLE_HOST:
-               mask = ~0;
+               mask = ~0UL;
                shift = 0;
                break;
 
@@ -226,7 +226,7 @@ static const char *mynetworks_core(const char *style)
                end = ac + sizeof(SOCK_ADDR_IN6_ADDR(ma));
                shift = MAI_V6ADDR_BITS;
                while (ac < end) {
-                   if ((ch = *ac++) == (unsigned char) -1) {
+                   if ((ch = *ac++) == (unsigned char) ~0U) {
                        shift -= CHAR_BIT;
                        continue;
                    } else {
index 19be3b2febc35f24a8c49e9964c7a8e97f4cb7a9..d0b6e9f78aea902292f0616b6b9d88cac2fae7cf 100644 (file)
@@ -661,7 +661,7 @@ static void pcf_check_exclusive_options(int optval)
 
     for (op = pcf_incompat_options; (oval = *op) != 0; op++) {
        oval &= optval;
-       for (mask = ~0; (mask & oval) != 0; mask >>= 1) {
+       for (mask = ~0U; (mask & oval) != 0; mask >>= 1) {
            if ((mask & oval) != oval)
                msg_fatal("specify one of %s",
                          str_name_mask(myname, pcf_compat_names, oval));
index c12b3ffdacab66918ec73c7c0db76559e2c49f39..caa0e059b58118638ec1def630c65ae4c3a5b707 100644 (file)
@@ -318,6 +318,10 @@ static void show_queue(void)
        argv_terminate(argv);
        stat = mail_run_foreground(var_daemon_dir, argv->argv);
        argv_free(argv);
+       if (stat != 0)
+           msg_fatal_status(stat < 0 ? EX_OSERR : EX_SOFTWARE,
+                            "Error running %s/%s",
+                            var_daemon_dir, argv->argv[0]);
     }
 
     /*
index 4a684ae709014eca126c63ac96d544b5f5ed616a..2294f1e6a741b1e12bbec0bf471fa013e26a2419 100644 (file)
@@ -142,8 +142,8 @@ static DNS_RR *smtp_addr_one(DNS_RR *addr_list, const char *host, int res_opt,
     /*
      * Interpret a numerical name as an address.
      */
-    if (hostaddr_to_sockaddr(host, (char *) 0, 0, &res0) == 0
-     && strchr((char *) proto_info->sa_family_list, res0->ai_family) != 0) {
+    if (hostaddr_to_sockaddr(host, (char *) 0, 0, &res0) == 0) {
+       if (strchr((char *) proto_info->sa_family_list, res0->ai_family) != 0) {
        if ((addr = dns_sa_to_rr(host, pref, res0->ai_addr)) == 0)
            msg_fatal("host %s: conversion error for address family %d: %m",
                    host, ((struct sockaddr *) (res0->ai_addr))->sa_family);
@@ -151,6 +151,8 @@ static DNS_RR *smtp_addr_one(DNS_RR *addr_list, const char *host, int res_opt,
        freeaddrinfo(res0);
        return (addr_list);
     }
+       freeaddrinfo(res0);
+    }
 
     /*
      * Use DNS lookup, but keep the option open to use native name service.
index 8fd987c830449beb43a5b04a693e96e15288e07e..f988e48a4a2d34c014c144b1284f4071c60cc723 100644 (file)
@@ -356,7 +356,7 @@ static int data_read(SINK_STATE *);
 static void disconnect(SINK_STATE *);
 static void read_timeout(int, char *);
 static void read_event(int, char *);
-static int count;
+static int show_count;
 static int sess_count;
 static int quit_count;
 static int mesg_count;
@@ -802,7 +802,7 @@ static void quit_response(SINK_STATE *state, const char *unused_args)
 {
     smtp_printf(state->stream, "221 Bye");
     smtp_flush(state->stream);                 /* not: SMTP_FLUSH */
-    if (count)
+    if (show_count)
        quit_count++;
 }
 
@@ -913,9 +913,9 @@ static int data_read(SINK_STATE *state)
            if (state->dump_file)
                mail_file_finish(state);
            mail_cmd_reset(state);
-           if (count || max_msg_quit_count > 0) {
+           if (show_count || max_msg_quit_count > 0) {
                mesg_count++;
-               if (count)
+               if (show_count)
                    do_stats();
                if (max_msg_quit_count > 0 && mesg_count >= max_msg_quit_count)
                    exit(0);
@@ -1279,7 +1279,7 @@ static void disconnect(SINK_STATE *state)
 {
     event_disable_readwrite(vstream_fileno(state->stream));
     event_cancel_timer(read_timeout, (char *) state);
-    if (count) {
+    if (show_count) {
        sess_count++;
        do_stats();
     }
@@ -1460,7 +1460,7 @@ int     main(int argc, char **argv)
                hard_error_resp = optarg;
            break;
        case 'c':
-           count++;
+           show_count++;
            break;
        case 'C':
            disable_xclient = 1;
index 8de8391e533818d60d0b459533656f8e8ccb3bb6..31566eaf2a8b95b0484f4c6e5d558eb2dfc16fc2 100644 (file)
@@ -146,7 +146,7 @@ VSTRING *base32_decode(VSTRING *result, const char *in, ssize_t len)
     if (un_b32 == 0) {
        un_b32 = (unsigned char *) mymalloc(CHARS_PER_BYTE);
        memset(un_b32, INVALID, CHARS_PER_BYTE);
-       for (cp = to_b32; cp < to_b32 + sizeof(to_b32); cp++)
+       for (cp = to_b32; cp < to_b32 + sizeof(to_b32) - 1; cp++)
            un_b32[*cp] = cp - to_b32;
     }
 
index 40544cdbac43622849ba6898207c1f1b23f5e38c..797f3cbc17cc0b40e41a73ec16fc7f7527f59760 100644 (file)
@@ -163,7 +163,7 @@ VSTRING *base64_decode_opt(VSTRING *result, const char *in, ssize_t len,
     if (un_b64 == 0) {
        un_b64 = (unsigned char *) mymalloc(CHARS_PER_BYTE);
        memset(un_b64, INVALID, CHARS_PER_BYTE);
-       for (cp = to_b64; cp < to_b64 + sizeof(to_b64); cp++)
+       for (cp = to_b64; cp < to_b64 + sizeof(to_b64) - 1; cp++)
            un_b64[*cp] = cp - to_b64;
     }
 
index b72b8db3e1555845d4497c040500a8c3d82d1527..387c02f627e80d5a2e032732c6a9151d58a07d4f 100644 (file)
@@ -180,7 +180,7 @@ VSTRING *cidr_match_parse(CIDR_MATCH *ip, char *pattern, VSTRING *why)
        }
        if (ip->mask_shift > 0) {
            /* Allow for bytes > 8. */
-           memset(ip->mask_bytes, (unsigned char) -1, ip->addr_byte_count);
+           memset(ip->mask_bytes, ~0U, ip->addr_byte_count);
            mask_addr(ip->mask_bytes, ip->addr_byte_count, ip->mask_shift);
        } else
            memset(ip->mask_bytes, 0, ip->addr_byte_count);
@@ -218,7 +218,7 @@ VSTRING *cidr_match_parse(CIDR_MATCH *ip, char *pattern, VSTRING *why)
        }
        ip->mask_shift = ip->addr_bit_count;
        /* Allow for bytes > 8. */
-       memset(ip->mask_bytes, (unsigned char) -1, ip->addr_byte_count);
+       memset(ip->mask_bytes, ~0U, ip->addr_byte_count);
     }
 
     /*
index c2d1704a8c5e6ea2cbfc46c73f35b40969417153..dbd4bd9ada32bd1da20f45bce1076e73d3652c1b 100644 (file)
@@ -185,7 +185,7 @@ static DICT *dict_cdbq_open(const char *path, int dict_flags)
     /*
      * Let the optimizer worry about eliminating redundant code.
      */
-#define DICT_CDBQ_OPEN_RETURN(d) { \
+#define DICT_CDBQ_OPEN_RETURN(d) do { \
        DICT *__d = (d); \
        myfree(cdb_path); \
        return (__d); \
@@ -342,7 +342,7 @@ static DICT *dict_cdbm_open(const char *path, int dict_flags)
     /*
      * Let the optimizer worry about eliminating redundant code.
      */
-#define DICT_CDBM_OPEN_RETURN(d) { \
+#define DICT_CDBM_OPEN_RETURN(d) do { \
        DICT *__d = (d); \
        if (cdb_path) \
            myfree(cdb_path); \
index abc3ae780fce8be42f5a89b75e9a9cc794c37390..73d16e2c47b3f4295c961b75a34dd743dc4d5f33 100644 (file)
@@ -622,6 +622,7 @@ static DICT *dict_db_open(const char *class, const char *path, int open_flags,
 #define LOCK_OPEN_FLAGS(f) ((f) & ~(O_CREAT|O_TRUNC))
 #define FREE_RETURN(e) do { \
        DICT *_dict = (e); if (db) DICT_DB_CLOSE(db); \
+       if (lock_fd >= 0) (void) close(lock_fd); \
        if (db_path) myfree(db_path); return (_dict); \
     } while (0)
 
@@ -708,6 +709,7 @@ static DICT *dict_db_open(const char *class, const char *path, int open_flags,
            msg_fatal("unlock database %s for open: %m", db_path);
        if (close(lock_fd) < 0)
            msg_fatal("close database %s: %m", db_path);
+       lock_fd = -1;
     }
     dict_db = (DICT_DB *) dict_alloc(class, db_path, sizeof(*dict_db));
     dict_db->dict.lookup = dict_db_lookup;
index a1f25ffb6be471c79a3cace9687c55483e7fb1c0..e47b7eedff978df23c35ba622343df59d084c2c6 100644 (file)
@@ -420,7 +420,7 @@ DICT   *dict_dbm_open(const char *path, int open_flags, int dict_flags)
     /*
      * Let the optimizer worry about eliminating redundant code.
      */
-#define DICT_DBM_OPEN_RETURN(d) { \
+#define DICT_DBM_OPEN_RETURN(d) do { \
        DICT *__d = (d); \
        if (dbm_path != 0) \
            myfree(dbm_path); \
index d2b84c77e1d43b74b63c75e544da09b387b7cc08..f22f16d1435cd0676f3003671f96c91169763e76 100644 (file)
@@ -547,7 +547,7 @@ DICT   *dict_lmdb_open(const char *path, int open_flags, int dict_flags)
     /*
      * Let the optimizer worry about eliminating redundant code.
      */
-#define DICT_LMDB_OPEN_RETURN(d) { \
+#define DICT_LMDB_OPEN_RETURN(d) do { \
        DICT *__d = (d); \
        myfree(mdb_path); \
        return (__d); \
index 23ac2cd6f332a741a3dabc11b6496a63a8e06a28..101418aae6ba5098b76658b189111ca3d6effcc4 100644 (file)
@@ -820,7 +820,7 @@ DICT   *dict_pcre_open(const char *mapname, int open_flags, int dict_flags)
     /*
      * Let the optimizer worry about eliminating redundant code.
      */
-#define DICT_PCRE_OPEN_RETURN(d) { \
+#define DICT_PCRE_OPEN_RETURN(d) do { \
        DICT *__d = (d); \
        if (map_fp != 0) \
            vstream_fclose(map_fp); \
index c32925122e8f80ce041ffef9d1b49f93ac9a1bf4..d150d66f6a455e9c7aca94c080d0c2859e6beb24 100644 (file)
@@ -752,7 +752,7 @@ DICT   *dict_regexp_open(const char *mapname, int open_flags, int dict_flags)
     /*
      * Let the optimizer worry about eliminating redundant code.
      */
-#define DICT_REGEXP_OPEN_RETURN(d) { \
+#define DICT_REGEXP_OPEN_RETURN(d) do { \
        DICT *__d = (d); \
        if (line_buffer != 0) \
            vstring_free(line_buffer); \
index f06209ee27c9a69e6dd481e9582ac0b6bfeb2246..de03f791a055235ac25cc354353235cf54611417 100644 (file)
@@ -317,7 +317,7 @@ DICT   *dict_sockmap_open(const char *mapname, int open_flags, int dict_flags)
     /*
      * Let the optimizer worry about eliminating redundant code.
      */
-#define DICT_SOCKMAP_OPEN_RETURN(d) { \
+#define DICT_SOCKMAP_OPEN_RETURN(d) do { \
        DICT *__d = (d); \
        if (saved_name != 0) \
            myfree(saved_name); \
index 93a4f447274ac3effb9244c8bb46c355869dbd1b..5854e48a1b69752aebc52a15322ddaa048fd2318 100644 (file)
@@ -160,7 +160,7 @@ DICT   *dict_thash_open(const char *path, int open_flags, int dict_flags)
     /*
      * Let the optimizer worry about eliminating redundant code.
      */
-#define DICT_THASH_OPEN_RETURN(d) { \
+#define DICT_THASH_OPEN_RETURN(d) do { \
        DICT *__d = (d); \
        if (fp != 0) \
            vstream_fclose(fp); \