]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.2-20041219
authorWietse Venema <wietse@porcupine.org>
Sun, 19 Dec 2004 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:30:20 +0000 (06:30 +0000)
24 files changed:
postfix/HISTORY
postfix/README_FILES/BACKSCATTER_README
postfix/RELEASE_NOTES
postfix/html/BACKSCATTER_README.html
postfix/html/local.8.html
postfix/html/postconf.5.html
postfix/html/smtp.8.html
postfix/html/smtpd.8.html
postfix/man/man5/postconf.5
postfix/man/man8/local.8
postfix/man/man8/smtp.8
postfix/man/man8/smtpd.8
postfix/mantools/postlink
postfix/proto/BACKSCATTER_README.html
postfix/proto/postconf.proto
postfix/src/global/ehlo_mask.c
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/local/local.c
postfix/src/master/master.c
postfix/src/smtp/smtp.c
postfix/src/smtp/smtp.h
postfix/src/smtp/smtp_proto.c
postfix/src/smtpd/smtpd.c

index a7256d330425af6526979b9c4276e20fb628dae2..f986ee5c6b8c1c757b43abafd2ff013369ae18f2 100644 (file)
@@ -9973,9 +9973,9 @@ Apologies for any names omitted.
        Feature: selective suppression of SMTP extensions (pipelining,
        starttls, auth, etc.); this is useful to work around broken
        clients or servers.  Specify a list of EHLO keywords with
-       the smtp(d)_disable_ehlo_keywords parameters, or specify
+       the smtp(d)_discard_ehlo_keywords parameters, or specify
        one or more lookup tables, indexed by remote network address,
-       with the smtp(d)_disable_ehlo_keyword_address_maps parameters.
+       with the smtp(d)_discard_ehlo_keyword_address_maps parameters.
        EHLO keyword lists are case insensitive.  Files:
        util/name_mask.[hc], global/ehlo_mask.[hc], smtpd/smtpd.c,
        smtp/smtp.c, smtp/smtp_proto.c.
index bee27caf9f9909736d509ec09ad5adaf84e25d27..b13457e480b25dfb121650b7e051d9b86693a531 100644 (file)
@@ -131,8 +131,9 @@ This is of course practical only when you have very few systems that send HELO
 commands like this, and when you never have to send mail to a user on such a
 host.
 
-An alternative would be to remove the hostname with address masquerading, as
-described in the ADDRESS_REWRITING_README document.
+An alternative would be to remove the hostname from "hostname.porcupine.org"
+with address masquerading, as described in the ADDRESS_REWRITING_README
+document.
 
 B\bBl\blo\boc\bck\bki\bin\bng\bg b\bba\bac\bck\bks\bsc\bca\bat\btt\bte\ber\br m\bma\bai\bil\bl w\bwi\bit\bth\bh f\bfo\bor\brg\bge\bed\bd s\bse\ben\bnd\bde\ber\br i\bin\bnf\bfo\bor\brm\bma\bat\bti\bio\bon\bn
 
@@ -195,5 +196,6 @@ http://www.t29.dk/antiantivirus.txt.
 
 A plea to virus or spam scanner operators: please do not make the problem worse
 by sending return mail to forged sender addresses. You're only harassing
-innocent people.
+innocent people. If you must return mail to the purported sender, please return
+the full message headers, so that the sender can defend against forgeries.
 
index 5b4095ec87cdf2f59661137a18d162de656c462b..aa1c541498363990e385dd3880d0d2af840d4b8a 100644 (file)
@@ -10,13 +10,14 @@ issued for snapshot releases.
 Major changes with snapshot Postfix-2.2-20041218
 ================================================
 
-Fine control for SMTP inter-operability problems. You can now
-selectively turn off SMTP extensions (pipelining, starttls, auth,
-etc.), to work around specific broken clients or servers.  Specify
-a list of EHLO keywords with the smtp(d)_disable_ehlo_keywords
-parameters, or specify one or more lookup tables, indexed by remote
-network address, with the smtp(d)_disable_ehlo_keyword_address_maps
-parameters. The EHLO keywords lists are case insensitive.
+Fine control for SMTP inter-operability problems, by discarding
+keywords sent or received with the EHLO handshake. Typically one
+would discard "pipelining", "starttls", or "auth".  Specify a list
+of EHLO keywords with the smtp(d)_discard_ehlo_keywords parameters,
+or specify one or more lookup tables, indexed by remote network
+address, with the smtp(d)_discard_ehlo_keyword_address_maps
+parameters. Note: this only discards words from the EHLO conversation;
+it does not turn off the actual features in the SMTP server.
 
 More client attributes for delivery to command with the local(8)
 and pipe(8) delivery agents: client_hostname, client_address,
index 0af36f39826bd37a83a85a982e783bc255bdd9d2..26892192621e4873b368c321f0cc3a6cccbe7f05 100644 (file)
@@ -209,7 +209,8 @@ mapping translates this temporary address into user@porcupine.org.
 that send HELO commands like this, and when you never have to send
 mail to a user on such a host. </p>
 
-<p> An alternative would be to remove the hostname with address
+<p> An alternative would be to remove the hostname from
+"hostname.porcupine.org" with address
 masquerading, as described in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
 </p>
 
