Update of /cvsroot/tmda/tmda/TMDA
In directory sc8-pr-cvs1:/tmp/cvs-serv1594/TMDA

Modified Files:
        Address.py 
Log Message:
Fixed bugs reported by Mark Horn on tmda-address and tmda-check-address
not respecting TAGS_* configuration variables.


Index: Address.py
===================================================================
RCS file: /cvsroot/tmda/tmda/TMDA/Address.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Address.py  26 Nov 2002 01:05:06 -0000      1.1
+++ Address.py  3 Jan 2003 00:47:47 -0000       1.2
@@ -55,10 +55,11 @@
     def base(self):
         return Defaults.USERNAME + '@' + Defaults.HOSTNAME
                         
-    def create(self, base):
+    def create(self, base, dummy=None):
         self.address = base or self.base()
+        return self
 
-    def verify(self):
+    def verify(self, dummy=''):
         raise BadCryptoError, "No cryptographic information in address."
 
     def split(self):
@@ -92,7 +93,7 @@
             base = self.base()
         (dummy, local, domain) = _split(str(base))
         cookie = Cookie.make_confirm_cookie(int(timestamp), pid, keyword)
-        self.local_parts = [ local, 'confirm', keyword + '.' + cookie ]
+        self.local_parts = [ local, Defaults.TAGS_CONFIRM[0].lower(), keyword + '.' + 
+cookie ]
         tagged_local = Defaults.RECIPIENT_DELIMITER.join(self.local_parts)
         self.address = tagged_local + '@' + domain
         return self
@@ -128,7 +129,7 @@
             base = self.base()
         (dummy, local, domain) = _split(str(base))
         cookie = Cookie.make_dated_cookie(int(time.time()), timeout)
-        self.local_parts = [ local, 'dated', cookie ]
+        self.local_parts = [ local, Defaults.TAGS_DATED[0].lower(), cookie ]
         tagged_local = Defaults.RECIPIENT_DELIMITER.join(self.local_parts)
         self.address = tagged_local + '@' + domain
         return self
@@ -171,7 +172,7 @@
             base = self.base()
         (dummy, local, domain) = _split(str(base))
         cookie = Cookie.make_keyword_cookie(keyword)
-        self.local_parts = [ local, 'keyword', cookie ]
+        self.local_parts = [ local, Defaults.TAGS_KEYWORD[0].lower(), cookie ]
         tagged_local = Defaults.RECIPIENT_DELIMITER.join(self.local_parts)
         self.address = tagged_local + '@' + domain
         return self
@@ -186,9 +187,6 @@
         if try_hmac != hmac:
             raise BadCryptoError, "Invalid cryptographic tag."
 
-    def tag(self):
-        return 'keyword'
-
     def keyword(self):
         return '.'.join(self.local_parts[-1].split('.')[:-1])
 
@@ -205,7 +203,7 @@
             base = self.base()
         (dummy, local, domain) = _split(str(base))
         cookie = Cookie.make_sender_cookie(str(sender))
-        self.local_parts = [ local, 'sender', cookie ]
+        self.local_parts = [ local, Defaults.TAGS_SENDER[0].lower(), cookie ]
         tagged_local = Defaults.RECIPIENT_DELIMITER.join(self.local_parts)
         self.address = tagged_local + '@' + domain
         return self
@@ -232,14 +230,20 @@
         return Address(address)
     try:
         cookie_type = tag or local_parts[-2]
-        if cookie_type == 'confirm':
+        if cookie_type in \
+                ['confirm'] + map(lambda s: s.lower(), Defaults.TAGS_CONFIRM):
             addr_obj = ConfirmAddress(address)
-        elif cookie_type == 'dated':
+        elif cookie_type in \
+                ['dated'] + map(lambda s: s.lower(), Defaults.TAGS_DATED):
             addr_obj = DatedAddress(address)
-        elif cookie_type == 'sender':
+        elif cookie_type in \
+                ['sender'] + map(lambda s: s.lower(), Defaults.TAGS_SENDER):
             addr_obj = SenderAddress(address)
-        else:
+        elif cookie_type in \
+                ['keyword'] + map(lambda s: s.lower(), Defaults.TAGS_KEYWORD):
             addr_obj = KeywordAddress(address)
+        else:
+            addr_obj = Address(address)
     except (AddressError, IndexError):
         addr_obj = Address(address)
     return addr_obj

_______________________________________
tmda-cvs mailing list
http://tmda.net/lists/listinfo/tmda-cvs

Reply via email to