* ecore: check GNUTLS version before using new feature.

SVN revision: 52680
This commit is contained in:
Cedric BAIL 2010-09-24 11:25:40 +00:00
parent 9d95bf5a82
commit 3b324c10ed
2 changed files with 7 additions and 0 deletions

View File

@ -175,6 +175,9 @@ if test "x${_ecore_want_gnutls}" = "xyes" -o "x${_ecore_want_gnutls}" = "xauto"
PKG_CHECK_MODULES([TLS2], [gnutls >= 2.0.0],
[AC_DEFINE(USE_GNUTLS2, 1, [Use GnuTLS 2 or higher])],
[dummy="no"])
PKG_CHECK_MODULES([TLSTICKET], [gnutls >= 2.10.0],
[AC_DEFINE(USE_GNUTLS2_10, 1, [Use GnuTLS 2.10])],
[dummy="no"])
if test "x$_ecore_have_gnutls" = "xyes";then
AC_PATH_GENERIC([libgcrypt], [], [_ecore_have_gnutls="yes"], [_ecore_have_gnutls="no"])
if test "x${_ecore_have_gnutls}" = "xyes" ; then

View File

@ -429,7 +429,9 @@ _ecore_con_ssl_server_init_gnutls(Ecore_Con_Server *svr)
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_init(&svr->session, GNUTLS_CLIENT));
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_set_default_priority(svr->session));
#ifdef USE_GNUTLS2_10
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_session_ticket_enable_client(svr->session));
#endif
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_credentials_set(svr->session, GNUTLS_CRD_CERTIFICATE, svr->cert));
//SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_credentials_set(svr->session, GNUTLS_CRD_PSK, svr->pskcred_c));
@ -664,8 +666,10 @@ _ecore_con_ssl_client_init_gnutls(Ecore_Con_Client *cl)
_client_connected++;
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_init(&cl->session, GNUTLS_SERVER));
#ifdef USE_GNUTLS_2_10
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_session_ticket_key_generate(&cl->session_ticket));
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_session_ticket_enable_server(cl->session, &cl->session_ticket));
#endif
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_set_default_priority(cl->session));
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_protocol_set_priority(cl->session, proto));
SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_compression_set_priority(cl->session, compress));