--- /dev/null
+# hcoop-change: acquire AFS token for the user -- the condition is
+# executed for side-effects only, and nothing should ever be accepted
+# by this router
+
+get_token:
+ driver = accept
+ domains = +local_domains
+ condition = ${run{/usr/bin/pagsh.openafs -c /etc/exim4/get-token ${local_part}}{0}{0}}
+ transport = dev_null
+ no_verify
+ no_expn
# The four transports specified at the end are those that are used when
# forwarding generates a direct delivery to a directory, or a file, or to a
# pipe, or sets up an auto-reply, respectively.
-#
-# hcoop-change: acquire AFS token for the user
userforward:
debug_print = "R: userforward for $local_part@$domain"
driver = redirect
check_local_user
file = $home/.forward
require_files = $local_part:$home/.forward
- condition = ${run{/usr/bin/pagsh.openafs -c /etc/exim4/get-token ${local_part}}{1}{0}}
no_verify
no_expn
check_ancestor
-# hcoop-change: acquire AFS token for the user
procmail:
debug_print = "R: procmail for $local_part@$domain"
${if exists{/etc/procmailrc}\
{/etc/procmailrc}{${home}/.procmailrc}}:\
+/usr/bin/procmail
- condition = ${run{/usr/bin/pagsh.openafs -c /etc/exim4/get-token ${local_part}}{1}{0}}
no_verify
no_expn
# This router matches local user mailboxes. If the router fails, the error
# message is "Unknown user".
-# hcoop-change: acquire AFS token for the user
-
local_user:
debug_print = "R: local_user for $local_part@$domain"
driver = accept
domains = +local_domains
check_local_user
local_parts = ! root
- condition = ${run{/usr/bin/pagsh.openafs -c /etc/exim4/get-token ${local_part}}{1}{0}}
transport = LOCAL_DELIVERY
cannot_route_message = Unknown user
--- /dev/null
+# hcoop-change: Dummy transport needed by get_token router, in case
+# something goes horribly wrong with the configuration -- this should
+# be impossible to call
+
+dev_null:
+ debug_print = "T: throwing away email for $local_part@$domain"
+ driver = appendfile
+ file = /dev/null