* nis/Makefile (distribute): Add nss.
* nis/nss: New file.
* nis/nss_nis/nis-initgroups.c: Implement getting the information
from the netid.byname map if the system administrator allows this.
+ * nis/Makefile (distribute): Add nss.
+ * nis/nss: New file.
* grp/initgroups.c (initgroups): Limit the initial allocation to 64
entries to not allocate too much on systems with really high limits.
-# Copyright (C) 1996, 1997, 1998, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 2001, 2004 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
headers := $(wildcard rpcsvc/*.[hx])
distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
- nisplus-parser.h nis_xdr.h
+ nisplus-parser.h nis_xdr.h nss
# These are the databases available for the nis (and perhaps later nisplus)
# service. This must be a superset of the services in nss.
--- /dev/null
+# /etc/default/nss
+# This file can theoretically contain a bunch of customization variables
+# for Name Service Switch in the GNU C library. For now there is only one
+# variable:
+#
+# NETID_AUTHORITATIVE
+# If set to TRUE the initgroups() function will accept the information
+# from the netid.byname NIS map as authoritative. This can speed up the
+# function significantly if the group.byname map is large. The content
+# of the netid.byname map is used AS IS. The system administrator has
+# to make sure it is correctly generated.
+#NETID_AUTHORITATIVE=TRUE
while (isspace (*cp))
++cp;
+ /* Recognize comment lines. */
+ if (*cp == '#')
+ continue;
+
static const char netid_authoritative[] = "NETID_AUTHORITATIVE";
if (strncmp (cp, netid_authoritative,
sizeof (netid_authoritative) - 1) != 0)