From 090e7a6d73cf1eba3b38aa066b0707ab9b49268c Mon Sep 17 00:00:00 2001 From: Nick Kew Date: Sun, 10 Dec 2006 23:38:05 +0000 Subject: Stop mod_dbd emitting bogus error messages when it's loaded but not configured. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@485311 13f79535-47bb-0310-9956-ffa450edef68 --- modules/database/mod_dbd.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/modules/database/mod_dbd.c b/modules/database/mod_dbd.c index e5409a3b6f..4df4f4b65b 100644 --- a/modules/database/mod_dbd.c +++ b/modules/database/mod_dbd.c @@ -361,6 +361,15 @@ static apr_status_t dbd_setup_init(apr_pool_t *pool, server_rec *s) svr_cfg *svr = ap_get_module_config(s->module_config, &dbd_module); apr_status_t rv; + /* dbd_setup in 2.2.3 and under was causing spurious error messages + * when dbd isn't configured. We can stop that with a quick check here + * together with a similar check in ap_dbd_open (where being + * unconfigured is a genuine error that must be reported). + */ + if (svr->name == no_dbdriver) { + return APR_SUCCESS; + } + if (!svr->persist) { return APR_SUCCESS; } @@ -442,6 +451,12 @@ DBD_DECLARE_NONSTD(ap_dbd_t*) ap_dbd_open(apr_pool_t *pool, server_rec *s) apr_status_t rv = APR_SUCCESS; const char *errmsg; + /* If nothing is configured, we shouldn't be here */ + if (svr->name == no_dbdriver) { + ap_log_perror(APLOG_MARK, APLOG_ERR, 0, pool, "DBD: not configured"); + return NULL; + } + if (!svr->persist) { /* Return a once-only connection */ rv = dbd_construct(&rec, svr, s->process->pool); @@ -480,6 +495,12 @@ DBD_DECLARE_NONSTD(ap_dbd_t*) ap_dbd_open(apr_pool_t *pool, server_rec *s) void *rec = NULL; svr_cfg *svr = ap_get_module_config(s->module_config, &dbd_module); + /* If nothing is configured, we shouldn't be here */ + if (svr->name == no_dbdriver) { + ap_log_perror(APLOG_MARK, APLOG_ERR, 0, pool, "DBD: not configured"); + return NULL; + } + if (!svr->persist) { /* Return a once-only connection */ rv = dbd_construct(&rec, svr, s->process->pool); -- cgit v1.2.3