* ecore: check GNUTLS version before using new feature.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 24 Sep 2010 11:25:40 +0000 (11:25 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 24 Sep 2010 11:25:40 +0000 (11:25 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@52680 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

m4/ecore_check_options.m4
src/lib/ecore_con/ecore_con_ssl.c

index 81657ad..2d6ab0b 100644 (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
index 7e51920..f29f264 100644 (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));