diff options
author | Simon Rettberg | 2017-11-01 20:43:35 +0100 |
---|---|---|
committer | Simon Rettberg | 2017-11-01 20:43:35 +0100 |
commit | 17a9fdfbf2b1fcbd2e3d622d1103995293d5579a (patch) | |
tree | 3ab447afc01378a2b9d4ec34688d57e3b43cd15d | |
parent | [FUSE] Improve log messages a bit (diff) | |
download | dnbd3-17a9fdfbf2b1fcbd2e3d622d1103995293d5579a.tar.gz dnbd3-17a9fdfbf2b1fcbd2e3d622d1103995293d5579a.tar.xz dnbd3-17a9fdfbf2b1fcbd2e3d622d1103995293d5579a.zip |
[SERVER] Since fuse client assumed no backwards compat before v3, lie to clients
If client reports protocol version < 3 on connect, just pretend
we're at the same version. This sucks but we can't update servers
before clients otherwise. :(
-rw-r--r-- | src/server/net.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/net.c b/src/server/net.c index e4ec666..5866f25 100644 --- a/src/server/net.c +++ b/src/server/net.c @@ -287,7 +287,7 @@ void* net_handleNewConnection(void *clientPtr) timing_get( &image->atime ); spin_unlock( &image->lock ); serializer_reset_write( &payload ); - serializer_put_uint16( &payload, PROTOCOL_VERSION ); + serializer_put_uint16( &payload, client_version < 3 ? client_version : PROTOCOL_VERSION ); // XXX: Since messed up fuse client was messed up before :( serializer_put_string( &payload, image->name ); serializer_put_uint16( &payload, (uint16_t)image->rid ); serializer_put_uint64( &payload, image->virtualFilesize ); |