From b670bb2022b10873dffbdb7700e9fcdf8082fcdc Mon Sep 17 00:00:00 2001 From: Ray Song Date: Mon, 15 Feb 2016 16:16:26 +0800 Subject: [PATCH] XOAUTH2 handler: urlopen with proxied socket Signed-off-by: Ray Song Signed-off-by: Nicolas Sebrecht --- offlineimap/imapserver.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/offlineimap/imapserver.py b/offlineimap/imapserver.py index 018ba7b..cbe8d23 100644 --- a/offlineimap/imapserver.py +++ b/offlineimap/imapserver.py @@ -227,7 +227,13 @@ class IMAPServer: self.ui.debug('imap', 'xoauth2handler: url "%s"' % self.oauth2_request_url) self.ui.debug('imap', 'xoauth2handler: params "%s"' % params) - response = urllib.urlopen(self.oauth2_request_url, urllib.urlencode(params)).read() + original_socket = socket.socket + socket.socket = self.proxied_socket + try: + response = urllib.urlopen(self.oauth2_request_url, urllib.urlencode(params)).read() + finally: + socket.socket = original_socket + resp = json.loads(response) self.ui.debug('imap', 'xoauth2handler: response "%s"' % resp) self.oauth2_access_token = resp['access_token']