DKIM: Project coding standards
[users/jgh/exim.git] / doc / doc-txt / experimental-spec.txt
index cf3c27f6a82e9355542e9bd6bd21b35c329eb7ee..18a5fd917d050b871e605bfa25b2af8eb2129254 100644 (file)
@@ -480,6 +480,7 @@ in your Local/Makefile.
 
 DCC Support
 --------------------------------------------------------------
+Distributed Checksum Clearinghouse; http://www.rhyolite.com/dcc/
 
 *) Building exim
 
@@ -797,6 +798,8 @@ expansion is done.  The current list of events is:
 
  msg:complete          after  main       per message
  msg:delivery          after  transport  per recipient
+ msg:rcpt:host:defer   after  transport  per recipient per host
+ msg:rcpt:defer        after  transport  per recipient
  msg:host:defer                after  transport  per attempt
  msg:fail:delivery     after  main       per recipient
  msg:fail:internal     after  main       per recipient
@@ -810,16 +813,20 @@ variable to decide when to act.  The value of the variable is a colon-separated
 list, defining a position in the tree of possible events; it may be used as
 a list or just matched on as a whole.  There will be no whitespace.
 
+New event types may be added in the future.
+
 
 There is an auxilary variable, $event_data, for which the
 content is event_dependent:
 
        msg:delivery            smtp confirmation mssage
+       msg:rcpt:host:defer     error string
+       msg:rcpt:defer          error string
        msg:host:defer          error string
        tls:cert                verification chain depth
        smtp:connect            smtp banner
 
-The msg:host:defer event populates one extra variable, $event_defer_errno.
+The :defer events populate one extra variable, $event_defer_errno.
 
 The following variables are likely to be useful depending on the event type:
 
@@ -847,7 +854,16 @@ event_action = ${if eq {msg:delivery}{$event_name} \
 
 The string is expanded when each of the supported events occur
 and any side-effects of the expansion will happen.
-Note that for complex operations an ACL expansion can be used.
+
+Note that for complex operations an ACL expansion can be used,
+however due to the multiple contexts the Exim operates in
+a) variables set in events raised from transports will not
+   be visible outside that transport call.
+b) acl_m variables in a server context are lost on a new connection,
+   and after helo/ehlo/mail/starttls/rset commands
+Using an ACL expansion with the logwrite modifier can be a
+useful way of writing to the main log.
+
 
 
 The expansion of the event_action option should normally
@@ -1121,10 +1137,15 @@ These options are currently defined:
 - "pass" sets the authentication password. Default is empty.
 - "port" sets the tcp port number for the proxy. Default is 1080.
 - "tmo" sets a connection timeout in seconds for this proxy. Default is 5.
-
-Proxies from the list are tried in order until
-one responds.  The timeout for the overall connection
-applies to the set of proxied attempts.
+- "pri" specifies a priority for the server within the list, higher
+  values being tried first. The default priority is 1.
+- "weight" specifies a selection bias. Within a priority set servers
+  are queried in a random fashion, weighted by this value. The default
+  value for selection bias is 1.
+
+Proxies from the list are tried according to their priority
+and weight settings until one responds.  The timeout for the
+overall connection applies to the set of proxied attempts.
 
 If events are used, the remote IP/port during a
 tcp:connect event will be that of the proxy.