Grafton Kennedy wrote:
The local structure mech in servers/slapd/bind.c is declared in do_bind as
struct berval mech = BER_BVNULL;
at about line 44.
Further in do_bind, around line 201, mech is assigned to op->orb_mech.
As a newbie to slapd, I'm concerned about this assignment.
Your concern is groundless.
Later, slapd cores in an_find and I see that op->orb_mech.bv_len shares the same address as op->o_request.oq_search.rs_attrs:
Perhaps you ought to look at the definition of op more closely.
Program received signal SIGSEGV, Segmentation fault. an_find (a=0x6, s=0x814322c) at ad.c:874 874 for ( ; a->an_name.bv_val; a++ ) { (gdb) up #1 0x0807f865 in slap_attr_flags (an=0x6) at result.c:1659 1659 flags |= an_find( an, slap_bv_all_operational_attrs ) (gdb) up #2 0x08080a54 in slap_send_search_entry (op=0x81e74e0, rs=0xbfffa368) at result.c:821 821 rs->sr_attr_flags = slap_attr_flags( rs->sr_attrs ); (gdb) print&op->o_request.oq_bind.rb_mech $97 = (struct berval *) 0x81e751c (gdb) print&op->o_request.oq_bind.rb_mech.bv_len $98 = (ber_len_t *) 0x81e751c (gdb) print&op->o_request.oq_search.rs_attrs $99 = (AttributeName **) 0x81e751c
I am using back-shell and slapd cores when my bind shell script outputs blank lines between data lines. If I remove the blank lines slapd doesn't core. But then it dumps the whole input and complains "expected RESULT" which I know isn't right.
A Bind operation should not be invoking slap_send_search_entry(). You have something else going wrong.
This is not the proper mailing list for this posting. It's for discussing issues submitted to the ITS, and only legitimate bug reports belong in the ITS. Sounds to me like your script is doing something other than what a Bind script ought to be doing, and that's your problem to deal with.