https://bugs.exim.org/show_bug.cgi?id=1649
--- Comment #3 from Jeremy Harris <jgh146exb@???> ---
If you're willing to use only SRS0 addresses:
#routers
outbound:
driver = dnslookup
domains = ! +my_domains
transport = ${if eq {$local_part@$domain} \
{$original_local_part@$original_domain} \
{remote_smtp} {remote_forwarded_smtp}}
inbound_srs:
driver = redirect
senders = :
domains = +my_domains
condition = ${if match {$local_part} \
{^(?i)SRS0=([^=]*)=([^=]*)=([^=]*)=(.*)\$} \
{${if and { {<= {${eval:$tod_epoch/86400 - ${base32d:$2} &
0x3ff}} \
{10}} \
{eq {$1} \
{${l_4:${hmac{md5}{SRS_SECRET}{$4@$3}}}}} \
} \
{true}{false} \
}} \
{false} \
}
data = ${sg {$local_part} \
{^(?i)SRS0=[^=]+=[^=]+=([^=]*)=(.*)\$} \
{\$2@\$1}}
# transport
remote_forwarded_smtp:
driver = smtp
max_rcpt = 1
return_path = SRS0\
=${l_4:${hmac{md5}{SRS_SECRET}{$return_path}}}\
=${base32:${eval:$tod_epoch/86400&0x3ff}}\
=${domain:$return_path}\
=${local_part:$return_path}\
@$original_domain
The above uses ${base32:}, which only just appeared in 4.next, for the
timestamp. You could perfectly well use the decimal number.
--
You are receiving this mail because:
You are on the CC list for the bug.