diff options
Diffstat (limited to 'usr/src/lib/libsldap/common/ns_connect.c')
-rw-r--r-- | usr/src/lib/libsldap/common/ns_connect.c | 11 |
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. " |