aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorgarga <garga@FreeBSD.org>2016-10-27 17:27:44 +0800
committergarga <garga@FreeBSD.org>2016-10-27 17:27:44 +0800
commit4908d613835695270d52368230f9fe3c413a5601 (patch)
treec9756d91f6b955f330434b5e5c3baa03806a19e0 /net
parent7860840f54ae388a2aaef3f2fe4ea4a7f2d4a808 (diff)
downloadfreebsd-ports-gnome-4908d613835695270d52368230f9fe3c413a5601.tar.gz
freebsd-ports-gnome-4908d613835695270d52368230f9fe3c413a5601.tar.zst
freebsd-ports-gnome-4908d613835695270d52368230f9fe3c413a5601.zip
Import a patch to fix compress("::") calls
Submitted by: Phil Davis Obtained from: https://github.com/phil-davis/Net_IPv6/commit/638b96a253164b65c63825c38e79812b6c5f448d MFH: 2016Q4 Sponsored by: Rubicon Communications (Netgate)
Diffstat (limited to 'net')
-rw-r--r--net/pear-Net_IPv6/Makefile2
-rw-r--r--net/pear-Net_IPv6/files/patch-fix_compress36
2 files changed, 37 insertions, 1 deletions
diff --git a/net/pear-Net_IPv6/Makefile b/net/pear-Net_IPv6/Makefile
index 4487c49b87ae..a0a50da83c03 100644
--- a/net/pear-Net_IPv6/Makefile
+++ b/net/pear-Net_IPv6/Makefile
@@ -3,7 +3,7 @@
PORTNAME= Net_IPv6
DISTVERSION= 1.3.0.b2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net pear
DISTNAME= ${PORTNAME}-1.3.0b2
diff --git a/net/pear-Net_IPv6/files/patch-fix_compress b/net/pear-Net_IPv6/files/patch-fix_compress
new file mode 100644
index 000000000000..f6768602592f
--- /dev/null
+++ b/net/pear-Net_IPv6/files/patch-fix_compress
@@ -0,0 +1,36 @@
+From 638b96a253164b65c63825c38e79812b6c5f448d Mon Sep 17 00:00:00 2001
+From: Phil Davis <phil.davis@inf.org>
+Date: Thu, 27 Oct 2016 13:45:38 +0930
+Subject: [PATCH] Fix compress to "::"
+
+Problem:
+```
+Net_IPv6::compress("0:0:0:0:0:0:0:0");
+```
+returns the empty string.
+
+It should return double-colon "::"
+
+The preg_replace here are over-zealous, in the "::" case, the sring
+starts and ends with ":" and so both get stripped out.
+---
+ Net/IPv6.php | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Net/IPv6.php b/Net/IPv6.php
+index ba77472..39949d1 100644
+--- Net/IPv6.php
++++ Net/IPv6.php
+@@ -734,8 +734,10 @@ public static function compress($ip, $force = false)
+
+ }
+
+- $cip = preg_replace('/((^:)|(:$))/', '', $cip);
+- $cip = preg_replace('/((^:)|(:$))/', '::', $cip);
++ if ($cip != "::") {
++ $cip = preg_replace('/((^:)|(:$))/', '', $cip);
++ $cip = preg_replace('/((^:)|(:$))/', '::', $cip);
++ }
+
+ if ('' != $netmask) {
+