sendto_server(NULL, NULL,
CAP_TS6, CAP_EUID, ":%s ENCAP * CHGHOST %s :%s",
use_id(&me), use_id(client), client->host);
- sendto_server(NULL, NULL,
- NOCAPS, CAP_TS6, ":%s ENCAP * CHGHOST %s :%s",
- me.name, client->name, client->host);
if (irccmp(client->host, client->orighost))
SetDynSpoof(client);
else
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);
*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
}
if (strcmp(source_p->host, source_p->localClient->mangledhost))
{
- strlcpy(source_p->host, source_p->localClient->mangledhost, HOSTLEN);
+ rb_strlcpy(source_p->host, source_p->localClient->mangledhost, HOSTLEN);
distribute_hostchange(source_p);
}
else /* not really nice, but we need to send this numeric here */
if (source_p->localClient->mangledhost != NULL &&
!strcmp(source_p->host, source_p->localClient->mangledhost))
{
- strlcpy(source_p->host, source_p->orighost, HOSTLEN);
+ rb_strlcpy(source_p->host, source_p->orighost, HOSTLEN);
distribute_hostchange(source_p);
}
}
source_p->umodes &= ~user_modes['h'];
if (source_p->umodes & user_modes['h'])
{
- strlcpy(source_p->host, source_p->localClient->mangledhost, sizeof(source_p->host));
+ rb_strlcpy(source_p->host, source_p->localClient->mangledhost, sizeof(source_p->host));
if (irccmp(source_p->host, source_p->orighost))
SetDynSpoof(source_p);
}