Browse Source

session: properly disconnect unsupported clients in server_version (#786)

patch-2
ghost43 6 years ago
committed by Neil
parent
commit
1f5115703f
  1. 8
      electrumx/server/session.py

8
electrumx/server/session.py

@ -22,7 +22,7 @@ from functools import partial
from aiorpcx import (
RPCSession, JSONRPCAutoDetect, JSONRPCConnection,
TaskGroup, handler_invocation, RPCError, Request, ignore_after, sleep,
Event
Event, FinalRPCError
)
import electrumx
@ -1117,8 +1117,7 @@ class ElectrumX(SessionBase):
client_name = str(client_name)
if self.env.drop_client is not None and \
self.env.drop_client.match(client_name):
self.close_after_send = True
raise RPCError(BAD_REQUEST,
raise FinalRPCError(BAD_REQUEST,
f'unsupported client: {client_name}')
self.client = client_name[:17]
@ -1132,8 +1131,7 @@ class ElectrumX(SessionBase):
self.logger.info(f'client requested future protocol version '
f'{util.version_string(client_min)} '
f'- is your software out of date?')
self.close_after_send = True
raise RPCError(BAD_REQUEST,
raise FinalRPCError(BAD_REQUEST,
f'unsupported protocol version: {protocol_version}')
self.set_request_handlers(ptuple)

Loading…
Cancel
Save