Wesley van Synio:
> Thanks for the idea. I have created a dump using tcpdump and analyzed this
> using wireshark.
> 
> I can see the following transmission:
> 
> *>> get i...@foodtruckbestellen.be <i...@foodtruckbestellen.be>.*
> *<< 200 SRS0=sgig=PE=domain.com <http://domain.com>=i...@otherdomain.com
> <i...@otherdomain.com>.*
> *>> get srs0=sgig=pe=domain.com <http://domain.com>=i...@otherdomain.com
> <i...@otherdomain.com>.*
> *<< 200 srs0=sgig=pe=domain.com <http://domain.com>=i...@otherdomain.com
> <i...@otherdomain.com>.*
> 
> So apparently, Postfix receives the SRS rewritten address,
> but then it requests another SRS rewrite from PostSRSd using the already
> rewritten address (lowercased).

Canonical map lookups are recursive, therefore the lookup result
is run through the sender canonical mapping again, until the result
stops changing or until Postfix gives up.

I did a quick look over the code and it is very explicitly avoiding
case folding when doing lookups with tcp, pcre, regexp and other
non-indexed tables. So this is non-obvious. 

For the heck of it, can you turn on verbose logging on cleanup server:

# postconf -F cleanup/unix/command='cleanup -v -v'
# postfix reload

Repeat one experiment, and send me the logs OFF-LIST, taking care
that it does NOT get messed up with HTTP crap. Suggestion: gzip the
log fragment with verbose logs, then send it as an attachment.

Then turn off the verbose logs:

# postconf -F cleanup/unix/command=cleanup

        Wietse

Reply via email to