mailhops-plugin
mailhops-plugin copied to clipboard
Rework Authentication-Header parsing.
Since the AH can comprise multiple lines, parse each line individually until we found all data.
The parsing is complicated, but naïve field splitting leads to incorrect results.
Generally, scan up to the next dkim= part, extract the state (which is the value) and then look for the reason, which might or might not be parenthesis-enclosed or start with a reason= key or both.
All other data up to the next dkim= part or end of the line or semicolon will be treated as extrainfo and shown if the preference has been enabled.
We handle spf= parts in about the same way.
Depends on #36.