From 474812c956b5ee9013e8ebd011cdd676146c56a1 Mon Sep 17 00:00:00 2001 From: "William A. Rowe Jr" Date: Sat, 5 Apr 2003 22:45:28 +0000 Subject: [PATCH] Solve SSL-C breakage introduced in mod_ssl.h rev 1.129 and ssl_engine_kernel.c rev 1.88. SSL* is not const under SSL-C. I've confirmed Jeff's comment that the original patch doesn't harm earlier OpenSSL versions which declared no arguments at all. I suspect now that we could fold #define MODSSL_BIO_CB_ARG_TYPE const char #define MODSSL_CRYPTO_CB_ARG_TYPE const char #define MODSSL_INFO_CB_ARG_TYPE const SSL* into a single MODSSL_CB_ARG_CONST define, but this works for now. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99263 13f79535-47bb-0310-9956-ffa450edef68 --- modules/ssl/mod_ssl.h | 2 +- modules/ssl/ssl_engine_kernel.c | 2 +- modules/ssl/ssl_toolkit_compat.h | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/ssl/mod_ssl.h b/modules/ssl/mod_ssl.h index 22e0fe7d83..1ce4e42dfa 100644 --- a/modules/ssl/mod_ssl.h +++ b/modules/ssl/mod_ssl.h @@ -590,7 +590,7 @@ int ssl_callback_proxy_cert(SSL *ssl, MODSSL_CLIENT_CERT_CB_ARG_TYPE ** int ssl_callback_NewSessionCacheEntry(SSL *, SSL_SESSION *); SSL_SESSION *ssl_callback_GetSessionCacheEntry(SSL *, unsigned char *, int, int *); void ssl_callback_DelSessionCacheEntry(SSL_CTX *, SSL_SESSION *); -void ssl_callback_LogTracingState(const SSL *, int, int); +void ssl_callback_LogTracingState(MODSSL_INFO_CB_ARG_TYPE SSL *, int, int); /* Session Cache Support */ void ssl_scache_init(server_rec *, apr_pool_t *); diff --git a/modules/ssl/ssl_engine_kernel.c b/modules/ssl/ssl_engine_kernel.c index 831c3a2aaa..246bda1a14 100644 --- a/modules/ssl/ssl_engine_kernel.c +++ b/modules/ssl/ssl_engine_kernel.c @@ -1754,7 +1754,7 @@ void ssl_callback_DelSessionCacheEntry(SSL_CTX *ctx, * SSL handshake and does SSL record layer stuff. We use it to * trace OpenSSL's processing in out SSL logfile. */ -void ssl_callback_LogTracingState(const SSL *ssl, int where, int rc) +void ssl_callback_LogTracingState(MODSSL_INFO_CB_ARG_TYPE ssl, int where, int rc) { conn_rec *c; server_rec *s; diff --git a/modules/ssl/ssl_toolkit_compat.h b/modules/ssl/ssl_toolkit_compat.h index b37441a2c8..8cd99f0d64 100644 --- a/modules/ssl/ssl_toolkit_compat.h +++ b/modules/ssl/ssl_toolkit_compat.h @@ -107,6 +107,7 @@ #define MODSSL_BIO_CB_ARG_TYPE const char #define MODSSL_CRYPTO_CB_ARG_TYPE const char +#define MODSSL_INFO_CB_ARG_TYPE const SSL* #define MODSSL_CLIENT_CERT_CB_ARG_TYPE X509 #define MODSSL_PCHAR_CAST @@ -161,6 +162,7 @@ typedef int (modssl_read_bio_cb_fn)(char*,int,int,void*); #define MODSSL_BIO_CB_ARG_TYPE char #define MODSSL_CRYPTO_CB_ARG_TYPE char +#define MODSSL_INFO_CB_ARG_TYPE SSL* #define MODSSL_CLIENT_CERT_CB_ARG_TYPE void #define MODSSL_PCHAR_CAST (char *) -- 2.40.0