diff options
Diffstat (limited to 'recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch')
-rw-r--r-- | recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch b/recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch new file mode 100644 index 0000000000..2bc27a484f --- /dev/null +++ b/recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch @@ -0,0 +1,140 @@ +--- sylpheed-2.2.4/config.h.in.orig 2005-11-16 10:12:37.000000000 +0000 ++++ sylpheed-2.2.4/config.h.in 2006-04-28 11:36:36.000000000 +0100 +@@ -251,6 +251,9 @@ + /* Define to 1 if your <sys/time.h> declares `struct tm'. */ + #undef TM_IN_SYS_TIME + ++/* Define if you use GnuTLS to support SSL. */ ++#undef USE_GNUTLS ++ + /* Define if you use GPGME to support OpenPGP. */ + #undef USE_GPGME + +@@ -264,6 +267,9 @@ + #undef USE_LDAP + + /* Define if you use OpenSSL to support SSL. */ ++#undef USE_OPENSSL ++ ++/* Define if SSL is supported. */ + #undef USE_SSL + + /* Whether to use multithread or not */ +--- sylpheed-2.2.4/configure.in.orig 2006-03-24 04:22:10.000000000 +0000 ++++ sylpheed-2.2.4/configure.in 2006-04-28 11:36:36.000000000 +0100 +@@ -231,7 +231,8 @@ + #include <openssl/opensslv.h> + ], [ return OPENSSL_VERSION_NUMBER; ], + [ AC_MSG_RESULT(yes) +- AC_DEFINE(USE_SSL, 1, Define if you use OpenSSL to support SSL.) ], ++ AC_DEFINE(USE_SSL, 1, Define if SSL is supported.) ++ AC_DEFINE(USE_OPENSSL, 1, Define if you use OpenSSL to support SSL.) ], + [ AC_MSG_RESULT(no) + LIBS="$ac_save_LIBS" + ac_cv_enable_ssl=no ]) +@@ -240,6 +241,27 @@ + AC_MSG_RESULT(no) + fi + ++AC_ARG_ENABLE(gnutls, ++ [ --enable-gnutls Enable SSL support using GnuTLS [default=no]], ++ [ac_cv_enable_gnutls=$enableval], [ac_cv_enable_gnutls=no]) ++AC_MSG_CHECKING([whether to use GnuTLS]) ++if test $ac_cv_enable_gnutls = yes; then ++ AC_MSG_RESULT(yes) ++ AC_MSG_CHECKING([if GnuTLS is available]) ++ LIBS="$LIBS -lgnutls-openssl" ++ AC_TRY_LINK([ ++#include <gnutls/openssl.h> ++], [ return OPENSSL_VERSION_NUMBER; ], ++ [ AC_MSG_RESULT(yes) ++ AC_DEFINE(USE_SSL, 1, Define if SSL is supported.) ++ AC_DEFINE(USE_GNUTLS, 1, Define if you use GnuTLS to support SSL.) ], ++ [ AC_MSG_RESULT(no) ++ LIBS="$ac_save_LIBS" ++ ac_cv_enable_gnutls=no ]) ++else ++ AC_MSG_RESULT(no) ++fi ++ + dnl Check for X-Face support + AC_ARG_ENABLE(compface, + [ --disable-compface Do not use compface (X-Face)], +@@ -400,6 +422,7 @@ + echo "JPilot : $ac_cv_enable_jpilot" + echo "LDAP : $ac_cv_enable_ldap" + echo "OpenSSL : $ac_cv_enable_ssl" ++echo "GnuTLS : $ac_cv_enable_gnutls" + echo "iconv : $am_cv_func_iconv" + echo "compface : $ac_cv_enable_compface" + echo "IPv6 : $ac_cv_enable_ipv6" +--- sylpheed-2.2.4/libsylph/ssl.h.old 2006-04-28 11:36:10.000000000 +0100 ++++ sylpheed-2.2.4/libsylph/ssl.h 2006-04-28 11:37:03.000000000 +0100 +@@ -27,11 +27,20 @@ + #if USE_SSL + + #include <glib.h> ++#if USE_OPENSSL + #include <openssl/crypto.h> + #include <openssl/x509.h> + #include <openssl/pem.h> + #include <openssl/ssl.h> + #include <openssl/err.h> ++#else ++#if USE_GNUTLS ++#include <gnutls/openssl.h> ++#define X509_V_OK 0 ++#else ++#error Must select either GnuTLS or OpenSSL ++#endif ++#endif + + #include "socket.h" + +--- sylpheed-2.2.4/libsylph/ssl.c.orig 2006-04-28 20:38:46.000000000 +0100 ++++ sylpheed-2.2.4/libsylph/ssl.c 2006-04-28 20:40:22.000000000 +0100 +@@ -54,9 +54,11 @@ + debug_print(_("SSLv23 not available\n")); + } else { + debug_print(_("SSLv23 available\n")); ++#if USE_OPENSSL + if (certs_dir && + !SSL_CTX_load_verify_locations(ssl_ctx_SSLv23, NULL, + certs_dir)) ++#endif + g_warning("SSLv23 SSL_CTX_load_verify_locations failed.\n"); + } + +@@ -65,9 +67,11 @@ + debug_print(_("TLSv1 not available\n")); + } else { + debug_print(_("TLSv1 available\n")); ++#if USE_OPENSSL + if (certs_dir && + !SSL_CTX_load_verify_locations(ssl_ctx_TLSv1, NULL, + certs_dir)) ++#endif + g_warning("TLSv1 SSL_CTX_load_verify_locations failed.\n"); + } + +@@ -151,14 +155,19 @@ + g_free(str); + } + ++#if USE_OPENSSL + verify_result = SSL_get_verify_result(sockinfo->ssl); + if (verify_result == X509_V_OK) + debug_print("SSL verify OK\n"); + else ++#endif + g_warning("%s: SSL certificate verify failed (%ld: %s)\n", + sockinfo->hostname, verify_result, ++#if USE_OPENSSL + X509_verify_cert_error_string(verify_result)); +- ++#else ++ "Unsupport GnuTLS features"); ++#endif + X509_free(server_cert); + } + |