Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 30 Mar 2004 18:34:08 +0000 (18:34 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 30 Mar 2004 18:34:08 +0000 (18:34 +0000)
* nis/Makefile (distribute): Add nss.
* nis/nss: New file.

ChangeLog
nis/Makefile
nis/nss [new file with mode: 0644]
nis/nss_nis/nis-initgroups.c

index a1ea7b7..ea7f0bb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@
 
        * 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.
index df85ab2..9f429ff 100644 (file)
@@ -1,4 +1,4 @@
-# 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
@@ -23,7 +23,7 @@ subdir        := nis
 
 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.
diff --git a/nis/nss b/nis/nss
new file mode 100644 (file)
index 0000000..338ace5
--- /dev/null
+++ b/nis/nss
@@ -0,0 +1,12 @@
+# /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
index 4469e4f..e3ba0cd 100644 (file)
@@ -162,6 +162,10 @@ check_default_nss (void)
          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)