summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Kew <niq@apache.org>2006-12-11 00:38:05 +0100
committerNick Kew <niq@apache.org>2006-12-11 00:38:05 +0100
commit090e7a6d73cf1eba3b38aa066b0707ab9b49268c (patch)
treeaf343444bf14086309a3f537568b35cd61f199d6
parentformat change. no functional change. (diff)
downloadapache2-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.c21
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);