summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@samsung.com>2015-01-26 15:48:45 +0100
committerCedric BAIL <cedric@osg.samsung.com>2015-02-16 14:47:47 +0100
commitca7edb3fb00e0e651e6c1d20b86e8d4e55eb4d1a (patch)
treec571ef6080c7f3d277c1bf6ad1b85f246b4462c0
parent213b3347362af0c716219b162c43bd2d140536d7 (diff)
downloadefl-ca7edb3fb00e0e651e6c1d20b86e8d4e55eb4d1a.tar.gz
ecore_con: depend on emile for initializing crypto library.
-rw-r--r--configure.ac1
-rw-r--r--src/lib/ecore_con/ecore_con_ssl.c80
-rw-r--r--src/lib/emile/emile_main.c2
3 files changed, 18 insertions, 65 deletions
diff --git a/configure.ac b/configure.ac
index f8896b15b7..2ec86dadac 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2451,6 +2451,7 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
+EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
EFL_ADD_LIBS([ECORE_CON], [-lm])
diff --git a/src/lib/ecore_con/ecore_con_ssl.c b/src/lib/ecore_con/ecore_con_ssl.c
index 04833f7117..6e669ced9c 100644
--- a/src/lib/ecore_con/ecore_con_ssl.c
+++ b/src/lib/ecore_con/ecore_con_ssl.c
@@ -26,6 +26,9 @@
#endif
#include <sys/stat.h>
+
+#include <Emile.h>
+
#include "Ecore.h"
#include "ecore_con_private.h"
@@ -35,8 +38,6 @@ EAPI int ECORE_CON_EVENT_SERVER_UPGRADE = 0;
static int _init_con_ssl_init_count = 0;
#ifdef HAVE_GNUTLS
-GCRY_THREAD_OPTION_PTHREAD_IMPL;
-
static int _client_connected = 0;
# define SSL_SUFFIX(ssl_func) ssl_func ## _gnutls
@@ -425,11 +426,6 @@ _openssl_print_session(SSL *ssl)
} \
while (0)
-static Ecore_Con_Ssl_Error
- SSL_SUFFIX(_ecore_con_ssl_init) (void);
-static Ecore_Con_Ssl_Error
- SSL_SUFFIX(_ecore_con_ssl_shutdown) (void);
-
static Eina_Bool SSL_SUFFIX(_ecore_con_ssl_server_cafile_add) (Ecore_Con_Server *svr, const char *ca_file);
static Eina_Bool SSL_SUFFIX(_ecore_con_ssl_server_crl_add) (Ecore_Con_Server *svr, const char *crl_file);
static Eina_Bool SSL_SUFFIX(_ecore_con_ssl_server_cert_add) (Ecore_Con_Server *svr, const char *cert);
@@ -457,7 +453,16 @@ ecore_con_ssl_init(void)
{
if (!_init_con_ssl_init_count++)
{
- SSL_SUFFIX(_ecore_con_ssl_init) ();
+#ifdef ISCOMFITOR
+ if (eina_log_domain_level_check(_ecore_con_log_dom,
+ EINA_LOG_LEVEL_DBG))
+ {
+ gnutls_global_set_log_level(9);
+ gnutls_global_set_log_function(_gnutls_log_func);
+ }
+#endif
+ emile_init();
+
#if _ECORE_CON_SSL_AVAILABLE != 0
ECORE_CON_EVENT_CLIENT_UPGRADE = ecore_event_type_new();
ECORE_CON_EVENT_SERVER_UPGRADE = ecore_event_type_new();
@@ -478,7 +483,7 @@ ecore_con_ssl_shutdown(void)
}
if (!--_init_con_ssl_init_count)
- SSL_SUFFIX(_ecore_con_ssl_shutdown) ();
+ emile_shutdown();
return _init_con_ssl_init_count;
}
@@ -866,33 +871,7 @@ ecore_con_ssl_client_upgrade(Ecore_Con_Client *obj, Ecore_Con_Type ssl_type)
*/
static Ecore_Con_Ssl_Error
-_ecore_con_ssl_init_gnutls(void)
-{
- if (gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread))
- WRN("YOU ARE USING PTHREADS, BUT I CANNOT INITIALIZE THREADSAFE GCRYPT OPERATIONS!");
- if (gnutls_global_init())
- return ECORE_CON_SSL_ERROR_INIT_FAILED;
-
-#ifdef ISCOMFITOR
- if (eina_log_domain_level_check(_ecore_con_log_dom, EINA_LOG_LEVEL_DBG))
- {
- gnutls_global_set_log_level(9);
- gnutls_global_set_log_function(_gnutls_log_func);
- }
-#endif
- return ECORE_CON_SSL_ERROR_NONE;
-}
-
-static Ecore_Con_Ssl_Error
-_ecore_con_ssl_shutdown_gnutls(void)
-{
- gnutls_global_deinit();
-
- return ECORE_CON_SSL_ERROR_NONE;
-}
-
-static Ecore_Con_Ssl_Error
-_ecore_con_ssl_server_prepare_gnutls(Ecore_Con_Server *obj,
+_ecore_con_ssl_server_prepare_gnutls(Ecore_Con_Server *svr,
int ssl_type)
{
Ecore_Con_Server_Data *svr = eo_data_scope_get(obj, ECORE_CON_SERVER_CLASS);
@@ -1516,22 +1495,6 @@ _ecore_con_ssl_client_write_gnutls(Ecore_Con_Client *obj,
*/
static Ecore_Con_Ssl_Error
-_ecore_con_ssl_init_openssl(void)
-{
- SSL_library_init();
- SSL_load_error_strings();
- OpenSSL_add_all_algorithms();
-
- return ECORE_CON_SSL_ERROR_NONE;
-}
-
-static Ecore_Con_Ssl_Error
-_ecore_con_ssl_shutdown_openssl(void)
-{
- ERR_free_strings();
- EVP_cleanup();
- return ECORE_CON_SSL_ERROR_NONE;
-}
static Ecore_Con_Ssl_Error
_ecore_con_ssl_server_prepare_openssl(Ecore_Con_Server *obj,
@@ -2037,19 +2000,6 @@ _ecore_con_ssl_client_write_openssl(Ecore_Con_Client *obj,
/*
* No Ssl
*/
-
-static Ecore_Con_Ssl_Error
-_ecore_con_ssl_init_none(void)
-{
- return ECORE_CON_SSL_ERROR_NONE;
-}
-
-static Ecore_Con_Ssl_Error
-_ecore_con_ssl_shutdown_none(void)
-{
- return ECORE_CON_SSL_ERROR_NONE;
-}
-
static Ecore_Con_Ssl_Error
_ecore_con_ssl_server_prepare_none(Ecore_Con_Server *svr EINA_UNUSED,
int ssl_type EINA_UNUSED)
diff --git a/src/lib/emile/emile_main.c b/src/lib/emile/emile_main.c
index 5aa80acd66..9171b565a6 100644
--- a/src/lib/emile/emile_main.c
+++ b/src/lib/emile/emile_main.c
@@ -72,6 +72,8 @@ emile_init(void)
#endif /* ifdef HAVE_GNUTLS */
#ifdef HAVE_OPENSSL
ERR_load_crypto_strings();
+ SSL_library_init();
+ SSL_load_error_strings();
OpenSSL_add_all_algorithms();
#endif /* ifdef HAVE_OPENSSL */