Merge branch 'master' of git://git.exim.org/exim
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 8 Jul 2012 21:53:30 +0000 (22:53 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 8 Jul 2012 21:53:30 +0000 (22:53 +0100)
1  2 
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/src/macros.h

index 8c738c0edecb12c461bab7fc178fdf93277e99c0,d86f767ad9a2e3b328da8c6bc4c3708b50fd15f7..579c112c9b55cf9b9e10345c7563d3dad868da86
@@@ -16333,7 -16333,7 +16333,7 @@@ router is skipped, and the address is o
  If the result is any other value, the router is run (as this is the last
  precondition to be evaluated, all the other preconditions must be true).
  
 -This option is unique in that multiple &%condition%& options may be present.
 +This option is unusual in that multiple &%condition%& options may be present.
  All &%condition%& options must succeed.
  
  The &%condition%& option provides a means of applying custom conditions to the
@@@ -16532,9 -16532,6 +16532,9 @@@ The &%headers_add%& option is expanded 
  the expansion is forced to fail, the option has no effect. Other expansion
  failures are treated as configuration errors.
  
 +Unlike most options, &%headers_add%& can be specified multiple times
 +for a router; all listed headers are added.
 +
  &*Warning 1*&: The &%headers_add%& option cannot be used for a &(redirect)&
  router that has the &%one_time%& option set.
  
@@@ -16568,9 -16565,6 +16568,9 @@@ The &%headers_remove%& option is expand
  the option has no effect. Other expansion failures are treated as configuration
  errors.
  
 +Unlike most options, &%headers_remove%& can be specified multiple times
 +for a router; all listed headers are removed.
 +
  &*Warning 1*&: The &%headers_remove%& option cannot be used for a &(redirect)&
  router that has the &%one_time%& option set.
  
@@@ -19574,9 -19568,6 +19574,9 @@@ routers. If the result of the expansio
  is forced to fail, no action is taken. Other expansion failures are treated as
  errors and cause the delivery to be deferred.
  
 +Unlike most options, &%headers_add%& can be specified multiple times
 +for a transport; all listed headers are added.
 +
  
  
  .option headers_only transports boolean false
@@@ -19599,9 -19590,6 +19599,9 @@@ routers. If the result of the expansio
  is forced to fail, no action is taken. Other expansion failures are treated as
  errors and cause the delivery to be deferred.
  
 +Unlike most options, &%headers_remove%& can be specified multiple times
 +for a router; all listed headers are added.
 +
  
  
  .option headers_rewrite transports string unset
@@@ -31493,10 -31481,6 +31493,10 @@@ headers_add = X-added-header: added by 
  .endd
  Exim does not check the syntax of these added header lines.
  
 +Multiple &%headers_add%& options for a single router or transport can be
 +specified; the values will be concatenated (with a separating newline
 +added) before expansion.
 +
  The result of expanding &%headers_remove%& must consist of a colon-separated
  list of header names. This is confusing, because header names themselves are
  often terminated by colons. In this case, the colons are the list separators,
@@@ -31504,11 -31488,6 +31504,11 @@@ not part of the names. For example
  .code
  headers_remove = return-receipt-to:acknowledge-to
  .endd
 +
 +Multiple &%headers_remove%& options for a single router or transport can be
 +specified; the values will be concatenated (with a separating colon
 +added) before expansion.
 +
  When &%headers_add%& or &%headers_remove%& is specified on a router, its value
  is expanded at routing time, and then associated with all addresses that are
  accepted by that router, and also with any new addresses that it generates. If
@@@ -33691,7 -33670,7 +33691,7 @@@ selection marked by asterisks
  &`*sender_verify_fail         `&  sender verification failures
  &`*size_reject                `&  rejection because too big
  &`*skip_delivery              `&  delivery skipped in a queue run
- &` smtp_confirmation          `&  SMTP confirmation on => lines
+ &`*smtp_confirmation          `&  SMTP confirmation on => lines
  &` smtp_connection            `&  SMTP connections
  &` smtp_incomplete_transaction`&  incomplete SMTP transactions
  &` smtp_no_mail               `&  session with no MAIL commands
diff --combined doc/doc-txt/ChangeLog
index be52bf98fd3bf9b657148656eebcbaa8e26bba7b,5bdb23c1b12d20154977f845eb599cc501bec00a..108f6051e28e2d5b692e1e97c59d2597c433631c
@@@ -33,6 -33,8 +33,8 @@@ PP/07 Handle "exim -L <tag>" to indicat
  
  TL/01 Bugzilla 1258 - Refactor MAIL FROM optional args processing.
  
+ TL/02 Add +smtp_confirmation as a default logging option.
  JH/01 Bugzilla 1201 & 304 - New cutthrough-delivery feature, with TLS support.
  
  JH/02 Support "G" suffix to numbers in ${if comparisons.
@@@ -53,8 -55,6 +55,8 @@@ JH/04 Add expansion item ${acl {name}{a
        "acl {{name}{arg}...}", and optional args on acl condition
        "acl = name arg..."
  
 +JH/05 Permit multiple router/transport headers_add/remove lines.
 +
  Exim version 4.80
  -----------------
  
diff --combined src/src/macros.h
index 3ec94bc6da50920871a5005f87fbb15ebae49673,f07930d2de9a01ee482b89f25905a6fe7e080044..cec4733f65ffc1c557fd1bef9f0dfacb59ec6d77
@@@ -424,6 -424,7 +424,7 @@@ set all the bits in a multi-word select
  #define LX_default   ((LX_acl_warn_skipped        | \
                         LX_rejected_header         | \
                         LX_sender_verify_fail      | \
+                        LX_smtp_confirmation       | \
                         LX_tls_cipher) & 0x7fffffff)
  
  /* Private error numbers for delivery failures, set negative so as not
@@@ -624,9 -625,7 +625,9 @@@ for booleans that are kept in one bit. 
  #define opt_public  0x200      /* Stored in the main instance block */
  #define opt_set     0x400      /* Option is set */
  #define opt_secure  0x800      /* "hide" prefix used */
 -#define opt_mask    0x0ff
 +#define opt_rep_con 0x1000     /* Can be appended to by a repeated line (condition) */
 +#define opt_rep_str 0x2000     /* Can be appended to by a repeated line (string) */
 +#define opt_mask    0x00ff
  
  /* Verify types when directing and routing */