diff options
author | Nick Kew <niq@apache.org> | 2006-12-11 00:38:05 +0100 |
---|---|---|
committer | Nick Kew <niq@apache.org> | 2006-12-11 00:38:05 +0100 |
commit | 090e7a6d73cf1eba3b38aa066b0707ab9b49268c (patch) | |
tree | af343444bf14086309a3f537568b35cd61f199d6 | |
parent | format change. no functional change. (diff) | |
download | apache2-090e7a6d73cf1eba3b38aa066b0707ab9b49268c.tar.xz apache2-090e7a6d73cf1eba3b38aa066b0707ab9b49268c.zip |
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
-rw-r--r-- | modules/database/mod_dbd.c | 21 |
1 files changed, 21 insertions, 0 deletions
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); |