diff --git a/CHANGES b/CHANGES index b6573d241f..2d71f978b2 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,10 @@ Changes with Apache 2.3.0 [Remove entries to the current 2.0 and 2.2 section below, when backported] + *) mod_ldap: Fix the search limit parameter to ldap_search_ext_s() + for SDKs that define LDAP_NO_LIMIT to something other than -1. + [David Jones ] + *) mod_cache: Use the same cache key throughout the whole request processing to handle escaped URLs correctly. PR 41475. [Ruediger Pluem] diff --git a/modules/ldap/util_ldap.c b/modules/ldap/util_ldap.c index a526ce0437..ddc241e038 100644 --- a/modules/ldap/util_ldap.c +++ b/modules/ldap/util_ldap.c @@ -52,6 +52,9 @@ #define LDAP_CA_TYPE_BASE64 2 #define LDAP_CA_TYPE_CERT7_DB 3 +#ifndef LDAP_NO_LIMIT +#define LDAP_NO_LIMIT -1 +#endif module AP_MODULE_DECLARE_DATA ldap_module; @@ -657,7 +660,7 @@ start_over: /* search for reqdn */ if ((result = ldap_search_ext_s(ldc->ldap, (char *)reqdn, LDAP_SCOPE_BASE, "(objectclass=*)", NULL, 1, - NULL, NULL, NULL, -1, &res)) + NULL, NULL, NULL, LDAP_NO_LIMIT, &res)) == LDAP_SERVER_DOWN) { ldc->reason = "DN Comparison ldap_search_ext_s() " @@ -935,7 +938,7 @@ start_over: if ((result = ldap_search_ext_s(ldc->ldap, (char *)basedn, scope, (char *)filter, attrs, 0, - NULL, NULL, NULL, -1, &res)) + NULL, NULL, NULL, LDAP_NO_LIMIT, &res)) == LDAP_SERVER_DOWN) { ldc->reason = "ldap_search_ext_s() for user failed with server down"; @@ -1175,7 +1178,7 @@ start_over: if ((result = ldap_search_ext_s(ldc->ldap, (char *)basedn, scope, (char *)filter, attrs, 0, - NULL, NULL, NULL, -1, &res)) + NULL, NULL, NULL, LDAP_NO_LIMIT, &res)) == LDAP_SERVER_DOWN) { ldc->reason = "ldap_search_ext_s() for user failed with server down";