From 5704fddfb4c0c47a6a4a250cfd4dfa099d0f5013 Mon Sep 17 00:00:00 2001 From: James Lu Date: Tue, 18 Aug 2015 02:57:40 -0700 Subject: [PATCH] relay: ignore internal clients for CLAIM checks --- plugins/relay.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/relay.py b/plugins/relay.py index 1c6abf7..bc89461 100644 --- a/plugins/relay.py +++ b/plugins/relay.py @@ -387,7 +387,8 @@ def handle_kick(irc, source, command, args): real_target = getLocalUser(irc, target, targetirc=remoteirc) log.debug('(%s) Relay kick: kicker_modes are %r', irc.name, kicker_modes) if irc.name not in db[relay]['claim'] and not \ - any([mode in kicker_modes for mode in ('y', 'q', 'a', 'o', 'h')]): + (any([mode in kicker_modes for mode in ('y', 'q', 'a', 'o', 'h')]) \ + or utils.isInternalClient(irc, kicker)): log.debug('(%s) Relay kick: kicker %s is not opped... We should rejoin the target user %s', irc.name, kicker, real_target) # Home network is not in the channel's claim AND the kicker is not # opped. We won't propograte the kick then.