AC_DEFINE(HAVE_SSL_CLEAR_OPTIONS,, [Define if you have SSL_clear_options])
fi
+ # New style mem functions? Should be in v1.1+
+ AC_CACHE_CHECK([whether CRYPTO_set_mem_functions has new style parameters],i_cv_have_ssl_new_mem_funcs,[
+ old_LIBS=$LIBS
+ LIBS="$LIBS -lssl"
+ AC_TRY_LINK([
+ #include <openssl/ssl.h>
+ int CRYPTO_set_mem_functions(
+ void *(*m) (size_t, const char *, int),
+ void *(*r) (void *, size_t, const char *, int),
+ void (*f) (void *, const char *, int));
+ ], [
+ ], [
+ i_cv_have_ssl_new_mem_funcs=yes
+ ], [
+ i_cv_have_ssl_new_mem_funcs=no
+ ])
+ LIBS=$old_LIBS
+ ])
+ if test $i_cv_have_ssl_new_mem_funcs = yes; then
+ AC_DEFINE(HAVE_SSL_NEW_MEM_FUNCS,, [Define if CRYPTO_set_mem_functions has new style parameters])
+ fi
+
AC_CHECK_LIB(ssl, SSL_get_current_compression, [
AC_DEFINE(HAVE_SSL_COMPRESSION,, [Build with OpenSSL compression])
],, $SSL_LIBS)
static int openssl_init_refcount = 0;
static ENGINE *dovecot_openssl_engine;
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#ifdef HAVE_SSL_NEW_MEM_FUNCS
static void *dovecot_openssl_malloc(size_t size, const char *u0 ATTR_UNUSED, int u1 ATTR_UNUSED)
#else
static void *dovecot_openssl_malloc(size_t size)
return mem;
}
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#ifdef HAVE_SSL_NEW_MEM_FUNCS
static void *dovecot_openssl_realloc(void *ptr, size_t size, const char *u0 ATTR_UNUSED, int u1 ATTR_UNUSED)
#else
static void *dovecot_openssl_realloc(void *ptr, size_t size)
return mem;
}
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#ifdef HAVE_SSL_NEW_MEM_FUNCS
static void dovecot_openssl_free(void *ptr, const char *u0 ATTR_UNUSED, int u1 ATTR_UNUSED)
#else
static void dovecot_openssl_free(void *ptr)