You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2015/07/22 01:52:35 UTC

svn commit: r1692208 - in /spamassassin/trunk/lib/Mail/SpamAssassin: Constants.pm Util.pm

Author: mmartinec
Date: Tue Jul 21 23:52:35 2015
New Revision: 1692208

URL: http://svn.apache.org/r1692208
Log:
Bug 7225: A regexp for parsing an IPv4 address inconsistently allows/disallows a leading zero

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm?rev=1692208&r1=1692207&r2=1692208&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm Tue Jul 21 23:52:35 2015
@@ -253,10 +253,10 @@ use constant LOCALHOST => qr/
 # an IP address, in IPv4 format only.
 #
 use constant IPV4_ADDRESS => qr/\b
-		    (?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-                    (?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-                    (?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-                    (?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)
+		    (?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+                    (?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+                    (?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+                    (?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)
                   \b/ox;
 
 # ---------------------------------------------------------------------------
@@ -267,10 +267,10 @@ use constant IP_ADDRESS => qr/
 		    (?:
 		      \b(?<!:)	# ensure no "::" IPv4 marker before this one
 		      # plain IPv4, as above
-		      (?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-		      (?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-		      (?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-		      (?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\b
+		      (?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+		      (?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+		      (?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+		      (?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\b
 		    |
 		      # IPv6 addresses
 		      # don't use \b here, it hits on :'s
@@ -303,10 +303,10 @@ use constant IP_ADDRESS => qr/
 			  (?:[a-f0-9]{1,4}:){4}:[a-f0-9]{1,4}:
 			)
 			# and the IPv4 address appended to all of the 12 bytes above
-			(?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-			(?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-			(?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-			(?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)   # no \b, we check later
+			(?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+			(?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+			(?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+			(?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)   # no \b, we check later
 
 			| # or (separately) a pure IPv6 address
 

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm?rev=1692208&r1=1692207&r2=1692208&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm Tue Jul 21 23:52:35 2015
@@ -805,10 +805,10 @@ sub extract_ipv4_addr_from_string {
   return unless defined($str);
 
   if ($str =~ /\b(
-			(?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-			(?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-			(?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)\.
-			(?:1\d\d|2[0-4]\d|25[0-5]|\d\d|\d)
+			(?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+			(?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+			(?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.
+			(?:1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)
 		      )\b/ix)
   {
     if (defined $1) { return $1; }