quick draft fix of ip_cloaking to make module work with ipv6 ips, cleanup later

This commit is contained in:
Valery Yatsko 2008-07-28 10:06:01 +04:00
parent c287438827
commit b42eac7502

View file

@ -100,10 +100,17 @@ do_host_cloak_ip(const char *inbuf, char *outbuf)
char *tptr;
unsigned int accum = get_string_weighted_entropy(inbuf);
char buf[HOSTLEN];
int ipv6 = 0;
strncpy(buf, inbuf, HOSTLEN);
tptr = strrchr(buf, '.');
if (tptr == NULL)
{
tptr = strrchr(buf, ':');
ipv6 = 1;
}
if (tptr == NULL)
{
strncpy(outbuf, inbuf, HOSTLEN);
@ -112,7 +119,14 @@ do_host_cloak_ip(const char *inbuf, char *outbuf)
*tptr++ = '\0';
snprintf(outbuf, HOSTLEN, "%s.%x", buf, accum);
if(ipv6)
{
snprintf(outbuf, HOSTLEN, "%s:%x", buf, accum);
}
else
{
snprintf(outbuf, HOSTLEN, "%s.%x", buf, accum);
}
}
static void