@@ -295,7 +296,9 @@ or <a href="http://www.t29.dk/antiantivirus.txt">http://www.t29.dk/antiantivirus
 
 <p> A plea to virus or spam scanner operators: please do not make
 the problem worse by sending return mail to forged sender addresses.
-You're only harassing innocent people.  </p>
+You're only harassing innocent people. If you must return mail to
+the purported sender, please return the full message headers, so
+that the sender can defend against forgeries. </p>
 
 </body>
 
index 5cf0428c7a85624b321b1874f7f69e782a147d0b..23b1e2e6b1d14bc40e3e3bbd1e9adcdc349421cb 100644 (file)
@@ -203,7 +203,7 @@ LOCAL(8)                                                 LOCAL(8)
        <b>SENDER</b> The entire sender address.
 
        Additional remote client information is made available via
-       the following pseudo variables:
+       the following environment variables:
 
        <b>CLIENT_ADDRESS</b>
               Remote client  network  address.  Available  as  of
index feffbb610a967ace8e8e44f423616d9a2a8d8ff3..e771364c9f9794b6883d454ea06006943ad1f169 100644 (file)
@@ -5679,7 +5679,7 @@ into concurrency per recipient.  </p>
 
 </DD>
 
-<DT><b><a name="smtp_disable_ehlo_keyword_address_maps">smtp_disable_ehlo_keyword_address_maps</a>
+<DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
 (default: empty)</b></DT><DD>
 
 <p> Lookup tables, indexed by the remote SMTP server address, with
@@ -5690,13 +5690,13 @@ from a remote SMTP server. </p>
 
 </DD>
 
-<DT><b><a name="smtp_disable_ehlo_keywords">smtp_disable_ehlo_keywords</a>
+<DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a>
 (default: empty)</b></DT><DD>
 
 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP client will ignore in the EHLO response
-from a remote SMTP server. Use the <a href="postconf.5.html#smtp_disable_ehlo_keyword_address_maps">smtp_disable_ehlo_keyword_address_maps</a>
-feature to disable EHLO keywords selectively. </p>
+from a remote SMTP server. Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
+feature to discard EHLO keywords selectively. </p>
 
 
 </DD>
@@ -5721,7 +5721,7 @@ client, for example:
 
 <pre>
   /etc/postfix/master.cf:
-        mysmtp ... smtp -o <a href="postconf.5.html#<a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>"><a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a></a>=foo.bar.com
+        mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com
 </pre>
 
 <p>
@@ -6726,7 +6726,7 @@ is being rejected.
 
 </DD>
 
-<DT><b><a name="smtpd_disable_ehlo_keyword_address_maps">smtpd_disable_ehlo_keyword_address_maps</a>
+<DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
 (default: empty)</b></DT><DD>
 
 <p> Lookup tables, indexed by the remote SMTP client address, with
@@ -6737,13 +6737,13 @@ to a remote SMTP client. </p>
 
 </DD>
 
-<DT><b><a name="smtpd_disable_ehlo_keywords">smtpd_disable_ehlo_keywords</a>
+<DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
 (default: empty)</b></DT><DD>
 
 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP server will not send in the EHLO response
-to a remote SMTP client. Use the <a href="postconf.5.html#smtpd_disable_ehlo_keyword_address_maps">smtpd_disable_ehlo_keyword_address_maps</a>
-feature to disable EHLO keywords selectively.  </p>
+to a remote SMTP client. Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
+feature to discard EHLO keywords selectively.  </p>
 
 
 </DD>
index 6fd034d7cfc52e035e6e14b4b9ca0a199b40768a..2d764607d6d96315f5f8119166d8a1b2582e7224 100644 (file)
@@ -136,14 +136,14 @@ SMTP(8)                                                   SMTP(8)
 
        Available in Postfix version 2.2 and later:
 
-       <b><a href="postconf.5.html#smtp_disable_ehlo_keyword_address_maps">smtp_disable_ehlo_keyword_address_maps</a> (empty)</b>
+       <b><a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> (empty)</b>
               Lookup tables, indexed by the  remote  SMTP  server
               address,  with  case insensitive lists of EHLO key-
               words (pipelining, starttls, auth, etc.)  that  the
               SMTP client will ignore in the EHLO response from a
               remote SMTP server.
 
-       <b><a href="postconf.5.html#smtp_disable_ehlo_keywords">smtp_disable_ehlo_keywords</a> (empty)</b>
+       <b><a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> (empty)</b>
               A case insensitive list of EHLO keywords  (pipelin-
               ing,  starttls,  auth,  etc.)  that the SMTP client
               will ignore in the EHLO response from a remote SMTP
index 567313e84678706ceed569adafdb6639e245627f..bc6fb70e469ce984604a4d3cecd81e194f76769c 100644 (file)
@@ -105,14 +105,14 @@ SMTPD(8)                                                 SMTPD(8)
 
        Available in Postfix version 2.2 and later:
 
-       <b><a href="postconf.5.html#smtpd_disable_ehlo_keyword_address_maps">smtpd_disable_ehlo_keyword_address_maps</a> (empty)</b>
+       <b><a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> (empty)</b>
               Lookup  tables,  indexed  by the remote SMTP client
               address, with case insensitive lists of  EHLO  key-
               words  (pipelining,  starttls, auth, etc.) that the
               SMTP server will not send in the EHLO response to a
               remote SMTP client.
 
