X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2Fcmd_neonserv_kickban.c;h=9010e7c7a191dc6f4bd3b313e14fda2c2e6e5db4;hp=e5b9cf7bdd00bec5fa3317a6b1ba8bb5bf6b4993;hb=c575e458c6257e75b97884847143b20965a5dfda;hpb=3c5c402d0425f3217a37a92eeef43d32836cc0c5 diff --git a/src/cmd_neonserv_kickban.c b/src/cmd_neonserv_kickban.c index e5b9cf7..9010e7c 100644 --- a/src/cmd_neonserv_kickban.c +++ b/src/cmd_neonserv_kickban.c @@ -1,3 +1,19 @@ +/* cmd_neonserv_kickban.c - NeonServ v5.2 + * Copyright (C) 2011 Philipp Kreil (pk910) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include "cmd_neonserv.h" @@ -70,6 +86,10 @@ static void neonserv_cmd_kickban_async1(struct ClientSocket *client, struct Clie reply(textclient, user, "NS_SERVICE_IMMUNE", chanuser->user->nick); continue; } + if(cuser == user || ((cuser->flags & USERFLAG_ISAUTHED) && !stricmp(user->auth, cuser->auth))) { + reply(textclient, user, "NS_YOU_PROTECTED"); + continue; + } if(isUserProtected(chan, cuser, user)) { reply(textclient, user, "NS_USER_PROTECTED", cuser->nick); continue; @@ -93,6 +113,10 @@ static void neonserv_cmd_kickban_async1(struct ClientSocket *client, struct Clie //KICK AUTH nick++; cuser = NULL; + if(!stricmp(user->auth, nick)) { + reply(textclient, user, "NS_YOU_PROTECTED"); + continue; + } for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) { if((chanuser->user->flags & USERFLAG_ISAUTHED) && !stricmp(chanuser->user->auth, nick)) { provided_nicks++; @@ -123,6 +147,10 @@ static void neonserv_cmd_kickban_async1(struct ClientSocket *client, struct Clie reply(textclient, user, "NS_SERVICE_IMMUNE", cuser->nick); continue; } + if(cuser == user || ((cuser->flags & USERFLAG_ISAUTHED) && !stricmp(user->auth, cuser->auth))) { + reply(textclient, user, "NS_YOU_PROTECTED"); + continue; + } if(isUserProtected(chan, cuser, user)) { reply(textclient, user, "NS_USER_PROTECTED", cuser->nick); continue;