]> jfr.im git - irc/freenode/Sigyn.git/commitdiff
some little changes about netsplit and server full ( join/part in saslChannel )
authorNicolas Coevoet <redacted>
Wed, 17 Feb 2016 12:50:18 +0000 (12:50 +0000)
committerNicolas Coevoet <redacted>
Wed, 17 Feb 2016 12:50:18 +0000 (12:50 +0000)
plugin.py

index 5883c18403eaf055c4e910107e52ee27ba4c7b95..16c9f4c5f8982b8f8dd47e5be66900d6b4f97273 100644 (file)
--- a/plugin.py
+++ b/plugin.py
@@ -1132,6 +1132,13 @@ class Sigyn(callbacks.Plugin,plugins.ChannelDBHandler):
             if time.time() > i.netsplit:
                 self.logChannel(irc,"INFO: netsplit mode desactivated")
                 i.netsplit = False
+        if self.registryValue('saslChannel'):
+            if i.netsplit:
+                if self.registryValue('saslChannel') in irc.state.channels:
+                    irc.queueMsg(ircmsgs.part(self.registryValue('saslChannel')))
+            else:
+                if not self.registryValue('saslChannel') in irc.state.channels:
+                    irc.queueMsg(ircmsgs.join(self.registryValue('saslChannel')))
         if mask in i.klines:
             self.log.debug('Ignoring %s (%s) - kline in progress', msg.prefix,mask)
             return
@@ -1609,6 +1616,9 @@ class Sigyn(callbacks.Plugin,plugins.ChannelDBHandler):
                 if not msg.prefix in i.limits or time.time() - i.limits[msg.prefix] > self.registryValue('alertPeriod'):
                     i.limits[msg.prefix] = time.time()
                     self.logChannel(irc,'INFRA: %s is rejecting clients' % msg.prefix.split('.')[0])
+                    if not i.netsplit:
+                       self.logChannel(irc,'INFO: netsplit activated for %ss : some abuses are ignored' % self.registryValue('netsplitDuration'))
+                    i.netsplit = time.time() + self.registryValue('netsplitDuration')
             elif text.startswith('KLINE active') or text.startswith('K/DLINE active'):
                 self.handleKline(irc,text)
         else: