about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makeconfig2
-rw-r--r--include/pwd.h2
-rw-r--r--nss/Makefile24
-rw-r--r--nss/Versions8
-rw-r--r--nss/fgetpwent.c (renamed from pwd/fgetpwent.c)0
-rw-r--r--nss/fgetpwent_r.c (renamed from pwd/fgetpwent_r.c)0
-rw-r--r--nss/getpw.c (renamed from pwd/getpw.c)0
-rw-r--r--nss/getpwent.c (renamed from pwd/getpwent.c)0
-rw-r--r--nss/getpwent_r.c (renamed from pwd/getpwent_r.c)0
-rw-r--r--nss/getpwnam.c (renamed from pwd/getpwnam.c)0
-rw-r--r--nss/getpwnam_r.c (renamed from pwd/getpwnam_r.c)0
-rw-r--r--nss/getpwuid.c (renamed from pwd/getpwuid.c)0
-rw-r--r--nss/getpwuid_r.c (renamed from pwd/getpwuid_r.c)0
-rw-r--r--nss/putpwent.c (renamed from pwd/putpwent.c)0
-rw-r--r--nss/pwd.h (renamed from pwd/pwd.h)0
-rw-r--r--nss/tst-getpw.c (renamed from pwd/tst-getpw.c)0
-rw-r--r--nss/tst-putpwent.c (renamed from pwd/tst-putpwent.c)0
-rw-r--r--pwd/Makefile42
-rw-r--r--pwd/Versions19
19 files changed, 34 insertions, 63 deletions
diff --git a/Makeconfig b/Makeconfig
index ac7fa3dbb3..e5badddbc4 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1352,7 +1352,7 @@ endif
 # dependencies and generate sorted-subdirs dynamically.
 all-subdirs = csu assert ctype locale intl catgets math setjmp signal	    \
 	      stdlib stdio-common libio malloc string wcsmbs time dirent    \
-	      pwd posix io termios resource misc socket sysvipc gmon        \
+	      posix io termios resource misc socket sysvipc gmon            \
 	      gnulib iconv iconvdata wctype manual shadow po argp           \
 	      localedata timezone rt conform debug mathvec support	    \
 	      dlfcn elf
diff --git a/include/pwd.h b/include/pwd.h
index f8975d4957..c4ca8bab33 100644
--- a/include/pwd.h
+++ b/include/pwd.h
@@ -1,5 +1,5 @@
 #ifndef _PWD_H
-#include <pwd/pwd.h>
+#include <nss/pwd.h>
 
 #ifndef _ISOMAC
 /* Now define the internal interfaces.  */
diff --git a/nss/Makefile b/nss/Makefile
index 5256b90f8b..28648ea884 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -26,6 +26,7 @@ headers := \
   grp.h \
   gshadow.h \
   nss.h \
+  pwd.h \
   # headers
 
 # This is the trivial part which goes into libc itself.
@@ -103,6 +104,27 @@ CFLAGS-getsgnam.c += -fexceptions
 CFLAGS-getsgnam_r.c += -fexceptions
 endif
 
+# pwd routines:
+routines += \
+  fgetpwent \
+  fgetpwent_r \
+  getpw \
+  getpwent \
+  getpwent_r \
+  getpwnam \
+  getpwnam_r \
+  getpwuid \
+  getpwuid_r \
+  putpwent \
+  # routines
+
+ifeq ($(have-thread-library),yes)
+CFLAGS-fgetpwent_r.c += $(libio-mtsafe)
+CFLAGS-getpw.c += -fexceptions
+CFLAGS-getpwent.c += -fexceptions
+CFLAGS-getpwent_r.c += -fexceptions
+endif
+
 # These are the databases that go through nss dispatch.
 # Caution: if you add a database here, you must add its real name
 # in databases.def, too.
@@ -143,6 +165,7 @@ tests := \
   test-netdb \
   testgrp \
   tst-fgetsgent_r \
+  tst-getpw \
   tst-gshadow \
   tst-nss-getpwent \
   tst-nss-hash \
@@ -152,6 +175,7 @@ tests := \
   tst-nss-test5 \
   tst-nss-test_errno \
   tst-putgrent \
+  tst-putpwent \
   tst-putsgent \
   tst-sgetsgent \
   # tests
