Section 6 of invariants <https://quicwg.org/base-drafts/rfc8999.html#name-version-negotiation> sayeth:
"Version Negotiation packets do not use integrity or confidentiality protection. Specific QUIC versions might include protocol elements that allow endpoints to detect modification or corruption in the set of supported versions." I also vaguely remember ekr batting around the idea of tacking some data onto the packet to solve a problem we were discussing. *Maybe we just don't want to do this at all and we can safely ignore this text in invariants.* If we *do* want to do it, the design is a little problematic. There is no length field in VN packets to signal that the supported version list is ending and other stuff is beginning. The only way I can think of to make this work is to use the VN draft to reserve a magic version number to mean "this is the end of the supported version list". That version is not a real version, MUST be the last one listed, and perhaps can be followed by another magic number to indicate the content that follows. Leaving aside legacy stuff negotiating pre-standard versions, which will hopefully go away someday, someone supporting multiple versions would be REQUIRED to support the VN draft and therefore incorporate this change. Thoughts? Martin