-       <b><a href="postconf.5.html#smtpd_disable_ehlo_keywords">smtpd_disable_ehlo_keywords</a> (empty)</b>
+       <b><a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> (empty)</b>
               A  case insensitive list of EHLO keywords (pipelin-
               ing, starttls, auth, etc.)  that  the  SMTP  server
               will not send in the EHLO response to a remote SMTP
index 9be873ba1ee5e396ed8f76d0551e27c73cc41fab..3e1559eed24d06200f5ff5d845332e1129bd2ce4 100644 (file)
@@ -3048,16 +3048,16 @@ the entry in the master.cf file.
 Setting this parameter to a value of 1 changes the meaning of
 smtp_destination_concurrency_limit from concurrency per domain
 into concurrency per recipient.
-.SH smtp_disable_ehlo_keyword_address_maps (default: empty)
+.SH smtp_discard_ehlo_keyword_address_maps (default: empty)
 Lookup tables, indexed by the remote SMTP server address, with
 case insensitive lists of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP client will ignore in the EHLO response
 from a remote SMTP server.
-.SH smtp_disable_ehlo_keywords (default: empty)
+.SH smtp_discard_ehlo_keywords (default: empty)
 A case insensitive list of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP client will ignore in the EHLO response
-from a remote SMTP server. Use the smtp_disable_ehlo_keyword_address_maps
-feature to disable EHLO keywords selectively.
+from a remote SMTP server. Use the smtp_discard_ehlo_keyword_address_maps
+feature to discard EHLO keywords selectively.
 .SH smtp_helo_name (default: $myhostname)
 The hostname to send in the SMTP EHLO or HELO command.
 .PP
@@ -3654,16 +3654,16 @@ The default setting has one major benefit: it allows Postfix to log
 recipient address information when rejecting a client name/address
 or sender address, so that it is possible to find out whose mail
 is being rejected.
-.SH smtpd_disable_ehlo_keyword_address_maps (default: empty)
+.SH smtpd_discard_ehlo_keyword_address_maps (default: empty)
 Lookup tables, indexed by the remote SMTP client address, with
 case insensitive lists of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP server will not send in the EHLO response
 to a remote SMTP client.
-.SH smtpd_disable_ehlo_keywords (default: empty)
+.SH smtpd_discard_ehlo_keywords (default: empty)
 A case insensitive list of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP server will not send in the EHLO response
-to a remote SMTP client. Use the smtpd_disable_ehlo_keyword_address_maps
-feature to disable EHLO keywords selectively.
+to a remote SMTP client. Use the smtpd_discard_ehlo_keyword_address_maps
+feature to discard EHLO keywords selectively.
 .SH smtpd_end_of_data_restrictions (default: empty)
 Optional access restrictions that the Postfix SMTP server
 applies in the context of the SMTP END-OF-DATA command.
index 4816bf5bef89a8c43dd378deb2b248fff0704080..8eeb39e9ac1d4123ebc889d02b51c238d0d1a736 100644 (file)
@@ -212,7 +212,7 @@ The entire recipient address.
 The entire sender address.
 .PP
 Additional remote client information is made available via
-the following pseudo variables:
+the following environment variables:
 .IP \fBCLIENT_ADDRESS\fR
 Remote client network address. Available as of Postfix 2.2.
 .IP \fBCLIENT_HELO\fR
index 0e6c2a7a87bcb22d8bea6a3f780248202bc1bdbf..806325d560057c7356079ed2159c3622fa39770e 100644 (file)
@@ -130,12 +130,12 @@ Skip SMTP servers that greet with a 4XX status code (go away, try
 again later).
 .PP
 Available in Postfix version 2.2 and later:
-.IP "\fBsmtp_disable_ehlo_keyword_address_maps (empty)\fR"
+.IP "\fBsmtp_discard_ehlo_keyword_address_maps (empty)\fR"
 Lookup tables, indexed by the remote SMTP server address, with
 case insensitive lists of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP client will ignore in the EHLO response
 from a remote SMTP server.
-.IP "\fBsmtp_disable_ehlo_keywords (empty)\fR"
+.IP "\fBsmtp_discard_ehlo_keywords (empty)\fR"
 A case insensitive list of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP client will ignore in the EHLO response
 from a remote SMTP server.
index e336165342c84e36af13f2cb53259824f381a4dd..bc774a3ffe3ca1292ae555a901846c84043bae53 100644 (file)
@@ -104,12 +104,12 @@ access restriction is specified.
 What SMTP clients Postfix will not offer AUTH support to.
 .PP
 Available in Postfix version 2.2 and later:
-.IP "\fBsmtpd_disable_ehlo_keyword_address_maps (empty)\fR"
+.IP "\fBsmtpd_discard_ehlo_keyword_address_maps (empty)\fR"
 Lookup tables, indexed by the remote SMTP client address, with
 case insensitive lists of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP server will not send in the EHLO response
 to a remote SMTP client.
-.IP "\fBsmtpd_disable_ehlo_keywords (empty)\fR"
+.IP "\fBsmtpd_discard_ehlo_keywords (empty)\fR"
 A case insensitive list of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP server will not send in the EHLO response
 to a remote SMTP client.
