diff options
-rw-r--r-- | src/command/commands.c | 4 | ||||
-rw-r--r-- | src/xmpp/connection.c | 24 | ||||
-rw-r--r-- | src/xmpp/session.c | 24 | ||||
-rw-r--r-- | src/xmpp/xmpp.h | 6 | ||||
-rw-r--r-- | tests/unittests/xmpp/stub_xmpp.c | 2 |
5 files changed, 30 insertions, 30 deletions
diff --git a/src/command/commands.c b/src/command/commands.c index 9127fab9..8354465f 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -236,7 +236,7 @@ cmd_tls_trust(ProfWin *window, const char *const command, gchar **args) cons_show("No TLS connection established"); return TRUE; } - TLSCertificate *cert = session_get_tls_peer_cert(); + TLSCertificate *cert = connection_get_tls_peer_cert(); if (!cert) { cons_show("Error getting TLS certificate."); return TRUE; @@ -334,7 +334,7 @@ cmd_tls_cert(ProfWin *window, const char *const command, gchar **args) cons_show("No TLS connection established"); return TRUE; } - TLSCertificate *cert = session_get_tls_peer_cert(); + TLSCertificate *cert = connection_get_tls_peer_cert(); if (!cert) { cons_show("Error getting TLS certificate."); return TRUE; diff --git a/src/xmpp/connection.c b/src/xmpp/connection.c index 90bbd951..aad36103 100644 --- a/src/xmpp/connection.c +++ b/src/xmpp/connection.c @@ -266,6 +266,30 @@ connection_is_secured(void) return xmpp_conn_is_secured(conn.conn); } +#ifdef HAVE_LIBMESODE +TLSCertificate* +connection_get_tls_peer_cert(void) +{ + xmpp_tlscert_t *xmpptlscert = xmpp_conn_tls_peer_cert(conn.conn); + int version = xmpp_conn_tlscert_version(xmpptlscert); + char *serialnumber = xmpp_conn_tlscert_serialnumber(xmpptlscert); + char *subjectname = xmpp_conn_tlscert_subjectname(xmpptlscert); + char *issuername = xmpp_conn_tlscert_issuername(xmpptlscert); + char *fingerprint = xmpp_conn_tlscert_fingerprint(xmpptlscert); + char *notbefore = xmpp_conn_tlscert_notbefore(xmpptlscert); + char *notafter = xmpp_conn_tlscert_notafter(xmpptlscert); + char *key_alg = xmpp_conn_tlscert_key_algorithm(xmpptlscert); + char *signature_alg = xmpp_conn_tlscert_signature_algorithm(xmpptlscert); + + TLSCertificate *cert = tlscerts_new(fingerprint, version, serialnumber, subjectname, issuername, notbefore, + notafter, key_alg, signature_alg); + + xmpp_conn_free_tlscert(conn.ctx, xmpptlscert); + + return cert; +} +#endif + static void _connection_handler(xmpp_conn_t *const conn, const xmpp_conn_event_t status, const int error, xmpp_stream_error_t *const stream_error, void *const userdata) diff --git a/src/xmpp/session.c b/src/xmpp/session.c index 1dd10ee4..a5bc2def 100644 --- a/src/xmpp/session.c +++ b/src/xmpp/session.c @@ -401,30 +401,6 @@ session_login_failed(void) } } -#ifdef HAVE_LIBMESODE -TLSCertificate* -session_get_tls_peer_cert(void) -{ - xmpp_tlscert_t *xmpptlscert = xmpp_conn_tls_peer_cert(connection_get_conn()); - int version = xmpp_conn_tlscert_version(xmpptlscert); - char *serialnumber = xmpp_conn_tlscert_serialnumber(xmpptlscert); - char *subjectname = xmpp_conn_tlscert_subjectname(xmpptlscert); - char *issuername = xmpp_conn_tlscert_issuername(xmpptlscert); - char *fingerprint = xmpp_conn_tlscert_fingerprint(xmpptlscert); - char *notbefore = xmpp_conn_tlscert_notbefore(xmpptlscert); - char *notafter = xmpp_conn_tlscert_notafter(xmpptlscert); - char *key_alg = xmpp_conn_tlscert_key_algorithm(xmpptlscert); - char *signature_alg = xmpp_conn_tlscert_signature_algorithm(xmpptlscert); - - TLSCertificate *cert = tlscerts_new(fingerprint, version, serialnumber, subjectname, issuername, notbefore, - notafter, key_alg, signature_alg); - - xmpp_conn_free_tlscert(connection_get_ctx(), xmpptlscert); - - return cert; -} -#endif - gboolean session_conn_is_secured(void) { diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h index ddee4bfa..4e22dbc2 100644 --- a/src/xmpp/xmpp.h +++ b/src/xmpp/xmpp.h @@ -121,9 +121,6 @@ char* session_get_account_name(void); GList* session_get_available_resources(void); gboolean session_send_stanza(const char *const stanza); -#ifdef HAVE_LIBMESODE -TLSCertificate* session_get_tls_peer_cert(void); -#endif gboolean session_conn_is_secured(void); gboolean session_send_stanza(const char *const stanza); gboolean session_service_supports(const char *const feature); @@ -133,6 +130,9 @@ char *connection_get_presence_msg(void); const char* connection_get_fulljid(void); char* connection_create_uuid(void); void connection_free_uuid(char *uuid); +#ifdef HAVE_LIBMESODE +TLSCertificate* connection_get_tls_peer_cert(void); +#endif char* message_send_chat(const char *const barejid, const char *const msg, const char *const oob_url); char* message_send_chat_otr(const char *const barejid, const char *const msg); diff --git a/tests/unittests/xmpp/stub_xmpp.c b/tests/unittests/xmpp/stub_xmpp.c index 8cdd4f5a..ab65b357 100644 --- a/tests/unittests/xmpp/stub_xmpp.c +++ b/tests/unittests/xmpp/stub_xmpp.c @@ -43,7 +43,7 @@ gboolean session_conn_is_secured(void) } TLSCertificate* -session_get_tls_peer_cert(void) +connection_get_tls_peer_cert(void) { return NULL; } |