Changes with Apache 2.3.0
[ When backported to 2.2.x, remove entry from this file ]
+ *) mod_authz_dbd: When redirecting after successful login/logout per
+ AuthzDBDRedirectQuery, do not report authorization failure, and use
+ first row returned by database query instead of last row.
+ [Chris Darroch]
+
*) mod_rewrite: Initialize hash needed by ap_register_rewrite_mapfunc early
enough. PR 44641 [Daniel Lescohier <daniel.lescohier cnet.com>]
for (rv = apr_dbd_get_row(dbd->driver, r->pool, res, &row, -1);
rv != -1;
rv = apr_dbd_get_row(dbd->driver, r->pool, res, &row, -1)) {
- if (rv == 0) {
- newuri = apr_dbd_get_entry(dbd->driver, row, 0);
- }
- else {
+ if (rv != 0) {
message = apr_dbd_error(dbd->driver, dbd->handle, rv);
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"authz_dbd in get_row; action=%s user=%s [%s]",
action, r->user, message?message:noerror);
}
+ else if (newuri == NULL) {
+ newuri = apr_dbd_get_entry(dbd->driver, row, 0);
+ }
+ /* we can't break out here or row won't get cleaned up */
}
}
else {
if (newuri != NULL) {
r->status = HTTP_MOVED_TEMPORARILY;
apr_table_set(r->err_headers_out, "Location", newuri);
- rv = HTTP_MOVED_TEMPORARILY;
}
- else {
- rv = OK;
- }
- authz_dbd_run_client_login(r, rv, action);
- return rv;
+ authz_dbd_run_client_login(r, OK, action);
+ return OK;
}
static int authz_dbd_group_query(request_rec *r, authz_dbd_cfg *cfg,