]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.6-20080411
authorWietse Venema <wietse@porcupine.org>
Fri, 11 Apr 2008 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:34:00 +0000 (06:34 +0000)
15 files changed:
postfix/.indent.pro
postfix/HISTORY
postfix/README_FILES/SMTPD_POLICY_README
postfix/html/SMTPD_POLICY_README.html
postfix/html/bounce.5.html
postfix/html/postmap.1.html
postfix/man/man1/postmap.1
postfix/man/man5/bounce.5
postfix/proto/SMTPD_POLICY_README.html
postfix/proto/bounce
postfix/src/global/mail_version.h
postfix/src/oqmgr/qmgr_message.c
postfix/src/postmap/postmap.c
postfix/src/qmgr/qmgr_message.c
postfix/src/smtpd/smtpd_check.c

index 4fad8789c8cd8e03d18c5292c364219f977f542a..6241aa22ce60347a863aa28d83ce47f0004147df 100644 (file)
 -TSMTPD_DEFER
 -TSMTPD_RBL_EXPAND_CONTEXT
 -TSMTPD_RBL_STATE
+-TSMTPD_RCPTMAP_ST
 -TSMTPD_STATE
 -TSMTPD_TOKEN
 -TSMTPD_XFORWARD_ATTR
index 4f4b557c9217b9f1af2d0a2030695e55398a68df..972b7f40d1ae0ba0ee5f61837cd6af5e1cc49361 100644 (file)
@@ -14391,7 +14391,7 @@ Apologies for any names omitted.
        mistake of indenting if/endif blocks. Files: util/dict_pcre.c,
        util/dict_regexp.c.
 
-20030824
+20080324
 
        Cleanup: the event_drain() function is now a proper event
        processing loop. File: util/events.c
@@ -14401,5 +14401,19 @@ Apologies for any names omitted.
        message format. Specify -h or -b to use headers or body
        lines as lookup keys, and specify -hm or -bm to simulate
        header_checks or body_checks.  The postmap -h option (without
-       -m) will be compatible with a future postmap -h option.
+       -m) will be compatible with a future postcat -h option.
        File: postmap/postmap.c.
+
+20040811
+
+       Bugfix (introduced Postfix 2.0): after "warn_if_reject
+       reject_unlisted_recipient/sender", the SMTP server mistakenly
+       remembered that recipient/sender validation was already
+       done. File: smtpd/smtpd_check.c.
+
+       Bugfix (introduced Postfix 2.3): the queue manager would
+       initialize missing client logging attributes (from xforward)
+       with real client attributes. Fix: enable this backwards
+       compatibility feature only with queue files that don't
+       contain logging attributes. Problem reported by Liviu Daia.
+       Files *qmgr/qmgr_message.c.
index e338294532af5dc22b20e8654648e2407e976452..dbedde37db6ad00d12d7b969b6b3e568cf9a2b98 100644 (file)
@@ -107,7 +107,11 @@ Notes:
     value must not contain null or newline.
 
   * The "instance" attribute value can be used to correlate different requests
-    regarding the same message delivery.
+    regarding the same message delivery. These requests are sent over the same
+    policy connection (unless the policy daemon terminates the connection).
+    Once Postfix sends a query with a different instance attribute over that
+    same policy connection, the previous message delivery is either completed
+    or aborted.
 
   * The "size" attribute value specifies the message size that the client
     specified in the MAIL FROM command (zero if none was specified). With
index f42eb0830baaf9df54b4a010b0a4d1d44a97c745..1ad5441f6d93857a887d2ce3a6d1aab6a2fc47af 100644 (file)
@@ -149,7 +149,12 @@ stress=
     and an attribute value must not contain null or newline. </p>
 
     <li> <p> The "instance" attribute value can be used to correlate
