From 9914ee1a18775f9210b097b51842f9d9662be87b Mon Sep 17 00:00:00 2001 From: David Gnedt Date: Thu, 10 Mar 2016 20:39:02 +0100 Subject: [PATCH] Libpurple: Add purple.verify_certs option to enable certificate verification --- backends/libpurple/main.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index c1ed93a7..ccee5aa6 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -160,7 +160,13 @@ static void * requestInput(const char *title, const char *primary,const char *se static void *requestAction(const char *title, const char *primary, const char *secondary, int default_action, PurpleAccount *account, const char *who,PurpleConversation *conv, void *user_data, size_t action_count, va_list actions){ std::string t(title ? title : "NULL"); if (t == "SSL Certificate Verification") { - LOG4CXX_INFO(logger, "accepting SSL certificate"); + if (CONFIG_BOOL_DEFAULTED(config, "service.verify_certs", false)) { + LOG4CXX_INFO(logger, "rejecting SSL certificate"); + va_arg(actions, char *); + va_arg(actions, GCallback); + } else { + LOG4CXX_INFO(logger, "accepting SSL certificate"); + } va_arg(actions, char *); ((PurpleRequestActionCb) va_arg(actions, GCallback)) (user_data, 2); } @@ -176,6 +182,10 @@ static void *requestAction(const char *title, const char *primary, const char *s std::string headerString(title); LOG4CXX_INFO(logger, "header string: " << headerString); if (headerString == "SSL Certificate Verification") { + if (CONFIG_BOOL_DEFAULTED(config, "service.verify_certs", false)) { + va_arg(actions, char *); + va_arg(actions, GCallback); + } va_arg(actions, char *); ((PurpleRequestActionCb) va_arg(actions, GCallback)) (user_data, 2); }