From 614a8eff7e2bfb2eb8b5f0bde51b7152ba110c39 Mon Sep 17 00:00:00 2001 From: burrows Date: Mon, 13 Mar 2017 14:58:09 -0400 Subject: [PATCH] unfinished --- twisted/cred/portal.py | 4 ++-- twisted/mail/imap4.py | 4 ++-- twisted/mail/smtp.py | 6 ++++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/twisted/cred/portal.py b/twisted/cred/portal.py index 4c81d5f12cd..0714a8aa2fa 100644 --- a/twisted/cred/portal.py +++ b/twisted/cred/portal.py @@ -79,7 +79,7 @@ def registerChecker(self, checker, *credentialInterfaces): self.checkers[credentialInterface] = checker - def login(self, credentials, mind, *interfaces): + def login(self, credentials, mind, *interfaces, **transport): """ @param credentials: an implementor of L{twisted.cred.credentials.ICredentials} @@ -116,7 +116,7 @@ def login(self, credentials, mind, *interfaces): """ for i in self.checkers: if i.providedBy(credentials): - return maybeDeferred(self.checkers[i].requestAvatarId, credentials + return maybeDeferred(self.checkers[i].requestAvatarId, credentials, transport.get('transport'), ).addCallback(self.realm.requestAvatar, mind, *interfaces ) ifac = providedBy(credentials) diff --git a/twisted/mail/imap4.py b/twisted/mail/imap4.py index cb9c48bfade..c4304fcbaaf 100644 --- a/twisted/mail/imap4.py +++ b/twisted/mail/imap4.py @@ -1005,7 +1005,7 @@ def __cbAuthChunk(self, result, chal, tag): if chal.moreChallenges(): self._setupChallenge(chal, tag) else: - self.portal.login(chal, None, IAccount).addCallbacks( + self.portal.login(chal, None, IAccount, transport=self.transport).addCallbacks( self.__cbAuthResp, self.__ebAuthResp, (tag,), None, (tag,), None @@ -1077,7 +1077,7 @@ def authenticateLogin(self, user, passwd): if self.portal: return self.portal.login( credentials.UsernamePassword(user, passwd), - None, IAccount + None, IAccount, transport=self.transport ) raise UnauthorizedLogin() diff --git a/twisted/mail/smtp.py b/twisted/mail/smtp.py index a62cc069078..14c7e2cbc68 100644 --- a/twisted/mail/smtp.py +++ b/twisted/mail/smtp.py @@ -891,7 +891,8 @@ def validateFrom(self, helo, origin): result = self.portal.login( cred.credentials.Anonymous(), None, - IMessageDeliveryFactory, IMessageDelivery) + IMessageDeliveryFactory, IMessageDelivery, + transport=self.transport) def ebAuthentication(err): """ @@ -1799,7 +1800,8 @@ def state_AUTH(self, response): self.mode = COMMAND result = self.portal.login( self.challenger, None, - IMessageDeliveryFactory, IMessageDelivery) + IMessageDeliveryFactory, IMessageDelivery, + transport=self.transport) result.addCallback(self._cbAuthenticated) result.addCallback(lambda ign: self.sendCode(235, 'Authentication successful.')) result.addErrback(self._ebAuthenticated)