From 05173bb4be8f586c3a4550ac74aebb6f02fde971 Mon Sep 17 00:00:00 2001 From: Martin Kelm Date: Thu, 7 Oct 2010 23:14:31 +0200 Subject: [PATCH] Added ssl fingerprint support for testing purposes --- config.example | 1 + jimci-alpha | Bin 61847 -> 66123 bytes src/config.c | 7 +++++++ src/config.h | 1 + src/connection.c | 40 ++++++++++++++++++++++++++++++++++++++-- src/connection.h | 2 +- src/main.c | 2 +- 7 files changed, 49 insertions(+), 4 deletions(-) rewrite jimci-alpha (74%) diff --git a/config.example b/config.example index 0a5aa90..60861d2 100755 --- a/config.example +++ b/config.example @@ -4,6 +4,7 @@ jabber_user = "bot"; jabber_resource = "JIMB"; jabber_password = "password"; jabber_ssl = 0; +jabber_ssl_fingerprint = ""; mysql_server = "server.domain.tld"; mysql_user = "user"; diff --git a/jimci-alpha b/jimci-alpha dissimilarity index 74% index 767dc9bcfd18ce9c9a6e63b8ca75554298f6021c..437feaf57c3cac4055fc52323cb3d4b95c25846e 100755 GIT binary patch delta 23872 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 delta 22815 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 qt+ezc diff --git a/src/config.c b/src/config.c index c351b08..328cef2 100755 --- a/src/config.c +++ b/src/config.c @@ -120,6 +120,13 @@ int cfg_get_jabber_values(const config_t *config) { } else { return -1; } + // config value: jabber ssl fingerprint + tmp_char = cfg_get_char_value(config, "jabber_ssl_fingerprint"); + if (tmp_char != NULL && strlen(tmp_char) > 0 && strlen(tmp_char) <= 256) { + snprintf(cfg_jabber.ssl_fingerprint, 256, "%s", tmp_char); + } else { + snprintf(cfg_jabber.ssl_fingerprint, 256, ""); + } return 1; } diff --git a/src/config.h b/src/config.h index 9494677..5e48efb 100755 --- a/src/config.h +++ b/src/config.h @@ -27,6 +27,7 @@ struct cfg_st_jabber { char resource[256]; char password[256]; int ssl; + char ssl_fingerprint[256]; } cfg_jabber; typedef struct cfg_st_mysql cfg_st_mysql; diff --git a/src/connection.c b/src/connection.c index f4685e4..d0d9618 100755 --- a/src/connection.c +++ b/src/connection.c @@ -240,6 +240,9 @@ static LmSSLResponse conn_ssl_response(LmSSL *ssl, LmSSLStatus status, gpointer break; case LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH: g_print("Certificate fingerprint does not match expected fingerprint!\n"); + char fpr[59]; + fingerprint_to_hex((const unsigned char*)lm_ssl_get_fingerprint(ssl), fpr); + g_print("Remote fingerprint: %s\n", fpr); break; case LM_SSL_STATUS_GENERIC_ERROR: g_print("Generic SSL error!\n"); @@ -249,7 +252,30 @@ static LmSSLResponse conn_ssl_response(LmSSL *ssl, LmSSLStatus status, gpointer return LM_SSL_RESPONSE_CONTINUE; } -int conn_create(char *host, int port, int ssl, +void fingerprint_to_hex(const unsigned char *fpr, char hex[59]) { + int i; + char *p; + + for (p = hex, i = 0; i < 15; i++, p+=3) { + g_sprintf(p, "%02X:", fpr[i]); + g_sprintf(p, "%02X", fpr[i]); + hex[58] = '\0'; + } +} + +gboolean hex_to_fingerprint(const char *hex, char fpr[16]) { + int i; + char *p; + + g_print("Input fingerprint: %s (%d)\n", hex, strlen(hex)); + if (strlen(hex) != 59) return FALSE; + for (i = 0, p = (char*)hex; *p && *(p+1); i++, p += 3) { + fpr[i] = (char) g_ascii_strtoull (p, NULL, 16); + } + return TRUE; +} + +int conn_create(char *host, int port, int ssl, char *ssl_fingerprint, char *user, char *resource, char *password) { c_host = host; c_port = port; @@ -261,7 +287,17 @@ int conn_create(char *host, int port, int ssl, gboolean result; conn = lm_connection_new(c_host); if (ssl > 0) { - conn_ssl = lm_ssl_new(NULL, conn_ssl_response, NULL, NULL); + char fingerprint[16]; + if (strlen(ssl_fingerprint) > 0 && !hex_to_fingerprint(ssl_fingerprint, fingerprint)) { + debug("Failed to get valid fingerprint"); + return; + } + conn_ssl = lm_ssl_new( + strlen(ssl_fingerprint) > 0 ? fingerprint : NULL, + conn_ssl_response, + NULL, + NULL + ); if (conn_ssl) { lm_connection_set_ssl(conn, conn_ssl); lm_ssl_unref(conn_ssl); diff --git a/src/connection.h b/src/connection.h index ca13b58..0f0f041 100755 --- a/src/connection.h +++ b/src/connection.h @@ -19,7 +19,7 @@ * Package: JIMCI * Author: Martin Kelm */ -int conn_create(char *host, int port, int ssl, +int conn_create(char *host, int port, int ssl, char *ssl_fingerprint, char *user, char *resource, char *password); void conn_wait(); diff --git a/src/main.c b/src/main.c index 5813f38..fdd1d49 100755 --- a/src/main.c +++ b/src/main.c @@ -44,7 +44,7 @@ int main(int argv, char**argc) { cfg_services.queue_message ); conn_create( - cfg_jabber.host, cfg_jabber.port, cfg_jabber.ssl, + cfg_jabber.host, cfg_jabber.port, cfg_jabber.ssl, cfg_jabber.ssl_fingerprint, cfg_jabber.user, cfg_jabber.resource, cfg_jabber.password ); } -- 2.11.4.GIT