Hi,
We are using Netscape 5.12.
We are facing an issue with ldap_simple_bind() asynchronous call in SSL mode.
Any help in this matter would be greatly appreciated.
Is there a way to set a timeout for ldap_simple_bind() asynchronous call (operating
in SSL Mode) so that it does not get blocked if LDAP server hanges.
Currently during the ldap_simple_bind() call, the Netscape SDK seems to do a
SSL handshake to exchange messages and due to LDAP server hang,
the ldap_simple_bind() call hangs.
Is there a way we can set some timelimit to this function call so that
we can failover to a different server in such scenarios ?
It would be great if we can have the control on the client side itself.
Following is the stack that we are seeing:
ntdll!ZwWaitForSingleObject+0xb (FPO: [3,0,0])
KERNEL32!WaitForSingleObjectEx+0x71 (FPO: [Non-Fpo])
KERNEL32!WaitForSingleObject+0xf (FPO: [2,0,0])
libobnspr4!_PR_MD_WAIT(struct PRThread * thread = 0x0229ae50, unsigned int
ticks = 0xffffffff)+0x72 (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\nsprpub\pr\src\md\windows\ntio.c
@ 528]
libobnspr4!_NT_IO_WAIT(struct PRThread * thread = 0x0229ae50, unsigned int
timeout = 0xffffffff)+0xe9 (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\nsprpub\pr\src\md\windows\ntio.c
@ 743]
libobnspr4!_PR_MD_RECV(struct PRFileDesc * fd = 0x04a70138, void * buf =
0x04b2377c, int amount = 5, int flags = 0, unsigned int timeout =
0xffffffff)+0x2f1 (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\nsprpub\pr\src\md\windows\ntio.c
@ 1756]
libobnspr4!SocketRecv(struct PRFileDesc * fd = 0x04a70138, void * buf =
0x04b2377c, int amount = 5, int flags = 0, unsigned int timeout =
0xffffffff)+0x27c (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\nsprpub\pr\src\io\prsocket.c
@ 638]
libobnspr4!pl_DefRecv(struct PRFileDesc * fd = 0x04b23a70, void * buf =
0x04b2377c, int amount = 5, int flags = 0, unsigned int timeout =
0xffffffff)+0x66 (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\nsprpub\pr\src\io\prlayer.c
@ 277]
obssl3!ssl_DefRecv(struct sslSocketStr * ss = 0x04b23598, unsigned char * buf =
0x04b2377c "", int len = 5, int flags = 0)+0x33 (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\security\nss\lib\ssl\ssldef.c
@ 91]
obssl3!ssl3_GatherData(struct sslSocketStr * ss = 0x04b23598, struct
sslGatherStr * gs = 0x04b2373c, int flags = 0)+0xf6 (FPO: [Non-Fpo]) (CONV:
cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\security\nss\lib\ssl\ssl3gthr.c
@ 87]
obssl3!ssl3_GatherCompleteHandshake(struct sslSocketStr * ss = 0x04b23598, int
flags = 0)+0x4d (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\security\nss\lib\ssl\ssl3gthr.c
@ 192]
obssl3!ssl_GatherRecord1stHandshake(struct sslSocketStr * ss = 0x04b23598)+0x62
(FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\security\nss\lib\ssl\sslcon.c
@ 1256]
obssl3!ssl_Do1stHandshake(struct sslSocketStr * ss = 0x04b23598)+0x1ef (FPO:
[Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\security\nss\lib\ssl\sslsecur.c
@ 145]
obssl3!ssl_SecureSend(struct sslSocketStr * ss = 0x04b23598, unsigned char * buf =
0x04b18504 "0*???", int len = 44, int flags = 0)+0x184 (FPO: [Non-Fpo]) (CONV:
cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\security\nss\lib\ssl\sslsecur.c
@ 1024]
obssl3!ssl_Send(struct PRFileDesc * fd = 0x04b14928, void * buf = 0x04b18504,
int len = 44, int flags = 0, unsigned int timeout = 0xffffffff)+0xa5 (FPO:
[Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\security\nss\lib\ssl\sslsock.c
@ 1222]
libobnspr4!PR_Send(struct PRFileDesc * fd = 0x04b14928, void * buf =
0x04b18504, int amount = 44, int flags = 0, unsigned int timeout =
0xffffffff)+0x1f (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\nsprpub\pr\src\io\priometh.c
@ 221]
OBNSLDAPPR32V50!prldap_write(int s = 1, void * buf = 0x04b18504, int len = 44,
struct lextiof_socket_private * socketarg = 0x04b18930)+0x32 (FPO: [Non-Fpo])
(CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\directory\c-sdk\ldap\libraries\libprldap\ldappr-io.c
@ 210]
OBNSLDAP32V50!ber_flush(struct sockbuf * sb = 0x04a6ff60, struct berelement *
ber = 0x04b183e0, int freeit = 0)+0x205 (FPO: [Non-Fpo]) (CONV: stdcall)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\directory\c-sdk\ldap\libraries\liblber\io.c
@ 417]
OBNSLDAP32V50!nsldapi_send_ber_message(struct ldap * ld = 0x04a6fd80, struct
sockbuf * sb = 0x04a6ff60, struct berelement * ber = 0x04b183e0, int freeit =
0)+0x6c (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\directory\c-sdk\ldap\libraries\libldap\request.c
@ 399]
OBNSLDAP32V50!nsldapi_send_server_request(struct ldap * ld = 0x04a6fd80, struct
berelement * ber = 0x04b183e0, int msgid = 1, struct ldapreq * parentreq = 0x00000000,
struct ldap_server * srvlist = 0x00000000, struct ldap_conn * lc = 0x04b281c0, char *
bindreqdn = 0x04b23b78 "cn=Directory Manager", int bind = 0)+0xb86 (FPO:
[Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\directory\c-sdk\ldap\libraries\libldap\request.c
@ 334]
OBNSLDAP32V50!nsldapi_send_initial_request(struct ldap * ld = 0x04a6fd80, int msgid = 1,
unsigned long msgtype = 0x60, char * dn = 0x04b27ca8 "cn=Directory Manager",
struct berelement * ber = 0x04b183e0)+0x6f (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\directory\c-sdk\ldap\libraries\libldap\request.c
@ 148]
OBNSLDAP32V50!simple_bind_nolock(struct ldap * ld = 0x04a6fd80, char * dn = 0x04b27ca8
"cn=Directory Manager", char * passwd = 0x04b27cf0 "oblixoblix", int
unlock_permitted = 1)+0x41b (FPO: [Non-Fpo]) (CONV: cdecl)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\directory\c-sdk\ldap\libraries\libldap\sbind.c
@ 150]
OBNSLDAP32V50!ldap_simple_bind(struct ldap * ld = 0x04a6fd80, char * dn = 0x04b27ca8
"cn=Directory Manager", char * passwd = 0x04b27cf0 "oblixoblix")+0x5d (FPO:
[Non-Fpo]) (CONV: stdcall)
[j:\sdk\mozilla\source\mozilla_new_home\ldapsdkcode\mozilla\directory\c-sdk\ldap\libraries\libldap\sbind.c
@ 79
Any help with this matter would be greatly appreciated.
Thanks,
Rama.
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
dev-tech-ldap mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-ldap