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