]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_resv.c
Automated merge with ssh://hg.atheme.org//hg/charybdis
[irc/rqf/shadowircd.git] / modules / m_resv.c
index 084f3f8ef0d6225132346ebebb11550b47acf0c8..3cbf4a86986a83311e945e7bad6c03cdf894e206 100644 (file)
@@ -36,8 +36,7 @@
 #include "s_conf.h"
 #include "s_newconf.h"
 #include "hash.h"
-#include "s_log.h"
-#include "sprintf_irc.h"
+#include "logger.h"
 
 static int mo_resv(struct Client *, struct Client *, int, const char **);
 static int ms_resv(struct Client *, struct Client *, int, const char **);
@@ -71,7 +70,6 @@ static int remove_resv_from_file(struct Client *source_p, const char *name);
 
 /*
  * mo_resv()
- *      parv[0] = sender prefix
  *      parv[1] = channel/nick to forbid
  *      parv[2] = reason
  */
@@ -141,7 +139,6 @@ mo_resv(struct Client *client_p, struct Client *source_p, int parc, const char *
 }
 
 /* ms_resv()
- *     parv[0] = sender prefix
  *     parv[1] = target server
  *     parv[2] = channel/nick to forbid
  *     parv[3] = reason
@@ -150,8 +147,8 @@ static int
 ms_resv(struct Client *client_p, struct Client *source_p,
        int parc, const char *parv[])
 {
-       /* parv[0]  parv[1]        parv[2]  parv[3]
-        * oper     target server  resv     reason
+       /* source_p  parv[1]        parv[2]  parv[3]
+        * oper      target server  resv     reason
         */
        propagate_resv(source_p, parv[1], 0, parv[2], parv[3]);
 
@@ -214,6 +211,13 @@ parse_resv(struct Client *source_p, const char *name,
                        return;
                }
 
+               if(strchr(name, ','))
+               {
+                       sendto_one_notice(source_p,
+                                       ":Invalid character ',' in channel RESV");
+                       return;
+               }
+
                if(strchr(reason, '"'))
                {
                        sendto_one_notice(source_p,
@@ -371,7 +375,6 @@ cluster_resv(struct Client *source_p, int temp_time, const char *name,
 
 /*
  * mo_unresv()
- *     parv[0] = sender prefix
  *     parv[1] = channel/nick to unforbid
  */
 static int
@@ -408,15 +411,14 @@ mo_unresv(struct Client *client_p, struct Client *source_p, int parc, const char
 }
 
 /* ms_unresv()
- *     parv[0] = sender prefix
  *     parv[1] = target server
  *     parv[2] = resv to remove
  */
 static int
 ms_unresv(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
 {
-       /* parv[0]  parv[1]        parv[2]
-        * oper     target server  resv to remove
+       /* source_p  parv[1]        parv[2]
+        * oper      target server  resv to remove
         */
        propagate_generic(source_p, "UNRESV", parv[1], CAP_CLUSTER,
                        "%s", parv[2]);
@@ -577,7 +579,7 @@ remove_resv_from_file(struct Client *source_p, const char *name)
                        break;
                }
 
-               strlcpy(buff, buf, sizeof(buff));
+               rb_strlcpy(buff, buf, sizeof(buff));
 
                if((p = strchr(buff, '\n')) != NULL)
                        *p = '\0';