Full_Name: Hallvard B Furuseth Version: HEAD, RE23, RE24 OS: URL: Submission from: (NULL) (129.240.6.233) Submitted by: hallvard
Some slapd source files include libldap/ldap-int.h, which contains #ifdef LDAP_R_COMPILE in structs. slapd links libldap_r but does not define LDAP_R_COMPILE, so these files have access to bad struct definitions. A quick grep doesn't show any use cases though. Anyway:
Either #ifdef LDAP_R_COMPILE in libldap(_r)should be something else, or we should define LDAP_R_COMPILE in slapd - maybe like this: --- slap.h 13 Mar 2008 13:37:07 +++ slap.h 13 Mar 2008 16:40:25 @@ -28,4 +28,10 @@ #define _SLAP_H_
+#if defined _LDAP_INT_H +# error include slap.h before ldap-int.h +#elif !defined NO_THREADS +# define LDAP_R_COMPILE 1 +#endif + #include "ldap_defaults.h"