]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/core/m_nick.c
Change the DNSBL hit snomask to SNO_REJ (+r) as to not spam SNO_GENERAL
[irc/rqf/shadowircd.git] / modules / core / m_nick.c
index 7335399b4409e90ccc51f1bfe8369e1f8d73c528..62720c1ff83d47fca72818063e826be05a0158d0 100644 (file)
@@ -21,7 +21,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_nick.c 3518 2007-06-22 21:59:09Z jilles $
  */
 
 #include "stdinc.h"
@@ -108,7 +107,6 @@ static int perform_nickchange_collides(struct Client *, struct Client *,
                                       struct Client *, int, const char **, time_t, const char *);
 
 /* mr_nick()
- *       parv[0] = sender prefix
  *       parv[1] = nickname
  */
 static int
@@ -175,7 +173,6 @@ mr_nick(struct Client *client_p, struct Client *source_p, int parc, const char *
 }
 
 /* m_nick()
- *     parv[0] = sender prefix
  *     parv[1] = nickname
  */
 static int
@@ -258,7 +255,6 @@ m_nick(struct Client *client_p, struct Client *source_p, int parc, const char *p
 /* mc_nick()
  *      
  * server -> server nick change
- *    parv[0] = sender prefix
  *    parv[1] = nickname
  *    parv[2] = TS when nick change
  */
@@ -694,6 +690,16 @@ change_local_nick(struct Client *client_p, struct Client *source_p,
                                        nick, chptr->chname);
                        return;
                }
+
+               chptr = find_nonickchange_channel(source_p);
+               if (chptr != NULL)
+               {
+                       sendto_one_numeric(source_p, ERR_NONICK,
+                                       form_str(ERR_NONICK),
+                                       chptr->chname);
+                       return;
+               }
+
                if((source_p->localClient->last_nick_change + ConfigFileEntry.max_nick_time) < rb_current_time())
                        source_p->localClient->number_of_nick_changes = 0;