3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-01 09:19:23 +01:00

inspircd: move _modsupport.clear() to a _post_disconnect override

Speculative fix for #567.
This may be caused by a race condition between post_connect and handle_capab, since the remote server can send its server data before we start sending ours.
This commit is contained in:
James Lu 2018-01-21 13:27:59 -08:00
parent 67dea6f748
commit 6bb2198710

View File

@ -391,12 +391,15 @@ class InspIRCdProtocol(TS6BaseProtocol):
### Core / command handlers ### Core / command handlers
def _post_disconnect(self):
super()._post_disconnect()
log.debug('(%s) _post_disconnect: clearing _modsupport entries. Last: %s', self.name, self._modsupport)
self._modsupport.clear()
def post_connect(self): def post_connect(self):
"""Initializes a connection to a server.""" """Initializes a connection to a server."""
ts = self.start_ts ts = self.start_ts
self._modsupport.clear()
f = self.send f = self.send
f('CAPAB START %s' % self.proto_ver) f('CAPAB START %s' % self.proto_ver)
f('CAPAB CAPABILITIES :PROTOCOL=%s' % self.proto_ver) f('CAPAB CAPABILITIES :PROTOCOL=%s' % self.proto_ver)