weird error

Joe Vieira jvieira at clarku.edu
Fri Feb 8 21:33:42 CET 2008


Joe Vieira wrote:
>> Joe Vieira wrote:
>>
>>     
>>> if that's the case, why do you think it seems to work fine single threaded?
>>>
>>>       
>>   <shrug>  I dunno...
so, even tho LDAP_DEPRECATED was set as a cflag in 
rlm_ldap/configure.in, it never shows up as a gcc option durring 
compilation for some reason... so i defined it in rlm_ldap.c because it 
is ABSOLUTELY required on 64bit systems, because of missing prototypes 
for ldap libraries .. which basically will ruin your day..
else you can get into a situation where the compiler assumed the 
function (in this case ldap_get_values) returns an int (32bit), but it 
actually returns a pointer (64bit on 64 bit systems) which can then get 
truncated (which is likely why it always looked the same, because the 
part that stayed after the truncation was the same...)

good debian wiki article about implicit pointer conversion
http://wiki.debian.org/ImplicitPointerConversions

#define LDAP_DEPRECATED 1 added as the first line in rlm_ldap.c ...




More information about the Freeradius-Users mailing list