changeset 8bac9f87935e in /home/hg/repos/gajim
author: Yann Leboulanger asterix@lagaule.org branches: gajim_0.16 details:http://hg.gajim.org/gajim?cmd=changeset;node=8bac9f87935e description: show error message when we try to connect anonymously to a server that doesn't support anonymous connection. Fixes #8138
diffstat:
src/common/connection.py | 6 ++++++ src/common/connection_handlers_events.py | 4 ++++ src/gui_interface.py | 8 ++++++++ 3 files changed, 18 insertions(+), 0 deletions(-)
diffs (55 lines):
diff -r 4a5f5f99d5db -r 8bac9f87935e src/common/connection.py --- a/src/common/connection.py Thu Aug 27 14:53:18 2015 +0200 +++ b/src/common/connection.py Mon Aug 31 13:47:18 2015 +0200 @@ -2838,6 +2838,12 @@ self.connection.send(iq)
def get_password(self, callback, type_): + if gajim.config.get_per('accounts', self.name, 'anonymous_auth') and \ + type_ != 'ANONYMOUS': + gajim.nec.push_incoming_event(NonAnonymousServerErrorEvent(None, + conn=self)) + self._on_disconnected() + return self.pasword_callback = (callback, type_) if type_ == 'X-MESSENGER-OAUTH2': client_id = gajim.config.get_per('accounts', self.name, diff -r 4a5f5f99d5db -r 8bac9f87935e src/common/connection_handlers_events.py --- a/src/common/connection_handlers_events.py Thu Aug 27 14:53:18 2015 +0200 +++ b/src/common/connection_handlers_events.py Mon Aug 31 13:47:18 2015 +0200 @@ -1922,6 +1922,10 @@ name = 'privacy-list-active-default' base_network_events = []
+class NonAnonymousServerErrorEvent(nec.NetworkIncomingEvent): + name = 'non-anonymous-server-error' + base_network_events = [] + class VcardReceivedEvent(nec.NetworkIncomingEvent): name = 'vcard-received' base_network_events = [] diff -r 4a5f5f99d5db -r 8bac9f87935e src/gui_interface.py --- a/src/gui_interface.py Thu Aug 27 14:53:18 2015 +0200 +++ b/src/gui_interface.py Mon Aug 31 13:47:18 2015 +0200 @@ -1372,6 +1372,13 @@ self.instances[account]['online_dialog']['ssl_error'].set_title( _('SSL Certificate Verification for %s') % account)
+ def handle_event_non_anonymous_server(self, obj): + account = obj.conn.name + server = gajim.config.get_per('accounts', account, 'hostname') + dialogs.ErrorDialog(_('Non Anonymous Server'), sectext='Server "%s"' + 'does not support anonymous connection' % server, + transient_for=self.roster.window) + def handle_event_fingerprint_error(self, obj): # ('FINGERPRINT_ERROR', account, (new_fingerprint,)) account = obj.conn.name @@ -1568,6 +1575,7 @@ [self.handle_event_roster_item_exchange], 'signed-in': [self.handle_event_signed_in], 'ssl-error': [self.handle_event_ssl_error], + 'non-anonymous-server-error': [self.handle_event_non_anonymous_server], 'stream-conflict-received': [self.handle_event_resource_conflict], 'subscribe-presence-received': [ self.handle_event_subscribe_presence],