aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrosty <gabriel@bwaaa.monster>2026-08-25 23:41:58 -0400
committerfrosty <gabriel@bwaaa.monster>2026-08-25 23:41:58 -0400
commit9a82cfabe661c7891663952cf1e484c1877650ac (patch)
tree4c9d37d2d433b5db328e7de454416620a82b5bdd
parentb2c0c1587521b9fd47437a7a9ebba16a6136a65c (diff)
feat: ignoring tls certificates
-rw-r--r--libdino/src/application.vala2
-rw-r--r--libdino/src/service/connection_manager.vala3
2 files changed, 5 insertions, 0 deletions
diff --git a/libdino/src/application.vala b/libdino/src/application.vala
index 8571120e..536ca949 100644
--- a/libdino/src/application.vala
+++ b/libdino/src/application.vala
@@ -17,9 +17,11 @@ public interface Application : GLib.Application {
public abstract SearchPathGenerator? search_path_generator { get; set; }
internal static string print_xmpp;
+ internal static bool ignore_tls_errors = false;
private const OptionEntry[] options = {
{ "print-xmpp", 0, 0, OptionArg.STRING, ref print_xmpp, "Print XMPP stanzas identified by DESC to stderr", "DESC" },
+ { "ignore-tls-errors", 0, 0, OptionArg.NONE, ref ignore_tls_errors, "Ignore TLS certificate errors", null },
{ null }
};
diff --git a/libdino/src/service/connection_manager.vala b/libdino/src/service/connection_manager.vala
index 2ebddd92..afae1da8 100644
--- a/libdino/src/service/connection_manager.vala
+++ b/libdino/src/service/connection_manager.vala
@@ -384,6 +384,9 @@ public class ConnectionManager : Object {
}
public static bool on_invalid_certificate(string domain, TlsCertificate peer_cert, TlsCertificateFlags errors) {
+ if (Application.ignore_tls_errors) {
+ return true;
+ }
if (domain.has_suffix(".onion") && errors == TlsCertificateFlags.UNKNOWN_CA) {
// It's barely possible for .onion servers to provide a non-self-signed cert.
// But that's fine because encryption is provided independently though TOR.