diff options
-rw-r--r-- | net/pear-Net_IPv6/Makefile | 1 | ||||
-rw-r--r-- | net/pear-Net_IPv6/files/patch-Net_IPv6.php | 35 |
2 files changed, 36 insertions, 0 deletions
diff --git a/net/pear-Net_IPv6/Makefile b/net/pear-Net_IPv6/Makefile index 28eaf19ccdad..4487c49b87ae 100644 --- a/net/pear-Net_IPv6/Makefile +++ b/net/pear-Net_IPv6/Makefile @@ -3,6 +3,7 @@ PORTNAME= Net_IPv6 DISTVERSION= 1.3.0.b2 +PORTREVISION= 1 CATEGORIES= net pear DISTNAME= ${PORTNAME}-1.3.0b2 diff --git a/net/pear-Net_IPv6/files/patch-Net_IPv6.php b/net/pear-Net_IPv6/files/patch-Net_IPv6.php new file mode 100644 index 000000000000..a49822e6149f --- /dev/null +++ b/net/pear-Net_IPv6/files/patch-Net_IPv6.php @@ -0,0 +1,35 @@ +--- Net/IPv6.php.orig 2016-08-31 14:11:53 UTC ++++ Net/IPv6.php +@@ -550,7 +550,7 @@ class Net_IPv6 + + if (false !== strpos($uip, '::') ) { + +- list($ip1, $ip2) = explode('::', $uip); ++ list($ip1, $ip2) = explode('::', $uip, 2); + + if ("" == $ip1) { + +@@ -601,12 +601,12 @@ class Net_IPv6 + + } else if (-1 == $c1) { // ::xxx + +- $fill = str_repeat('0:', 7-$c2); ++ $fill = str_repeat('0:', max(1, 7-$c2)); + $uip = str_replace('::', $fill, $uip); + + } else if (-1 == $c2) { // xxx:: + +- $fill = str_repeat(':0', 7-$c1); ++ $fill = str_repeat(':0', max(1, 7-$c1)); + $uip = str_replace('::', $fill, $uip); + + } else { // xxx::xxx +@@ -912,7 +912,7 @@ class Net_IPv6 + + } + +- if (8 == $count) { ++ if (8 == $count and empty($ipPart[1])) { + + return true; + |