throw ModuleException("Could not add new modes!");
ServerInstance->Modules->UseInterface("HashRequest");
- Extensible::Register(&cu.ext);
+ ServerInstance->Extensions.Register(&cu.ext);
Implementation eventlist[] = { I_OnRehash, I_OnCheckBan, I_OnUserConnect };
ServerInstance->Modules->Attach(eventlist, this, 3);
char rv[50];
if (ip.sa.sa_family == AF_INET6)
{
- snprintf(rv, 50, "%02x%02x.%02x%02x.%02x%02x.IP",
+ snprintf(rv, 50, ".%02x%02x.%02x%02x.%02x%02x.IP",
ip.in6.sin6_addr.s6_addr[4], ip.in6.sin6_addr.s6_addr[5],
ip.in6.sin6_addr.s6_addr[2], ip.in6.sin6_addr.s6_addr[3],
ip.in6.sin6_addr.s6_addr[0], ip.in6.sin6_addr.s6_addr[1]);
}
else
{
- const char* ip4 = (const char*)&ip.in4.sin_addr;
- snprintf(rv, 50, "%d.%d.IP", ip4[1], ip4[0]);
+ const unsigned char* ip4 = (const unsigned char*)&ip.in4.sin_addr;
+ snprintf(rv, 50, ".%d.%d.IP", ip4[1], ip4[0]);
}
return rv;
}
tail = LastTwoDomainParts(dest->host);
if (tail.empty() || tail.length() > 50)
tail = ReversePartialIP(dest->client_sa);
- chost = prefix + SegmentCloak(dest->host, 1) + "." + tail;
+ chost = prefix + SegmentCloak(dest->host, 1) + tail;
break;
}
case MODE_OPAQUE:
default:
- chost = SegmentIP(dest->client_sa);
+ chost = prefix + SegmentIP(dest->client_sa);
}
cu.ext.set(dest,chost);
}