2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 2N/A * No need to do strdup(ret), the data is always 2N/A * available in 'defaults' and libldap won't 2N/A * free it either. strdup(ret) causes memory 2N/A * Honor the "force_loopback" property if set 2N/A * See what info we have in SMF 2N/A * If we need encryption, set it up globally. 2N/A "ldap_set_option(CERT) failed: %s\n",
2N/A * Authentication needs some thinking about admin user 2N/A /* 5 = strlen("dn: ") + 1 */ 2N/A * Figure out what we want to do if we get to SASL bind 2N/A * Get a handle to an LDAP connection to host:port 2N/A * Start TLS negotiation now if we want it. 2N/A * Try simple bind first, nice for anonymous access. 2N/A * Try SASL bind next. 2N/A "ldap_sasl_interactive_bind_s() failed: %s\n",
2N/A for (i = 0; i < (
num -
1); i++) {