diff options
author | fiaxh <git@lightrise.org> | 2020-11-16 15:55:33 +0100 |
---|---|---|
committer | fiaxh <git@lightrise.org> | 2020-11-20 15:21:18 +0100 |
commit | 07917f1d841f449157aa3aaa2507b0547dd274e7 (patch) | |
tree | 315ef3bc243491565d3d5097968dca38d67a7eab /xmpp-vala/src/core/tls_xmpp_stream.vala | |
parent | 881b9eec9dcd8fd8c81b0b9d7bfd2ae714d7722e (diff) | |
download | dino-07917f1d841f449157aa3aaa2507b0547dd274e7.tar.gz dino-07917f1d841f449157aa3aaa2507b0547dd274e7.zip |
Refactor XmppStream, TLS and connection method logic
fixes #534
Diffstat (limited to 'xmpp-vala/src/core/tls_xmpp_stream.vala')
-rw-r--r-- | xmpp-vala/src/core/tls_xmpp_stream.vala | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/xmpp-vala/src/core/tls_xmpp_stream.vala b/xmpp-vala/src/core/tls_xmpp_stream.vala new file mode 100644 index 00000000..956a9a22 --- /dev/null +++ b/xmpp-vala/src/core/tls_xmpp_stream.vala @@ -0,0 +1,19 @@ +public abstract class Xmpp.TlsXmppStream : IoXmppStream { + + public TlsCertificateFlags? errors; + + protected bool on_invalid_certificate(TlsCertificate peer_cert, TlsCertificateFlags errors) { + this.errors = errors; + + string error_str = ""; + foreach (var f in new TlsCertificateFlags[]{TlsCertificateFlags.UNKNOWN_CA, TlsCertificateFlags.BAD_IDENTITY, + TlsCertificateFlags.NOT_ACTIVATED, TlsCertificateFlags.EXPIRED, TlsCertificateFlags.REVOKED, + TlsCertificateFlags.INSECURE, TlsCertificateFlags.GENERIC_ERROR, TlsCertificateFlags.VALIDATE_ALL}) { + if (f in errors) { + error_str += @"$(f), "; + } + } + warning(@"Tls Certificate Errors: $(error_str)"); + return false; + } +}
\ No newline at end of file |