From 46545cab94c6bebfa4b7e933c86f6cf91b9dc74f Mon Sep 17 00:00:00 2001
From: Stuart Gathman <stuart@gathman.org>
Date: Thu, 28 Jun 2007 20:33:25 +0000
Subject: [PATCH] Fix missed comcast dynip.

---
 Milter/dynip.py | 4 +++-
 testutils.py    | 2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/Milter/dynip.py b/Milter/dynip.py
index 8cf9602..f4dcfd5 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 2d78feb..70312f0 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__':
-- 
GitLab