|
@@ -0,0 +1,72 @@
|
|
|
+--- squid-3.4.4.orig/acinclude/lib-checks.m4 2014-03-09 10:40:56.000000000 +0100
|
|
|
++++ squid-3.4.4/acinclude/lib-checks.m4 2014-03-11 19:44:28.088928982 +0100
|
|
|
+@@ -95,69 +95,6 @@ AC_DEFUN([SQUID_CHECK_LIBIPHLPAPI],[
|
|
|
+ SQUID_STATE_ROLLBACK(iphlpapi)
|
|
|
+ ])
|
|
|
+
|
|
|
+-dnl Checks whether the OpenSSL SSL_get_certificate crashes squid and if a
|
|
|
+-dnl workaround can be used instead of using the SSL_get_certificate
|
|
|
+-AC_DEFUN([SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS],[
|
|
|
+- AH_TEMPLATE(SQUID_SSLGETCERTIFICATE_BUGGY, "Define to 1 if the SSL_get_certificate crashes squid")
|
|
|
+- AH_TEMPLATE(SQUID_USE_SSLGETCERTIFICATE_HACK, "Define to 1 to use squid workaround for SSL_get_certificate")
|
|
|
+- SQUID_STATE_SAVE(check_SSL_get_certificate)
|
|
|
+- LIBS="$SSLLIB $LIBS"
|
|
|
+- if test "x$SSLLIBDIR" != "x"; then
|
|
|
+- LIBS="$LIBS -Wl,-rpath -Wl,$SSLLIBDIR"
|
|
|
+- fi
|
|
|
+-
|
|
|
+- AC_MSG_CHECKING(whether the SSL_get_certificate is buggy)
|
|
|
+- AC_RUN_IFELSE([
|
|
|
+- AC_LANG_PROGRAM(
|
|
|
+- [
|
|
|
+- #include <openssl/ssl.h>
|
|
|
+- #include <openssl/err.h>
|
|
|
+- ],
|
|
|
+- [
|
|
|
+- SSLeay_add_ssl_algorithms();
|
|
|
+- SSL_CTX *sslContext = SSL_CTX_new(SSLv3_method());
|
|
|
+- SSL *ssl = SSL_new(sslContext);
|
|
|
+- X509* cert = SSL_get_certificate(ssl);
|
|
|
+- return 0;
|
|
|
+- ])
|
|
|
+- ],
|
|
|
+- [
|
|
|
+- AC_MSG_RESULT([no])
|
|
|
+- ],
|
|
|
+- [
|
|
|
+- AC_DEFINE(SQUID_SSLGETCERTIFICATE_BUGGY, 1)
|
|
|
+- AC_MSG_RESULT([yes])
|
|
|
+- ],
|
|
|
+- [])
|
|
|
+-
|
|
|
+- AC_MSG_CHECKING(whether the workaround for SSL_get_certificate works)
|
|
|
+- AC_RUN_IFELSE([
|
|
|
+- AC_LANG_PROGRAM(
|
|
|
+- [
|
|
|
+- #include <openssl/ssl.h>
|
|
|
+- #include <openssl/err.h>
|
|
|
+- ],
|
|
|
+- [
|
|
|
+- SSLeay_add_ssl_algorithms();
|
|
|
+- SSL_CTX *sslContext = SSL_CTX_new(SSLv3_method());
|
|
|
+- X509 ***pCert = (X509 ***)sslContext->cert;
|
|
|
+- X509 *sslCtxCert = pCert && *pCert ? **pCert : (X509 *)0x1;
|
|
|
+- if (sslCtxCert != NULL)
|
|
|
+- return 1;
|
|
|
+- return 0;
|
|
|
+- ])
|
|
|
+- ],
|
|
|
+- [
|
|
|
+- AC_MSG_RESULT([yes])
|
|
|
+- AC_DEFINE(SQUID_USE_SSLGETCERTIFICATE_HACK, 1)
|
|
|
+- ],
|
|
|
+- [
|
|
|
+- AC_MSG_RESULT([no])
|
|
|
+- ],
|
|
|
+-[])
|
|
|
+-
|
|
|
+-SQUID_STATE_ROLLBACK(check_SSL_get_certificate)
|
|
|
+-])
|
|
|
+
|
|
|
+ dnl Checks whether the SSL_CTX_new and similar functions require
|
|
|
+ dnl a const 'SSL_METHOD *' argument
|