[Ben] The language around versioning is confusing. The I-D says “The VER tag MUST include at least one Roughtime version supported by the client.” This obviously allows the client to send versions it does not support. Why would a client ever want to do that? I feel like I’m missing something. Also, “The client MUST ensure that the version numbers and tags included in the request are not incompatible with each other or the packet contents.” would seem to require authors of client code to do some deep thinking, possibly incorrectly, to decide whether they will meet these criteria. Given that there is currently only one version defined, perhaps language around what can and can’t be done with versions should be a) more explicit and b) in relation to particular versions - and hence not needed until there actually is more than one version.
[Ben] The language around versioning is confusing. The I-D says “The VER tag MUST include at least one Roughtime version supported by the client.” This obviously allows the client to send versions it does not support. Why would a client ever want to do that? I feel like I’m missing something. Also, “The client MUST ensure that the version numbers and tags included in the request are not incompatible with each other or the packet contents.” would seem to require authors of client code to do some deep thinking, possibly incorrectly, to decide whether they will meet these criteria. Given that there is currently only one version defined, perhaps language around what can and can’t be done with versions should be a) more explicit and b) in relation to particular versions - and hence not needed until there actually is more than one version.