trusteddomainproject / OpenDMARC

This is the Trusted Domain Project's impementation of the DMARC protocol libary and mail filter, called OpenDMARC. A "milter" connects to unix-based mailers (originally, sendmail, but now many) and provides a standard filtering API.
Other
98 stars 52 forks source link

fix: aggregate reports spec compliance #220

Open cyyynthia opened 2 years ago

cyyynthia commented 2 years ago

This PR aims at tackling the long overdue spec compliance issues reported in #52.

Unfortunately, due to the additional data that needs to be stored in database to generate a complete, spec compliant report, this PR brings a breaking change due to modifications to the MySQL schema.

I don't have much experience with the codebase, nor have an easy way to test, so I'd be more than happy to get feedback for this PR 😅. I'm also interested with feedback about other changes needed to achieve complete RFC compliance.

I'll note that this PR's scope is only the aggregate report generation; I've noticed there is also a parser which I didn't touch. I also noticed failure reports do not conform to the RFC either, and I didn't tackle this either.