]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/core/m_kick.c
Automated merge with ssh://shadowircd/uranium/shadowircd/
[irc/rqf/shadowircd.git] / modules / core / m_kick.c
index 88befacdb47e4e0c99c14ac55ec27bedcb41ba7c..4eb2cfae0dde1a5346034968f95385075fec981a 100644 (file)
@@ -97,7 +97,7 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p
                        return 0;
                }
 
-               if(!is_chanop(msptr))
+               if(!is_chanop(msptr) && !IsOverride(source_p))
                {
                        if(MyConnect(source_p))
                        {
@@ -158,6 +158,14 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p
                        return 0;
                }
 
+               if(MyClient(source_p) && chptr->mode.mode & MODE_NOKICK)
+               {
+                       sendto_one_numeric(source_p, ERR_NOKICK,
+                                       form_str(ERR_NOKICK),
+                                       chptr->chname);
+                       return 0;
+               }
+
                if(MyClient(source_p))
                {
                        hook_data_channel_approval hookdata;