diff --git a/Milter/dynip.py b/Milter/dynip.py index 8cf9602370a16338abbe712be6310f0c29ff91e1..f4dcfd53ddbbf8a1818412b805fafe5d6897fbae 100644 --- a/Milter/dynip.py +++ b/Milter/dynip.py @@ -44,6 +44,8 @@ def is_dynip(host,addr): True >>> is_dynip('[1.2.3.4]','1.2.3.4') True + >>> is_dynip('c-71-63-151-151.hsd1.mn.comcast.net','71.63.151.151') + True """ if host.startswith('[') and host.endswith(']'): return True @@ -54,7 +56,7 @@ def is_dynip(host,addr): h = host m = ip3.findall(host) if m: - g = map(int,m) + g = map(int,m)[:4] ia3 = (ia[1:],ia[:3]) if g[-3:] in ia3: return True if g[0] == ia[3] and g[1:3] == ia[:2]: return True diff --git a/testutils.py b/testutils.py index 2d78febf20004ff9a1e437485684f0d2c14bc0f1..70312f0c1f4987a59b428d761191bb508fee57b7 100644 --- a/testutils.py +++ b/testutils.py @@ -3,6 +3,7 @@ import doctest import os import Milter.utils from Milter.cache import AddrCache +from Milter.dynip import is_dynip class AddrCacheTestCase(unittest.TestCase): @@ -40,6 +41,7 @@ class AddrCacheTestCase(unittest.TestCase): def suite(): s = unittest.makeSuite(AddrCacheTestCase,'test') s.addTest(doctest.DocTestSuite(Milter.utils)) + s.addTest(doctest.DocTestSuite(Milter.dynip)) return s if __name__ == '__main__':