Philipp Hörist pushed to branch master at gajim / gajim


Commits:
c9b0dfdc by Philipp Hörist at 2023-06-30T15:52:47+02:00
fix: Don’t forget ignored TLS errors from previous connects

Fixes #11574

- - - - -


3 changed files:

- gajim/common/client.py
- gajim/gtk/ssl_error_dialog.py
- test/dialogs/ssl_error_dialog.py


Changes:

=====================================
gajim/common/client.py
=====================================
@@ -244,6 +244,7 @@ def _on_disconnected(self,
                         account=self._account,
                         client=self,
                         cert=cert,
+                        ignored_errors=set(self._client.ignored_tls_errors),
                         error=errors.pop())
 
         elif domain in (StreamError.STREAM, StreamError.BIND):


=====================================
gajim/gtk/ssl_error_dialog.py
=====================================
@@ -29,6 +29,7 @@ def __init__(self,
                  account: str,
                  client: Client,
                  cert: Gio.TlsCertificate,
+                 ignored_errors: set[Gio.TlsCertificateFlags],
                  error: Gio.TlsCertificateFlags
                  ) -> None:
         Gtk.ApplicationWindow.__init__(self)
@@ -44,6 +45,7 @@ def __init__(self,
 
         self.account = account
         self._error = error
+        self._ignored_errors = ignored_errors
         self._client = client
         self._cert = cert
         self._server = app.settings.get_account_setting(self.account,
@@ -88,9 +90,8 @@ def _on_connect_clicked(self, _button: Gtk.Button) -> None:
         if self._ui.add_certificate_checkbutton.get_active():
             app.cert_store.add_certificate(self._cert)
 
-        ignored_tls_errors = None
         if self._error == Gio.TlsCertificateFlags.EXPIRED:
-            ignored_tls_errors = {Gio.TlsCertificateFlags.EXPIRED}
+            self._ignored_errors.add(Gio.TlsCertificateFlags.EXPIRED)
 
         self.destroy()
-        self._client.connect(ignored_tls_errors=ignored_tls_errors)
+        self._client.connect(ignored_tls_errors=self._ignored_errors)


=====================================
test/dialogs/ssl_error_dialog.py
=====================================
@@ -58,7 +58,7 @@
 # https://lazka.github.io/pgi-docs/#Gio-2.0/flags.html#Gio.TlsCertificateFlags
 ssl_error_num = cast(Gio.TlsCertificateFlags, 10)
 
-win = SSLErrorDialog('testacc', MagicMock(), gio_cert, ssl_error_num)
+win = SSLErrorDialog('testacc', MagicMock(), gio_cert, set(), ssl_error_num)
 win.connect('destroy', Gtk.main_quit)
 win.show_all()
 Gtk.main()



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/c9b0dfdcef184c281aca640a0154212c526e0504

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/c9b0dfdcef184c281aca640a0154212c526e0504
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to