fixed spamserv unregister message
[srvx.git] / src / spamserv.c
index ddb3c16e1d96fe1ae214c59e4a54628340bb7ace..e2918c42320c3e4a0fdd962e330a58ad18da2bb5 100644 (file)
@@ -326,7 +326,10 @@ spamserv_cs_unregister(struct userNode *user, struct chanNode *channel, enum cs_
                        spamserv_part_channel(channel, partmsg);
                
                spamserv_unregister_channel(cInfo);
-               spamserv_oper_message(SSMSG_CHANNEL_UNREGISTERED, spamserv->nick, channel->name, user->handle_info->handle);
+               if(user)
+               {
+                       spamserv_oper_message(SSMSG_CHANNEL_UNREGISTERED, spamserv->nick, channel->name, user->handle_info->handle);
+               }
        }
 }
 
@@ -576,7 +579,11 @@ spamserv_user_join(struct modeNode *mNode)
 
        if(user->uplink->burst || !(cInfo = get_chanInfo(channel->name)) || !CHECK_JOINFLOOD(cInfo) || !(uInfo = get_userInfo(user->nick)))
                return 0;
-        
+
+       if(IsOper(user))
+       {
+               return 0;
+       }
         
     if(!CHECK_CHANOPS(cInfo))
        {
@@ -1142,7 +1149,7 @@ SPAMSERV_FUNC(cmd_unregister)
        
        spamserv_unregister_channel(cInfo);     
 
-       spamserv_oper_message(SSMSG_CHANNEL_UNREGISTERED, channel->name, user->handle_info->handle);
+       spamserv_oper_message(SSMSG_CHANNEL_UNREGISTERED, spamserv->nick, channel->name, user->handle_info->handle);
        ss_reply("SSMSG_UNREG_SUCCESS", channel->name);
 
        return 1;
@@ -1602,6 +1609,11 @@ spamserv_channel_message(struct chanNode *channel, struct userNode *user, char *
        if(!spamserv || quit_services || !GetUserMode(channel, spamserv) || !(cInfo = get_chanInfo(channel->name)) || !(uInfo = get_userInfo(user->nick)))
                return;
 
+       if(IsOper(user))
+       {
+               return;
+       }
+
        if(!CHECK_CHANOPS(cInfo))
        {
                struct modeNode *mn = GetUserMode(channel, user);