From 488f6e0459423a293624cb605ecfdd43586a4e0a Mon Sep 17 00:00:00 2001 From: Yann Ylavic Date: Fri, 12 Jun 2015 09:07:34 +0000 Subject: [PATCH] mod_ssl: Warn about deprecated SSLCertificateChainFile once at startup, on first usage only. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1685052 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ modules/ssl/ssl_engine_config.c | 19 ++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 2067dfa7d0..8c5f9d6360 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) mod_ssl: Warn about deprecated SSLCertificateChainFile once at startup, + on first usage only. [Yann Ylavic] + *) mod_substitute: Fix configuraton merge order. PR 57641 [] diff --git a/modules/ssl/ssl_engine_config.c b/modules/ssl/ssl_engine_config.c index f85a8a0fb9..c4320c9c7a 100644 --- a/modules/ssl/ssl_engine_config.c +++ b/modules/ssl/ssl_engine_config.c @@ -839,13 +839,22 @@ const char *ssl_cmd_SSLCertificateChainFile(cmd_parms *cmd, const char *arg) { SSLSrvConfigRec *sc = mySrvConfig(cmd->server); + void *once = NULL; const char *err; - ap_log_error(APLOG_MARK, APLOG_WARNING|APLOG_STARTUP, 0, NULL, - APLOGNO(02559) - "The SSLCertificateChainFile directive (%s:%d) is deprecated, " - "SSLCertificateFile should be used instead", - cmd->directive->filename, cmd->directive->line_num); + apr_pool_userdata_get(&once, "ssl_cmd_SSLCertificateChainFile", + ap_pglobal); + if (!once) { + ap_log_error(APLOG_MARK, APLOG_WARNING|APLOG_STARTUP, 0, NULL, + APLOGNO(02559) + "The SSLCertificateChainFile directive (%s:%d) is " + "deprecated, SSLCertificateFile should be used instead", + cmd->directive->filename, cmd->directive->line_num); + + apr_pool_userdata_set("ssl_cmd_SSLCertificateChainFile", + apr_pstrdup(ap_pglobal, "1"), NULL, + ap_pglobal); + } if ((err = ssl_cmd_check_file(cmd, &arg))) { return err; -- 2.40.0