X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/5203cba5cea34030f9775b6fac1263aacfa37b82..ef7a99cdb093db40f4cf67bbf9a2830e654e3df8:/extensions/ip_cloaking_3.0.c diff --git a/extensions/ip_cloaking_3.0.c b/extensions/ip_cloaking_3.0.c index e378a72f..2b6f2dcb 100644 --- a/extensions/ip_cloaking_3.0.c +++ b/extensions/ip_cloaking_3.0.c @@ -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 @@ -40,8 +41,8 @@ mapi_hfn_list_av1 ip_cloaking_hfnlist[] = { { 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) { - snprintf(outbuf, HOSTLEN, "%s:%x", buf, accum); + snprintf(outbuf, HOSTLEN, "%.60s:%x", buf, accum); } else { - 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