From 794e1d86ffbc009cebe8f7f520afdbff7933a441 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Thu, 7 Sep 2017 17:03:17 +0900 Subject: [PATCH] Peerdisc: handle protocol 1.1 server.version replies --- server/peers.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/server/peers.py b/server/peers.py index 2b67c37..abc38ad 100644 --- a/server/peers.py +++ b/server/peers.py @@ -176,9 +176,13 @@ class PeerSession(JSONSession): if error: self.failed = True self.log_error('server.version returned an error') - elif isinstance(result, str): - self.peer.server_version = result - self.peer.features['server_version'] = result + else: + # Protocol version 1.1 returns a pair with the version first + if isinstance(result, list) and len(result) == 2: + result = result[0] + if isinstance(result, str): + self.peer.server_version = result + self.peer.features['server_version'] = result self.close_if_done() def check_remote_peers(self):