Hello Dieter! Nevertheless I generated a core dump in the mean time - but this was only possible by adding the GenBufFreeBuf function as a dummy to init.c file of the comp match module:
void GenBufFreeBuf (void *p) { }
The back trace of the core:
(gdb) bt #0 0x080e17d4 in slap_sl_free (ptr=0xb6f981d2, ctx=0x82d01a8) at sl_malloc.c:487 #1 0x0809ecf1 in ch_free (ptr=0xb6f981d2) at ch_malloc.c:137 #2 0x080dedae in mra_free (op=0x82cfde8, mra=0xb6f98288, freeit=1) at mra.c:43 #3 0x0808273f in filter_free_x (op=0x82cfde8, f=0xb6f982c8, freeme=1) at filter.c:556 #4 0x08080834 in do_search (op=0x82cfde8, rs=0xb7499134) at search.c:230 #5 0x0807da51 in connection_operation (ctx=0xb7499220, arg_v=0x82cfde8) at connection.c:1109 #6 0x0807df99 in connection_read_thread (ctx=0xb7499220, argv=0xb) at connection.c:1245 #7 0x08162082 in ldap_int_thread_pool_wrapper () #8 0xb7cc11b5 in start_thread () from /lib/libpthread.so.0 #9 0xb7da738e in clone () from /lib/libc.so.6 (gdb)
Does this cover any new information?
Thank you.
Regards, Hartmut
-----Ursprüngliche Nachricht----- Von: Lehnert, Hartmut Gesendet: Mittwoch, 26. Mai 2010 10:10 An: openldap-technical@openldap.org Betreff: AW: Q: status of component matching?
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