FYI,
I posted a patch to http://issues.apache.org/bugzilla/show_bug.cgi?id=37814

I took the easy route and just added a #if block to util_ldap to set a sizelimit of 2147483647 if the microsoft ldap sdk was in use or otherwise -1 and use this sizelimit define in ldap_search_ext_s calls.

Ideally sizelimit could be configureable via a module directive, but since we'll be maintaining our own build with this patch I didn't want to do anything too heavyweight.

Andy


Andy Wang wrote:
I noticed that with OpenLDAP 2.2.x, auth_ldap from apache on windows fails. The actual error ends up being a invalid size limit on the openldap end of things. After doing some research, it looks like the Microsoft SDK defaults the sizelimit to (2^32)-1 (4294967295 or basically an unsigned 32-bit int). OpenLDAP 2.2.x restricts the sizelimit to (2^(32-1)) -1 (2147483647 or a signed 32-bit int).

I have no idea how to report this to microsoft, as it's the microsoft SDK that's out of spec. RFC 2251 (http://www.ietf.org/rfc/rfc2251.txt) declares the max of a size limit to be the openldap value.

As far as I can tell, none of the other ldap servers care and openldap 2.1.x didn't care either, but unfortunately, 2.2.x does care.

Anyone else run into this problem and have any ideas or know how ot report this to MS? I was thinking of filing an Apache bug/enhancement requesting that apache be able to pass a size limit to the ldap query. In theory, you could override this MS SDK problem by explicitly setting the size limit to a proper value, or patch openldap to ignore it.

Thanks,
Andy

Reply via email to