It occured to me just after changing this macro that its addition broke versioning rules when it was added to 1.2.x post-release.
The new macro has already been in a release, 1.2.12. Is it better to leave it or pull it? ---------- Forwarded message ---------- From: <[email protected]> Date: Sun, Mar 8, 2009 at 7:45 PM Subject: svn commit: r751555 - in /apr/apr-util/branches/1.2.x: CHANGES include/apr_ldap.h.in include/apr_ldap.hw To: [email protected] Author: covener Date: Sun Mar 8 23:45:24 2009 New Revision: 751555 URL: http://svn.apache.org/viewvc?rev=751555&view=rev Log: backport r751456 from trunk: It's not safe to ask an SDK that doesn't define LDAP_DEFAULT_LIMIT to use -1, because it might put it on the wire as an unsigned int. We previously special-cased this for the MSSDK, but it needs to be more general. PR23356 Modified: apr/apr-util/branches/1.2.x/CHANGES apr/apr-util/branches/1.2.x/include/apr_ldap.h.in apr/apr-util/branches/1.2.x/include/apr_ldap.hw Modified: apr/apr-util/branches/1.2.x/CHANGES URL: http://svn.apache.org/viewvc/apr/apr-util/branches/1.2.x/CHANGES?rev=751555&r1=751554&r2=751555&view=diff ============================================================================== --- apr/apr-util/branches/1.2.x/CHANGES [utf-8] (original) +++ apr/apr-util/branches/1.2.x/CHANGES [utf-8] Sun Mar 8 23:45:24 2009 @@ -2,6 +2,11 @@ Changes with APR-util 1.2.13 + *) APR_LDAP_SIZELIMIT should prefer LDAP_DEFAULT_LIMIT/-1 when the + SDK supports it, but in the absence of LDAP_DEFAULT_LIMIT (and + LDAP_NO_LIMIT/0) it is not safe to use a literal -1. + PR23356 [Eric Covener] + *) Better error detection for bucket allocation failures. [Jim Jagielski] Modified: apr/apr-util/branches/1.2.x/include/apr_ldap.h.in URL: http://svn.apache.org/viewvc/apr/apr-util/branches/1.2.x/include/apr_ldap.h.in?rev=751555&r1=751554&r2=751555&view=diff ============================================================================== --- apr/apr-util/branches/1.2.x/include/apr_ldap.h.in (original) +++ apr/apr-util/branches/1.2.x/include/apr_ldap.h.in Sun Mar 8 23:45:24 2009 @@ -97,15 +97,19 @@ /* * For ldap function calls that input a size limit on the number of returned elements * Some SDKs do not have the define for LDAP_DEFAULT_LIMIT (-1) or LDAP_NO_LIMIT (0) + * LDAP_DEFAULT_LIMIT is preferred as it allows inheritance from whatever the SDK + * or process is configured for. */ -#if APR_HAS_ZOS_LDAPSDK -#define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT -#else #ifdef LDAP_DEFAULT_LIMIT #define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT #else -#define APR_LDAP_SIZELIMIT -1 /* equivalent to LDAP_DEFAULT_LIMIT */ +#ifdef LDAP_NO_LIMIT +#define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT +#endif #endif + +#ifndef APR_LDAP_SIZELIMIT +#define APR_LDAP_SIZELIMIT 0 /* equivalent to LDAP_NO_LIMIT, and what goes on the wire */ #endif /* Modified: apr/apr-util/branches/1.2.x/include/apr_ldap.hw URL: http://svn.apache.org/viewvc/apr/apr-util/branches/1.2.x/include/apr_ldap.hw?rev=751555&r1=751554&r2=751555&view=diff ============================================================================== --- apr/apr-util/branches/1.2.x/include/apr_ldap.hw (original) +++ apr/apr-util/branches/1.2.x/include/apr_ldap.hw Sun Mar 8 23:45:24 2009 @@ -90,9 +90,20 @@ /* * For ldap function calls that input a size limit on the number of returned elements * Some SDKs do not have the define for LDAP_DEFAULT_LIMIT (-1) or LDAP_NO_LIMIT (0) + * LDAP_DEFAULT_LIMIT is preferred as it allows inheritance from whatever the SDK + * or process is configured for. */ +#ifdef LDAP_DEFAULT_LIMIT +#define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT +#else +#ifdef LDAP_NO_LIMIT #define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT +#endif +#endif +#ifndef APR_LDAP_SIZELIMIT +#define APR_LDAP_SIZELIMIT 0 /* equivalent to LDAP_NO_LIMIT, and what goes on the wire */ +#endif /* Note: Macros defining const casting has been removed in APR v1.0, * pending real support for LDAP v2.0 toolkits. -- Eric Covener [email protected]
