aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch')
-rw-r--r--recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch140
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);
+ }
+