1*cb5caa98Sdjl /* 2*cb5caa98Sdjl * CDDL HEADER START 3*cb5caa98Sdjl * 4*cb5caa98Sdjl * The contents of this file are subject to the terms of the 5*cb5caa98Sdjl * Common Development and Distribution License (the "License"). 6*cb5caa98Sdjl * You may not use this file except in compliance with the License. 7*cb5caa98Sdjl * 8*cb5caa98Sdjl * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*cb5caa98Sdjl * or http://www.opensolaris.org/os/licensing. 10*cb5caa98Sdjl * See the License for the specific language governing permissions 11*cb5caa98Sdjl * and limitations under the License. 12*cb5caa98Sdjl * 13*cb5caa98Sdjl * When distributing Covered Code, include this CDDL HEADER in each 14*cb5caa98Sdjl * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*cb5caa98Sdjl * If applicable, add the following below this CDDL HEADER, with the 16*cb5caa98Sdjl * fields enclosed by brackets "[]" replaced with your own identifying 17*cb5caa98Sdjl * information: Portions Copyright [yyyy] [name of copyright owner] 18*cb5caa98Sdjl * 19*cb5caa98Sdjl * CDDL HEADER END 20*cb5caa98Sdjl */ 21*cb5caa98Sdjl /* 22*cb5caa98Sdjl * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 23*cb5caa98Sdjl * Use is subject to license terms. 24*cb5caa98Sdjl */ 25*cb5caa98Sdjl 26*cb5caa98Sdjl #pragma ident "%Z%%M% %I% %E% SMI" 27*cb5caa98Sdjl 28*cb5caa98Sdjl #include <nss_common.h> 29*cb5caa98Sdjl #include <nss_dbdefs.h> 30*cb5caa98Sdjl #include "nscd_common.h" 31*cb5caa98Sdjl #include "nscd_switch.h" 32*cb5caa98Sdjl 33*cb5caa98Sdjl void 34*cb5caa98Sdjl _nss_initf_passwd(nss_db_params_t *p) 35*cb5caa98Sdjl { 36*cb5caa98Sdjl p->name = NSS_DBNAM_PASSWD; 37*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PASSWD; 38*cb5caa98Sdjl } 39*cb5caa98Sdjl 40*cb5caa98Sdjl void 41*cb5caa98Sdjl _nss_initf_hosts(nss_db_params_t *p) 42*cb5caa98Sdjl { 43*cb5caa98Sdjl p->name = NSS_DBNAM_HOSTS; 44*cb5caa98Sdjl p->default_config = NSS_DEFCONF_HOSTS; 45*cb5caa98Sdjl } 46*cb5caa98Sdjl 47*cb5caa98Sdjl void 48*cb5caa98Sdjl _nss_initf_group(nss_db_params_t *p) 49*cb5caa98Sdjl { 50*cb5caa98Sdjl p->name = NSS_DBNAM_GROUP; 51*cb5caa98Sdjl p->default_config = NSS_DEFCONF_GROUP; 52*cb5caa98Sdjl } 53*cb5caa98Sdjl 54*cb5caa98Sdjl void 55*cb5caa98Sdjl _nss_initf_ipnodes(nss_db_params_t *p) 56*cb5caa98Sdjl { 57*cb5caa98Sdjl p->name = NSS_DBNAM_IPNODES; 58*cb5caa98Sdjl p->default_config = NSS_DEFCONF_IPNODES; 59*cb5caa98Sdjl } 60*cb5caa98Sdjl 61*cb5caa98Sdjl void 62*cb5caa98Sdjl _nss_initf_net(nss_db_params_t *p) 63*cb5caa98Sdjl { 64*cb5caa98Sdjl p->name = NSS_DBNAM_NETWORKS; 65*cb5caa98Sdjl p->default_config = NSS_DEFCONF_NETWORKS; 66*cb5caa98Sdjl } 67*cb5caa98Sdjl 68*cb5caa98Sdjl void 69*cb5caa98Sdjl _nss_initf_proto(nss_db_params_t *p) 70*cb5caa98Sdjl { 71*cb5caa98Sdjl p->name = NSS_DBNAM_PROTOCOLS; 72*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PROTOCOLS; 73*cb5caa98Sdjl } 74*cb5caa98Sdjl 75*cb5caa98Sdjl void 76*cb5caa98Sdjl _nss_initf_rpc(p) 77*cb5caa98Sdjl nss_db_params_t *p; 78*cb5caa98Sdjl { 79*cb5caa98Sdjl p->name = NSS_DBNAM_RPC; 80*cb5caa98Sdjl p->default_config = NSS_DEFCONF_RPC; 81*cb5caa98Sdjl } 82*cb5caa98Sdjl 83*cb5caa98Sdjl void 84*cb5caa98Sdjl _nss_initf_ethers(nss_db_params_t *p) 85*cb5caa98Sdjl { 86*cb5caa98Sdjl p->name = NSS_DBNAM_ETHERS; 87*cb5caa98Sdjl p->default_config = NSS_DEFCONF_ETHERS; 88*cb5caa98Sdjl } 89*cb5caa98Sdjl 90*cb5caa98Sdjl void 91*cb5caa98Sdjl _nss_initf_netmasks(nss_db_params_t *p) 92*cb5caa98Sdjl { 93*cb5caa98Sdjl p->name = NSS_DBNAM_NETMASKS; 94*cb5caa98Sdjl p->default_config = NSS_DEFCONF_NETMASKS; 95*cb5caa98Sdjl } 96*cb5caa98Sdjl 97*cb5caa98Sdjl void 98*cb5caa98Sdjl _nss_initf_bootparams(nss_db_params_t *p) 99*cb5caa98Sdjl { 100*cb5caa98Sdjl p->name = NSS_DBNAM_BOOTPARAMS; 101*cb5caa98Sdjl p->default_config = NSS_DEFCONF_BOOTPARAMS; 102*cb5caa98Sdjl } 103*cb5caa98Sdjl 104*cb5caa98Sdjl void 105*cb5caa98Sdjl _nss_initf_publickey(nss_db_params_t *p) 106*cb5caa98Sdjl { 107*cb5caa98Sdjl p->name = NSS_DBNAM_PUBLICKEY; 108*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PUBLICKEY; 109*cb5caa98Sdjl } 110*cb5caa98Sdjl 111*cb5caa98Sdjl void 112*cb5caa98Sdjl _nss_initf_netgroup(nss_db_params_t *p) 113*cb5caa98Sdjl { 114*cb5caa98Sdjl p->name = NSS_DBNAM_NETGROUP; 115*cb5caa98Sdjl p->default_config = NSS_DEFCONF_NETGROUP; 116*cb5caa98Sdjl } 117*cb5caa98Sdjl 118*cb5caa98Sdjl void 119*cb5caa98Sdjl _nss_initf_services(nss_db_params_t *p) 120*cb5caa98Sdjl { 121*cb5caa98Sdjl p->name = NSS_DBNAM_SERVICES; 122*cb5caa98Sdjl p->default_config = NSS_DEFCONF_SERVICES; 123*cb5caa98Sdjl } 124*cb5caa98Sdjl 125*cb5caa98Sdjl void 126*cb5caa98Sdjl _nss_initf_printers(nss_db_params_t *p) 127*cb5caa98Sdjl { 128*cb5caa98Sdjl p->name = NSS_DBNAM_PRINTERS; 129*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PRINTERS; 130*cb5caa98Sdjl } 131*cb5caa98Sdjl 132*cb5caa98Sdjl void 133*cb5caa98Sdjl _nss_initf_authattr(nss_db_params_t *p) 134*cb5caa98Sdjl { 135*cb5caa98Sdjl p->name = NSS_DBNAM_AUTHATTR; 136*cb5caa98Sdjl p->default_config = NSS_DEFCONF_AUTHATTR; 137*cb5caa98Sdjl } 138*cb5caa98Sdjl 139*cb5caa98Sdjl void 140*cb5caa98Sdjl _nss_initf_profattr(nss_db_params_t *p) 141*cb5caa98Sdjl { 142*cb5caa98Sdjl p->name = NSS_DBNAM_PROFATTR; 143*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PROFATTR; 144*cb5caa98Sdjl } 145*cb5caa98Sdjl 146*cb5caa98Sdjl void 147*cb5caa98Sdjl _nss_initf_execattr(nss_db_params_t *p) 148*cb5caa98Sdjl { 149*cb5caa98Sdjl p->name = NSS_DBNAM_EXECATTR; 150*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PROFATTR; 151*cb5caa98Sdjl p->config_name = NSS_DBNAM_PROFATTR; /* use config for "prof_attr" */ 152*cb5caa98Sdjl } 153*cb5caa98Sdjl 154*cb5caa98Sdjl void 155*cb5caa98Sdjl _nss_initf_userattr(nss_db_params_t *p) 156*cb5caa98Sdjl { 157*cb5caa98Sdjl p->name = NSS_DBNAM_USERATTR; 158*cb5caa98Sdjl p->config_name = NSS_DBNAM_PASSWD; 159*cb5caa98Sdjl p->default_config = NSS_DEFCONF_USERATTR; 160*cb5caa98Sdjl } 161*cb5caa98Sdjl 162*cb5caa98Sdjl void 163*cb5caa98Sdjl _nss_initf_project(nss_db_params_t *p) 164*cb5caa98Sdjl { 165*cb5caa98Sdjl p->name = NSS_DBNAM_PROJECT; 166*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PROJECT; 167*cb5caa98Sdjl } 168*cb5caa98Sdjl 169*cb5caa98Sdjl void 170*cb5caa98Sdjl _nss_initf_auuser(nss_db_params_t *p) 171*cb5caa98Sdjl { 172*cb5caa98Sdjl p->name = NSS_DBNAM_AUDITUSER; 173*cb5caa98Sdjl p->config_name = NSS_DBNAM_PASSWD; 174*cb5caa98Sdjl p->default_config = NSS_DEFCONF_AUDITUSER; 175*cb5caa98Sdjl } 176*cb5caa98Sdjl 177*cb5caa98Sdjl void 178*cb5caa98Sdjl _nss_initf_shadow(nss_db_params_t *p) 179*cb5caa98Sdjl { 180*cb5caa98Sdjl p->name = NSS_DBNAM_SHADOW; 181*cb5caa98Sdjl p->config_name = NSS_DBNAM_PASSWD; 182*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PASSWD; 183*cb5caa98Sdjl } 184*cb5caa98Sdjl 185*cb5caa98Sdjl void 186*cb5caa98Sdjl _nss_initf_passwd_compat(nss_db_params_t *p) 187*cb5caa98Sdjl { 188*cb5caa98Sdjl p->name = NSS_DBNAM_PASSWD; 189*cb5caa98Sdjl p->config_name = NSS_DBNAM_PASSWD_COMPAT; 190*cb5caa98Sdjl p->default_config = NSS_DEFCONF_PASSWD_COMPAT; 191*cb5caa98Sdjl } 192*cb5caa98Sdjl 193*cb5caa98Sdjl void 194*cb5caa98Sdjl _nss_initf_group_compat(nss_db_params_t *p) 195*cb5caa98Sdjl { 196*cb5caa98Sdjl p->name = NSS_DBNAM_GROUP; 197*cb5caa98Sdjl p->config_name = NSS_DBNAM_GROUP_COMPAT; 198*cb5caa98Sdjl p->default_config = NSS_DEFCONF_GROUP_COMPAT; 199*cb5caa98Sdjl } 200*cb5caa98Sdjl 201*cb5caa98Sdjl void 202*cb5caa98Sdjl _nss_initf_tsol_rh(nss_db_params_t *p) 203*cb5caa98Sdjl { 204*cb5caa98Sdjl p->name = NSS_DBNAM_TSOL_RH; 205*cb5caa98Sdjl p->default_config = NSS_DEFCONF_TSOL_RH; 206*cb5caa98Sdjl } 207*cb5caa98Sdjl 208*cb5caa98Sdjl void 209*cb5caa98Sdjl _nss_initf_tsol_tp(nss_db_params_t *p) 210*cb5caa98Sdjl { 211*cb5caa98Sdjl p->name = NSS_DBNAM_TSOL_TP; 212*cb5caa98Sdjl p->default_config = NSS_DEFCONF_TSOL_TP; 213*cb5caa98Sdjl } 214*cb5caa98Sdjl 215*cb5caa98Sdjl nss_db_initf_t nscd_nss_db_initf[] = { 216*cb5caa98Sdjl _nss_initf_passwd, 217*cb5caa98Sdjl _nss_initf_hosts, 218*cb5caa98Sdjl _nss_initf_group, 219*cb5caa98Sdjl _nss_initf_ipnodes, 220*cb5caa98Sdjl _nss_initf_net, 221*cb5caa98Sdjl _nss_initf_proto, 222*cb5caa98Sdjl _nss_initf_rpc, 223*cb5caa98Sdjl _nss_initf_ethers, 224*cb5caa98Sdjl _nss_initf_netmasks, 225*cb5caa98Sdjl _nss_initf_bootparams, 226*cb5caa98Sdjl _nss_initf_publickey, 227*cb5caa98Sdjl _nss_initf_netgroup, 228*cb5caa98Sdjl _nss_initf_services, 229*cb5caa98Sdjl _nss_initf_printers, 230*cb5caa98Sdjl _nss_initf_authattr, 231*cb5caa98Sdjl _nss_initf_profattr, 232*cb5caa98Sdjl _nss_initf_execattr, 233*cb5caa98Sdjl _nss_initf_userattr, 234*cb5caa98Sdjl _nss_initf_project, 235*cb5caa98Sdjl _nss_initf_shadow, 236*cb5caa98Sdjl _nss_initf_auuser, 237*cb5caa98Sdjl _nss_initf_tsol_rh, 238*cb5caa98Sdjl _nss_initf_tsol_tp, 239*cb5caa98Sdjl _nss_initf_passwd_compat, 240*cb5caa98Sdjl _nss_initf_group_compat, 241*cb5caa98Sdjl /* 242*cb5caa98Sdjl * no initf() for pseudo-databases: passwd, shadow, 243*cb5caa98Sdjl * audit_user, user_attr, and group (when called from 244*cb5caa98Sdjl * the compat backend) 245*cb5caa98Sdjl */ 246*cb5caa98Sdjl NULL, 247*cb5caa98Sdjl NULL, 248*cb5caa98Sdjl NULL, 249*cb5caa98Sdjl NULL, 250*cb5caa98Sdjl NULL}; 251