wingo - in flumotion/trunk: . flumotion/common flumotion/test
flumotion-commit at lists.fluendo.com
flumotion-commit at lists.fluendo.com
Thu Feb 22 13:11:13 CET 2007
Author: wingo
Date: Thu Feb 22 13:11:10 2007
New Revision: 4512
Modified:
flumotion/trunk/ChangeLog
flumotion/trunk/flumotion/common/netutils.py
flumotion/trunk/flumotion/test/test_common_netutils.py
Log:
2007-02-22 Andy Wingo <wingo at pobox.com>
* flumotion/test/test_common_netutils.py
(TestIpv4Parse.testIpv4ParseString): Test validation.
* flumotion/common/netutils.py (ipv4StringToInt): Validate the IP.
Modified: flumotion/trunk/ChangeLog
==============================================================================
--- flumotion/trunk/ChangeLog (original)
+++ flumotion/trunk/ChangeLog Thu Feb 22 13:11:10 2007
@@ -1,3 +1,10 @@
+2007-02-22 Andy Wingo <wingo at pobox.com>
+
+ * flumotion/test/test_common_netutils.py
+ (TestIpv4Parse.testIpv4ParseString): Test validation.
+
+ * flumotion/common/netutils.py (ipv4StringToInt): Validate the IP.
+
2007-02-22 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* flumotion/component/feedcomponent010.py:
Modified: flumotion/trunk/flumotion/common/netutils.py
==============================================================================
--- flumotion/trunk/flumotion/common/netutils.py (original)
+++ flumotion/trunk/flumotion/common/netutils.py Thu Feb 22 13:11:10 2007
@@ -93,9 +93,16 @@
return ip
def ipv4StringToInt(s):
+ try:
+ b1, b2, b3, b4 = map(int, s.split('.'))
+ except TypeError:
+ raise ValueError(s)
+
ret = 0
- for n in map(int, s.split('.')):
+ for n in b1, b2, b3, b4:
ret <<= 8
+ if n < 0 or n > 255:
+ raise ValueError(s)
ret += n
return ret
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 Thu Feb 22 13:11:10 2007
@@ -33,6 +33,9 @@
self.assertEquals(ipv4IntToString(ipv4StringToInt(ipv4String)),
ipv4String)
+ def assertParseFails(self, ipv4String):
+ self.assertRaises(ValueError, ipv4StringToInt, ipv4String)
+
def testIpv4Parse(self):
self.assertParseInvariant('0.0.0.1')
self.assertParseInvariant('0.0.1.0')
@@ -49,6 +52,11 @@
self.assertEquals(ipv4StringToInt('0.1.0.0'), 1<<16)
self.assertEquals(ipv4StringToInt('1.0.0.0'), 1<<24)
+ self.assertParseFails('1.1.1.1.1')
+ self.assertParseFails('1.1.1')
+ self.assertParseFails('1.1.1.256')
+ self.assertParseFails('1.1.1.-3')
+
class TestRoutingTable(unittest.TestCase):
def testAddRemove(self):
net = RoutingTable()
More information about the flumotion-commit
mailing list