From 7e3efccb537ae11e9550ddf14ea6ca4ba472804a Mon Sep 17 00:00:00 2001 From: mathieui Date: Thu, 13 Feb 2014 00:48:19 +0100 Subject: Fix #2407 (unencrypted connections) Add a force_encryption option set to true by default. --- src/connection.py | 7 +++++++ src/core.py | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/connection.py b/src/connection.py index 37385650..b60f3b71 100644 --- a/src/connection.py +++ b/src/connection.py @@ -50,6 +50,13 @@ class Connection(sleekxmpp.ClientXMPP): # TODO: use the system language sleekxmpp.ClientXMPP.__init__(self, jid, password, lang=config.get('lang', 'en')) + force_encryption = config.get('force_encryption', 'true').lower() != 'false' + if force_encryption: + self['feature_mechanisms'].unencrypted_plain = False + self['feature_mechanisms'].unencrypted_digest = False + self['feature_mechanisms'].unencrypted_cram = False + self['feature_mechanisms'].unencrypted_scram = False + self.core = None self.auto_reconnect = True if config.get('auto_reconnect', 'false').lower() in ('true', '1') else False self.reconnect_max_attempts = 0 diff --git a/src/core.py b/src/core.py index 38b4f974..0d9c88a1 100644 --- a/src/core.py +++ b/src/core.py @@ -236,7 +236,8 @@ class Core(object): # Add handlers self.xmpp.add_event_handler('connected', self.on_connected) self.xmpp.add_event_handler('disconnected', self.on_disconnected) - self.xmpp.add_event_handler('no_auth', self.on_failed_auth) + self.xmpp.add_event_handler('failed_auth', self.on_failed_auth) + self.xmpp.add_event_handler('no_auth', self.on_no_auth) self.xmpp.add_event_handler("session_start", self.on_session_start) self.xmpp.add_event_handler("session_start", self.on_session_start_features) self.xmpp.add_event_handler("groupchat_presence", self.on_groupchat_presence) @@ -3553,7 +3554,13 @@ class Core(object): """ Authentication failed """ - self.information(_("Authentication failed.")) + self.information(_("Authentication failed (bad credentials?).")) + + def on_no_auth(self, event): + """ + Authentication failed (no mech) + """ + self.information(_("Authentication failed, no login method available.")) def on_connected(self, event): """ -- cgit v1.2.3