diff --git a/nss/Versions b/nss/Versions
index 6204ac0af1..58ca73c9df 100644
--- a/nss/Versions
+++ b/nss/Versions
@@ -8,19 +8,26 @@ libc {
 
     # e*
     endgrent;
+    endpwent;
 
     # f*
     fgetgrent; fgetgrent_r;
+    fgetpwent; fgetpwent_r;
 
     # g*
     getgrent; getgrent_r; getgrgid; getgrgid_r; getgrnam; getgrnam_r;
     getgroups;
+    getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
 
     # i*
     initgroups;
 
+    # p*
+    putpwent;
+
     # s*
     setgrent;
+    setpwent;
   }
   GLIBC_2.1 {
     # p*
@@ -29,6 +36,7 @@ libc {
   GLIBC_2.1.2 {
     # g*
     getgrent_r; getgrgid_r; getgrnam_r;
+    getpwent_r; getpwuid_r; getpwnam_r;
   }
   GLIBC_2.2.2 {
     __nss_hostname_digits_dots;
diff --git a/pwd/fgetpwent.c b/nss/fgetpwent.c
index b7864d263a..b7864d263a 100644
--- a/pwd/fgetpwent.c
+++ b/nss/fgetpwent.c
diff --git a/pwd/fgetpwent_r.c b/nss/fgetpwent_r.c
index 5427447a36..5427447a36 100644
--- a/pwd/fgetpwent_r.c
+++ b/nss/fgetpwent_r.c
diff --git a/pwd/getpw.c b/nss/getpw.c
index cf747374b8..cf747374b8 100644
--- a/pwd/getpw.c
+++ b/nss/getpw.c
diff --git a/pwd/getpwent.c b/nss/getpwent.c
index eb65bdc73b..eb65bdc73b 100644
--- a/pwd/getpwent.c
+++ b/nss/getpwent.c
diff --git a/pwd/getpwent_r.c b/nss/getpwent_r.c
index f26bf89ddc..f26bf89ddc 100644
--- a/pwd/getpwent_r.c
+++ b/nss/getpwent_r.c
diff --git a/pwd/getpwnam.c b/nss/getpwnam.c
index 9a28d53670..9a28d53670 100644
--- a/pwd/getpwnam.c
+++ b/nss/getpwnam.c
diff --git a/pwd/getpwnam_r.c b/nss/getpwnam_r.c
index e91067080c..e91067080c 100644
--- a/pwd/getpwnam_r.c
+++ b/nss/getpwnam_r.c
diff --git a/pwd/getpwuid.c b/nss/getpwuid.c
index d92fb22a0e..d92fb22a0e 100644
--- a/pwd/getpwuid.c
+++ b/nss/getpwuid.c
diff --git a/pwd/getpwuid_r.c b/nss/getpwuid_r.c
index 763fad5191..763fad5191 100644
--- a/pwd/getpwuid_r.c
+++ b/nss/getpwuid_r.c
diff --git a/pwd/putpwent.c b/nss/putpwent.c
index 335e20ad86..335e20ad86 100644
--- a/pwd/putpwent.c
+++ b/nss/putpwent.c
diff --git a/pwd/pwd.h b/nss/pwd.h
index d96f153da8..d96f153da8 100644
--- a/pwd/pwd.h
+++ b/nss/pwd.h
diff --git a/pwd/tst-getpw.c b/nss/tst-getpw.c
index 30d4740c6c..30d4740c6c 100644
--- a/pwd/tst-getpw.c
+++ b/nss/tst-getpw.c
diff --git a/pwd/tst-putpwent.c b/nss/tst-putpwent.c
index 3014e0a218..3014e0a218 100644
--- a/pwd/tst-putpwent.c
+++ b/nss/tst-putpwent.c
diff --git a/pwd/Makefile b/pwd/Makefile
deleted file mode 100644
index d85842af3e..0000000000
--- a/pwd/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (C) 1991-2023 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
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <https://www.gnu.org/licenses/>.
-
-#
-#	Sub-makefile for pwd portion of the library.
-#
-subdir	:= pwd
-
-include ../Makeconfig
-
-headers := pwd.h
-
-routines := fgetpwent getpw putpwent \
-	    getpwent getpwnam getpwuid \
-	    getpwent_r getpwnam_r getpwuid_r fgetpwent_r
-
-tests := tst-getpw tst-putpwent
-
-include ../Rules
-
-ifeq ($(have-thread-library),yes)
-
-CFLAGS-getpwent_r.c += -fexceptions
-CFLAGS-getpwent.c += -fexceptions
-CFLAGS-getpw.c += -fexceptions
-CFLAGS-fgetpwent_r.c += $(libio-mtsafe)
-
-endif
diff --git a/pwd/Versions b/pwd/Versions
deleted file mode 100644
index b56970019a..0000000000
--- a/pwd/Versions
+++ /dev/null
@@ -1,19 +0,0 @@
-libc {
-  GLIBC_2.0 {
-    # e*
-    endpwent;
-
-    # f*
-    fgetpwent; fgetpwent_r;
-
-    # g*
-    getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
-
-    # p*
-    putpwent; setpwent;
-  }
-  GLIBC_2.1.2 {
-    # g*
-    getpwent_r; getpwuid_r; getpwnam_r;
-  }
-}