1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Merge branch 'master' into osx-functional

This commit is contained in:
James Booth 2015-11-11 00:58:19 +00:00
commit fa60d3778e

View File

@ -196,13 +196,28 @@ cmd_tls(ProfWin *window, const char *const command, gchar **args)
#endif #endif
} else if (g_strcmp0(args[0], "trust") == 0) { } else if (g_strcmp0(args[0], "trust") == 0) {
#ifdef HAVE_LIBMESODE #ifdef HAVE_LIBMESODE
TLSCertificate *cert = jabber_get_tls_peer_cert(); jabber_conn_status_t conn_status = jabber_get_connection_status();
if (!tlscerts_exists(cert->fingerprint)) { if (conn_status != JABBER_CONNECTED) {
cons_show("Adding %s to trusted certificates.", cert->fingerprint); cons_show("You are not currently connected.");
tlscerts_add(cert); return TRUE;
} else {
cons_show("Certificate %s already trusted.", cert->fingerprint);
} }
if (!jabber_conn_is_secured()) {
cons_show("No TLS connection established");
return TRUE;
}
TLSCertificate *cert = jabber_get_tls_peer_cert();
if (!cert) {
cons_show("Error getting TLS certificate.");
return TRUE;
}
if (tlscerts_exists(cert->fingerprint)) {
cons_show("Certificate %s already trusted.", cert->fingerprint);
tlscerts_free(cert);
return TRUE;
}
cons_show("Adding %s to trusted certificates.", cert->fingerprint);
tlscerts_add(cert);
tlscerts_free(cert);
return TRUE; return TRUE;
#else #else
cons_show("Manual certificate trust only supported when built with libmesode."); cons_show("Manual certificate trust only supported when built with libmesode.");
@ -262,13 +277,13 @@ cmd_tls(ProfWin *window, const char *const command, gchar **args)
return TRUE; return TRUE;
} }
TLSCertificate *cert = jabber_get_tls_peer_cert(); TLSCertificate *cert = jabber_get_tls_peer_cert();
if (cert) { if (!cert) {
cons_show_tlscert(cert); cons_show("Error getting TLS certificate.");
cons_show(""); return TRUE;
tlscerts_free(cert);
} else {
cons_show("Error getting TLS fingerprint.");
} }
cons_show_tlscert(cert);
cons_show("");
tlscerts_free(cert);
return TRUE; return TRUE;
#else #else
cons_show("Certificate fetching not supported."); cons_show("Certificate fetching not supported.");