]> arthur.barton.de Git - ngircd.git/commitdiff
KICK-protect IRC services
authorAlexander Barton <alex@barton.de>
Sat, 6 Oct 2012 17:23:05 +0000 (19:23 +0200)
committerAlexander Barton <alex@barton.de>
Sat, 6 Oct 2012 17:23:05 +0000 (19:23 +0200)
src/ngircd/channel.c

index c679daeb9a08cbee79ae2cd48150318959cf8c08..f3c74dc651f10abf72aab2d0ce5856da8a5e6c5e 100644 (file)
@@ -330,7 +330,8 @@ Channel_Kick(CLIENT *Peer, CLIENT *Target, CLIENT *Origin, const char *Name,
                /* Channel mode 'Q' and user mode 'q' on target: nobody but
                 * IRC Operators and servers can kick the target user */
                if ((strchr(Channel_Modes(chan), 'Q')
-                   || Client_HasMode(Target, 'q'))
+                    || Client_HasMode(Target, 'q')
+                    || Client_Type(Target) == CLIENT_SERVICE)
                    && !Client_HasMode(Origin, 'o')) {
                        IRC_WriteStrClient(Origin, ERR_KICKDENY_MSG,
                                           Client_ID(Origin), Name,