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

Reply via email to