r29786 - in /trunk/libnetaddr-ip-perl: Changes IP.pm Lite/Util/README Lite/Util/Util.pm MANIFEST META.yml debian/changelog t/lower.t

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Sat Jan 17 22:19:09 UTC 2009


Author: gregoa
Date: Sat Jan 17 22:19:06 2009
New Revision: 29786

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=29786
Log:
New upstream release.

Added:
    trunk/libnetaddr-ip-perl/t/lower.t
      - copied unchanged from r29785, branches/upstream/libnetaddr-ip-perl/current/t/lower.t
Modified:
    trunk/libnetaddr-ip-perl/Changes
    trunk/libnetaddr-ip-perl/IP.pm
    trunk/libnetaddr-ip-perl/Lite/Util/README
    trunk/libnetaddr-ip-perl/Lite/Util/Util.pm
    trunk/libnetaddr-ip-perl/MANIFEST
    trunk/libnetaddr-ip-perl/META.yml
    trunk/libnetaddr-ip-perl/debian/changelog

Modified: trunk/libnetaddr-ip-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnetaddr-ip-perl/Changes?rev=29786&op=diff
==============================================================================
--- trunk/libnetaddr-ip-perl/Changes (original)
+++ trunk/libnetaddr-ip-perl/Changes Sat Jan 17 22:19:06 2009
@@ -1,6 +1,12 @@
 Revision history for Perl extension NetAddr::IP
 
-4.022
+4.023  Fri Jan 16 14:30:40 PST 2009
+	added the capability to set the CASE of ipV6 text return
+	values to either upper or lower. Thanks to 
+	Rob Riepel <riepel at networking.Stanford.EDU> for developing
+	this improvement and providing a comprehensive patch
+
+4.022  Sat Dec 20 13:05:01 PST 2008
   In Util.xs 1.28
         set uninitialized "carry" in XS bin2bcd to zero
 

Modified: trunk/libnetaddr-ip-perl/IP.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnetaddr-ip-perl/IP.pm?rev=29786&op=diff
==============================================================================
--- trunk/libnetaddr-ip-perl/IP.pm (original)
+++ trunk/libnetaddr-ip-perl/IP.pm Sat Jan 17 22:19:06 2009
@@ -34,7 +34,7 @@
 
 @ISA = qw(Exporter NetAddr::IP::Lite);
 
-$VERSION = do { sprintf " %d.%03d", (q$Revision: 4.22 $ =~ /\d+/g) };
+$VERSION = do { sprintf " %d.%03d", (q$Revision: 4.23 $ =~ /\d+/g) };
 
 =pod
 
@@ -53,6 +53,8 @@
 	V4net
 	netlimit
 	:aton		DEPRECATED
+	:lower
+	:upper
 	:old_storable
 	:old_nth
   );
@@ -103,6 +105,15 @@
 C<@list_of_subnets> are found to be contained in said subnet.
 
   $arrayref = Coalesce($masklen, $number, @list_of_subnets)
+
+* By default B<NetAddr::IP> functions and methods return string IPv6
+addresses in uppercase.  To change that to lowercase:
+
+  use NetAddr::IP qw(:lower);
+
+* To ensure the current IPv6 string case behavior even if the default changes:
+
+  use NetAddr::IP qw(:upper);
 
 * To set a limit on the size of B<nets> processed or returned by
 NetAddr::IP.
@@ -307,6 +318,9 @@
 
 sub import
 {
+    our $full_format = "%04X:%04X:%04X:%04X:%04X:%04X:%D.%D.%D.%D";
+    our $full6_format = "%04X:%04X:%04X:%04X:%04X:%04X:%04X:%04X";
+
     if (grep { $_ eq ':old_storable' } @_) {
 	@_ = grep { $_ ne ':old_storable' } @_;
     } else {
@@ -338,6 +352,20 @@
     {
 	$NetAddr::IP::Lite::Old_nth = 1;
 	@_ = grep { $_ ne ':old_nth' } @_;
+    }
+    if (grep { $_ eq ':lower' } @_)
+    {
+        $full_format = lc($full_format);
+        $full6_format = lc($full6_format);
+        NetAddr::IP::Util::lower();
+	@_ = grep { $_ ne ':lower' } @_;
+    }
+    if (grep { $_ eq ':upper' } @_)
+    {
+        $full_format = uc($full_format);
+        $full6_format = uc($full6_format);
+        NetAddr::IP::Util::upper();
+	@_ = grep { $_ ne ':upper' } @_;
     }
     NetAddr::IP->export_to_level(1, @_);
 }
@@ -758,7 +786,7 @@
     $hex[8] = $hex[7] >> 8;
     $hex[7] = $hex[6] & 0xff;
     $hex[6] >>= 8;
-    return sprintf("%04X:%04X:%04X:%04X:%04X:%04X:%d.%d.%d.%d", at hex);
+    return sprintf($full_format, at hex);
   } else {
     &full6;
   }
@@ -766,7 +794,7 @@
 
 sub full6($) {
   my @hex = (unpack("n8",$_[0]->{addr}));
-  return sprintf("%04X:%04X:%04X:%04X:%04X:%04X:%04X:%04X", at hex);
+  return sprintf($full6_format, at hex);
 }
 
 =item C<$me-E<gt>contains($other)>

