diff options
author | Michael McConville <mmcco@mykolab.com> | 2015-12-19 14:29:01 -0500 |
---|---|---|
committer | Michael McConville <mmcco@mykolab.com> | 2015-12-19 14:29:01 -0500 |
commit | daadee648c01aaddd6f5ce7e9dd2a4db83021899 (patch) | |
tree | 9fd2df0cda15b098ef3d6920809fc0f5cb271d73 | |
parent | 677e7491bfd0c81d4f762a81c75092bd50dd99c3 (diff) | |
download | pidgin-daadee648c01aaddd6f5ce7e9dd2a4db83021899.tar.gz |
Require SSL/TLS support. ok'd by elb@
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | libpurple/http.c | 7 | ||||
-rw-r--r-- | libpurple/plugins/perl/common/SSLConn.xs | 3 | ||||
-rw-r--r-- | libpurple/protocols/facebook/facebook.c | 7 | ||||
-rw-r--r-- | libpurple/protocols/gg/tcpsocket.c | 3 | ||||
-rw-r--r-- | libpurple/protocols/irc/irc.c | 13 | ||||
-rw-r--r-- | libpurple/protocols/jabber/jabber.c | 29 | ||||
-rw-r--r-- | libpurple/protocols/msn/msn.c | 9 | ||||
-rw-r--r-- | libpurple/protocols/oscar/oscar.c | 9 | ||||
-rw-r--r-- | libpurple/protocols/yahoo/ymsg.c | 5 | ||||
-rw-r--r-- | libpurple/purple-socket.c | 6 | ||||
-rw-r--r-- | libpurple/sslconn.c | 14 | ||||
-rw-r--r-- | libpurple/sslconn.h | 9 | ||||
-rw-r--r-- | pidgin/gtkdialogs.c | 4 |
14 files changed, 16 insertions, 110 deletions
diff --git a/configure.ac b/configure.ac index 24dedfb55e..37917ef71c 100644 --- a/configure.ac +++ b/configure.ac @@ -2102,10 +2102,7 @@ if test "x$enable_gnutls" != "xno"; then fi if test "x$have_gnutls" = "xyes"; then - AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have GnuTLS]) - AC_DEFINE(HAVE_SSL, 1, [Define if you have SSL]) - msg_gnutls="GnuTLS" fi fi @@ -2139,11 +2136,10 @@ if test "x$enable_nss" != "xno"; then fi if test "x$have_nss" = "xyes"; then - AC_DEFINE(HAVE_NSS, 1, [Define if you have Mozilla NSS]) - AC_DEFINE(HAVE_SSL, 1, [Define if you have SSL]) - msg_nss="Mozilla NSS" + else + AC_MSG_ERROR([No SSL/TLS library available]) fi fi diff --git a/libpurple/http.c b/libpurple/http.c index 6078afc5cb..9803b95477 100644 --- a/libpurple/http.c +++ b/libpurple/http.c @@ -1474,13 +1474,6 @@ static gboolean _purple_http_reconnect(PurpleHttpConnection *hc) return FALSE; } - if (is_ssl && !purple_ssl_is_supported()) { - _purple_http_error(hc, _("Unable to connect to %s: %s"), - url->host, _("Server requires TLS/SSL, " - "but no TLS/SSL support was found.")); - return FALSE; - } - if (hc->request->keepalive_pool != NULL) { hc->socket_request = purple_http_keepalive_pool_request( hc->request->keepalive_pool, hc->gc, url->host, diff --git a/libpurple/plugins/perl/common/SSLConn.xs b/libpurple/plugins/perl/common/SSLConn.xs index 3730e80683..f800c021a6 100644 --- a/libpurple/plugins/perl/common/SSLConn.xs +++ b/libpurple/plugins/perl/common/SSLConn.xs @@ -28,9 +28,6 @@ purple_ssl_close(gsc) Purple::Ssl::Ops purple_ssl_get_ops() -gboolean -purple_ssl_is_supported() - size_t purple_ssl_read(gsc, buffer, len) Purple::Ssl::Connection gsc diff --git a/libpurple/protocols/facebook/facebook.c b/libpurple/protocols/facebook/facebook.c index 9c9d855b53..a9d92716b5 100644 --- a/libpurple/protocols/facebook/facebook.c +++ b/libpurple/protocols/facebook/facebook.c @@ -854,13 +854,6 @@ fb_login(PurpleAccount *acct) gc = purple_account_get_connection(acct); - if (!purple_ssl_is_supported()) { - purple_connection_error(gc, - PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, - _("SSL support unavailable")); - return; - } - fata = fb_data_new(gc); api = fb_data_get_api(fata); convh = purple_conversations_get_handle(); diff --git a/libpurple/protocols/gg/tcpsocket.c b/libpurple/protocols/gg/tcpsocket.c index 33ab3769ba..1d2c4dee76 100644 --- a/libpurple/protocols/gg/tcpsocket.c +++ b/libpurple/protocols/gg/tcpsocket.c @@ -113,8 +113,7 @@ ggp_tcpsocket_write(void *_gc, void *_ps, const unsigned char *data, size_t len) void ggp_tcpsocket_setup(PurpleConnection *gc, struct gg_login_params *glp) { - glp->socket_manager_type = purple_ssl_is_supported() ? - GG_SOCKET_MANAGER_TYPE_TLS : GG_SOCKET_MANAGER_TYPE_TCP; + glp->socket_manager_type = GG_SOCKET_MANAGER_TYPE_TLS; glp->socket_manager.cb_data = gc; glp->socket_manager.connect_cb = ggp_tcpsocket_connect; glp->socket_manager.close_cb = ggp_tcpsocket_close; diff --git a/libpurple/protocols/irc/irc.c b/libpurple/protocols/irc/irc.c index b9ff167cf9..d4ecabfdce 100644 --- a/libpurple/protocols/irc/irc.c +++ b/libpurple/protocols/irc/irc.c @@ -370,16 +370,9 @@ static void irc_login(PurpleAccount *account) purple_connection_update_progress(gc, _("Connecting"), 1, 2); if (purple_account_get_bool(account, "ssl", FALSE)) { - if (purple_ssl_is_supported()) { - irc->gsc = purple_ssl_connect(account, irc->server, - purple_account_get_int(account, "port", IRC_DEFAULT_SSL_PORT), - irc_login_cb_ssl, irc_ssl_connect_failure, gc); - } else { - purple_connection_error (gc, - PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, - _("SSL support unavailable")); - return; - } + irc->gsc = purple_ssl_connect(account, irc->server, + purple_account_get_int(account, "port", IRC_DEFAULT_SSL_PORT), + irc_login_cb_ssl, irc_ssl_connect_failure, gc); } if (!irc->gsc) { diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c index 537daf0267..926d217def 100644 --- a/libpurple/protocols/jabber/jabber.c +++ b/libpurple/protocols/jabber/jabber.c @@ -237,21 +237,16 @@ jabber_process_starttls(JabberStream *js, PurpleXmlNode *packet) */ { const gchar *connection_security = purple_account_get_string(account, "connection_security", JABBER_DEFAULT_REQUIRE_TLS); - if (!g_str_equal(connection_security, "none") && - purple_ssl_is_supported()) { + if (!g_str_equal(connection_security, "none")) { jabber_send_raw(js, "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>", -1); return TRUE; } } #else - if(purple_ssl_is_supported()) { - jabber_send_raw(js, - "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>", -1); - return TRUE; - } else { - purple_debug_warning("jabber", "No libpurple TLS/SSL support found."); - } + jabber_send_raw(js, + "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>", -1); + return TRUE; #endif starttls = purple_xmlnode_get_child(packet, "starttls"); @@ -1051,19 +1046,13 @@ jabber_stream_connect(JabberStream *js) /* if they've got old-ssl mode going, we probably want to ignore SRV lookups */ if (g_str_equal("old_ssl", purple_account_get_string(account, "connection_security", JABBER_DEFAULT_REQUIRE_TLS))) { - if(purple_ssl_is_supported()) { - js->gsc = purple_ssl_connect(account, js->certificate_CN, - purple_account_get_int(account, "port", 5223), - jabber_login_callback_ssl, jabber_ssl_connect_failure, gc); - if (!js->gsc) { - purple_connection_error(gc, - PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, - _("Unable to establish SSL connection")); - } - } else { + js->gsc = purple_ssl_connect(account, js->certificate_CN, + purple_account_get_int(account, "port", 5223), + jabber_login_callback_ssl, jabber_ssl_connect_failure, gc); + if (!js->gsc) { purple_connection_error(gc, PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, - _("SSL support unavailable")); + _("Unable to establish SSL connection")); } return; diff --git a/libpurple/protocols/msn/msn.c b/libpurple/protocols/msn/msn.c index a80b768ec2..6cfa78747b 100644 --- a/libpurple/protocols/msn/msn.c +++ b/libpurple/protocols/msn/msn.c @@ -1341,15 +1341,6 @@ msn_login(PurpleAccount *account) gc = purple_account_get_connection(account); - if (!purple_ssl_is_supported()) - { - purple_connection_error(gc, - PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, - _("SSL support is needed for MSN. Please install a supported " - "SSL library.")); - return; - } - http_method = purple_account_get_bool(account, "http_method", FALSE); if (http_method) diff --git a/libpurple/protocols/oscar/oscar.c b/libpurple/protocols/oscar/oscar.c index 35d683745b..a1388a2ce7 100644 --- a/libpurple/protocols/oscar/oscar.c +++ b/libpurple/protocols/oscar/oscar.c @@ -741,14 +741,7 @@ oscar_login(PurpleAccount *account) od->default_port = purple_account_get_int(account, "port", OSCAR_DEFAULT_LOGIN_PORT); encryption_type = purple_account_get_string(account, "encryption", OSCAR_DEFAULT_ENCRYPTION); - if (!purple_ssl_is_supported() && strcmp(encryption_type, OSCAR_REQUIRE_ENCRYPTION) == 0) { - purple_connection_error( - gc, - PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, - _("You required encryption in your account settings, but encryption is not supported by your system.")); - return; - } - od->use_ssl = purple_ssl_is_supported() && strcmp(encryption_type, OSCAR_NO_ENCRYPTION) != 0; + od->use_ssl = strcmp(encryption_type, OSCAR_NO_ENCRYPTION) != 0; /* Connect to core Purple signals */ purple_prefs_connect_callback(purple_connection_get_protocol(gc), "/purple/away/idle_reporting", idle_reporting_pref_cb, gc); diff --git a/libpurple/protocols/yahoo/ymsg.c b/libpurple/protocols/yahoo/ymsg.c index d2917d1ee3..e47278e6ad 100644 --- a/libpurple/protocols/yahoo/ymsg.c +++ b/libpurple/protocols/yahoo/ymsg.c @@ -1906,11 +1906,6 @@ static void yahoo_auth16_stage1(PurpleConnection *gc, const char *seed) purple_debug_info("yahoo", "Authentication: In yahoo_auth16_stage1\n"); - if(!purple_ssl_is_supported()) { - purple_connection_error(gc, PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, _("SSL support unavailable")); - return; - } - auth_data = g_new0(struct yahoo_auth_data, 1); auth_data->gc = gc; auth_data->seed = g_strdup(seed); diff --git a/libpurple/purple-socket.c b/libpurple/purple-socket.c index cf821818f9..72b368b950 100644 --- a/libpurple/purple-socket.c +++ b/libpurple/purple-socket.c @@ -259,12 +259,6 @@ purple_socket_connect(PurpleSocket *ps, PurpleSocketConnectCb cb, ps->cb_data = user_data; if (ps->is_tls) { - if (!purple_ssl_is_supported()) { - purple_debug_error("socket", "TLS is not supported"); - ps->state = PURPLE_SOCKET_STATE_ERROR; - return FALSE; - } - ps->tls_connection = purple_ssl_connect(account, ps->host, ps->port, _purple_socket_connected_tls, _purple_socket_connected_tls_error, ps); diff --git a/libpurple/sslconn.c b/libpurple/sslconn.c index f79385bd0e..4763d85fe8 100644 --- a/libpurple/sslconn.c +++ b/libpurple/sslconn.c @@ -56,17 +56,6 @@ ssl_init(void) return (_ssl_initialized = ops->init()); } -gboolean -purple_ssl_is_supported(void) -{ -#ifdef HAVE_SSL - ssl_init(); - return (purple_ssl_get_ops() != NULL); -#else - return FALSE; -#endif -} - static void purple_ssl_connect_cb(gpointer data, gint source, const gchar *error_message) { @@ -110,7 +99,6 @@ purple_ssl_connect_with_ssl_cn(PurpleAccount *account, const char *host, int por g_return_val_if_fail(host != NULL, NULL); g_return_val_if_fail(port != 0 && port != -1, NULL); g_return_val_if_fail(func != NULL, NULL); - g_return_val_if_fail(purple_ssl_is_supported(), NULL); if (!_ssl_initialized) { @@ -156,7 +144,6 @@ purple_ssl_input_add(PurpleSslConnection *gsc, PurpleSslInputFunction func, void *data) { g_return_if_fail(func != NULL); - g_return_if_fail(purple_ssl_is_supported()); purple_ssl_input_remove(gsc); @@ -203,7 +190,6 @@ purple_ssl_connect_with_host_fd(PurpleAccount *account, int fd, g_return_val_if_fail(fd != -1, NULL); g_return_val_if_fail(func != NULL, NULL); - g_return_val_if_fail(purple_ssl_is_supported(), NULL); if (!_ssl_initialized) { diff --git a/libpurple/sslconn.h b/libpurple/sslconn.h index 5646fc78b1..7f217c4714 100644 --- a/libpurple/sslconn.h +++ b/libpurple/sslconn.h @@ -152,15 +152,6 @@ G_BEGIN_DECLS /**************************************************************************/ /** - * purple_ssl_is_supported: - * - * Returns whether or not SSL is currently supported. - * - * Returns: %TRUE if SSL is supported, or %FALSE otherwise. - */ -gboolean purple_ssl_is_supported(void); - -/** * purple_ssl_strerror: * @error: Error code * diff --git a/pidgin/gtkdialogs.c b/pidgin/gtkdialogs.c index b2bd111ec1..01742a907c 100644 --- a/pidgin/gtkdialogs.c +++ b/pidgin/gtkdialogs.c @@ -624,11 +624,7 @@ void pidgin_dialogs_buildinfo(void) g_string_append(str, "<dt>Plugins:</dt><dd>Disabled</dd>"); #endif -#ifdef HAVE_SSL g_string_append(str, "<dt>SSL:</dt><dd>SSL support is present.</dd>"); -#else - g_string_append(str, "<dt>SSL:</dt><dd>SSL support was <strong><em>NOT</em></strong> compiled!</dd>"); -#endif g_string_append_printf(str, "<dt>GTK+ Runtime:</dt><dd>%u.%u.%u</dd>" "<dt>GLib Runtime:</dt><dd>%u.%u.%u</dd>", |