summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael McConville <mmcco@mykolab.com>2015-12-19 14:29:01 -0500
committerMichael McConville <mmcco@mykolab.com>2015-12-19 14:29:01 -0500
commitdaadee648c01aaddd6f5ce7e9dd2a4db83021899 (patch)
tree9fd2df0cda15b098ef3d6920809fc0f5cb271d73
parent677e7491bfd0c81d4f762a81c75092bd50dd99c3 (diff)
downloadpidgin-daadee648c01aaddd6f5ce7e9dd2a4db83021899.tar.gz
Require SSL/TLS support. ok'd by elb@
-rw-r--r--configure.ac8
-rw-r--r--libpurple/http.c7
-rw-r--r--libpurple/plugins/perl/common/SSLConn.xs3
-rw-r--r--libpurple/protocols/facebook/facebook.c7
-rw-r--r--libpurple/protocols/gg/tcpsocket.c3
-rw-r--r--libpurple/protocols/irc/irc.c13
-rw-r--r--libpurple/protocols/jabber/jabber.c29
-rw-r--r--libpurple/protocols/msn/msn.c9
-rw-r--r--libpurple/protocols/oscar/oscar.c9
-rw-r--r--libpurple/protocols/yahoo/ymsg.c5
-rw-r--r--libpurple/purple-socket.c6
-rw-r--r--libpurple/sslconn.c14
-rw-r--r--libpurple/sslconn.h9
-rw-r--r--pidgin/gtkdialogs.c4
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>",