[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4180) slapd (back-sql) hangs/segfaults on SASL bind



On 26 Nov 2005 at 10:51, Pierangelo Masarati wrote:

> On Tue, 2005-11-22 at 22:55 +0000, Nels@maei.ca wrote:
> 
> > (gdb) p auxvals
> > $17 = {{name = 0x811f224 "*slapConn", values = 0x90761b4, nvalues = 1, 
> >     valsize = 4}, {name = 0x811f22e "*slapAuthcDN", values = 0x90761bc, 
> >     nvalues = 1, valsize = 8}, {name = 0x811f23b "*slapAuthzDN", 
> >     values = 0x90761d4, nvalues = 1, valsize = 6}}
> > (gdb) p auxvals[1].values[0]
> > $18 = 0x9076612 "\035"
> 
> Sorry, in this case you should have looked at 
> (gdb) p auxvals[2].values[0]
> 
> i.e. what is actually marked as the "*slapAuthzDN" (I might have asked
> you the wrong index).  Can you check?  What I suspect is that some other
> piece of code is setting that value instead of slapd.

(in slap_sasl_authorize)

690             AC_MEMCPY( &authzDN, auxvals[1].values[0], sizeof(authzDN) );
692             rc = slap_sasl_authorized( conn->c_sasl_bindop, &authcDN, &authzDN );
(gdb) p auxvals[0]
$53 = {name = 0x811f22e "*slapAuthcDN", values = 0x9d4ed74, nvalues = 1, 
  valsize = 8}
(gdb) p auxvals[1]
$54 = {name = 0x811f23b "*slapAuthzDN", values = 0x9d4ed8c, nvalues = 1, 
  valsize = 6}
(gdb) p auxvals[2]
$55 = {name = 0x0, values = 0x0, nvalues = 0, valsize = 0}
(gdb) p auxvals[3]
$56 = {name = 0xf35d01 "*cmusaslsecretDIGEST-MD5", values = 0x9d4ed84, 
  nvalues = 1, valsize = 3075996552}

** Note the huge valsize ^^^^^^^^^^

(gdb) n

Program received signal SIGSEGV, Segmentation fault.
0x00deb77b in strlen () from /lib/tls/libc.so.6

----
Nels Lindquist <*>
Information Systems Manager
Morningstar Air Express Inc.