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 2009 Sun Microsystems, Inc. All rights reserved. 2N/A * Use is subject to license terms. 2N/A/* shadow attributes filters */ 2N/A * _nss_ldap_shadow2str is the data marshaling method for the shadow getXbyY 2N/A * (e.g., getspnam(), getspent()) backend processes. This method is called after 2N/A * a successful ldap search has been performed. This method will parse the 2N/A * ldap search values into the file format. 2N/A * myname:gaBXNJuz4JDmA:6445:::::: 2N/A * ACL does not allow userpassword to return or 2N/A * userpassword is not defined 2N/A * An empty password is not supported 2N/A /* mark password as not retrievable */ 2N/A * If shadow update is not enabled, ignore the following 2N/A * password aging related attributes: 2N/A * -- shadowlastchange 2N/A * When shadow update is not enabled, the LDAP naming 2N/A * service does not support the password aging fields 2N/A * defined in the shadow structure. These fields, sp_lstchg, 2N/A * sp_min, sp_max, sp_warn, sp_inact, and sp_expire, 2N/A * will be set to -1 by the front end marshaller. 2N/A /* 9 = 8 ':' + 1 '\0' */ 2N/A /* The front end marhsaller doesn't need the trailing null */ 2N/A * getbynam gets a passwd entry by uid name. This function constructs an ldap 2N/A * search filter using the name invocation parameter and the getspnam search 2N/A * filter defined. Once the filter is constructed we search for a matching 2N/A * entry and marshal the data results into struct shadow for the frontend 2N/A * process. The function _nss_ldap_shadow2ent performs the data marshaling. 2N/A * _nss_ldap_passwd_constr is where life begins. This function calls the 2N/A * generic ldap constructor function to define and build the abstract 2N/A * data types required to support ldap operations.