-    different requests regarding the same message delivery. </p>
+    different requests regarding the same message delivery. These
+    requests are sent over the same policy connection (unless the
+    policy daemon terminates the connection).  Once Postfix sends
+    a query with a different instance attribute over that same
+    policy connection, the previous message delivery is either
+    completed or aborted. </p>
 
     <li> <p> The "size" attribute value specifies the message size
     that the client specified in the MAIL FROM command (zero if
index 54214f5a4f41c2dc6c3d08301e34db04adc84d4e..2c0e46eeef313415d3968ae5dbeafd2b13b6ac22 100644 (file)
@@ -109,10 +109,10 @@ BOUNCE(5)                                                            BOUNCE(5)
 
 <b>TEMPLATE HEADER FORMAT</b>
        The  first  portion  of  a  bounce  template  consists  of
-       optional  template  headers.   These either become message
-       headers in the delivery status  notification,  or  control
-       the  formatting of the notification. Headers not specified
-       in a template will be left at their default value.
+       optional template headers.  Some become message headers in
+       the delivery status notification; some control the format-
+       ting of that notification. Headers not specified in a tem-
+       plate will be left at their default value.
 
        The following headers are supported:
 
@@ -126,63 +126,63 @@ BOUNCE(5)                                                            BOUNCE(5)
 
        <b>Subject:</b>
               The  subject  in the message header of the delivery
-              status notification.
+              status notification that is returned to the sender.
 
        <b>Postmaster-Subject:</b>
-              The subject that will be used in Postmaster  copies
-              of  undeliverable  or  delayed  mail notifications.
-              These  copies  are  sent  under  control   of   the
+              The  subject that will be used in Postmaster copies
+              of undeliverable  or  delayed  mail  notifications.
+              These   copies   are  sent  under  control  of  the
               <a href="postconf.5.html#notify_classes">notify_classes</a> configuration parameter.
 
        The usage and specification of template message headers is
        subject to the following restrictions:
 
-       <b>o</b>      Template message header names can be  specified  in
-              upper  case,  lower  case  or  mixed  case. Postfix
+       <b>o</b>      Template  message  header names can be specified in
+              upper case,  lower  case  or  mixed  case.  Postfix
               always produces bounce message header labels of the
               form "<b>From:</b>" and "<b>Subject:</b>".
 
-       <b>o</b>      Template  message  headers  must  not span multiple
+       <b>o</b>      Template message headers  must  not  span  multiple
               lines.
 
-       <b>o</b>      Template message headers do not support  $parameter
+       <b>o</b>      Template  message headers do not support $parameter
               expansions.
 
        <b>o</b>      Template message headers must contain ASCII charac-
-              ters only, and must not contain ASCII null  charac-
+              ters  only, and must not contain ASCII null charac-
               ters.
 
 <b>TEMPLATE MESSAGE TEXT FORMAT</b>
-       The  second  portion of a bounce template consists of mes-
-       sage text. As the above example  shows,  template  message
-       text  may contain <a href="postconf.5.html">main.cf</a> $parameters. Besides the parame-
+       The second portion of a bounce template consists  of  mes-
+       sage  text.  As  the above example shows, template message
+       text may contain <a href="postconf.5.html">main.cf</a> $parameters. Besides the  parame-
        ters that are defined in <a href="postconf.5.html">main.cf</a>, the following parameters
-       are  treated  specially  depending  on  the suffix that is
+       are treated specially depending  on  the  suffix  that  is
        appended to their name.
 
        <b>delay_warning_time_</b><i>suffix</i>
-              Expands into the value  of  the  <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a></b>
-              parameter,  expressed in the time unit specified by
-              <i>suffix</i>, which is one of  <b>seconds</b>,  <b>minutes</b>,  <b>hours,</b>
+              Expands  into  the  value of the <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a></b>
+              parameter, expressed in the time unit specified  by
+              <i>suffix</i>,  which  is  one of <b>seconds</b>, <b>minutes</b>, <b>hours,</b>
               <b>days</b>, or <b>weeks</b>.
 
        <b>maximal_queue_lifetime_</b><i>suffix</i>
-              Expands  into  the value of the <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_life</a>-</b>
-              <b><a href="postconf.5.html#maximal_queue_lifetime">time</a></b> parameter, expressed in the time  unit  speci-
+              Expands into the value of  the  <b><a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_life</a>-</b>
+              <b><a href="postconf.5.html#maximal_queue_lifetime">time</a></b>  parameter,  expressed in the time unit speci-
               fied by <i>suffix</i>.  See above under <b><a href="postconf.5.html#delay_warning_time">delay_warning_time</a></b>
               for possible <i>suffix</i> values.
 
-       The usage and specification of template  message  text  is
+       The  usage  and  specification of template message text is
        subject to the following restrictions:
 
        <b>o</b>      The template message text is not sent in Postmaster
               copies of delivery status notifications.
 
-       <b>o</b>      If the template  message  text  contains  non-ASCII
+       <b>o</b>      If  the  template  message  text contains non-ASCII
               characters, Postfix requires that the <b>Charset:</b> tem-
-              plate header is updated.   Specify  an  appropriate
+              plate  header  is  updated.  Specify an appropriate
               superset of US-ASCII.  A superset is needed because
-              Postfix appends ASCII text after the  message  tem-
+              Postfix  appends  ASCII text after the message tem-
               plate when it sends a delivery status notification.
 
 <b>SEE ALSO</b>
@@ -190,11 +190,11 @@ BOUNCE(5)                                                            BOUNCE(5)
        <a href="postconf.5.html">postconf(5)</a>, configuration parameters
 
 <b>LICENSE</b>
-       The Secure Mailer license must be  distributed  with  this
+       The  Secure  Mailer  license must be distributed with this
        software.
 
 <b>HISTORY</b>
-       The  Postfix  bounce template format was originally devel-
+       The Postfix bounce template format was  originally  devel-
        oped by Nicolas Riendeau.
 
 <b>AUTHOR(S)</b>
index 253bd7d6919d77cb6b838a649aa5aa811a0b9730..50a36ff78442b303bf987c23fb28f1b5fbff7b3b 100644 (file)
@@ -67,168 +67,167 @@ POSTMAP(1)                                                          POSTMAP(1)
               mat.  Each line of body content becomes one  lookup
               key.
 
-              By  default, this processing of body content starts
-              at the first non-header line, and  continues  until
-              the end of the message is reached.
+              By  default, the <b>-b</b> option starts generating lookup
+              keys at the first non-header line, and  stops  when
+              the  end  of  the  message is reached.  To simulate
+              <a href="header_checks.5.html"><b>body_checks</b>(5)</a> processing, enable MIME parsing with
+              <b>-m</b>.  With  this,  the  <b>-b</b> option generates no body-
+              style lookup keys for attachment MIME  headers  and
+              for attached message/* headers.
 
-              To  simulate <a href="header_checks.5.html"><b>body_checks</b>(5)</a> processing, enable MIME
-              parsing with <b>-m</b>. With this, the <b>-b</b> option generates
-              no  body-style  lookup  keys  from  attachment MIME
-              headers and from attached message/* headers.
-
-              This feature is available in  Postfix  version  2.6
+              This  feature  is  available in Postfix version 2.6
               and later.
 
        <b>-c</b> <i>config</i><b>_</b><i>dir</i>
-              Read  the  <a href="postconf.5.html"><b>main.cf</b></a>  configuration file in the named
+              Read the <a href="postconf.5.html"><b>main.cf</b></a> configuration file  in  the  named
               directory  instead  of  the  default  configuration
               directory.
 
-       <b>-d</b> <i>key</i> Search  the  specified  maps for <i>key</i> and remove one
-              entry per map.  The exit status is  zero  when  the
+       <b>-d</b> <i>key</i> Search the specified maps for <i>key</i>  and  remove  one
+              entry  per  map.   The exit status is zero when the
               requested information was found.
 
               If a key value of <b>-</b> is specified, the program reads
               key values from the standard input stream. The exit
-              status  is  zero when at least one of the requested
+              status is zero when at least one of  the  requested
               keys was found.
 
        <b>-f</b>     Do not fold the lookup key to lower case while cre-
               ating or querying a table.
 
               With Postfix version 2.3 and later, this option has
-              no effect for  regular  expression  tables.  There,
+              no  effect  for  regular  expression tables. There,
               case folding is controlled by appending a flag to a
               pattern.
 
-       <b>-h</b>     Enable message  header  query  mode.  When  reading
+       <b>-h</b>     Enable  message  header  query  mode.  When reading
               lookup  keys  from  standard  input  with  "<b>-q  -</b>",
-              process the input as if it is an email  message  in
-              <a href="http://tools.ietf.org/html/rfc2822">RFC  2822</a> format.  Each logical header line becomes
-              one lookup key. A  multi-line  header  becomes  one
-              string with embedded newline characters.
-
-              By  default, this processing of header content ends
-              at the first non-header line.
+              process  the  input as if it is an email message in
+              <a href="http://tools.ietf.org/html/rfc2822">RFC 2822</a> format.  Each logical header line  becomes
+              one  lookup  key.  A  multi-line header becomes one
+              lookup key with one or more embedded newline  char-
+              acters.
+
+              By  default,  the  <b>-h</b>  option generates lookup keys
+              until the first non-header  line  is  reached.   To
+              simulate  <a href="header_checks.5.html"><b>header_checks</b>(5)</a>  processing, enable MIME
+              parsing with <b>-m</b>. With this, the <b>-h</b> option also gen-
+              erates header-style lookup keys for attachment MIME
+              headers and for attached message/* headers.
 
-              To  simulate  <a href="header_checks.5.html"><b>header_checks</b>(5)</a>  processing,  enable
-              MIME parsing with <b>-m</b>. With this, the <b>-h</b> option also
-              generates header-style lookup keys from  attachment
-              MIME headers and from attached message/* headers.
-
-              This  feature  is  available in Postfix version 2.6
+              This feature is available in  Postfix  version  2.6
               and later.
 
-       <b>-i</b>     Incremental mode. Read entries from standard  input
+       <b>-i</b>     Incremental  mode. Read entries from standard input
               and  do  not  truncate  an  existing  database.  By
               default, <a href="postmap.1.html"><b>postmap</b>(1)</a> creates a new database from the
               entries in <b>file_name</b>.
 
-       <b>-m</b>     Enable MIME mode mode with "<b>-b</b>" and "<b>-h</b>".
+       <b>-m</b>     Enable MIME parsing with "<b>-b</b>" and "<b>-h</b>".
 
-              This  feature  is  available in Postfix version 2.6
+              This feature is available in  Postfix  version  2.6
               and later.
 
-       <b>-N</b>     Include the terminating null character that  termi-
-              nates   lookup   keys   and   values.  By  default,
-              <a href="postmap.1.html"><b>postmap</b>(1)</a> does whatever is  the  default  for  the
+       <b>-N</b>     Include  the terminating null character that termi-
+              nates  lookup  keys   and   values.   By   default,
+              <a href="postmap.1.html"><b>postmap</b>(1)</a>  does  whatever  is  the default for the
               host operating system.
 
-       <b>-n</b>     Don't  include  the terminating null character that
-              terminates lookup  keys  and  values.  By  default,
-              <a href="postmap.1.html"><b>postmap</b>(1)</a>  does  whatever  is  the default for the
+       <b>-n</b>     Don't include the terminating null  character  that
+              terminates  lookup  keys  and  values.  By default,
+              <a href="postmap.1.html"><b>postmap</b>(1)</a> does whatever is  the  default  for  the
               host operating system.
 
-       <b>-o</b>     Do not release root privileges  when  processing  a
-              non-root  input  file. By default, <a href="postmap.1.html"><b>postmap</b>(1)</a> drops
-              root privileges and runs as the source  file  owner
+       <b>-o</b>     Do  not  release  root privileges when processing a
+              non-root input file. By default,  <a href="postmap.1.html"><b>postmap</b>(1)</a>  drops
+              root  privileges  and runs as the source file owner
               instead.
 
        <b>-p</b>     Do not inherit the file access permissions from the
               input file when creating a new file.  Instead, cre-
-              ate  a  new  file  with  default access permissions
+              ate a new  file  with  default  access  permissions
               (mode 0644).
 
-       <b>-q</b> <i>key</i> Search the specified maps for  <i>key</i>  and  write  the
-              first  value  found  to the standard output stream.
+       <b>-q</b> <i>key</i> Search  the  specified  maps  for <i>key</i> and write the
+              first value found to the  standard  output  stream.
               The exit status is zero when the requested informa-
               tion was found.
 
               If a key value of <b>-</b> is specified, the program reads
-              key values  from  the  standard  input  stream  and
-              writes  one  line  of <i>key value</i> output for each key
-              that was found. The exit status  is  zero  when  at
+              key  values  from  the  standard  input  stream and
+              writes one line of <i>key value</i> output  for  each  key
+              that  was  found.  The  exit status is zero when at
               least one of the requested keys was found.
 
        <b>-r</b>     When  updating  a  table,  do  not  complain  about
               attempts to update existing entries, and make those
               updates anyway.
 
-       <b>-s</b>     Retrieve  all database elements, and write one line
-              of <i>key value</i> output for each element. The  elements
-              are  printed in database order, which is not neces-
+       <b>-s</b>     Retrieve all database elements, and write one  line
+              of  <i>key value</i> output for each element. The elements
+              are printed in database order, which is not  neces-
               sarily the same as the original input order.
 
-              This feature is available in  Postfix  version  2.2
-              and  later,  and  is not available for all database
+              This  feature  is  available in Postfix version 2.2
+              and later, and is not available  for  all  database
               types.
 
        <b>-v</b>     Enable verbose logging for debugging purposes. Mul-
-              tiple  <b>-v</b>  options  make  the software increasingly
+              tiple <b>-v</b> options  make  the  software  increasingly
               verbose.
 
        <b>-w</b>     When  updating  a  table,  do  not  complain  about
-              attempts  to  update  existing  entries, and ignore
+              attempts to update  existing  entries,  and  ignore
               those attempts.
 
        Arguments:
 
        <i>file</i><b>_</b><i>type</i>
-              The database type. To find out what types are  sup-
+              The  database type. To find out what types are sup-
               ported, use the "<b>postconf -m</b>" command.
 
               The <a href="postmap.1.html"><b>postmap</b>(1)</a> command can query any supported file
-              type, but it can create  only  the  following  file
+              type,  but  it  can  create only the following file
               types:
 
-              <b>btree</b>  The  output  file  is  a  btree  file, named
-                     <i>file</i><b>_</b><i>name</i><b>.db</b>.  This is available on  systems
+              <b>btree</b>  The output  file  is  a  btree  file,  named
+                     <i>file</i><b>_</b><i>name</i><b>.db</b>.   This is available on systems
                      with support for <b>db</b> databases.
 
               <b>cdb</b>    The  output  consists  of  one  file,  named
                      <i>file</i><b>_</b><i>name</i><b>.cdb</b>.  This is available on systems
                      with support for <b>cdb</b> databases.
 
-              <b>dbm</b>    The  output  consists  of  two  files, named
-                     <i>file</i><b>_</b><i>name</i><b>.pag</b> and  <i>file</i><b>_</b><i>name</i><b>.dir</b>.   This  is
-                     available  on  systems  with support for <b>dbm</b>
+              <b>dbm</b>    The output  consists  of  two  files,  named
+                     <i>file</i><b>_</b><i>name</i><b>.pag</b>  and  <i>file</i><b>_</b><i>name</i><b>.dir</b>.   This is
+                     available on systems with  support  for  <b>dbm</b>
                      databases.
 
-              <b>hash</b>   The output file  is  a  hashed  file,  named
-                     <i>file</i><b>_</b><i>name</i><b>.db</b>.   This is available on systems
+              <b>hash</b>   The  output  file  is  a  hashed file, named
+                     <i>file</i><b>_</b><i>name</i><b>.db</b>.  This is available on  systems
                      with support for <b>db</b> databases.
 
-              <b>sdbm</b>   The output  consists  of  two  files,  named
-                     <i>file</i><b>_</b><i>name</i><b>.pag</b>  and  <i>file</i><b>_</b><i>name</i><b>.dir</b>.   This is
-                     available on systems with support  for  <b>sdbm</b>
+              <b>sdbm</b>   The  output  consists  of  two  files, named
+                     <i>file</i><b>_</b><i>name</i><b>.pag</b> and  <i>file</i><b>_</b><i>name</i><b>.dir</b>.   This  is
+                     available  on  systems with support for <b>sdbm</b>
                      databases.
 
-              When  no  <i>file</i><b>_</b><i>type</i> is specified, the software uses
-              the database type specified via  the  <b><a href="postconf.5.html#default_database_type">default_data</a>-</b>
+              When no <i>file</i><b>_</b><i>type</i> is specified, the  software  uses
+              the  database  type specified via the <b><a href="postconf.5.html#default_database_type">default_data</a>-</b>
               <b><a href="postconf.5.html#default_database_type">base_type</a></b> configuration parameter.
 
        <i>file</i><b>_</b><i>name</i>
-              The  name  of  the  lookup  table  source file when
+              The name of  the  lookup  table  source  file  when
               rebuilding a database.
 
 <b>DIAGNOSTICS</b>
-       Problems are logged to the standard error  stream  and  to
-       <b>syslogd</b>(8).    No  output  means  that  no  problems  were
-       detected. Duplicate entries are skipped  and  are  flagged
+       Problems  are  logged  to the standard error stream and to
+       <b>syslogd</b>(8).   No  output  means  that  no  problems   were
+       detected.  Duplicate  entries  are skipped and are flagged
        with a warning.
 
-       <a href="postmap.1.html"><b>postmap</b>(1)</a>  terminates  with  zero  exit status in case of
-       success (including successful  "<b>postmap  -q</b>"  lookup)  and
+       <a href="postmap.1.html"><b>postmap</b>(1)</a> terminates with zero exit  status  in  case  of
+       success  (including  successful  "<b>postmap  -q</b>" lookup) and
        terminates with non-zero exit status in case of failure.
 
 <b>ENVIRONMENT</b>
@@ -239,21 +238,21 @@ POSTMAP(1)                                                          POSTMAP(1)
               Enable verbose logging for debugging purposes.
 
 <b>CONFIGURATION PARAMETERS</b>
-       The  following  <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
+       The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are  especially  relevant
        to this program.  The text below provides only a parameter
-       summary.  See <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including exam-
+       summary. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including  exam-
        ples.
 
        <b><a href="postconf.5.html#berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a> (16777216)</b>
-              The per-table I/O buffer  size  for  programs  that
+              The  per-table  I/O  buffer  size for programs that
               create Berkeley DB hash or btree tables.
 
        <b><a href="postconf.5.html#berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a> (131072)</b>
-              The  per-table  I/O  buffer  size for programs that
+              The per-table I/O buffer  size  for  programs  that
               read Berkeley DB hash or btree tables.
 
        <b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
-              The default location of  the  Postfix  <a href="postconf.5.html">main.cf</a>  and
+              The  default  location  of  the Postfix <a href="postconf.5.html">main.cf</a> and
               <a href="master.5.html">master.cf</a> configuration files.
 
        <b><a href="postconf.5.html#default_database_type">default_database_type</a> (see 'postconf -d' output)</b>
@@ -264,8 +263,8 @@ POSTMAP(1)                                                          POSTMAP(1)
               The syslog facility of Postfix logging.
 
        <b><a href="postconf.5.html#syslog_name">syslog_name</a> (postfix)</b>
-              The mail system  name  that  is  prepended  to  the
-              process  name  in  syslog  records, so that "smtpd"
+              The  mail  system  name  that  is  prepended to the
+              process name in syslog  records,  so  that  "smtpd"
               becomes, for example, "postfix/smtpd".
 
 <b>SEE ALSO</b>
@@ -278,7 +277,7 @@ POSTMAP(1)                                                          POSTMAP(1)
        <a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index dad48ab02f7df321fc5dff24e73f618006b44ba7..9189c28a21a573ca6b8b59662071b5ae4d4a4706 100644 (file)
@@ -73,14 +73,13 @@ from standard input with "\fB-q -\fR", process the input
 as if it is an email message in RFC 2822 format.  Each line
 of body content becomes one lookup key.
 .sp
-By default, this processing of body content starts at the
-first non-header line, and continues until the end of the
-message is reached.
-.sp
+By default, the \fB-b\fR option starts generating lookup
+keys at the first non-header line, and stops when the end
+of the message is reached.
 To simulate \fBbody_checks\fR(5) processing, enable MIME
 parsing with \fB-m\fR. With this, the \fB-b\fR option
-generates no body-style lookup keys from attachment MIME
-headers and from attached message/* headers.
+generates no body-style lookup keys for attachment MIME
+headers and for attached message/* headers.
 .sp
 This feature is available in Postfix version 2.6 and later.
 .IP "\fB-c \fIconfig_dir\fR"
@@ -105,15 +104,15 @@ Enable message header query mode. When reading lookup keys
 from standard input with "\fB-q -\fR", process the input
 as if it is an email message in RFC 2822 format.  Each
 logical header line becomes one lookup key. A multi-line
-header becomes one string with embedded newline characters.
-.sp
-By default, this processing of header content ends at the
-first non-header line.
+header becomes one lookup key with one or more embedded
+newline characters.
 .sp
+By default, the \fB-h\fR option generates lookup keys until
+the first non-header line is reached.
 To simulate \fBheader_checks\fR(5) processing, enable MIME
 parsing with \fB-m\fR. With this, the \fB-h\fR option also
-generates header-style lookup keys from attachment MIME
-headers and from attached message/* headers.
+generates header-style lookup keys for attachment MIME
+headers and for attached message/* headers.
 .sp
 This feature is available in Postfix version 2.6 and later.
 .IP \fB-i\fR
@@ -121,7 +120,7 @@ Incremental mode. Read entries from standard input and do not
 truncate an existing database. By default, \fBpostmap\fR(1) creates
 a new database from the entries in \fBfile_name\fR.
 .IP \fB-m\fR
-Enable MIME mode mode with "\fB-b\fR" and "\fB-h\fR".
+Enable MIME parsing with "\fB-b\fR" and "\fB-h\fR".
 .sp
 This feature is available in Postfix version 2.6 and later.
 .IP \fB-N\fR
index 2fddcac5e85f75bc21fe62df1ae469d3372661d6..f039f1810409718a3460c92884a852ffc456ae35 100644 (file)
@@ -122,9 +122,9 @@ directory.
 .ad
 .fi
 The first portion of a bounce template consists of optional
-template headers.  These either become message headers in
-the delivery status notification, or control the formatting
-of the notification. Headers not specified in a template
+template headers.  Some become message headers in the
+delivery status notification; some control the formatting
+of that notification. Headers not specified in a template
 will be left at their default value.
 
 The following headers are supported:
@@ -136,7 +136,7 @@ The sender address in the message header of the delivery
 status notification.
 .IP \fBSubject:\fR
 The subject in the message header of the delivery status
-notification.
+notification that is returned to the sender.
 .IP \fBPostmaster-Subject:\fR
 The subject that will be used in Postmaster copies of
 undeliverable or delayed mail notifications. These copies
index 639b5ddf03bb0e3000a96145cbc413ac6c0cc9a7..bdf79709756f65935184e3f18c1e1f4411bb28ae 100644 (file)
@@ -149,7 +149,12 @@ stress=
     and an attribute value must not contain null or newline. </p>
 
     <li> <p> The "instance" attribute value can be used to correlate
-    different requests regarding the same message delivery. </p>
+    different requests regarding the same message delivery. These
+    requests are sent over the same policy connection (unless the
+    policy daemon terminates the connection).  Once Postfix sends
+    a query with a different instance attribute over that same
+    policy connection, the previous message delivery is either
+    completed or aborted. </p>
 
     <li> <p> The "size" attribute value specifies the message size
     that the client specified in the MAIL FROM command (zero if
index 98e96d4cfaaa7c83e553abd469a794b165330507..a76da97c7e7e765e99e546a0d78bb258e033a042 100644 (file)
 # .ad
 # .fi
 #      The first portion of a bounce template consists of optional
-#      template headers.  These either become message headers in
-#      the delivery status notification, or control the formatting
-#      of the notification. Headers not specified in a template
+#      template headers.  Some become message headers in the
+#      delivery status notification; some control the formatting
+#      of that notification. Headers not specified in a template
 #      will be left at their default value.
 #
 #      The following headers are supported:
 #      status notification.
 # .IP \fBSubject:\fR
 #      The subject in the message header of the delivery status
-#      notification.
+#      notification that is returned to the sender.
 # .IP \fBPostmaster-Subject:\fR
 #      The subject that will be used in Postmaster copies of
 #      undeliverable or delayed mail notifications. These copies
index 2286261abec66b29dd99f797e3b24452e0236e3b..21523a4d4f641e5d276f5e6c7359aa2784c0d5d6 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      "20080324"
+#define MAIL_RELEASE_DATE      "20080411"
 #define MAIL_VERSION_NUMBER    "2.6"
 
 #ifdef SNAPSHOT
index a68cc9ea011e74b2486e0c4faaa015d99e419f13..4334d86841873f5a6e458970b2c4fb850120f35a 100644 (file)
@@ -311,6 +311,7 @@ static int qmgr_message_read(QMGR_MESSAGE *message)
     int     dsn_notify = 0;
     char   *dsn_orcpt = 0;
     int     n;
+    int     have_log_client_attr = 0;
 
     /*
      * Initialize. No early returns or we have a memory leak.
@@ -612,18 +613,24 @@ static int qmgr_message_read(QMGR_MESSAGE *message)
             * client information. To support old queue files, we accept both
             * names for the purpose of logging; the new name overrides the
             * old one.
+            * 
+            * XXX Do not use the "legacy" client_name etc. attribute values for
+            * initializing the logging attributes, when this file already
+            * contains the "modern" log_client_name etc. logging attributes.
+            * Otherwise, logging attributes that are not present in the
+            * queue file would be set with information from the real client.
             */
            else if (strcmp(name, MAIL_ATTR_ACT_CLIENT_NAME) == 0) {
-               if (message->client_name == 0)
+               if (have_log_client_attr == 0 && message->client_name == 0)
                    message->client_name = mystrdup(value);
            } else if (strcmp(name, MAIL_ATTR_ACT_CLIENT_ADDR) == 0) {
-               if (message->client_addr == 0)
+               if (have_log_client_attr == 0 && message->client_addr == 0)
                    message->client_addr = mystrdup(value);
            } else if (strcmp(name, MAIL_ATTR_ACT_PROTO_NAME) == 0) {
-               if (message->client_proto == 0)
+               if (have_log_client_attr == 0 && message->client_proto == 0)
                    message->client_proto = mystrdup(value);
            } else if (strcmp(name, MAIL_ATTR_ACT_HELO_NAME) == 0) {
-               if (message->client_helo == 0)
+               if (have_log_client_attr == 0 && message->client_helo == 0)
                    message->client_helo = mystrdup(value);
            }
            /* Original client attributes. */
@@ -631,22 +638,27 @@ static int qmgr_message_read(QMGR_MESSAGE *message)
                if (message->client_name != 0)
                    myfree(message->client_name);
                message->client_name = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_LOG_CLIENT_ADDR) == 0) {
                if (message->client_addr != 0)
                    myfree(message->client_addr);
                message->client_addr = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_LOG_CLIENT_PORT) == 0) {
                if (message->client_port != 0)
                    myfree(message->client_port);
                message->client_port = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_LOG_PROTO_NAME) == 0) {
                if (message->client_proto != 0)
                    myfree(message->client_proto);
                message->client_proto = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_LOG_HELO_NAME) == 0) {
                if (message->client_helo != 0)
                    myfree(message->client_helo);
                message->client_helo = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_SASL_METHOD) == 0) {
                if (message->sasl_method == 0)
                    message->sasl_method = mystrdup(value);
index 3138c99427c16a001032755f1e0c9464c3893647..be414e70fb031782bf0bb9838783896199a2d00e 100644 (file)
 /*     as if it is an email message in RFC 2822 format.  Each line
 /*     of body content becomes one lookup key.
 /* .sp
-/*     By default, this processing of body content starts at the
-/*     first non-header line, and continues until the end of the
-/*     message is reached.
-/* .sp
+/*     By default, the \fB-b\fR option starts generating lookup
+/*     keys at the first non-header line, and stops when the end
+/*     of the message is reached.
 /*     To simulate \fBbody_checks\fR(5) processing, enable MIME
 /*     parsing with \fB-m\fR. With this, the \fB-b\fR option
-/*     generates no body-style lookup keys from attachment MIME
-/*     headers and from attached message/* headers.
+/*     generates no body-style lookup keys for attachment MIME
+/*     headers and for attached message/* headers.
 /* .sp
 /*     This feature is available in Postfix version 2.6 and later.
 /* .IP "\fB-c \fIconfig_dir\fR"
 /*     from standard input with "\fB-q -\fR", process the input
 /*     as if it is an email message in RFC 2822 format.  Each
 /*     logical header line becomes one lookup key. A multi-line
-/*     header becomes one string with embedded newline characters.
-/* .sp
-/*     By default, this processing of header content ends at the
-/*     first non-header line.
+/*     header becomes one lookup key with one or more embedded
+/*     newline characters.
 /* .sp
+/*     By default, the \fB-h\fR option generates lookup keys until
+/*     the first non-header line is reached.
 /*     To simulate \fBheader_checks\fR(5) processing, enable MIME
 /*     parsing with \fB-m\fR. With this, the \fB-h\fR option also
-/*     generates header-style lookup keys from attachment MIME
-/*     headers and from attached message/* headers.
+/*     generates header-style lookup keys for attachment MIME
+/*     headers and for attached message/* headers.
 /* .sp
 /*     This feature is available in Postfix version 2.6 and later.
 /* .IP \fB-i\fR
 /*     truncate an existing database. By default, \fBpostmap\fR(1) creates
 /*     a new database from the entries in \fBfile_name\fR.
 /* .IP \fB-m\fR
-/*     Enable MIME mode mode with "\fB-b\fR" and "\fB-h\fR".
+/*     Enable MIME parsing with "\fB-b\fR" and "\fB-h\fR".
 /* .sp
 /*     This feature is available in Postfix version 2.6 and later.
 /* .IP \fB-N\fR
index f2ad51e7b2dc76cdb94181c87d8ee43688c0bd8e..f683fe0aac611713f0d31433bba07650ac48b995 100644 (file)
@@ -334,6 +334,7 @@ static int qmgr_message_read(QMGR_MESSAGE *message)
     int     dsn_notify = 0;
     char   *dsn_orcpt = 0;
     int     n;
+    int     have_log_client_attr = 0;
 
     /*
      * Initialize. No early returns or we have a memory leak.
@@ -653,18 +654,24 @@ static int qmgr_message_read(QMGR_MESSAGE *message)
             * client information. To support old queue files we accept both
             * names for the purpose of logging; the new name overrides the
             * old one.
+            * 
+            * XXX Do not use the "legacy" client_name etc. attribute values for
+            * initializing the logging attributes, when this file already
+            * contains the "modern" log_client_name etc. logging attributes.
+            * Otherwise, logging attributes that are not present in the
+            * queue file would be set with information from the real client.
             */
            else if (strcmp(name, MAIL_ATTR_ACT_CLIENT_NAME) == 0) {
-               if (message->client_name == 0)
+               if (have_log_client_attr == 0 && message->client_name == 0)
                    message->client_name = mystrdup(value);
            } else if (strcmp(name, MAIL_ATTR_ACT_CLIENT_ADDR) == 0) {
-               if (message->client_addr == 0)
+               if (have_log_client_attr == 0 && message->client_addr == 0)
                    message->client_addr = mystrdup(value);
            } else if (strcmp(name, MAIL_ATTR_ACT_PROTO_NAME) == 0) {
-               if (message->client_proto == 0)
+               if (have_log_client_attr == 0 && message->client_proto == 0)
                    message->client_proto = mystrdup(value);
            } else if (strcmp(name, MAIL_ATTR_ACT_HELO_NAME) == 0) {
-               if (message->client_helo == 0)
+               if (have_log_client_attr == 0 && message->client_helo == 0)
                    message->client_helo = mystrdup(value);
            }
            /* Original client attributes. */
@@ -672,22 +679,27 @@ static int qmgr_message_read(QMGR_MESSAGE *message)
                if (message->client_name != 0)
                    myfree(message->client_name);
                message->client_name = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_LOG_CLIENT_ADDR) == 0) {
                if (message->client_addr != 0)
                    myfree(message->client_addr);
                message->client_addr = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_LOG_CLIENT_PORT) == 0) {
                if (message->client_port != 0)
                    myfree(message->client_port);
                message->client_port = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_LOG_PROTO_NAME) == 0) {
                if (message->client_proto != 0)
                    myfree(message->client_proto);
                message->client_proto = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_LOG_HELO_NAME) == 0) {
                if (message->client_helo != 0)
                    myfree(message->client_helo);
                message->client_helo = mystrdup(value);
+               have_log_client_attr = 1;
            } else if (strcmp(name, MAIL_ATTR_SASL_METHOD) == 0) {
                if (message->sasl_method == 0)
                    message->sasl_method = mystrdup(value);
index 796e40a768c49c14561c64f9d26a7862ffd1f17b..65c34e82dfd34eca244589a0f769264cfa695d0b 100644 (file)
@@ -4300,7 +4300,9 @@ static int check_recipient_rcpt_maps(SMTPD_STATE *state, const char *recipient)
        return (0);
     if (state->recipient_rcptmap_checked == 1)
        return (0);
-    state->recipient_rcptmap_checked = 1;
+    if (state->warn_if_reject == 0)
+       /* We really validate the recipient address. */
+       state->recipient_rcptmap_checked = 1;
     return (check_rcpt_maps(state, recipient, SMTPD_NAME_RECIPIENT));
 }
 
@@ -4317,7 +4319,9 @@ static int check_sender_rcpt_maps(SMTPD_STATE *state, const char *sender)
        return (0);
     if (state->sender_rcptmap_checked == 1)
        return (0);
-    state->sender_rcptmap_checked = 1;
+    if (state->warn_if_reject == 0)
+       /* We really validate the sender address. */
+       state->sender_rcptmap_checked = 1;
     return (check_rcpt_maps(state, sender, SMTPD_NAME_SENDER));
 }