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.
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: 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.
Thanks, Grafton