Browse Source

interface: validate protocol-version negotiation on client-side too

related: https://github.com/romanz/electrs/issues/314
patch-4
SomberNight 4 years ago
parent
commit
de80f68e4d
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 3
      electrum/interface.py

3
electrum/interface.py

@ -631,6 +631,9 @@ class Interface(Logger):
raise GracefulDisconnect(e) # probably 'unsupported protocol version'
if exit_early:
return
if ver[1] != version.PROTOCOL_VERSION:
raise GracefulDisconnect(f'server violated protocol-version-negotiation. '
f'we asked for {version.PROTOCOL_VERSION!r}, they sent {ver[1]!r}')
if not self.network.check_interface_against_healthy_spread_of_connected_servers(self):
raise GracefulDisconnect(f'too many connected servers already '
f'in bucket {self.bucket_based_on_ipaddress()}')

Loading…
Cancel
Save