mirror of
https://github.com/jlu5/PyLink.git
synced 2025-02-17 14:01:03 +01:00
protocols: move setting irc.connected to endburst
This commit is contained in:
parent
cad55097f1
commit
8170e777e8
@ -633,10 +633,9 @@ class ClientbotWrapperProtocol(IRCCommonProtocol):
|
|||||||
self.send(line)
|
self.send(line)
|
||||||
|
|
||||||
# Virtual endburst hook.
|
# Virtual endburst hook.
|
||||||
self.connected.set() # Note, this should always be set before sending ENDBURST
|
self.connected.set() # Note, this should always be set before the actual ENDBURST hook
|
||||||
if not self.has_eob:
|
self.servers[self.uplink].has_eob = True
|
||||||
self.has_eob = True
|
return {'parse_as': 'ENDBURST'}
|
||||||
return {'parse_as': 'ENDBURST'}
|
|
||||||
|
|
||||||
handle_422 = handle_376
|
handle_422 = handle_376
|
||||||
|
|
||||||
|
@ -230,6 +230,9 @@ class HybridProtocol(TS6Protocol):
|
|||||||
if not self.servers[numeric].has_eob:
|
if not self.servers[numeric].has_eob:
|
||||||
# Don't fight with TS6's generic PING-as-EOB
|
# Don't fight with TS6's generic PING-as-EOB
|
||||||
self.servers[numeric].has_eob = True
|
self.servers[numeric].has_eob = True
|
||||||
|
|
||||||
|
if numeric == self.uplink:
|
||||||
|
self.connected.set()
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def handle_svsmode(self, numeric, command, args):
|
def handle_svsmode(self, numeric, command, args):
|
||||||
|
@ -520,9 +520,6 @@ class InspIRCdProtocol(TS6BaseProtocol):
|
|||||||
log.debug('(%s) self.prefixmodes set to %r', self.name,
|
log.debug('(%s) self.prefixmodes set to %r', self.name,
|
||||||
self.prefixmodes)
|
self.prefixmodes)
|
||||||
|
|
||||||
# Finally, set the irc.connected (protocol negotiation complete)
|
|
||||||
# state to True.
|
|
||||||
self.connected.set()
|
|
||||||
elif args[0] == 'MODSUPPORT':
|
elif args[0] == 'MODSUPPORT':
|
||||||
# <- CAPAB MODSUPPORT :m_alltime.so m_check.so m_chghost.so m_chgident.so m_chgname.so m_fullversion.so m_gecosban.so m_knock.so m_muteban.so m_nicklock.so m_nopartmsg.so m_opmoderated.so m_sajoin.so m_sanick.so m_sapart.so m_serverban.so m_services_account.so m_showwhois.so m_silence.so m_swhois.so m_uninvite.so m_watch.so
|
# <- CAPAB MODSUPPORT :m_alltime.so m_check.so m_chghost.so m_chgident.so m_chgname.so m_fullversion.so m_gecosban.so m_knock.so m_muteban.so m_nicklock.so m_nopartmsg.so m_opmoderated.so m_sajoin.so m_sanick.so m_sapart.so m_serverban.so m_services_account.so m_showwhois.so m_silence.so m_swhois.so m_uninvite.so m_watch.so
|
||||||
self.modsupport = args[-1].split()
|
self.modsupport = args[-1].split()
|
||||||
@ -717,6 +714,8 @@ class InspIRCdProtocol(TS6BaseProtocol):
|
|||||||
def handle_endburst(self, numeric, command, args):
|
def handle_endburst(self, numeric, command, args):
|
||||||
"""ENDBURST handler; sends a hook with empty contents."""
|
"""ENDBURST handler; sends a hook with empty contents."""
|
||||||
self.servers[numeric].has_eob = True
|
self.servers[numeric].has_eob = True
|
||||||
|
if numeric == self.uplink:
|
||||||
|
self.connected.set()
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def handle_away(self, numeric, command, args):
|
def handle_away(self, numeric, command, args):
|
||||||
|
@ -824,7 +824,6 @@ class P10Protocol(IRCS2SProtocol):
|
|||||||
|
|
||||||
self.send('SERVER %s 1 %s %s J10 %s]]] +s6 :%s' % (name, ts, ts, sid, desc))
|
self.send('SERVER %s 1 %s %s J10 %s]]] +s6 :%s' % (name, ts, ts, sid, desc))
|
||||||
self._send_with_prefix(sid, "EB")
|
self._send_with_prefix(sid, "EB")
|
||||||
self.connected.set()
|
|
||||||
|
|
||||||
def handle_server(self, source, command, args):
|
def handle_server(self, source, command, args):
|
||||||
"""Handles incoming server introductions."""
|
"""Handles incoming server introductions."""
|
||||||
@ -1119,6 +1118,7 @@ class P10Protocol(IRCS2SProtocol):
|
|||||||
# and needed if we want to be able to receive channel messages, etc.
|
# and needed if we want to be able to receive channel messages, etc.
|
||||||
if source == self.uplink:
|
if source == self.uplink:
|
||||||
self._send_with_prefix(self.sid, 'EA')
|
self._send_with_prefix(self.sid, 'EA')
|
||||||
|
self.connected.set()
|
||||||
|
|
||||||
self.servers[source].has_eob = True
|
self.servers[source].has_eob = True
|
||||||
return {}
|
return {}
|
||||||
|
@ -419,9 +419,6 @@ class TS6Protocol(TS6BaseProtocol):
|
|||||||
if 'SERVICES' in caps:
|
if 'SERVICES' in caps:
|
||||||
self.cmodes['regonly'] = 'r'
|
self.cmodes['regonly'] = 'r'
|
||||||
|
|
||||||
log.debug('(%s) self.connected set!', self.name)
|
|
||||||
self.connected.set()
|
|
||||||
|
|
||||||
def handle_ping(self, source, command, args):
|
def handle_ping(self, source, command, args):
|
||||||
"""Handles incoming PING commands."""
|
"""Handles incoming PING commands."""
|
||||||
# PING:
|
# PING:
|
||||||
@ -446,6 +443,10 @@ class TS6Protocol(TS6BaseProtocol):
|
|||||||
# https://github.com/charybdis-ircd/charybdis/blob/dc336d1/modules/core/m_server.c#L484-L485
|
# https://github.com/charybdis-ircd/charybdis/blob/dc336d1/modules/core/m_server.c#L484-L485
|
||||||
self.servers[source].has_eob = True
|
self.servers[source].has_eob = True
|
||||||
|
|
||||||
|
if source == self.uplink:
|
||||||
|
log.debug('(%s) self.connected set!', self.name)
|
||||||
|
self.connected.set()
|
||||||
|
|
||||||
# Return the endburst hook.
|
# Return the endburst hook.
|
||||||
return {'parse_as': 'ENDBURST'}
|
return {'parse_as': 'ENDBURST'}
|
||||||
|
|
||||||
|
@ -380,6 +380,8 @@ class UnrealProtocol(TS6BaseProtocol):
|
|||||||
def handle_eos(self, numeric, command, args):
|
def handle_eos(self, numeric, command, args):
|
||||||
"""EOS is used to denote end of burst."""
|
"""EOS is used to denote end of burst."""
|
||||||
self.servers[numeric].has_eob = True
|
self.servers[numeric].has_eob = True
|
||||||
|
if numeric == self.uplink:
|
||||||
|
self.connected.set()
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def handle_uid(self, numeric, command, args):
|
def handle_uid(self, numeric, command, args):
|
||||||
@ -483,9 +485,6 @@ class UnrealProtocol(TS6BaseProtocol):
|
|||||||
"(Unreal 4.x), got %s)" % (self.min_proto_ver, protover))
|
"(Unreal 4.x), got %s)" % (self.min_proto_ver, protover))
|
||||||
self.servers[numeric] = Server(self, None, sname, desc=sdesc)
|
self.servers[numeric] = Server(self, None, sname, desc=sdesc)
|
||||||
|
|
||||||
# Set irc.connected to True, meaning that protocol negotiation passed.
|
|
||||||
log.debug('(%s) self.connected set!', self.name)
|
|
||||||
self.connected.set()
|
|
||||||
else:
|
else:
|
||||||
# Legacy (non-SID) servers can still be introduced using the SERVER command.
|
# Legacy (non-SID) servers can still be introduced using the SERVER command.
|
||||||
# <- :services.int SERVER a.bc 2 :(H) [GL] a
|
# <- :services.int SERVER a.bc 2 :(H) [GL] a
|
||||||
|
Loading…
x
Reference in New Issue
Block a user