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

bug in openLdap2.0-alpha3?



Hi!
I think I have found a bug in OpenLDAP2.0-alpha3.
I have added the backend and perform comparisons of incoming bind
requests but when I have succeded with a bind and try to use the 'same'
connection with a new bind with false password it first tells the
clients that bind failed BUT when it tried to end the thread it
'references'
to 0x000... and slapd.exe terminates.

"The instruction at "0x0042d1cb" references memory at 0x00000000. The
memory could not be read."

I have tried and debug this and the reference failure happends when
returning from connection.c ie when the connection thread is to be
ended(?).
The last part of my tlwc_bind function looks like:

ResetEvent(ldap_bindE);
 if (result==LDAP_SUCCESS)
 {
  printf("SUCCESSFUL BIND!!!\n");
  send_ldap_result(conn,op,LDAP_SUCCESS,NULL,
    "bind successful",NULL,NULL);
  return 0;
 }
 else
 {
  printf("FAILED TO BIND!!!\n");
  send_ldap_result(conn,op,result,NULL,
    "error when bind",NULL,NULL);
  printf("test\n");
  return -1;
 }
}

and I debugged it back to bind.c and further to connection.c and at the
end of that function debugger asks me for thread.c and in following
assembler
code it tries to end thread.

Could this have anything to do with my backend (I dont add info into
frontend structures in anyway except a DCOM interface pointer into
conn->private (or what it was called))?
I really doubt that it could give this problem but....

Who ported openldap to NT environment?

Someone familiar with the thread handling used by openLdap on NT?

Other comments/suggestions on what could be done to avoid this?

--
Sincerely
Mikael Grehn