X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Faddr_range.html;h=c236a7353c6cf039929e24f38906569e29298809;hb=71f60459dbe9f803c0515bd2e54ef18f4e266fa1;hp=5df05596e92a82377dd024544767e3fe3be114a9;hpb=b527719318878e876971e02e4ac3bfb892a68dec;p=freeside.git

diff --git a/httemplate/edit/process/addr_range.html b/httemplate/edit/process/addr_range.html
index 5df05596e..c236a7353 100644
--- a/httemplate/edit/process/addr_range.html
+++ b/httemplate/edit/process/addr_range.html
@@ -13,10 +13,13 @@
         $cgi->param('end', $end->addr);
         $cgi->param('start', $start->addr);
       }
-      if ( $start + 0x7FFFFFFF <= $end ) {
+      # detect addr ranges that are too big
+      my ($one) = split('\.', $start->addr);
+      if ( $one < 128 and $start + 0x7FFFFFFF <= $end ) {
         # then this is going to overflow
-        return "Address ranges must be < 2^31 - 1 addresses long."
-      }
+        return "Address ranges must be < 2^31 - 1 addresses long.";
+      } # if the first octet is >= 128, then it's in the top half of 
+        # address space and it CAN'T be too big
 
       $cgi->param('length', $end - $start + 1);
     } else {