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;