pfsense/pfsense — pull request #634 by phil-davis (2013-05-14 02:35:26+00:00)
Title: OpenVPN w/ IPv6 fails to set ifconfig-ipv6 value in conf #2991

Net_IPv6::compress returns "" when the IPv6 address is already compressed!!! That is a bug in Net_IPv6, but might be more difficult to correct right now. The way to make sure things are OK is to call uncompress first, to always make sure an uncompressed IPv6 addres is passed to compress. Note: uncompress works fine if the address is already uncompressed - it returns what it was given.
I will search later for other uses of Net_IPv6::compress in pfSense code, as they will all have the potential for this kind of error.

$ipv6 = "fe80::1";
$ipv6_1 = Net_IPv6::compress($ipv6);
var_dump($ipv6_1);
string(0) ""

$ipv6_1 = Net_IPv6::compress(Net_IPv6::uncompress($ipv6));
var_dump($ipv6_1);
string(7) "fe80::1"