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)