diff options
author | Guy Harris <guy@alum.mit.edu> | 2017-10-31 14:43:39 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2017-10-31 14:43:39 -0700 |
commit | 4240cc03f971c4d486bbcd58d3876e8b906ad973 (patch) | |
tree | c41544466f765d06d7fd536aa355b5863c21c246 /savefile.c | |
parent | 49e9f57437072a7886922f44c5d92938ac0ad033 (diff) |
Fix up the negotiation, eliminating a failure mode with old clients.
If we send a "wrong version number" error message to an old client
(before the changes to support version negotiation) with a version
number other than 0, it'll treat it as a protocol error and return the
wrong error message to the caller. Instead, if the client's version
number is too old for the server, send back the version number they sent
us; they'll try it again and get the same error, and give up. (This
would happen only if there's a server that doesn't support version 0;
let's not create so many protocol versions that there's a temptation to
drop older ones.)
Also, add details on protocol versioning and protocol negotiation (the
construction of which pointed out the failure mode).
Diffstat (limited to 'savefile.c')
0 files changed, 0 insertions, 0 deletions