> On 2022-03-24, at 19:06, Michael Richardson <[email protected]> wrote: > > Signed PGP part > > Michael Richardson <[email protected]> wrote: >> Of course, it breaks if you can't process the new type. You'll reject >> it. That's fine. You'll reject anything you don't undrstand. It's not >> backwards compatible. > > I received private email suggesting that surely I mean, forwards compatible. > > Nope, I mean backwards compatible. That means that a new sender can operate > with an older receiver.
That is actually forward compatibility. * Backward compatibility = old data, new system. In protocol design, we generally make sure we have backward compatibility, so we rarely speak about that. Clearly, a system that does kid = int/bstr can deal with data that still assumes kid = bstr. * Forward compatibility = new data, old system. Since the sender in your example is just sending new data and would be relying on the old system to process it, this is a lack of forward compatibility. These terms are not defined in an international standard that you must pass an exam about before you can post to or read from an IETF mailing list, so expect them to require explanation on each use. > MIME headers are backwards compatible. The sender > doesn't need to know if my MTA supports DKIM headers, it can just put them > in. My end will ignore stuff it does not understand. At the cost of > transfering those bytes. (That is forward compatibility. Ignore-unknown is a great principle. Sometimes it needs “must-understand” [critical] flags to prevent false interoperability, if forward compatibility cannot be assured by just ignoring the unknown.) > If we change kid: to accept int as well as bstr, then a new sender who uses > *int* will not be understood by an older receiver. Exactly, new data, old system, no forward compatibility. Assuming that kid is “must understand”, that is. > But, since COSE is not a Protocol in of itself, but rather a building block > for some bigger protocol (like RATS EAT, or > draft-ietf-anima-constrained-voucher), > if COSE adds int to the list of valid kids, then it would be up to EAT, or > constrained-voucher to say Yes. > which version of COSE it supports. No, no, no. COSE does not have “versions”. ➔ “Which feature-set it requires from COSE”. Grüße, Carsten _______________________________________________ COSE mailing list [email protected] https://www.ietf.org/mailman/listinfo/cose
