Matthias Wimmer wrote:
Looking at cdfilter.C of version 0.56.0 (this is the latest version,
isn't it?) I don't think that filters are executed in in alphabetical
order, but in the order of the directory entries in the filter directories.
They are. run_filter reads the directory entries, sorts them with
qsort(), and then passes them to dofilter().
But that's nothing I do care about. The problem is just, that I cannot
find out if a message has been received authenticated without the hack
of checking the first Received header.
That's how it's done in pythonfilter and Courier::Filter, too.
Checking if a sender address is a local address is not a solution, as
sender addresses can be forged in the general case.
Not if you use the smtp sender info, but pythonfilter can do
auto-whitelisting (tracks message sender/recipient pairs, and won't scan
replies), authenticated users (based on Received header, currently),
relayed hosts and hosts that have BLOCK unset (based on smtpaccess), DNS
based whitelists, or hosts with valid SPF records. You get options. :)