On 11/20/23 4:19 PM, Graham Leggett via dev wrote:
> On 20 Nov 2023, at 15:10, Ruediger Pluem <rpl...@apache.org> wrote:
> 
>> Revisiting this again. I guess the below patch should fix it.
>> I assume that only the checking on req != NULL is relevant.
>> r->user and req->dn do not matter. But we should set req->dn to dn
>> if util_ldap_cache_getuserdn found one.
>>
>> BTW: get_connection_for_authz(r, LDAP_SEARCH); requires a valid req. It 
>> cannot deal with req == NULL.
>>
>>
>> Index: modules/aaa/mod_authnz_ldap.c
>> ===================================================================
>> --- modules/aaa/mod_authnz_ldap.c    (revision 1913980)
>> +++ modules/aaa/mod_authnz_ldap.c    (working copy)
>> @@ -1442,23 +1442,10 @@
>>      */
>>
>>     if (!req) {
>> -        authz_status rv = AUTHZ_DENIED;
>>         req = build_request_config(r);
>> -        ldc = get_connection_for_authz(r, LDAP_SEARCH);
>> -        if (AUTHZ_GRANTED != (rv = get_dn_for_nonldap_authn(r, ldc))) {
>> -            return rv;
>> -        }
>>     }
>> -    else {
>> -        ldc = get_connection_for_authz(r, LDAP_SEARCH);
>> -    }
>>
>> -    if (req->dn == NULL || !*req->dn) {
>> -        ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(02636)
>> -                      "auth_ldap authorize: require ldap-filter: user's DN "
>> -                      "has not been defined; failing authorization");
>> -        return AUTHZ_DENIED;
>> -    }
>> +    ldc = get_connection_for_authz(r, LDAP_SEARCH);
> 
> Unfortunately removing this makes it impossible to use ldapsearch for authz 
> only, as the setup process normally done in the authn phase never happens.

Removing what exactly? I currently cannot follow.

Regards

RĂ¼diger

Reply via email to