spambayes/scripts sb_imapfilter.py,1.55,1.56

"Tony Meyer" <[email protected]>
Newsgroups gmane.mail.spam.spambayes.cvs
Message-ID <[email protected]>
Update of /cvsroot/spambayes/spambayes/scripts
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1393/scripts

Modified Files:
	sb_imapfilter.py 
Log Message:
Improve cram-md5 authentication.

Don't mangle from lines.

See also:

http://mail.python.org/pipermail/spambayes/2005-February/016327.html

Index: sb_imapfilter.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/scripts/sb_imapfilter.py,v
retrieving revision 1.55
retrieving revision 1.56
diff -C2 -d -r1.55 -r1.56
*** sb_imapfilter.py	29 Mar 2005 03:51:23 -0000	1.55
--- sb_imapfilter.py	29 Mar 2005 07:18:30 -0000	1.56
***************
*** 82,86 ****
  import time
  import sys
- import hmac
  import getopt
  import types
--- 82,85 ----
***************
*** 195,208 ****
          return "".join(buffer)
  
-     def authenticate_cram_md5(self, username, pwd):
-         """Authenticate (login) with CRAM-MD5.
- 
-         See RFC 2195 and SpamBayes patch #1169939
-         """
-         def cram_md5(response):
-             return " ".join([username,
-                              hmac.HMAC(pwd, response).hexdigest()])
-         self.authenticate('CRAM-MD5', cram_md5)
- 
      def login(self, username, pwd):
          """Log in to the IMAP server, catching invalid username/password."""
--- 194,197 ----
***************
*** 210,214 ****
          try:
              if 'AUTH=CRAM-MD5' in self.capabilities:
!                 self.authenticate_cram_md5(username, pwd)
              else:
                  BaseIMAP.login(self, username, pwd)  # superclass login
--- 199,203 ----
          try:
              if 'AUTH=CRAM-MD5' in self.capabilities:
!                 self.login_cram_md5(username, pwd)
              else:
                  BaseIMAP.login(self, username, pwd)  # superclass login
***************
*** 586,593 ****
          # the case where the data was unparsable, so we haven't done any
          # filtering, and we are not actually a proper email.Message object.
          if self.invalid:
              return self._force_CRLF(self.invalid_content)
          else:
!             return message.SBHeaderMessage.as_string(self, unixfrom)
  
      recent_re = re.compile(r"\\Recent ?| ?\\Recent")
--- 575,585 ----
          # the case where the data was unparsable, so we haven't done any
          # filtering, and we are not actually a proper email.Message object.
+         # We also don't mangle the from line; the server must take care of
+         # this.
          if self.invalid:
              return self._force_CRLF(self.invalid_content)
          else:
!             return message.SBHeaderMessage.as_string(self, unixfrom,
!                                                      mangle_from_=False)
  
      recent_re = re.compile(r"\\Recent ?| ?\\Recent")
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.