From 3f7c7ac887f9d0f5d41b3c7d698fe8df939c0a87 Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Mon, 2 Oct 2023 14:55:22 +0200 Subject: [PATCH] Move 'netgroup' routines from 'inet' into 'nss' These netgroup routines are entry points for nss functionality. This commit moves them along with netgroup.h from the 'inet' subdirectory to 'nss', and adjusts any references accordingly. Reviewed-by: Adhemerval Zanella --- include/netdb.h | 2 +- include/netgroup.h | 2 +- inet/Makefile | 4 ---- inet/Versions | 12 ++++-------- nscd/netgroupcache.c | 2 +- nss/Makefile | 11 +++++++++++ nss/Versions | 7 +++++++ {inet => nss}/getnetgrent.c | 0 {inet => nss}/getnetgrent_r.c | 0 {inet => nss}/netgroup.h | 0 10 files changed, 25 insertions(+), 15 deletions(-) rename {inet => nss}/getnetgrent.c (100%) rename {inet => nss}/getnetgrent_r.c (100%) rename {inet => nss}/netgroup.h (100%) diff --git a/include/netdb.h b/include/netdb.h index 4dcdbb8cd4..1b25837b4b 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -211,7 +211,7 @@ libanl_hidden_proto (__gai_suspend_time64) #define AI_DEFAULT (AI_V4MAPPED | AI_ADDRCONFIG) -#include +#include extern enum nss_status _nss_netgroup_parseline (char **cursor, struct __netgrent *result, diff --git a/include/netgroup.h b/include/netgroup.h index 4b2b284cdb..40a5d1a65e 100644 --- a/include/netgroup.h +++ b/include/netgroup.h @@ -1 +1 @@ -#include +#include diff --git a/inet/Makefile b/inet/Makefile index d378542549..9f39f7ff2b 100644 --- a/inet/Makefile +++ b/inet/Makefile @@ -54,8 +54,6 @@ routines := \ getnetbynm_r \ getnetent \ getnetent_r \ - getnetgrent \ - getnetgrent_r \ getproto \ getproto_r \ getprtent \ @@ -160,8 +158,6 @@ CFLAGS-getprtent_r.c += -fexceptions CFLAGS-getprtent.c += -fexceptions CFLAGS-either_ntoh.c += -fexceptions CFLAGS-either_hton.c += -fexceptions -CFLAGS-getnetgrent.c += -fexceptions -CFLAGS-getnetgrent_r.c += -fexceptions CFLAGS-in6_addr.c += $(config-cflags-wno-ignored-attributes) CFLAGS-if_index.c += $(config-cflags-wno-ignored-attributes) CFLAGS-ifaddrs.c += $(config-cflags-wno-ignored-attributes) diff --git a/inet/Versions b/inet/Versions index d937e9835c..1ffa444730 100644 --- a/inet/Versions +++ b/inet/Versions @@ -7,7 +7,7 @@ libc { rexecoptions; # e* - endaliasent; endhostent; endnetent; endnetgrent; endprotoent; endservent; + endaliasent; endhostent; endnetent; endprotoent; endservent; # e* ether_aton; ether_aton_r; ether_line; ether_ntoa; @@ -15,7 +15,7 @@ libc { # g* getdomainname; getnetbyaddr; getnetbyaddr_r; getnetbyname; - getnetbyname_r; getnetent; getnetent_r; getnetgrent; getnetgrent_r; + getnetbyname_r; getnetent; getnetent_r; getprotobyname; getprotobyname_r; getprotobynumber; getprotobynumber_r; getprotoent; getprotoent_r; getservbyname; getservbyname_r; getservbyport; @@ -36,7 +36,7 @@ libc { rcmd; rexec; rresvport; ruserok; ruserpass; # s* - setaliasent; setnetent; setnetgrent; setprotoent; setservent; + setaliasent; setnetent; setprotoent; setservent; } GLIBC_2.1 { # variables in normal name space @@ -49,7 +49,7 @@ libc { # g* getaliasbyname_r; getaliasent_r; gethostbyaddr_r; gethostbyname2_r; gethostbyname_r; gethostent_r; getnetbyaddr_r; getnetbyname_r; - getnetent_r; getnetgrent_r; getprotobyname_r; getprotobynumber_r; + getnetent_r; getprotobyname_r; getprotobynumber_r; getprotoent_r; getservbyname_r; getservbyport_r; getservent_r; @@ -81,10 +81,6 @@ libc { inet6_rth_segments; inet6_rth_getaddr; } GLIBC_PRIVATE { - # functions used in other libraries - __internal_endnetgrent; __internal_getnetgrent_r; - __internal_setnetgrent; - # Used from nscd. __inet6_scopeid_pton; __idna_to_dns_encoding; diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c index 06b7d7b6ca..b9174a138c 100644 --- a/nscd/netgroupcache.c +++ b/nscd/netgroupcache.c @@ -24,7 +24,7 @@ #include #include -#include "../inet/netgroup.h" +#include "../nss/netgroup.h" #include "nscd.h" #include "dbg_log.h" diff --git a/nss/Makefile b/nss/Makefile index d0b564a033..2a451f68d9 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -148,6 +148,17 @@ CFLAGS-gethstent.c += -fexceptions CFLAGS-gethstent_r.c += -fexceptions endif +# netgroup routines: +routines += \ + getnetgrent \ + getnetgrent_r \ + # routines + +ifeq ($(have-thread-library),yes) +CFLAGS-getnetgrent.c += -fexceptions +CFLAGS-getnetgrent_r.c += -fexceptions +endif + # pwd routines: routines += \ fgetpwent \ diff --git a/nss/Versions b/nss/Versions index 74ba4470d8..4ddc018012 100644 --- a/nss/Versions +++ b/nss/Versions @@ -8,6 +8,7 @@ libc { # e* endgrent; + endnetgrent; endpwent; endspent; ether_hostton; ether_ntohost; @@ -23,6 +24,7 @@ libc { getgroups; gethostbyaddr; gethostbyaddr_r; gethostbyname; gethostbyname2; gethostbyname2_r; gethostbyname_r; gethostent; gethostent_r; + getnetgrent; getnetgrent_r; getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r; getspent; getspent_r; getspnam; getspnam_r; @@ -38,6 +40,7 @@ libc { # s* setgrent; + setnetgrent; setpwent; setspent; sgetspent; sgetspent_r; @@ -52,6 +55,7 @@ libc { GLIBC_2.1.2 { # g* getgrent_r; getgrgid_r; getgrnam_r; + getnetgrent_r; getpwent_r; getpwuid_r; getpwnam_r; getspent_r; getspnam_r; } @@ -181,6 +185,9 @@ libc { _nss_files_init; __merge_grp; __copy_grp; + + __internal_endnetgrent; __internal_getnetgrent_r; + __internal_setnetgrent; } } diff --git a/inet/getnetgrent.c b/nss/getnetgrent.c similarity index 100% rename from inet/getnetgrent.c rename to nss/getnetgrent.c diff --git a/inet/getnetgrent_r.c b/nss/getnetgrent_r.c similarity index 100% rename from inet/getnetgrent_r.c rename to nss/getnetgrent_r.c diff --git a/inet/netgroup.h b/nss/netgroup.h similarity index 100% rename from inet/netgroup.h rename to nss/netgroup.h