Modified: trunk/libnetaddr-ip-perl/Lite/Util/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnetaddr-ip-perl/Lite/Util/README?rev=29786&op=diff
==============================================================================
--- trunk/libnetaddr-ip-perl/Lite/Util/README (original)
+++ trunk/libnetaddr-ip-perl/Lite/Util/README Sat Jan 17 22:19:06 2009
@@ -74,6 +74,9 @@
       $bits128 = bcd2bin($bcdtxt);
       $modetext = mode;
 
+      NetAddr::IP::Util::lower();
+      NetAddr::IP::Util::upper();
+
 INSTALLATION
     Un-tar the distribution in an appropriate directory and type:
 
@@ -297,6 +300,12 @@
                 input:          none
                 returns:        "Pure Perl"
                            or   "CC XS"
+
+    * NetAddr::IP::Util::lower();
+        Return IPv6 strings in lowercase.
+
+    * NetAddr::IP::Util::upper();
+        Return IPv6 strings in uppercase. This is the default.
 
 EXAMPLES
       # convert any textual IP address into a 128 bit vector

Modified: trunk/libnetaddr-ip-perl/Lite/Util/Util.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnetaddr-ip-perl/Lite/Util/Util.pm?rev=29786&op=diff
==============================================================================
--- trunk/libnetaddr-ip-perl/Lite/Util/Util.pm (original)
+++ trunk/libnetaddr-ip-perl/Lite/Util/Util.pm Sat Jan 17 22:19:06 2009
@@ -110,6 +110,14 @@
   $Mode = 'CC XS';
 }
 
+# allow user to choose upper or lower case
+
+our $n2x_format = "%X:%X:%X:%X:%X:%X:%X:%X";
+our $n2d_format = "%X:%X:%X:%X:%X:%X:%D.%D.%D.%D";
+
+sub upper { $n2x_format = uc($n2x_format); $n2d_format = uc($n2d_format); }
+sub lower { $n2x_format = lc($n2x_format); $n2d_format = lc($n2d_format); }
+
 # if Socket lib is broken in some way, check for overange values
 #
 my $overange = yinet_aton('256.1') ? 1:0;
@@ -210,6 +218,9 @@
   $bits128 = bcd2bin($bcdtxt);
   $modetext = mode;
 
+  NetAddr::IP::Util::lower();
+  NetAddr::IP::Util::upper();
+
 =head1 INSTALLATION
 
 Un-tar the distribution in an appropriate directory and type:
@@ -320,7 +331,7 @@
 sub ipv6_n2x {
   die "Bad arg length for 'ipv6_n2x', length is ". length($_[0]) ." should be 16"
 	unless length($_[0]) == 16;
-  return sprintf("%X:%X:%X:%X:%X:%X:%X:%X",unpack("n8",$_[0]));
+  return sprintf($n2x_format,unpack("n8",$_[0]));
 }
 
 =item * $dec_text = ipv6_n2d($ipv6addr);
@@ -342,7 +353,7 @@
   $hex[8] = $hex[7] >> 8;
   $hex[7] = $hex[6] & 0xff;
   $hex[6] >>= 8;
-  return sprintf("%X:%X:%X:%X:%X:%X:%d.%d.%d.%d", at hex);
+  return sprintf($n2d_format, at hex);
 }
 
 =item * $ipv6naddr = inet_any2n($dotquad or $ipv6_text);
@@ -586,6 +597,14 @@
 	input:		none
 	returns:	"Pure Perl"
 		   or	"CC XS"
+
+=item * NetAddr::IP::Util::lower();
+
+Return IPv6 strings in lowercase.
+
+=item * NetAddr::IP::Util::upper();
+
+Return IPv6 strings in uppercase.  This is the default.
 
 =back
 

Modified: trunk/libnetaddr-ip-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnetaddr-ip-perl/MANIFEST?rev=29786&op=diff
==============================================================================
--- trunk/libnetaddr-ip-perl/MANIFEST (original)
+++ trunk/libnetaddr-ip-perl/MANIFEST Sat Jan 17 22:19:06 2009
@@ -107,6 +107,7 @@
 t/full6.t
 t/imhoff.t
 t/loops.t
+t/lower.t
 t/masklen.t
 t/new-store.t
 t/old-store.t

Modified: trunk/libnetaddr-ip-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnetaddr-ip-perl/META.yml?rev=29786&op=diff
==============================================================================
--- trunk/libnetaddr-ip-perl/META.yml (original)
+++ trunk/libnetaddr-ip-perl/META.yml Sat Jan 17 22:19:06 2009
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:                NetAddr-IP
-version:             4.022
+version:             4.023
 abstract:            Manages IPv4 and IPv6 addresses and subnets
 license:             ~
 author:              

Modified: trunk/libnetaddr-ip-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnetaddr-ip-perl/debian/changelog?rev=29786&op=diff
==============================================================================
--- trunk/libnetaddr-ip-perl/debian/changelog (original)
+++ trunk/libnetaddr-ip-perl/debian/changelog Sat Jan 17 22:19:06 2009
@@ -1,3 +1,9 @@
+libnetaddr-ip-perl (4.023+dfsg-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- gregor herrmann <gregoa at debian.org>  Sat, 17 Jan 2009 23:18:16 +0100
+
 libnetaddr-ip-perl (4.022+dfsg-1) unstable; urgency=low
 
   * New upstream release.




More information about the Pkg-perl-cvs-commits mailing list