wingo - in flumotion/trunk: . flumotion/common flumotion/test

flumotion-commit at lists.fluendo.com flumotion-commit at lists.fluendo.com
Mon Feb 12 16:45:34 CET 2007


Author: wingo
Date: Mon Feb 12 16:45:31 2007
New Revision: 4478

Modified:
   flumotion/trunk/ChangeLog
   flumotion/trunk/flumotion/common/netutils.py
   flumotion/trunk/flumotion/test/test_common_netutils.py
Log:
2007-02-12  Andy Wingo  <wingo at pobox.com>

	* flumotion/common/netutils.py (Network._parseSubnet)
	(Network.addSubnet, Network.removeSubnet): 
	* flumotion/test/test_common_netutils.py
	(TestNetwork.testAddRemove): Remove support for noncontinguous
	netmasks, as it seems they don't work on the Real Internet(tm).
	Fewer error paths!



Modified: flumotion/trunk/ChangeLog
==============================================================================
--- flumotion/trunk/ChangeLog	(original)
+++ flumotion/trunk/ChangeLog	Mon Feb 12 16:45:31 2007
@@ -1,5 +1,12 @@
 2007-02-12  Andy Wingo  <wingo at pobox.com>
 
+	* flumotion/common/netutils.py (Network._parseSubnet)
+	(Network.addSubnet, Network.removeSubnet): 
+	* flumotion/test/test_common_netutils.py
+	(TestNetwork.testAddRemove): Remove support for noncontinguous
+	netmasks, as it seems they don't work on the Real Internet(tm).
+	Fewer error paths!
+
 	* flumotion/common/netutils.py (ipv4StringToInt, ipv4IntToString):
 	New functions. We could use inet_pton and the like from socket,
 	but the interface seems more error-prone.

Modified: flumotion/trunk/flumotion/common/netutils.py
==============================================================================
--- flumotion/trunk/flumotion/common/netutils.py	(original)
+++ flumotion/trunk/flumotion/common/netutils.py	Mon Feb 12 16:45:31 2007
@@ -108,25 +108,15 @@
     def __init__(self, name=None):
         self.name = name
 
-    def _parseSubnet(self, ipv4String, prefixLen, netmask):
-        if netmask is not None:
-            netmask = ipv4StringToInt(netmask)
-        else:
-            netmask = ~((1 << (32 - prefixLen)) - 1)
-            if netmask < 0:
-                # so that netmasks made from this function are the same
-                # as those made by ipv4StringToInt
-                netmask += 1<<32
-        
-        ip = ipv4StringToInt(ipv4String)
-
-        return ip, netmask
+    def _parseSubnet(self, ipv4String, maskBits):
+        return (ipv4StringToInt(ipv4String),
+                ~((1 << (32 - maskBits)) - 1))
 
-    def addSubnet(self, ipv4String, prefixLen=32, netmask=None):
-        self.add(self._parseSubnet(ipv4String, prefixLen, netmask))
+    def addSubnet(self, ipv4String, maskBits=32):
+        self.add(self._parseSubnet(ipv4String, maskBits))
 
-    def removeSubnet(self, ipv4String, prefixLen=32, netmask=None):
-        self.remove(self._parseSubnet(ipv4String, prefixLen, netmask))
+    def removeSubnet(self, ipv4String, maskBits=32):
+        self.remove(self._parseSubnet(ipv4String, maskBits))
 
     def match(self, ipv4String):
         ip = ipv4StringToInt(ipv4String)

Modified: flumotion/trunk/flumotion/test/test_common_netutils.py
==============================================================================
--- flumotion/trunk/flumotion/test/test_common_netutils.py	(original)
+++ flumotion/trunk/flumotion/test/test_common_netutils.py	Mon Feb 12 16:45:31 2007
@@ -62,16 +62,6 @@
         net.removeSubnet('192.168.1.0', 24)
         self.assertEquals(len(net), 0)
         
-        net.addSubnet('192.168.0.0', netmask='255.255.255.0')
-        self.assertEquals(len(net), 1)
-        net.removeSubnet('192.168.0.0', netmask='255.255.255.0')
-        self.assertEquals(len(net), 0)
-
-        net.addSubnet('192.168.0.0', netmask='255.255.255.0')
-        self.assertEquals(len(net), 1)
-        net.removeSubnet('192.168.0.0', 24)
-        self.assertEquals(len(net), 0)
-
     def testMatch(self):
         net = Network()
 


More information about the flumotion-commit mailing list