Hi Dieter!
Thank you very much! I used CFLAGS=-DLDAP_COMP_MATCH when configuring the slapd and now it's able to load our component match module.
But some problems are still left: When running the following LDAP search command using component matching filter
/home/openldap/openldap-2.4.21-install/bin/ldapsearch -h localhost -p 9389 -D cn=openldapadmin -w welcome -b o=CustomerCA,c=de -s children "(userCertificate:componentFilterMatch:=item:{ component "toBeSigned.serialNumber", rule integerMatch, value 449 })"
against slapd it terminates:
/home/openldap/openldap-2.4.21-install/libexec/slapd: symbol lookup error: /home/openldap/openldap-2.4.21-install/libexec/openldap/compmatch.so.0: undefined symbol: GenBufFreeBuf
In the source code of both snacc and component match module no definition for function "GenBufFreeBuf" can be found. Where can I get it?
Regards,
Hartmut
Am Tue, 25 May 2010 15:51:40 +0200 schrieb "Lehnert, Hartmut" Hartmut.Lehnert@secunet.com:
Hi Dieter!
Thank you very much! I used CFLAGS=-DLDAP_COMP_MATCH when configuring the slapd and now it's able to load our component match module.
But some problems are still left: When running the following LDAP search command using component matching filter
/home/openldap/openldap-2.4.21-install/bin/ldapsearch -h localhost -p 9389 -D cn=openldapadmin -w welcome -b o=CustomerCA,c=de -s children "(userCertificate:componentFilterMatch:=item:{ component "toBeSigned.serialNumber", rule integerMatch, value 449 })"
against slapd it terminates:
/home/openldap/openldap-2.4.21-install/libexec/slapd: symbol lookup error: /home/openldap/openldap-2.4.21-install/libexec/openldap/compmatch.so.0: undefined symbol: GenBufFreeBuf
In the source code of both snacc and component match module no definition for function "GenBufFreeBuf" can be found. Where can I get it?
The function is called in comp_match/init.c, could you please build slapd with debugging symbols enabled (-g) and when installing don't strip, that is 'make install STRIP=" "', If possible create a core dump and run core and slapd in gdb in order to create a backtrace?
-Dieter
Hi Dieter! I built slapd and the comp match module with CFLAGS=-g option but a core dump isn't generated. I don't think that a core dump analysis is necessary to solve the problem because the slapd output
/home/openldap/openldap-2.4.21-install/libexec/slapd: symbol lookup error: /home/openldap/openldap-2.4.21-install/libexec/openldap/compmatch.so.0: undefined symbol: GenBufFreeBuf
is clear enough: the symbol GenBufFreeBuf is simply missing in the source code and binary of the comp match module. So once again: do you know where I can get the missing source code?
Thank you for looking at this problem.
Regards, Hartmut
-----Ursprüngliche Nachricht----- Von: openldap-technical-bounces+hartmut.lehnert=secunet.com@OpenLDAP.org [mailto:openldap-technical-bounces+hartmut.lehnert=secunet.com@OpenLDAP.org] Im Auftrag von Dieter Kluenter Gesendet: Dienstag, 25. Mai 2010 17:38 An: openldap-technical@openldap.org Betreff: Re: Q: status of component matching?
Am Tue, 25 May 2010 15:51:40 +0200 schrieb "Lehnert, Hartmut" Hartmut.Lehnert@secunet.com:
Hi Dieter!
Thank you very much! I used CFLAGS=-DLDAP_COMP_MATCH when configuring the slapd and now it's able to load our component match module.
But some problems are still left: When running the following LDAP search command using component matching filter
/home/openldap/openldap-2.4.21-install/bin/ldapsearch -h localhost -p 9389 -D cn=openldapadmin -w welcome -b o=CustomerCA,c=de -s children "(userCertificate:componentFilterMatch:=item:{ component "toBeSigned.serialNumber", rule integerMatch, value 449 })"
against slapd it terminates:
/home/openldap/openldap-2.4.21-install/libexec/slapd: symbol lookup error: /home/openldap/openldap-2.4.21-install/libexec/openldap/compmatch.so.0: undefined symbol: GenBufFreeBuf
In the source code of both snacc and component match module no definition for function "GenBufFreeBuf" can be found. Where can I get it?
The function is called in comp_match/init.c, could you please build slapd with debugging symbols enabled (-g) and when installing don't strip, that is 'make install STRIP=" "', If possible create a core dump and run core and slapd in gdb in order to create a backtrace?
-Dieter
"Lehnert, Hartmut" Hartmut.Lehnert@secunet.com writes:
Hi Dieter! I built slapd and the comp match module with CFLAGS=-g option but a core dump isn't generated. I don't think that a core dump analysis is necessary to solve the problem because the slapd output
You may have to call ulimit -c unlimited in order to create a core dump.
/home/openldap/openldap-2.4.21-install/libexec/slapd: symbol lookup error: /home/openldap/openldap-2.4.21-install/libexec/openldap/compmatch.so.0: undefined symbol: GenBufFreeBuf
is clear enough: the symbol GenBufFreeBuf is simply missing in the source code and binary of the comp match module. So once again: do you know where I can get the missing source code?
As I mentioned, GenBufFreeBuf is called in comp_match/init.c
-Dieter
Hi Dieter!
ulimit -c is set to unlimited. No core file is produced.
The actual problem is that the slapd terminates (normally) because it detects the undefined function GenBufFreeBuf (that is called from whithin init.c) when using functionality from the comp match module. The problem is not: who calles GenBufFreeBuf, but: where is it defined? In the actual snacc and comp match module source code GenBufFreeBuf is defined NOWHERE!!! So I need the source code for GenBufFreeBuf function to prevent slapd from terminating when it calls into the comp match module.
Regards, Hartmut
-----Ursprüngliche Nachricht----- Von: openldap-technical-bounces+hartmut.lehnert=secunet.com@OpenLDAP.org [mailto:openldap-technical-bounces+hartmut.lehnert=secunet.com@OpenLDAP.org] Im Auftrag von Dieter Kluenter Gesendet: Mittwoch, 26. Mai 2010 12:48 An: openldap-technical@openldap.org Betreff: Re: Q: status of component matching?
"Lehnert, Hartmut" Hartmut.Lehnert@secunet.com writes:
Hi Dieter! I built slapd and the comp match module with CFLAGS=-g option but a core dump isn't generated. I don't think that a core dump analysis is necessary to solve the problem because the slapd output
You may have to call ulimit -c unlimited in order to create a core dump.
/home/openldap/openldap-2.4.21-install/libexec/slapd: symbol lookup error: /home/openldap/openldap-2.4.21-install/libexec/openldap/compmatch.so.0: undefined symbol: GenBufFreeBuf
is clear enough: the symbol GenBufFreeBuf is simply missing in the source code and binary of the comp match module. So once again: do you know where I can get the missing source code?
As I mentioned, GenBufFreeBuf is called in comp_match/init.c
-Dieter
On Thu, 27 May 2010, Lehnert, Hartmut wrote:
The problem is not: who calles GenBufFreeBuf, but: where is it defined?
It's in exp-buf.c r1.4, i.e. see:
http://www.openldap.org/devel/cvsweb.cgi/~checkout~/c-lib/src/exp-buf.c?cvsr...
Apparently openldap-snacc-2.3.6 ships with r1.3 of that file which does not contain the function definition. So you may patch:
http://www.openldap.org/devel/cvsweb.cgi/c-lib/src/exp-buf.c.diff?r1=1.3&...
or just use a HEAD checkout. Perhaps you should file an ITS for a new release of openldap-snacc to be prepared; diff -ru shows that as the change from the 2.3.6 release (and actually, looking at the CVS tags involved, it looks like this may have been an oversight of a sort).
Hello Aaron! The head of snacc code resolves the problem of the unresolved symbol GenBufFreeBuf, but the core dump of slapd still persists as already described in ITS # 6556. Thank you. Regards, Hartmut
-----Ursprüngliche Nachricht----- Von: Aaron Richton [mailto:richton@nbcs.rutgers.edu] Gesendet: Donnerstag, 27. Mai 2010 15:29 An: Lehnert, Hartmut Cc: openldap-technical@openldap.org Betreff: Re: AW: Q: status of component matching?
On Thu, 27 May 2010, Lehnert, Hartmut wrote:
The problem is not: who calles GenBufFreeBuf, but: where is it defined?
It's in exp-buf.c r1.4, i.e. see:
http://www.openldap.org/devel/cvsweb.cgi/~checkout~/c-lib/src/exp-buf.c?cvsr...
Apparently openldap-snacc-2.3.6 ships with r1.3 of that file which does not contain the function definition. So you may patch:
http://www.openldap.org/devel/cvsweb.cgi/c-lib/src/exp-buf.c.diff?r1=1.3&...
or just use a HEAD checkout. Perhaps you should file an ITS for a new release of openldap-snacc to be prepared; diff -ru shows that as the change from the 2.3.6 release (and actually, looking at the CVS tags involved, it looks like this may have been an oversight of a sort).
openldap-technical@openldap.org