core/Common.php getIp() uses ip2long(). This only works for ipv4 addresses.
ipv6 addresses result in 0 (and are converted back as "0.0.0.0").
Unit tests should ensure these formats are handled: - 2001:0db8:85a3:0000:0000:8a2e:0370:7334 - 2001:db8:85a3:0:0:8a2e:370:7334 (leading zeros omitted) - 2001:db8:85a3::8a2e:370:7334 (groups of zeros omitted) - ::ffff:c000:280 and ::ffff:192.0.2.128(double quad notation for ipv4 mapped addresses)
MySQL bigint is 8 bytes and won't accommodate a 128 bit ipv6 address. So... we'll defer comment:2 for post-1.0.
The current proposal is: - Installation: detect ipv6 REMOTE_ADDR and warn - core/Common.php: getIp() - accept IPv4-mapped addresses prefixed by ::ffff:
(In ) fixes #1110 - warn if IPv6 address detected during Installation; handle IPv4 mapped addresses