index 848ecaed5fceeff4b94f9c4819274f20e21d6a73..86fce3dcb10670a0df30e7c3c886f4cf7fe250b6 100755 (executable)
@@ -330,9 +330,8 @@ while (<>) {
     s;\bsmtp_destination_recip[-</bB>]*\n* *[<bB>]*ient_limit\b;<a href="postconf.5.html#smtp_destination_recipient_limit">$&</a>;g;
     s;\bvir[-</bB>]*\n*[ <bB>]*tual_destination_concurrency_limit\b;<a href="postconf.5.html#virtual_destination_concurrency_limit">$&</a>;g;
     s;\bvir[-</bB>]*\n*[ <bB>]*tual_destination_recip[-</bB>]*\n* *[<bB>]*ient_limit\b;<a href="postconf.5.html#virtual_destination_recipient_limit">$&</a>;g;
-    s;\bsmtp_disable_ehlo_keyword_address_maps\b;<a href="postconf.5.html#smtp_disable_ehlo_keyword_address_maps">$&</a>;g;
-    s;\bsmtp_disable_ehlo_keywords\b;<a href="postconf.5.html#smtp_disable_ehlo_keywords">$&</a>;g;
-    s;\bsmtp_helo_name\b;<a href="postconf.5.html#smtp_helo_name">$&</a>;g;
+    s;\bsmtp_discard_ehlo_keyword_address_maps\b;<a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">$&</a>;g;
+    s;\bsmtp_discard_ehlo_keywords\b;<a href="postconf.5.html#smtp_discard_ehlo_keywords">$&</a>;g;
     s;\bsmtp_helo_name\b;<a href="postconf.5.html#smtp_helo_name">$&</a>;g;
     s;\bsmtp_helo_timeout\b;<a href="postconf.5.html#smtp_helo_timeout">$&</a>;g;
     s;\bsmtp_host_lookup\b;<a href="postconf.5.html#smtp_host_lookup">$&</a>;g;
@@ -369,8 +368,8 @@ while (<>) {
     s;\bsmtpd_client_restrictions\b;<a href="postconf.5.html#smtpd_client_restrictions">$&</a>;g;
     s;\bsmtpd_data_restrictions\b;<a href="postconf.5.html#smtpd_data_restrictions">$&</a>;g;
     s;\bsmtpd_delay_reject\b;<a href="postconf.5.html#smtpd_delay_reject">$&</a>;g;
-    s;\bsmtpd_disable_ehlo_keyword_address_maps\b;<a href="postconf.5.html#smtpd_disable_ehlo_keyword_address_maps">$&</a>;g;
-    s;\bsmtpd_disable_ehlo_keywords\b;<a href="postconf.5.html#smtpd_disable_ehlo_keywords">$&</a>;g;
+    s;\bsmtpd_discard_ehlo_keyword_address_maps\b;<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">$&</a>;g;
+    s;\bsmtpd_discard_ehlo_keywords\b;<a href="postconf.5.html#smtpd_discard_ehlo_keywords">$&</a>;g;
     s;\bsmtpd_end_of_data_restrictions\b;<a href="postconf.5.html#smtpd_end_of_data_restrictions">$&</a>;g;
     s;\bsmtpd_error_sleep_time\b;<a href="postconf.5.html#smtpd_error_sleep_time">$&</a>;g;
     s;\bsmtpd_etrn_restrictions\b;<a href="postconf.5.html#smtpd_etrn_restrictions">$&</a>;g;
index 258d85fde89b094092367a54568ec81d7e4027c2..6c0bb061d1cb00a289586b7c6560423b87d11400 100644 (file)
@@ -209,7 +209,8 @@ mapping translates this temporary address into user@porcupine.org.
 that send HELO commands like this, and when you never have to send
 mail to a user on such a host. </p>
 
-<p> An alternative would be to remove the hostname with address
+<p> An alternative would be to remove the hostname from
+"hostname.porcupine.org" with address
 masquerading, as described in the ADDRESS_REWRITING_README document.
 </p>
 
@@ -295,7 +296,9 @@ or http://www.t29.dk/antiantivirus.txt.  </p>
 
 <p> A plea to virus or spam scanner operators: please do not make
 the problem worse by sending return mail to forged sender addresses.
-You're only harassing innocent people.  </p>
+You're only harassing innocent people. If you must return mail to
+the purported sender, please return the full message headers, so
+that the sender can defend against forgeries. </p>
 
 </body>
 
index 888419d94a511b431dfe9df1e5a80eb65355472c..f1134870cbe22158730390642009126b166dc093 100644 (file)
@@ -7259,28 +7259,28 @@ remote domains.  Available before Postfix version 2.0. With Postfix 2.1
 and later, this is replaced by separate controls: virtual_alias_domains
 and virtual_alias_maps. </p>
 
-%PARAM smtp_disable_ehlo_keywords
+%PARAM smtp_discard_ehlo_keywords
 
 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP client will ignore in the EHLO response
-from a remote SMTP server. Use the smtp_disable_ehlo_keyword_address_maps
-feature to disable EHLO keywords selectively. </p>
+from a remote SMTP server. Use the smtp_discard_ehlo_keyword_address_maps
+feature to discard EHLO keywords selectively. </p>
 
-%PARAM smtpd_disable_ehlo_keywords
+%PARAM smtpd_discard_ehlo_keywords
 
 <p> A case insensitive list of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP server will not send in the EHLO response
-to a remote SMTP client. Use the smtpd_disable_ehlo_keyword_address_maps
-feature to disable EHLO keywords selectively.  </p>
+to a remote SMTP client. Use the smtpd_discard_ehlo_keyword_address_maps
+feature to discard EHLO keywords selectively.  </p>
 
-%PARAM smtp_disable_ehlo_keyword_address_maps
+%PARAM smtp_discard_ehlo_keyword_address_maps
 
 <p> Lookup tables, indexed by the remote SMTP server address, with
 case insensitive lists of EHLO keywords (pipelining, starttls,
 auth, etc.) that the SMTP client will ignore in the EHLO response
 from a remote SMTP server. </p>
 
-%PARAM smtpd_disable_ehlo_keyword_address_maps
+%PARAM smtpd_discard_ehlo_keyword_address_maps
 
 <p> Lookup tables, indexed by the remote SMTP client address, with
 case insensitive lists of EHLO keywords (pipelining, starttls,
index ea42bf7c00208f06d43b4c609ffe5b8cd7e7787c..6ae567346959d06e507d9c8a3754f8c42b3ccf7e 100644 (file)
@@ -96,8 +96,7 @@ const char *str_ehlo_mask(int mask_bits)
      * We don't allow non-existent bits. Doing so makes no sense at this
      * time.
      */
-    return (str_name_mask_opt("ehlo bitmask", ehlo_mask_table,
-                             mask_bits, NAME_MASK_NONE));
+    return (str_name_mask("ehlo bitmask", ehlo_mask_table, mask_bits));
 }
 
 #ifdef TEST
index 76aadc51bae4015542f09ab9f8990f9bed2358cc..14d1f0dd2e15c72236d2f5dc0570e3484c95f80d 100644 (file)
@@ -2117,19 +2117,19 @@ extern char *var_local_rwr_clients;
  /*
   * EHLO keyword filter.
   */
-#define VAR_SMTPD_EHLO_DIS_WORDS       "smtpd_disable_ehlo_keywords"
+#define VAR_SMTPD_EHLO_DIS_WORDS       "smtpd_discard_ehlo_keywords"
 #define DEF_SMTPD_EHLO_DIS_WORDS       ""
 extern char *var_smtpd_ehlo_dis_words;
 
-#define VAR_SMTPD_EHLO_DIS_MAPS                "smtpd_disable_ehlo_keyword_address_maps"
+#define VAR_SMTPD_EHLO_DIS_MAPS                "smtpd_discard_ehlo_keyword_address_maps"
 #define DEF_SMTPD_EHLO_DIS_MAPS                ""
 extern char *var_smtpd_ehlo_dis_maps;
 
-#define VAR_SMTP_EHLO_DIS_WORDS                "smtp_disable_ehlo_keywords"
+#define VAR_SMTP_EHLO_DIS_WORDS                "smtp_discard_ehlo_keywords"
 #define DEF_SMTP_EHLO_DIS_WORDS                ""
 extern char *var_smtp_ehlo_dis_words;
 
-#define VAR_SMTP_EHLO_DIS_MAPS         "smtp_disable_ehlo_keyword_address_maps"
+#define VAR_SMTP_EHLO_DIS_MAPS         "smtp_discard_ehlo_keyword_address_maps"
 #define DEF_SMTP_EHLO_DIS_MAPS         ""
 extern char *var_smtp_ehlo_dis_maps;
 
index 395e08a9fcee4d5be1a1fc2944ff0c365154ff35..bca7472cd1c161ffbd860eb00bd6c250b1563208 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change the patchlevel and the release date. Snapshots change the
   * release date only.
   */
-#define MAIL_RELEASE_DATE      "20041218"
+#define MAIL_RELEASE_DATE      "20041219"
 #define MAIL_VERSION_NUMBER    "2.2"
 
 #define VAR_MAIL_VERSION       "mail_version"
index 19465075d0bef903e47968919cc9ff7c78d25c4c..086f502bef26cd42d15702efba387974b72edab3 100644 (file)
 /*     The entire sender address.
 /* .PP
 /*     Additional remote client information is made available via
-/*     the following pseudo variables:
+/*     the following environment variables:
 /* .IP \fBCLIENT_ADDRESS\fR
 /*     Remote client network address. Available as of Postfix 2.2.
 /* .IP \fBCLIENT_HELO\fR
index e1b21ab13db86fd1304a1c095d2522d4b409ea5b..70c3c2fb11399524a2260dd2120a64a639e6f110 100644 (file)
@@ -385,7 +385,8 @@ int     main(int argc, char **argv)
     master_config();
     master_sigsetup();
     master_flow_init();
-    msg_info("daemon started -- version %s", var_mail_version);
+    msg_info("daemon started -- version %s, configuration %s",
+            var_mail_version, var_config_dir);
 
     /*
      * Process events. The event handler will execute the read/write/timer
index 11d6d50314c617677d992a35e8f6600b193c4bf9..997f80f32e37fb976ad53f9c80f80e49af42bbff 100644 (file)
 /*     again later).
 /* .PP
 /*     Available in Postfix version 2.2 and later:
-/* .IP "\fBsmtp_disable_ehlo_keyword_address_maps (empty)\fR"
+/* .IP "\fBsmtp_discard_ehlo_keyword_address_maps (empty)\fR"
 /*     Lookup tables, indexed by the remote SMTP server address, with
 /*     case insensitive lists of EHLO keywords (pipelining, starttls,
 /*     auth, etc.) that the SMTP client will ignore in the EHLO response
 /*     from a remote SMTP server.
-/* .IP "\fBsmtp_disable_ehlo_keywords (empty)\fR"
+/* .IP "\fBsmtp_discard_ehlo_keywords (empty)\fR"
 /*     A case insensitive list of EHLO keywords (pipelining, starttls,
 /*     auth, etc.) that the SMTP client will ignore in the EHLO response
 /*     from a remote SMTP server.
@@ -412,7 +412,7 @@ int     smtp_errno;
 int     smtp_host_lookup_mask;
 STRING_LIST *smtp_cache_dest;
 SCACHE *smtp_scache;
-MAPS   *smtp_ehlo_disable_maps;
+MAPS   *smtp_ehlo_dis_maps;
 
 /* deliver_message - deliver message with extreme prejudice */
 
@@ -560,9 +560,9 @@ static void pre_init(char *unused_name, char **unused_argv)
      * EHLO keyword filter.
      */
     if (*var_smtp_ehlo_dis_maps)
-       smtp_ehlo_disable_maps = maps_create(VAR_SMTPD_EHLO_DIS_MAPS,
-                                            var_smtp_ehlo_dis_maps,
-                                            DICT_FLAG_LOCK);
+       smtp_ehlo_dis_maps = maps_create(VAR_SMTPD_EHLO_DIS_MAPS,
+                                        var_smtp_ehlo_dis_maps,
+                                        DICT_FLAG_LOCK);
 }
 
 /* pre_accept - see if tables have changed */
index d368b8c8d11f21708671aec0c969de0619a2475a..9fe55b15a6095c8b461e870dde0232018b970ca6 100644 (file)
@@ -144,7 +144,7 @@ extern int smtp_host_lookup_mask;   /* host lookup methods to use */
 extern SCACHE *smtp_scache;            /* connection cache instance */
 extern STRING_LIST *smtp_cache_dest;   /* cached destinations */
 
-extern MAPS *smtp_ehlo_disable_maps;   /* ehlo keyword filter */
+extern MAPS *smtp_ehlo_dis_maps;       /* ehlo keyword filter */
 
  /*
   * smtp_session.c
index e3fc7ca52c2fe390eb3fbbcf6d02ff23889d1d92..1da9afe0bd6cdb51eea31f4ea0d65bcc4367b7ed 100644 (file)
@@ -230,7 +230,7 @@ int     smtp_helo(SMTP_STATE *state, int misc_flags)
     };
     SOCKOPT_SIZE optlen;
     const char *ehlo_words;
-    int     disable_mask;
+    int     discard_mask;
 
     /*
      * Prepare for disaster.
@@ -310,12 +310,12 @@ int     smtp_helo(SMTP_STATE *state, int misc_flags)
      * Determine what server EHLO keywords to ignore, typically to avoid
      * inter-operability problems.
      */
-    if (smtp_ehlo_disable_maps == 0
-       || (ehlo_words = maps_find(smtp_ehlo_disable_maps, state->session->addr, 0)) == 0)
+    if (smtp_ehlo_dis_maps == 0
+       || (ehlo_words = maps_find(smtp_ehlo_dis_maps, state->session->addr, 0)) == 0)
        ehlo_words = var_smtp_ehlo_dis_words;
-    disable_mask = ehlo_mask(ehlo_words);
-    if (disable_mask)
-       msg_info("disabled EHLO keywords: %s", str_ehlo_mask(disable_mask));
+    discard_mask = ehlo_mask(ehlo_words);
+    if (discard_mask)
+       msg_info("discarding EHLO keywords: %s", str_ehlo_mask(discard_mask));
 
     /*
      * Pick up some useful features offered by the SMTP server. XXX Until we
@@ -331,18 +331,18 @@ int     smtp_helo(SMTP_STATE *state, int misc_flags)
     while ((words = mystrtok(&lines, "\n")) != 0) {
        if (mystrtok(&words, "- ") && (word = mystrtok(&words, " \t=")) != 0) {
            if (strcasecmp(word, "8BITMIME") == 0) {
-               if ((disable_mask & EHLO_MASK_8BITMIME) == 0)
+               if ((discard_mask & EHLO_MASK_8BITMIME) == 0)
                    session->features |= SMTP_FEATURE_8BITMIME;
            } else if (strcasecmp(word, "PIPELINING") == 0) {
-               if ((disable_mask & EHLO_MASK_PIPELINING) == 0)
+               if ((discard_mask & EHLO_MASK_PIPELINING) == 0)
                    session->features |= SMTP_FEATURE_PIPELINING;
            } else if (strcasecmp(word, "XFORWARD") == 0) {
-               if ((disable_mask & EHLO_MASK_XFORWARD) == 0)
+               if ((discard_mask & EHLO_MASK_XFORWARD) == 0)
                    while ((word = mystrtok(&words, " \t")) != 0)
                        session->features |= name_code(xforward_features,
                                                 NAME_CODE_FLAG_NONE, word);
            } else if (strcasecmp(word, "SIZE") == 0) {
-               if ((disable_mask & EHLO_MASK_SIZE) == 0) {
+               if ((discard_mask & EHLO_MASK_SIZE) == 0) {
                    session->features |= SMTP_FEATURE_SIZE;
                    if ((word = mystrtok(&words, " \t")) != 0) {
                        if (!alldig(word))
@@ -354,7 +354,7 @@ int     smtp_helo(SMTP_STATE *state, int misc_flags)
                }
 #ifdef USE_SASL_AUTH
            } else if (var_smtp_sasl_enable && strcasecmp(word, "AUTH") == 0) {
-               if ((disable_mask & EHLO_MASK_AUTH) == 0)
+               if ((discard_mask & EHLO_MASK_AUTH) == 0)
                    smtp_sasl_helo_auth(session, words);
 #endif
            } else if (strcasecmp(word, var_myhostname) == 0) {
index d5d54c4e2583243b219b2a1ae6d9fcdf6a521c9e..8b94bdc7782ad9e70e63f309aa7133eecc33fdf0 100644 (file)
 /*     What SMTP clients Postfix will not offer AUTH support to.
 /* .PP
 /*     Available in Postfix version 2.2 and later:
-/* .IP "\fBsmtpd_disable_ehlo_keyword_address_maps (empty)\fR"
+/* .IP "\fBsmtpd_discard_ehlo_keyword_address_maps (empty)\fR"
 /*     Lookup tables, indexed by the remote SMTP client address, with
 /*     case insensitive lists of EHLO keywords (pipelining, starttls,
 /*     auth, etc.) that the SMTP server will not send in the EHLO response
 /*     to a remote SMTP client.
-/* .IP "\fBsmtpd_disable_ehlo_keywords (empty)\fR"
+/* .IP "\fBsmtpd_discard_ehlo_keywords (empty)\fR"
 /*     A case insensitive list of EHLO keywords (pipelining, starttls,
 /*     auth, etc.) that the SMTP server will not send in the EHLO response
 /*     to a remote SMTP client.
@@ -831,7 +831,7 @@ char   *var_smtpd_ehlo_dis_maps;
  /*
   * EHLO keyword filter
   */
-static MAPS *ehlo_disable_maps;
+static MAPS *ehlo_discard_maps;
 
  /*
   * VERP command name.
@@ -975,9 +975,9 @@ static int helo_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
 static int ehlo_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
 {
     char   *err;
-    int     todo_mask;
+    int     discard_mask;
     const char *ehlo_words;
-    VSTRING *ehlo_buf;
+    VSTRING *reply_buf;
 
     /*
      * XXX 2821 new feature: Section 4.1.4 specifies that a server must clear
@@ -1022,83 +1022,83 @@ static int ehlo_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
      * Determine what server EHLO keywords to suppress, typically to avoid
      * inter-operability problems.
      */
-    if (ehlo_disable_maps == 0
-       || (ehlo_words = maps_find(ehlo_disable_maps, state->addr, 0)) == 0)
+    if (ehlo_discard_maps == 0
+       || (ehlo_words = maps_find(ehlo_discard_maps, state->addr, 0)) == 0)
        ehlo_words = var_smtpd_ehlo_dis_words;
-    todo_mask = ~ehlo_mask(ehlo_words);
-    if (~todo_mask)
-       msg_info("disabled EHLO keywords: %s", str_ehlo_mask(~todo_mask));
+    discard_mask = ehlo_mask(ehlo_words);
+    if (discard_mask)
+       msg_info("discarding EHLO keywords: %s", str_ehlo_mask(discard_mask));
 
     /*
      * Build the EHLO response, suppressing features as requested. We store
-     * each output line in one-element output queue, where it sits until we
+     * each output line in one-element output queue, where it sits until we
      * know if we need to prepend "250-" or "250 " to it. Each time we
      * enqueue a reply line we flush the one that sits in the queue. We use a
      * couple ugly macros to avoid making mistakes in code that repeats a
      * lot.
      */
-#define ENQUEUE_FIX_REPLY(state, ehlo_buf, cmd) \
+#define ENQUEUE_FIX_REPLY(state, reply_buf, cmd) \
     do { \
-       smtpd_chat_reply((state), "250-%s", STR(ehlo_buf)); \
-       vstring_strcpy((ehlo_buf), (cmd)); \
+       smtpd_chat_reply((state), "250-%s", STR(reply_buf)); \
+       vstring_strcpy((reply_buf), (cmd)); \
     } while (0)
 
-#define ENQUEUE_FMT_REPLY(state, ehlo_buf, fmt, arg) \
+#define ENQUEUE_FMT_REPLY(state, reply_buf, fmt, arg) \
     do { \
-       smtpd_chat_reply((state), "250-%s", STR(ehlo_buf)); \
-       vstring_sprintf((ehlo_buf), (fmt), (arg)); \
+       smtpd_chat_reply((state), "250-%s", STR(reply_buf)); \
+       vstring_sprintf((reply_buf), (fmt), (arg)); \
     } while (0)
 
-    ehlo_buf = vstring_alloc(10);
-    vstring_strcpy(ehlo_buf, var_myhostname);
-    if (todo_mask & EHLO_MASK_PIPELINING)
-       ENQUEUE_FIX_REPLY(state, ehlo_buf, "PIPELINING");
-    if (todo_mask & EHLO_MASK_SIZE) {
+    reply_buf = vstring_alloc(10);
+    vstring_strcpy(reply_buf, var_myhostname);
+    if ((discard_mask & EHLO_MASK_PIPELINING) == 0)
+       ENQUEUE_FIX_REPLY(state, reply_buf, "PIPELINING");
+    if ((discard_mask & EHLO_MASK_SIZE) == 0) {
        if (var_message_limit)
-           ENQUEUE_FMT_REPLY(state, ehlo_buf, "SIZE %lu",
+           ENQUEUE_FMT_REPLY(state, reply_buf, "SIZE %lu",
                              (unsigned long) var_message_limit);       /* XXX */
        else
-           ENQUEUE_FIX_REPLY(state, ehlo_buf, "SIZE");
+           ENQUEUE_FIX_REPLY(state, reply_buf, "SIZE");
     }
-    if (todo_mask & EHLO_MASK_VRFY)
+    if ((discard_mask & EHLO_MASK_VRFY) == 0)
        if (var_disable_vrfy_cmd == 0)
-           ENQUEUE_FIX_REPLY(state, ehlo_buf, "VRFY");
-    if (todo_mask & EHLO_MASK_ETRN)
-       ENQUEUE_FIX_REPLY(state, ehlo_buf, "ETRN");
+           ENQUEUE_FIX_REPLY(state, reply_buf, "VRFY");
+    if ((discard_mask & EHLO_MASK_ETRN) == 0)
+       ENQUEUE_FIX_REPLY(state, reply_buf, "ETRN");
 #ifdef USE_SASL_AUTH
-    if (todo_mask & EHLO_MASK_AUTH) {
+    if ((discard_mask & EHLO_MASK_AUTH) == 0) {
        if (var_smtpd_sasl_enable && !sasl_client_exception(state)) {
-           ENQUEUE_FMT_REPLY(state, ehlo_buf, "AUTH %s",
+           ENQUEUE_FMT_REPLY(state, reply_buf, "AUTH %s",
                              state->sasl_mechanism_list);
            if (var_broken_auth_clients)
-               ENQUEUE_FMT_REPLY(state, ehlo_buf, "AUTH=%s",
+               ENQUEUE_FMT_REPLY(state, reply_buf, "AUTH=%s",
                                  state->sasl_mechanism_list);
        }
     }
 #endif
-    if (todo_mask & EHLO_MASK_VERP)
+    if ((discard_mask & EHLO_MASK_VERP) == 0)
        if (namadr_list_match(verp_clients, state->name, state->addr))
-           ENQUEUE_FIX_REPLY(state, ehlo_buf, VERP_CMD);
+           ENQUEUE_FIX_REPLY(state, reply_buf, VERP_CMD);
     /* XCLIENT must not override its own access control. */
-    if (todo_mask & EHLO_MASK_XCLIENT)
+    if ((discard_mask & EHLO_MASK_XCLIENT) == 0)
        if (xclient_allowed)
-           ENQUEUE_FIX_REPLY(state, ehlo_buf, XCLIENT_CMD
+           ENQUEUE_FIX_REPLY(state, reply_buf, XCLIENT_CMD
                              " " XCLIENT_NAME " " XCLIENT_ADDR
                              " " XCLIENT_PROTO " " XCLIENT_HELO);
-    if (todo_mask & EHLO_MASK_XFORWARD)
+    if ((discard_mask & EHLO_MASK_XFORWARD) == 0)
        if (xforward_allowed)
-           ENQUEUE_FIX_REPLY(state, ehlo_buf, XFORWARD_CMD
+           ENQUEUE_FIX_REPLY(state, reply_buf, XFORWARD_CMD
                              " " XFORWARD_NAME " " XFORWARD_ADDR
                              " " XFORWARD_PROTO " " XFORWARD_HELO
                              " " XFORWARD_DOMAIN);
-    if (todo_mask & EHLO_MASK_8BITMIME)
-       ENQUEUE_FIX_REPLY(state, ehlo_buf, "8BITMIME");
-    smtpd_chat_reply(state, "250 %s", STR(ehlo_buf));
+    if ((discard_mask & EHLO_MASK_8BITMIME) == 0)
+       ENQUEUE_FIX_REPLY(state, reply_buf, "8BITMIME");
+    smtpd_chat_reply(state, "250 %s", STR(reply_buf));
 
     /*
      * Clean up.
      */
-    vstring_free(ehlo_buf);
+    vstring_free(reply_buf);
 
     return (0);
 }
@@ -2891,7 +2891,7 @@ static void pre_jail_init(char *unused_name, char **unused_argv)
      * EHLO keyword filter.
      */
     if (*var_smtpd_ehlo_dis_maps)
-       ehlo_disable_maps = maps_create(VAR_SMTPD_EHLO_DIS_MAPS,
+       ehlo_discard_maps = maps_create(VAR_SMTPD_EHLO_DIS_MAPS,
                                        var_smtpd_ehlo_dis_maps,
                                        DICT_FLAG_LOCK);
 }