summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsldap/common/ns_connect.c
diff options
context:
space:
mode:
authormichen <none@none>2008-08-04 08:31:06 -0700
committermichen <none@none>2008-08-04 08:31:06 -0700
commit29836b1990ff03408750301a4ad20cfd233444b9 (patch)
treecad4bb13c53f1cbf598d1634dcdf83840525622d /usr/src/lib/libsldap/common/ns_connect.c
parent4bb0471c90a1b41593e55b18e3045fd3666c6841 (diff)
downloadillumos-gate-29836b1990ff03408750301a4ad20cfd233444b9.tar.gz
6699250 nscd core dumps in NIS do_getent
6716362 standalone ldaplist appears to hang when all servers are down 6728407 LDAP Core file got generated on NAS Appliance while trying to enable LDAP services 6731903 peruser nscd not functional when using libumem debugging
Diffstat (limited to 'usr/src/lib/libsldap/common/ns_connect.c')
-rw-r--r--usr/src/lib/libsldap/common/ns_connect.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/usr/src/lib/libsldap/common/ns_connect.c b/usr/src/lib/libsldap/common/ns_connect.c
index e935a186b5..67cdee702f 100644
--- a/usr/src/lib/libsldap/common/ns_connect.c
+++ b/usr/src/lib/libsldap/common/ns_connect.c
@@ -176,11 +176,18 @@ __s_api_requestServer(const char *request, const char *server,
* from the local libsldap's list
*/
if (__s_api_isStandalone()) {
- if (__s_api_findRootDSE(ireq,
+ if ((ret_code = __s_api_findRootDSE(ireq,
server,
addrType,
ret,
- error) != NS_LDAP_SUCCESS) {
+ error)) != NS_LDAP_SUCCESS) {
+ /*
+ * get first server from local list only once
+ * to prevent looping
+ */
+ if (strcmp(ireq, NS_CACHE_NEW) != 0)
+ return (ret_code);
+
syslog(LOG_WARNING,
"libsldap (\"standalone\" mode): "
"can not find any available server. "