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

Reply via email to