On 2/8/2018 10:03 AM, John R. Levine wrote:
The code that knows to dispatch to v=2 can, just as easily, parse for
the strings associated with the new features.
True, but not very interesting. In my spamassassin example, the outside
code knows nothing about DKIM versions, it just sees a dkim-signature
header and sends it to the DKIM library.
Oh. So v= doesn't dispatch to different code.
The point of a v=2 flag is to ensure that old v=1 code doesn't
accidentally misinterpret new features.
"Accidentally misinterpret new features" seems to be synonymous with not
being upward compatible. In other words, the new features make the new
version incompatible with the old. Hence, the new features define a new
In my example, I made a
semantic change: in v=1 DKIM, verifiers ignore tags they don't
understand. In v=2, there's a new tag type that fails if a verifier
can't handle it.
Change to basic semantics of the protocol. Hence, new protocol.
NOTE WELL: This list operates according to