summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Covener <covener@apache.org>2011-05-08 20:36:17 +0200
committerEric Covener <covener@apache.org>2011-05-08 20:36:17 +0200
commit67fa31c64ba00c5c93561f8dbf33109f78c23e50 (patch)
treece065c81f7713ac85977cfd13a9fb75025154876
parentUpdates. (diff)
downloadapache2-67fa31c64ba00c5c93561f8dbf33109f78c23e50.tar.xz
apache2-67fa31c64ba00c5c93561f8dbf33109f78c23e50.zip
PR51163: Resolve crashes when LDAP is used for authorization-only
Submitted By: Scott Hill <shill genscape.com> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1100786 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--CHANGES3
-rw-r--r--modules/aaa/mod_authnz_ldap.c16
2 files changed, 11 insertions, 8 deletions
diff --git a/CHANGES b/CHANGES
index 354d4cd312..ea7b651902 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
Changes with Apache 2.3.12
+ *) mod_authnz_ldap: Resolve crash when LDAP is used for authorization only
+ [Scott Hill <shill genscape.com>]
+
*) support: Make sure check_forensic works with mod_unique_id loaded
[Joe Schaefer]
diff --git a/modules/aaa/mod_authnz_ldap.c b/modules/aaa/mod_authnz_ldap.c
index eb77dad4e1..8c1e6c5696 100644
--- a/modules/aaa/mod_authnz_ldap.c
+++ b/modules/aaa/mod_authnz_ldap.c
@@ -827,6 +827,8 @@ static authz_status ldapgroup_check_authorization(request_rec *r,
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
"ldap authorize: Creating LDAP req structure");
+ req = (authn_ldap_request_t *)apr_pcalloc(r->pool,
+ sizeof(authn_ldap_request_t));
/* Build the username filter */
authn_ldap_build_filter(filtbuf, r, r->user, NULL, sec);
@@ -841,8 +843,6 @@ static authz_status ldapgroup_check_authorization(request_rec *r,
return AUTHZ_DENIED;
}
- req = (authn_ldap_request_t *)apr_pcalloc(r->pool,
- sizeof(authn_ldap_request_t));
ap_set_module_config(r->request_config, &authnz_ldap_module, req);
req->dn = apr_pstrdup(r->pool, dn);
req->user = r->user;
@@ -1005,6 +1005,8 @@ static authz_status ldapdn_check_authorization(request_rec *r,
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
"ldap authorize: Creating LDAP req structure");
+ req = (authn_ldap_request_t *)apr_pcalloc(r->pool,
+ sizeof(authn_ldap_request_t));
/* Build the username filter */
authn_ldap_build_filter(filtbuf, r, r->user, NULL, sec);
@@ -1019,8 +1021,6 @@ static authz_status ldapdn_check_authorization(request_rec *r,
return AUTHZ_DENIED;
}
- req = (authn_ldap_request_t *)apr_pcalloc(r->pool,
- sizeof(authn_ldap_request_t));
ap_set_module_config(r->request_config, &authnz_ldap_module, req);
req->dn = apr_pstrdup(r->pool, dn);
req->user = r->user;
@@ -1115,6 +1115,8 @@ static authz_status ldapattribute_check_authorization(request_rec *r,
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
"ldap authorize: Creating LDAP req structure");
+ req = (authn_ldap_request_t *)apr_pcalloc(r->pool,
+ sizeof(authn_ldap_request_t));
/* Build the username filter */
authn_ldap_build_filter(filtbuf, r, r->user, NULL, sec);
@@ -1129,8 +1131,6 @@ static authz_status ldapattribute_check_authorization(request_rec *r,
return AUTHZ_DENIED;
}
- req = (authn_ldap_request_t *)apr_pcalloc(r->pool,
- sizeof(authn_ldap_request_t));
ap_set_module_config(r->request_config, &authnz_ldap_module, req);
req->dn = apr_pstrdup(r->pool, dn);
req->user = r->user;
@@ -1229,6 +1229,8 @@ static authz_status ldapfilter_check_authorization(request_rec *r,
ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
"ldap authorize: Creating LDAP req structure");
+ req = (authn_ldap_request_t *)apr_pcalloc(r->pool,
+ sizeof(authn_ldap_request_t));
/* Build the username filter */
authn_ldap_build_filter(filtbuf, r, r->user, NULL, sec);
@@ -1243,8 +1245,6 @@ static authz_status ldapfilter_check_authorization(request_rec *r,
return AUTHZ_DENIED;
}
- req = (authn_ldap_request_t *)apr_pcalloc(r->pool,
- sizeof(authn_ldap_request_t));
ap_set_module_config(r->request_config, &authnz_ldap_module, req);
req->dn = apr_pstrdup(r->pool, dn);
req->user = r->user;