[CalendarServer-changes] [4096] CalendarServer/trunk/twistedcaldav/mail.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Apr 27 16:44:40 PDT 2009


Revision: 4096
          http://trac.macosforge.org/projects/calendarserver/changeset/4096
Author:   sagen at apple.com
Date:     2009-04-27 16:44:40 -0700 (Mon, 27 Apr 2009)
Log Message:
-----------
Fixes for SMTP and IMAP CRAM-MD5 authentication

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/mail.py

Modified: CalendarServer/trunk/twistedcaldav/mail.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/mail.py	2009-04-27 23:28:38 UTC (rev 4095)
+++ CalendarServer/trunk/twistedcaldav/mail.py	2009-04-27 23:44:40 UTC (rev 4096)
@@ -1073,7 +1073,7 @@
             fromAddr, toAddr, StringIO(str(message)), deferred,
             contextFactory=contextFactory,
             requireAuthentication=False,
-            requireTransportSecurity=False)
+            requireTransportSecurity=settings["UseSSL"])
 
         reactor.connectTCP(settings['Server'], settings['Port'], factory)
         deferred.addCallback(_success, msgId, fromAddr, toAddr)
@@ -1497,11 +1497,11 @@
 
     def serverGreeting(self, capabilities):
         self.log_debug("IMAP servergreeting")
-        login = self.login(self.factory.settings["Username"],
-            self.factory.settings["Password"])
-        login.addCallback(self.cbLoggedIn)
-        login.addErrback(self.ebLoginFailed)
 
+        return self.authenticate(self.factory.settings["Password"]
+            ).addCallback(self.cbLoggedIn
+            ).addErrback(self.ebLoginFailed)
+
     def ebLogError(self, error):
         self.log_error("IMAP Error: %s" % (error,))
 
@@ -1604,6 +1604,12 @@
         self.reactor = reactor
         self.noisy = False
 
+    def buildProtocol(self, addr):
+        p = protocol.ClientFactory.buildProtocol(self, addr)
+        p.registerAuthenticator(imap4.CramMD5ClientAuthenticator(self.settings["Username"]))
+        p.registerAuthenticator(imap4.LOGINAuthenticator(self.settings["Username"]))
+        p.registerAuthenticator(imap4.PLAINAuthenticator(self.settings["Username"]))
+        return p
 
     def handleMessage(self, message):
         self.log_debug("IMAP factory handle message")
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090427/c6f608e3/attachment.html>


More information about the calendarserver-changes mailing list