summaryrefslogtreecommitdiffstats
path: root/modules/ssl/ssl_engine_log.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/ssl/ssl_engine_log.c')
-rw-r--r--modules/ssl/ssl_engine_log.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/modules/ssl/ssl_engine_log.c b/modules/ssl/ssl_engine_log.c
index d2f9ed0..3b3ceac 100644
--- a/modules/ssl/ssl_engine_log.c
+++ b/modules/ssl/ssl_engine_log.c
@@ -78,6 +78,16 @@ apr_status_t ssl_die(server_rec *s)
return APR_EGENERAL;
}
+static APR_INLINE
+unsigned long modssl_ERR_peek_error_data(const char **data, int *flags)
+{
+#if OPENSSL_VERSION_NUMBER < 0x30000000L
+ return ERR_peek_error_line_data(NULL, NULL, data, flags);
+#else
+ return ERR_peek_error_data(data, flags);
+#endif
+}
+
/*
* Prints the SSL library error information.
*/
@@ -87,7 +97,7 @@ void ssl_log_ssl_error(const char *file, int line, int level, server_rec *s)
const char *data;
int flags;
- while ((e = ERR_peek_error_line_data(NULL, NULL, &data, &flags))) {
+ while ((e = modssl_ERR_peek_error_data(&data, &flags))) {
const char *annotation;
char err[256];
@@ -123,10 +133,8 @@ static void ssl_log_cert_error(const char *file, int line, int level,
int msglen, n;
char *name;
- apr_vsnprintf(buf, sizeof buf, format, ap);
-
- msglen = strlen(buf);
-
+ msglen = apr_vsnprintf(buf, sizeof buf, format, ap);
+
if (cert) {
BIO *bio = BIO_new(BIO_s_mem());