1N/A * The contents of this file are subject to the terms of the 1N/A * Common Development and Distribution License (the "License"). 1N/A * You may not use this file except in compliance with the License. 1N/A * See the License for the specific language governing permissions 1N/A * and limitations under the License. 1N/A * When distributing Covered Code, include this CDDL HEADER in each 1N/A * If applicable, add the following below this CDDL HEADER, with the 1N/A * fields enclosed by brackets "[]" replaced with your own identifying 1N/A * information: Portions Copyright [yyyy] [name of copyright owner] 1N/A * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 1N/A {
"publickey",
"uidnumber",
"niskeyobject",
"passwd"},
1N/A {
"publickey",
"cn",
"niskeyobject",
"host"},
1N/A {
"bootparams",
"cn",
"bootableDevice",
NULL},
1N/A {
"ethers",
"cn",
"ieee802Device",
NULL},
1N/A {
"group",
"cn",
"posixgroup",
NULL},
1N/A {
"netgroup",
"cn",
"nisnetgroup",
NULL},
1N/A {
"netmasks",
"ipnetworknumber",
"ipnetwork",
NULL},
1N/A {
"networks",
"ipnetworknumber",
"ipnetwork",
NULL},
1N/A {
"passwd",
"uid",
"posixaccount",
NULL},
1N/A {
"protocols",
"cn",
"ipprotocol",
NULL},
1N/A {
"services",
"cn",
"ipservice",
NULL},
1N/A {
"aliases",
"cn",
"mailGroup",
NULL},
1N/A {
"project",
"SolarisProjectID",
"SolarisProject",
NULL},
1N/A {
"printers",
"printer-uri",
"sunPrinter",
NULL},
1N/A {
"shadow",
"uid",
"shadowaccount",
NULL},
1N/A {
"auth_attr",
"cn",
"SolarisAuthAttr",
NULL},
1N/A {
"prof_attr",
"cn",
"SolarisProfAttr",
NULL},
1N/A {
"exec_attr",
"cn",
"SolarisExecAttr",
NULL},
1N/A {
"user_attr",
"uid",
"SolarisUserAttr",
NULL},
1N/A {
"tnrhtp",
"ipTnetTemplateName",
"ipTnetTemplate",
NULL},
1N/A {
"tnrhdb",
"ipTnetNumber",
"ipTnetHost",
NULL},
1N/A "(&(objectclass=SolarisProfAttr)(!(SolarisKernelSecurityPolicy=*))%s)" 1N/A "(&(objectclass=ipTnetTemplate)(!(objectclass=ipTnetHost))%s)" 1N/A/* Malloc and print error message in case of failure */ 1N/A * Allocate memory for filter and user data. Set 1N/A * error to 1 if either of the mallocs fail. 1N/A * In addition, free the memory allocated for filter, 1N/A * if memory allocation for user data fails. 1N/A gettext(
"============= ================= =============\n"));
1N/A /* first dump auto_* and automount which are not in maplist[] */ 1N/A "automountMapName",
"automountMap");
1N/A /* skip printing shadow */ 1N/A * do not print tnrhdb and tnrhtp if system is 1N/A * not configured with Trusted Extensions 1N/A * set_key routine to handle user specified keys. 1N/A * A key can be of the form: attribute=value or value. 1N/A * A filter is constructed from a set of keys specified in 1N/A * the form (|(key1)(key2)...(keyn)) 1N/A * It returns: NULL if no keys are defined or 1N/A * the keyfilter as constructed above. 1N/A if (!
key || !
key[0])
/* should never contain NULL string */ 1N/A /* Allocate memory for '(|)' */ 1N/A /* make enough room for (%s) */ 1N/A /* make enough room for (%s=%s) */ 1N/A /* We allocated memory for this earlier */ 1N/A * A special set_key routine for to handle public keys. 1N/A * If the key starts with a digiti, view it as a user id. 1N/A * Otherwise, view it as a hostname. 1N/A * It returns: -1 no keys defined, 0 key defined but none for type 1N/A * specified, n>0 number of matches found. 1N/A if (!
key || !
key[0]) {
/* should never contain NULL string */ 1N/A /* make enough room for (%s) */ 1N/A /* user type keys */ 1N/A /* hosts type keys */ 1N/A /* make enough room for (%s=%s) */ 1N/A * publickey specific set_filter 1N/A * type 0 -> check for user publickeys 1N/A * type 1 -> check for hosts publickeys 1N/A "(&(objectclass=%s)%s)",
1N/A/* generic set_filter, this function is not thread safe */ 1N/A * Check for version of the profile the client is using 1N/A * For version 1 profiles we do use nisMap and nisObject schema 1N/A * for backward compatibility with Solaris 8 clients. 1N/A * For version 2 profiles we use automountMap and automount as 1N/A * default attributes (which can then be overridden in libsldap 1N/A * if schema mapping is configured in the profile). 1N/A * If profile version is not available, use version 2 as default. 1N/A /* should print a message here: using v2 defaults */ 1N/A * starts at 2 to skip over publickey databases. 1N/A * These databases are handled separately. 1N/A /* special cases for automounter and other services */ 1N/A /* auto_* services */ 1N/A "(&(objectclass=automount)%s)",
1N/A "(&(objectclass=nisObject)%s)",
1N/A /* automount service */ 1N/A "(&(objectclass=automountMap)%s)",
1N/A "objectclass=automountMap",
1N/A "(&(objectclass=nisMap)%s)",
1N/A /* other services (catch all) */