2N/A/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ 2N/A * Copyright (c) 2004-2005, Novell, Inc. 2N/A * All rights reserved. 2N/A * Redistribution and use in source and binary forms, with or without 2N/A * modification, are permitted provided that the following conditions are met: 2N/A * * Redistributions of source code must retain the above copyright notice, 2N/A * this list of conditions and the following disclaimer. 2N/A * * Redistributions in binary form must reproduce the above copyright 2N/A * notice, this list of conditions and the following disclaimer in the 2N/A * documentation and/or other materials provided with the distribution. 2N/A * * The copyright holder's name is not used to endorse or promote products 2N/A * derived from this software without specific prior written permission. 2N/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2N/A * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2N/A * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2N/A * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 2N/A * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2N/A * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2N/A * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2N/A * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2N/A * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2N/A * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2N/A * POSSIBILITY OF SUCH DAMAGE. 2N/A * Update the server info structure. In case of an asynchronous bind, 2N/A * this function is called to check the bind status. A flag 2N/A * server_info_upate_pending is refered before calling this function. 2N/A * This function sets the server_status to either ON or OFF and 2N/A * sets the server_info_udpate_pending to OFF. 2N/A * Do not lock the mutex here. The caller should lock it 2N/A * Return ldap server handle from the pool. If the pool is exhausted return NULL. 2N/A * Do not lock the mutex, caller should lock it 2N/A * This is called incase krb5_get_ldap_handle returns NULL. 2N/A * Try getting a single connection (handle) and return the same by 2N/A * calling krb5_get_ldap_handle function. 2N/A * Do not lock the mutex here. The caller should lock it 2N/A * Put back the ldap server handle to the front of the list of handles of the 2N/A * ldap server info structure. 2N/A * Do not lock the mutex here. The caller should lock it. 2N/A * Add a new ldap server handle structure to the server info structure. 2N/A * This function name can be changed to krb5_insert_ldap_handle. 2N/A * Do not lock the mutex here. The caller should lock it 2N/A * Free up all the ldap server handles of the server info. 2N/A * This function is called when the ldap server returns LDAP_SERVER_DOWN. 2N/A /* ldap_unbind_s(ldap_server_handle); */ 2N/A /* Solaris kerberos: don't leak ldap handles */ 2N/A * wrapper function called from outside to get a handle. 2N/A * wrapper function wrapper called to get the next ldap server handle, when the current 2N/A * ldap server handle returns LDAP_SERVER_DOWN. 2N/A * wrapper function to call krb5_put_ldap_handle.