Print this page
re #11201 nss: need local netgroup implementation
@@ -17,10 +17,11 @@
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
+ * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
* Copyright 2014 Garrett D'Amore <garrett@damore.org>
*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*
@@ -146,10 +147,11 @@
#define NSS_BUFSIZ 1024
#define NSS_LINELEN_GROUP ((NSS_BUFSIZ) * 8)
#define NSS_LINELEN_HOSTS ((NSS_BUFSIZ) * 8)
#define NSS_LINELEN_IPNODES ((NSS_BUFSIZ) * 8)
+#define NSS_LINELEN_NETGROUP ((NSS_BUFSIZ) * 32)
#define NSS_LINELEN_NETMASKS NSS_BUFSIZ
#define NSS_LINELEN_NETWORKS NSS_BUFSIZ
#define NSS_LINELEN_PASSWD NSS_BUFSIZ
#define NSS_LINELEN_PRINTERS NSS_BUFSIZ
#define NSS_LINELEN_PROJECT ((NSS_BUFSIZ) * 4)
@@ -356,10 +358,16 @@
struct nss_innetgr_1arg groups;
/* out: */
enum nss_netgr_status status;
};
+/* For NSS_DBOP_NETGROUP_BYNAME */
+struct nss_netgrent {
+ char *netgr_name;
+ char *netgr_members;
+};
+
/*
* nss_XbyY_buf_t -- structure containing the generic arguments passwd to
* getXXXbyYYY_r() and getXXXent_r() routines. The (void *) value points to
* a struct of the appropriate type, e.g. struct passwd or struct hostent.
*
@@ -777,13 +785,15 @@
#define NSS_DBOP_PRINTERS_BYNAME (NSS_DBOP_next_iter)
/*
* The "real" backend for netgroup (__multi_innetgr, setnetgrent)
+ * Note: _BYNAME is implemented only in "files" (for now).
*/
#define NSS_DBOP_NETGROUP_IN (NSS_DBOP_next_iter)
#define NSS_DBOP_NETGROUP_SET (NSS_DBOP_NETGROUP_IN + 1)
+#define NSS_DBOP_NETGROUP_BYNAME (NSS_DBOP_NETGROUP_SET + 1)
/*
* The backend for getpublickey and getsecretkey (getkeys)
*/
#define NSS_DBOP_KEYS_BYNAME (NSS_DBOP_next_iter)