]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - extensions/m_webirc.c
Add description for LOCOPS message.
[irc/rqf/shadowircd.git] / extensions / m_webirc.c
index 58aa48d86135bb5a9df59adbb602d62d2ad7ba35..1b92ff018fc67e917805b7fef1d37a409190c302 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_webirc.c 2757 2006-11-10 22:58:15Z jilles $
+ *  $Id: m_webirc.c 3458 2007-05-18 19:51:22Z jilles $
  */
 /* Usage:
  * auth {
  * };
  * Possible flags:
  *   encrypted - password is encrypted (recommended)
- *   kline_exempt - k/g lines on the cgiirc ip are ignored
- *   gline_exempt - glines on the cgiirc ip are ignored
+ *   kline_exempt - klines on the cgiirc ip are ignored
  * dlines are checked on the cgiirc ip (of course).
- * k/d/g/x lines, auth blocks, user limits, etc are checked using the
+ * k/d/x lines, auth blocks, user limits, etc are checked using the
  * real host/ip.
  * The password should be specified unencrypted in webirc_password in
  * cgiirc.config
@@ -43,7 +42,7 @@
 
 #include "stdinc.h"
 #include "client.h"            /* client struct */
-#include "irc_string.h"
+#include "match.h"
 #include "hostmask.h"
 #include "send.h"              /* sendto_one */
 #include "numeric.h"           /* ERR_xxx */
 #include "s_serv.h"
 #include "hash.h"
 #include "s_conf.h"
+#include "reject.h"
 
 static int mr_webirc(struct Client *, struct Client *, int, const char **);
 
 struct Message webirc_msgtab = {
        "WEBIRC", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
-       {{mr_webirc, 4}, mg_reg, mg_ignore, mg_ignore, mg_ignore, mg_reg}
+       {{mr_webirc, 5}, mg_reg, mg_ignore, mg_ignore, mg_ignore, mg_reg}
 };
 
 mapi_clist_av1 webirc_clist[] = { &webirc_msgtab, NULL };
@@ -67,7 +67,6 @@ DECLARE_MODULE_AV1(webirc, NULL, NULL, webirc_clist, NULL, NULL, "$Revision: 207
 
 /*
  * mr_webirc - webirc message handler
- *      parv[0] = sender prefix
  *      parv[1] = password
  *      parv[2] = fake username (we ignore this)
  *     parv[3] = fake hostname 
@@ -89,7 +88,7 @@ mr_webirc(struct Client *client_p, struct Client *source_p, int parc, const char
                                IsGotId(client_p) ? client_p->username : "webirc",
                                IsGotId(client_p) ? client_p->username : "webirc",
                                (struct sockaddr *) &client_p->localClient->ip,
-                               client_p->localClient->ip.ss_family);
+                               client_p->localClient->ip.ss_family, NULL);
        if (aconf == NULL || !(aconf->status & CONF_CLIENT))
                return 0;
        if (!IsConfDoSpoofIp(aconf) || irccmp(aconf->name, "webirc."))
@@ -107,7 +106,7 @@ mr_webirc(struct Client *client_p, struct Client *source_p, int parc, const char
        if (EmptyString(parv[1]))
                encr = "";
        else if (IsConfEncrypted(aconf))
-               encr = crypt(parv[1], aconf->passwd);
+               encr = rb_crypt(parv[1], aconf->passwd);
        else
                encr = parv[1];
 
@@ -118,16 +117,16 @@ mr_webirc(struct Client *client_p, struct Client *source_p, int parc, const char
        }
 
 
-       strlcpy(source_p->sockhost, parv[4], sizeof(source_p->sockhost));
+       rb_strlcpy(source_p->sockhost, parv[4], sizeof(source_p->sockhost));
 
        if(strlen(parv[3]) <= HOSTLEN)
-               strlcpy(source_p->host, parv[3], sizeof(source_p->host));
+               rb_strlcpy(source_p->host, parv[3], sizeof(source_p->host));
        else
-               strlcpy(source_p->host, source_p->sockhost, sizeof(source_p->host));
+               rb_strlcpy(source_p->host, source_p->sockhost, sizeof(source_p->host));
        
-       inetpton_sock(parv[4], (struct sockaddr *)&source_p->localClient->ip);
+       rb_inet_pton_sock(parv[4], (struct sockaddr *)&source_p->localClient->ip);
 
-       /* Check dlines now, k/glines will be checked on registration */
+       /* Check dlines now, klines will be checked on registration */
        if((aconf = find_dline((struct sockaddr *)&source_p->localClient->ip, 
                               source_p->localClient->ip.ss_family)))
        {