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
103 stars 55 forks source link

opendmarc_policy_store_dkim signature change between 1.3 and 1.4 #167

Open grobian opened 3 years ago

grobian commented 3 years ago

In commit dbd87868f2ca9c2ef11529cd757d1cc5ab228833 the signature of opendmarc_policy_store_dkim changed. This breaks with Exim (https://bugs.exim.org/show_bug.cgi?id=2728) and there's no way this can be resolved other than a configure check at Exim to check how many arguments opendmarc_policy_store_dkim needs.

This isn't quite cool.

May I suggest to: a) bump your #define OPENDMARC_LIB_VERSION 0x00000000 to something useful (so an ifdef in the consumer code could do something to fix this) b) change your major revision of your libary next time you break the API c) consider what these kinds of changes break if you simply upgrade opendmarc without recompiling the consumers, we probably get a spectacular crash of some sort (best case) or some very odd behaviour?

Zugschlus commented 2 years ago

This has recently celebrated its first birthday. What are you planning to do about this issue?

brentclark commented 2 years ago

Given that Exim is the most used MTA

It stands to reason this bug should be looked at ASAP.

HeikoSchlittermann commented 2 years ago

Is there anything I missed on this issue? Right now I'm about to introduce a new DMARC_API option for Exim's build config (EDITME). But the cleaner way would be a meaningful OPENDMARC_LIB_VERSION in dmarc.h