diff --git a/Makeconfig b/Makeconfig index 9ff6a902e9..ac7fa3dbb3 100644 --- a/Makeconfig +++ b/Makeconfig @@ -1353,7 +1353,7 @@ endif 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 \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ + gnulib iconv iconvdata wctype manual shadow po argp \ localedata timezone rt conform debug mathvec support \ dlfcn elf diff --git a/gshadow/Makefile b/gshadow/Makefile deleted file mode 100644 index a95524593a..0000000000 --- a/gshadow/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (C) 2009-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 -# . - -# -# Makefile for gshadow. -# -subdir := gshadow - -include ../Makeconfig - -headers = gshadow.h -routines = getsgent getsgnam sgetsgent fgetsgent putsgent \ - getsgent_r getsgnam_r sgetsgent_r fgetsgent_r - -tests = tst-gshadow tst-putsgent tst-fgetsgent_r tst-sgetsgent - -CFLAGS-getsgent_r.c += -fexceptions -CFLAGS-getsgent.c += -fexceptions -CFLAGS-fgetsgent.c += -fexceptions -CFLAGS-fgetsgent_r.c += -fexceptions $(libio-mtsafe) -CFLAGS-putsgent.c += -fexceptions $(libio-mtsafe) -CFLAGS-getsgnam.c += -fexceptions -CFLAGS-getsgnam_r.c += -fexceptions - -include ../Rules diff --git a/gshadow/Versions b/gshadow/Versions deleted file mode 100644 index 1dba0c5f19..0000000000 --- a/gshadow/Versions +++ /dev/null @@ -1,21 +0,0 @@ -libc { - GLIBC_2.10 { - # e* - endsgent; - - # f* - fgetsgent; fgetsgent_r; - - # g* - getsgent; getsgent_r; getsgnam; getsgnam_r; - - # p* - putsgent; - - # s* - setsgent; - - # s* - sgetsgent; sgetsgent_r; - } -} diff --git a/include/gshadow.h b/include/gshadow.h index 1cefcfc641..95f8f950a9 100644 --- a/include/gshadow.h +++ b/include/gshadow.h @@ -1,5 +1,5 @@ #ifndef _GSHADOW_H -#include +#include # ifndef _ISOMAC diff --git a/nss/Makefile b/nss/Makefile index baf7d9d0ab..5256b90f8b 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -24,6 +24,7 @@ include ../Makeconfig headers := \ grp.h \ + gshadow.h \ nss.h \ # headers @@ -79,6 +80,29 @@ CFLAGS-initgroups.c += -fexceptions CFLAGS-putgrent.c += -fexceptions $(libio-mtsafe) endif +# gshadow routines: +routines += \ + fgetsgent \ + fgetsgent_r \ + getsgent \ + getsgent_r \ + getsgnam \ + getsgnam_r \ + putsgent \ + sgetsgent \ + sgetsgent_r \ + # routines + +ifeq ($(have-thread-library),yes) +CFLAGS-getsgent_r.c += -fexceptions +CFLAGS-getsgent.c += -fexceptions +CFLAGS-fgetsgent.c += -fexceptions +CFLAGS-fgetsgent_r.c += -fexceptions $(libio-mtsafe) +CFLAGS-putsgent.c += -fexceptions $(libio-mtsafe) +CFLAGS-getsgnam.c += -fexceptions +CFLAGS-getsgnam_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. @@ -118,6 +142,8 @@ tests := \ test-digits-dots \ test-netdb \ testgrp \ + tst-fgetsgent_r \ + tst-gshadow \ tst-nss-getpwent \ tst-nss-hash \ tst-nss-test1 \ @@ -126,6 +152,8 @@ tests := \ tst-nss-test5 \ tst-nss-test_errno \ tst-putgrent \ + tst-putsgent \ + tst-sgetsgent \ # tests xtests = bug-erange diff --git a/nss/Versions b/nss/Versions index 5401829911..6204ac0af1 100644 --- a/nss/Versions +++ b/nss/Versions @@ -37,6 +37,25 @@ libc { # g* getgrouplist; } + GLIBC_2.10 { + # e* + endsgent; + + # f* + fgetsgent; fgetsgent_r; + + # g* + getsgent; getsgent_r; getsgnam; getsgnam_r; + + # p* + putsgent; + + # s* + setsgent; + + # s* + sgetsgent; sgetsgent_r; + } GLIBC_2.27 { } GLIBC_PRIVATE { diff --git a/gshadow/fgetsgent.c b/nss/fgetsgent.c similarity index 100% rename from gshadow/fgetsgent.c rename to nss/fgetsgent.c diff --git a/gshadow/fgetsgent_r.c b/nss/fgetsgent_r.c similarity index 100% rename from gshadow/fgetsgent_r.c rename to nss/fgetsgent_r.c diff --git a/gshadow/getsgent.c b/nss/getsgent.c similarity index 100% rename from gshadow/getsgent.c rename to nss/getsgent.c diff --git a/gshadow/getsgent_r.c b/nss/getsgent_r.c similarity index 100% rename from gshadow/getsgent_r.c rename to nss/getsgent_r.c diff --git a/gshadow/getsgnam.c b/nss/getsgnam.c similarity index 100% rename from gshadow/getsgnam.c rename to nss/getsgnam.c diff --git a/gshadow/getsgnam_r.c b/nss/getsgnam_r.c similarity index 100% rename from gshadow/getsgnam_r.c rename to nss/getsgnam_r.c diff --git a/gshadow/gshadow.h b/nss/gshadow.h similarity index 100% rename from gshadow/gshadow.h rename to nss/gshadow.h diff --git a/gshadow/putsgent.c b/nss/putsgent.c similarity index 100% rename from gshadow/putsgent.c rename to nss/putsgent.c diff --git a/gshadow/sgetsgent.c b/nss/sgetsgent.c similarity index 100% rename from gshadow/sgetsgent.c rename to nss/sgetsgent.c diff --git a/gshadow/sgetsgent_r.c b/nss/sgetsgent_r.c similarity index 100% rename from gshadow/sgetsgent_r.c rename to nss/sgetsgent_r.c diff --git a/gshadow/tst-fgetsgent_r.c b/nss/tst-fgetsgent_r.c similarity index 100% rename from gshadow/tst-fgetsgent_r.c rename to nss/tst-fgetsgent_r.c diff --git a/gshadow/tst-gshadow.c b/nss/tst-gshadow.c similarity index 100% rename from gshadow/tst-gshadow.c rename to nss/tst-gshadow.c diff --git a/gshadow/tst-putsgent.c b/nss/tst-putsgent.c similarity index 100% rename from gshadow/tst-putsgent.c rename to nss/tst-putsgent.c diff --git a/gshadow/tst-sgetsgent.c b/nss/tst-sgetsgent.c similarity index 100% rename from gshadow/tst-sgetsgent.c rename to nss/tst-sgetsgent.c