# arch-tag: automatic-ChangeLog--srvx@srvx.net--2006/srvx--devo--1.3
#
+2006-04-06 02:19:47 GMT Michael Poole <mdpoole@troilus.org> patch-11
+
+ Summary:
+ Fix some IPv6 address compatibility issues.
+ Revision:
+ srvx--devo--1.3--patch-11
+
+ src/proto-p10.c (irc_p10_pton): Mark valid IPv4 addresses as v4-mapped.
+ (irc_p10_ntop): Emit invalid IPs as AAAAAA (but it could be _ for +6
+ flagged hubs).
+
+ modified files:
+ ChangeLog src/proto-p10.c
+
+
2006-04-05 02:07:30 GMT Michael Poole <mdpoole@troilus.org> patch-10
Summary:
unsigned int value;
memset(ip, 0, 6 * sizeof(ip->in6[0]));
value = base64toint(input, 6);
+ if (value)
+ ip->in6[5] = htons(65535);
ip->in6[6] = htons(value >> 16);
ip->in6[7] = htons(value & 65535);
} else {
static void
irc_p10_ntop(char *output, const irc_in_addr_t *ip)
{
- if (irc_in_addr_is_ipv4(*ip)) {
+ if (!irc_in_addr_is_valid(*ip)) {
+ strcpy(output, "AAAAAA");
+ } else if (irc_in_addr_is_ipv4(*ip)) {
unsigned int in4;
in4 = (ntohs(ip->in6[6]) << 16) | ntohs(ip->in6[7]);
inttobase64(output, in4, 6);