]> jfr.im git - solanum.git/blobdiff - extensions/ip_cloaking_3.0.c
explicitly show IP in SNO_BANNED snotes
[solanum.git] / extensions / ip_cloaking_3.0.c
index 627bd366c1badf8bd1527ae6f4e93f35cd164d42..16912d963270dcfbdd69b2615270da284caa569c 100644 (file)
@@ -1,4 +1,3 @@
-/* $Id: ip_cloaking.c 3526 2007-07-06 07:56:14Z nenolod $ */
 
 #include "stdinc.h"
 #include "modules.h"
@@ -11,7 +10,9 @@
 #include "s_serv.h"
 #include "numeric.h"
 
-/* if you're modifying this module, you'll probably to change this */
+static const char ip_cloaking_desc[] = "The old IP cloaking mechanism version 3.0";
+
+/* if you're modifying this module, you'll probably want to change this */
 #define KEY 0x13748cfa
 
 static int
@@ -35,13 +36,13 @@ _moddeinit(void)
 static void check_umode_change(void *data);
 static void check_new_user(void *data);
 mapi_hfn_list_av1 ip_cloaking_hfnlist[] = {
-       { "umode_changed", (hookfn) check_umode_change },
-       { "new_local_user", (hookfn) check_new_user },
+       { "umode_changed", check_umode_change },
+       { "new_local_user", check_new_user },
        { NULL, NULL }
 };
 
-DECLARE_MODULE_AV1(ip_cloaking, _modinit, _moddeinit, NULL, NULL,
-                       ip_cloaking_hfnlist, "$Revision: 3526 $");
+DECLARE_MODULE_AV2(ip_cloaking, _modinit, _moddeinit, NULL, NULL,
+       ip_cloaking_hfnlist, NULL, NULL, ip_cloaking_desc);
 
 static void
 distribute_hostchange(struct Client *client_p, char *newhost)
@@ -102,7 +103,7 @@ do_host_cloak_ip(const char *inbuf, char *outbuf)
 {
        char *tptr;
        unsigned int accum = get_string_weighted_entropy(inbuf);
-       char buf[HOSTLEN];
+       char buf[HOSTLEN + 1] = { 0 };
        int ipv6 = 0;
 
        strncpy(buf, inbuf, HOSTLEN);
@@ -124,11 +125,11 @@ do_host_cloak_ip(const char *inbuf, char *outbuf)
 
        if(ipv6)
        {
-           rb_snprintf(outbuf, HOSTLEN, "%s:%x", buf, accum);
+           snprintf(outbuf, HOSTLEN, "%.60s:%x", buf, accum);
        }
        else
        {
-           rb_snprintf(outbuf, HOSTLEN, "%s.%x", buf, accum);
+           snprintf(outbuf, HOSTLEN, "%.60s.%x", buf, accum);
        }
 }
 
@@ -215,7 +216,7 @@ check_new_user(void *vdata)
                source_p->umodes &= ~user_modes['h'];
                return;
        }
-       source_p->localClient->mangledhost = rb_malloc(HOSTLEN);
+       source_p->localClient->mangledhost = rb_malloc(HOSTLEN + 1);
        if (!irccmp(source_p->orighost, source_p->sockhost))
                do_host_cloak_ip(source_p->orighost, source_p->localClient->mangledhost);
        else