changeset ca4037b81152 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=ca4037b81152
description: ability to see certificate on ssl error dialog. Fixes #3998
diffstat:
src/common/connection.py | 3 ++-
src/dialogs.py | 21 +++++++++++++++++++--
src/gui_interface.py | 5 +++--
3 files changed, 24 insertions(+), 5 deletions(-)
diffs (63 lines):
diff -r 5c6d064eee16 -r ca4037b81152 src/common/connection.py
--- a/src/common/connection.py Mon Apr 18 22:36:06 2011 +0200
+++ b/src/common/connection.py Mon Apr 18 22:50:39 2011 +0200
@@ -1273,7 +1273,8 @@
gajim.nec.push_incoming_event(SSLErrorEvent(None, conn=self,
error_text=text, error_num=errnum,
cert=con.Connection.ssl_cert_pem,
- fingerprint=con.Connection.ssl_fingerprint_sha1))
+ fingerprint=con.Connection.ssl_fingerprint_sha1,
+ certificate=con.Connection.ssl_certificate))
return True
if hasattr(con.Connection, 'ssl_fingerprint_sha1'):
saved_fingerprint = gajim.config.get_per('accounts', self.name,
'ssl_fingerprint_sha1')
diff -r 5c6d064eee16 -r ca4037b81152 src/dialogs.py
--- a/src/dialogs.py Mon Apr 18 22:36:06 2011 +0200
+++ b/src/dialogs.py Mon Apr 18 22:50:39 2011 +0200
@@ -5646,11 +5646,28 @@
self.cert = certificate
YesNoDialog.__init__(self, pritext, sectext, checktext,
on_response_yes,
on_response_no)
- b = gtk.Button('View cert...')
+ b = gtk.Button(_('View cert...'))
b.connect('clicked', self.on_cert_clicked)
b.show_all()
area = self.get_action_area()
area.pack_start(b)
def on_cert_clicked(self, button):
- d = CertificatDialog(self, self.account, self.cert)
\ No newline at end of file
+ d = CertificatDialog(self, self.account, self.cert)
+
+class SSLErrorDialog(ConfirmationDialogDoubleCheck):
+ def __init__(self, account, certificate, pritext, sectext, checktext1,
+ checktext2, on_response_ok=None, on_response_cancel=None):
+ self.account = account
+ self.cert = certificate
+ ConfirmationDialogDoubleCheck.__init__(self, pritext, sectext,
+ checktext1, checktext2, on_response_ok, on_response_cancel,
+ is_modal=False)
+ b = gtk.Button(_('View cert...'))
+ b.connect('clicked', self.on_cert_clicked)
+ b.show_all()
+ area = self.get_action_area()
+ area.pack_start(b)
+
+ def on_cert_clicked(self, button):
+ d = CertificatDialog(self, self.account, self.cert)
diff -r 5c6d064eee16 -r ca4037b81152 src/gui_interface.py
--- a/src/gui_interface.py Mon Apr 18 22:36:06 2011 +0200
+++ b/src/gui_interface.py Mon Apr 18 22:50:39 2011 +0200
@@ -1219,8 +1219,9 @@
if 'ssl_error' in self.instances[account]['online_dialog']:
self.instances[account]['online_dialog']['ssl_error'].destroy()
self.instances[account]['online_dialog']['ssl_error'] = \
- dialogs.ConfirmationDialogDoubleCheck(pritext, sectext, checktext1,
- checktext2, on_response_ok=on_ok, on_response_cancel=on_cancel)
+ dialogs.SSLErrorDialog(obj.conn.name, obj.certificate, pritext,
+ sectext, checktext1, checktext2, on_response_ok=on_ok,
+ on_response_cancel=on_cancel)
def handle_event_fingerprint_error(self, obj):
# ('FINGERPRINT_ERROR', account, (new_fingerprint,))
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits