Ticket #1110 (closed Bug: fixed)

Opened 2 years ago

Last modified 2 years ago

Handle IPv4 mapped addresses; Detect IPv6 addresses at Installation

Reported by: vipsoft Owned by:
Priority: normal Milestone: Piwik 0.5.5
Component: Core Keywords:
Cc: Sensitive: no

Description (last modified by vipsoft) (diff)

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").

Change History

Changed 2 years ago by vipsoft

  • description modified (diff)

Changed 2 years ago by vipsoft

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)

Changed 2 years ago by vipsoft

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:

Changed 2 years ago by vipsoft

  • status changed from new to closed
  • resolution set to fixed

(In [1790]) fixes #1110 - warn if IPv6 address detected during Installation; handle IPv4 mapped addresses

Changed 2 years ago by vipsoft

  • summary changed from ipv6 not supported to Handle IPv4 mapped addresses; Detect IPv6 addresses at Installation
Note: See TracTickets for help on using tickets.