[6/7] nss_files: Move into libc
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
Commit Message
This is the first step towards fixing bug 27959.
---
include/libc-symbols.h | 23 -----------------------
include/netdb.h | 2 +-
include/nss_files.h | 10 +++++-----
nss/Makefile | 11 +++--------
nss/Versions | 13 +++++++++----
nss/nss_files/files-alias.c | 10 +++++-----
nss/nss_files/files-hosts.c | 7 ++++---
nss/nss_files/files-netgrp.c | 6 +++---
nss/nss_files/files-network.c | 5 ++---
nss/nss_files/files-parse.c | 8 +-------
nss/nss_readline.c | 4 ++--
11 files changed, 35 insertions(+), 64 deletions(-)
Comments
On 29/06/2021 07:11, Florian Weimer via Libc-alpha wrote:
> This is the first step towards fixing bug 27959.
LGTM, only a minor nit below.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> include/libc-symbols.h | 23 -----------------------
> include/netdb.h | 2 +-
> include/nss_files.h | 10 +++++-----
> nss/Makefile | 11 +++--------
> nss/Versions | 13 +++++++++----
> nss/nss_files/files-alias.c | 10 +++++-----
> nss/nss_files/files-hosts.c | 7 ++++---
> nss/nss_files/files-netgrp.c | 6 +++---
> nss/nss_files/files-network.c | 5 ++---
> nss/nss_files/files-parse.c | 8 +-------
> nss/nss_readline.c | 4 ++--
> 11 files changed, 35 insertions(+), 64 deletions(-)
>
> diff --git a/include/libc-symbols.h b/include/libc-symbols.h
> index 127ea656c2..d41ecf4384 100644
> --- a/include/libc-symbols.h
> +++ b/include/libc-symbols.h
> @@ -798,29 +798,6 @@ for linking")
> # define libdl_hidden_data_ver(local, name)
> #endif
>
> -#if IS_IN (libnss_files)
> -# define libnss_files_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
> -# define libnss_files_hidden_tls_proto(name, attrs...) \
> - hidden_tls_proto (name, ##attrs)
> -# define libnss_files_hidden_def(name) hidden_def (name)
> -# define libnss_files_hidden_weak(name) hidden_weak (name)
> -# define libnss_files_hidden_ver(local, name) hidden_ver (local, name)
> -# define libnss_files_hidden_data_def(name) hidden_data_def (name)
> -# define libnss_files_hidden_tls_def(name) hidden_tls_def (name)
> -# define libnss_files_hidden_data_weak(name) hidden_data_weak (name)
> -# define libnss_files_hidden_data_ver(local, name) hidden_data_ver(local, name)
> -#else
> -# define libnss_files_hidden_proto(name, attrs...)
> -# define libnss_files_hidden_tls_proto(name, attrs...)
> -# define libnss_files_hidden_def(name)
> -# define libnss_files_hidden_weak(name)
> -# define libnss_files_hidden_ver(local, name)
> -# define libnss_files_hidden_data_def(name)
> -# define libnss_files_hidden_tls_def(name)
> -# define libnss_files_hidden_data_weak(name)
> -# define libnss_files_hidden_data_ver(local, name)
> -#endif
> -
> #if IS_IN (libnsl)
> # define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
> # define libnsl_hidden_tls_proto(name, attrs...) \
Ok.
> diff --git a/include/netdb.h b/include/netdb.h
> index 645b85dc62..76edd65f9a 100644
> --- a/include/netdb.h
> +++ b/include/netdb.h
> @@ -213,7 +213,7 @@ extern enum nss_status _nss_netgroup_parseline (char **cursor,
> struct __netgrent *result,
> char *buffer, size_t buflen,
> int *errnop);
> -libnss_files_hidden_proto (_nss_netgroup_parseline)
> +libc_hidden_proto (_nss_netgroup_parseline)
>
> #define DECLARE_NSS_PROTOTYPES(service) \
> extern enum nss_status _nss_ ## service ## _setprotoent (int); \
Ok.
> diff --git a/include/nss_files.h b/include/nss_files.h
> index 7bf1951496..dd0081a0f1 100644
> --- a/include/nss_files.h
> +++ b/include/nss_files.h
> @@ -124,13 +124,13 @@ extern nss_files_parse_line _nss_files_parse_servent;
> extern nss_files_parse_line _nss_files_parse_sgent;
> extern nss_files_parse_line _nss_files_parse_spent;
>
> -libnss_files_hidden_proto (_nss_files_parse_etherent)
> +libc_hidden_proto (_nss_files_parse_etherent)
> libc_hidden_proto (_nss_files_parse_grent)
> -libnss_files_hidden_proto (_nss_files_parse_netent)
> -libnss_files_hidden_proto (_nss_files_parse_protoent)
> +libc_hidden_proto (_nss_files_parse_netent)
> +libc_hidden_proto (_nss_files_parse_protoent)
> libc_hidden_proto (_nss_files_parse_pwent)
> -libnss_files_hidden_proto (_nss_files_parse_rpcent)
> -libnss_files_hidden_proto (_nss_files_parse_servent)
> +libc_hidden_proto (_nss_files_parse_rpcent)
> +libc_hidden_proto (_nss_files_parse_servent)
> libc_hidden_proto (_nss_files_parse_sgent)
> libc_hidden_proto (_nss_files_parse_spent)
>
Ok.
> diff --git a/nss/Makefile b/nss/Makefile
> index 271a0e7716..8905a5fd9b 100644
> --- a/nss/Makefile
> +++ b/nss/Makefile
> @@ -98,9 +98,9 @@ subdir-dirs = $(services:%=nss_%)
> vpath %.c $(subdir-dirs) ../locale/programs ../intl
>
>
> -libnss_files-routines := $(addprefix files-, \
> - $(filter-out key, $(databases))) \
> - files-initgroups files-init
> +routines += \
> + $(addprefix files-, $(filter-out key, $(databases))) \
> + files-initgroups files-init
>
One entry per line.
> libnss_db-dbs := $(addprefix db-,\
> $(filter-out hosts network key alias,\
> @@ -116,12 +116,9 @@ libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) \
> install-others += $(inst_vardbdir)/Makefile
>
> # Build static module into libc if requested
> -libnss_files-inhibit-o = $(filter-out .os,$(object-suffixes))
> libnss_db-inhibit-o = $(filter-out .os,$(object-suffixes))
> libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes))
> ifeq ($(build-static-nss),yes)
> -routines += $(libnss_files-routines)
> -static-only-routines += $(libnss_files-routines)
> tests-static += tst-nss-static
> endif
> extra-test-objs += nss_test1.os nss_test2.os
Ok.
> @@ -138,8 +135,6 @@ libnss-libc = $(common-objpfx)linkobj/libc.so
> # for new links:
> $(services:%=$(objpfx)libnss_%.so): libc-for-link = $(libnss-libc)
>
> -$(objpfx)libnss_db.so: $(objpfx)libnss_files.so
> -
> $(libnss_db-dbs:%=$(objpfx)%.c): $(objpfx)db-%.c: nss_files/files-%.c
> @rm -f $@.new
> (echo '#define EXTERN_PARSER';\
Ok.
> diff --git a/nss/Versions b/nss/Versions
> index 7b040b4786..e551524aa9 100644
> --- a/nss/Versions
> +++ b/nss/Versions
> @@ -23,11 +23,8 @@ libc {
> __nss_files_data_open;
> __nss_files_data_put;
> __nss_files_data_setent;
> - }
> -}
>
> -libnss_files {
> - GLIBC_PRIVATE {
> + # Routines formerly in libnss_files.so.2.
> _nss_files_setaliasent;
> _nss_files_endaliasent;
> _nss_files_getaliasbyname_r;
Ok.
> @@ -113,6 +110,14 @@ libnss_files {
> }
> }
>
> +libnss_files {
> + GLIBC_PRIVATE {
> + # Keep a version node (with a synthesized local: * directive) so that
> + # __bss_* symbols are hidden on targets that need it.
> + __libnss_files_version_placeholder;
> + }
> +}
> +
> libnss_db {
> GLIBC_PRIVATE {
> _nss_db_setetherent;
Ok.
> diff --git a/nss/nss_files/files-alias.c b/nss/nss_files/files-alias.c
> index 9624b6224c..75d91e0b0a 100644
> --- a/nss/nss_files/files-alias.c
> +++ b/nss/nss_files/files-alias.c
> @@ -98,7 +98,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result,
> /* Read the first line. It must contain the alias name and
> possibly some alias names. */
> first_unused[room_left - 1] = '\xff';
> - line = fgets_unlocked (first_unused, room_left, stream);
> + line = __fgets_unlocked (first_unused, room_left, stream);
> if (line == NULL)
> /* Nothing to read. */
> break;
Ok.
> @@ -187,7 +187,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result,
> /* If the file does not exist we simply ignore
> the statement. */
> if (listfile != NULL
> - && (old_line = strdup (line)) != NULL)
> + && (old_line = __strdup (line)) != NULL)
> {
> while (! feof_unlocked (listfile))
> {
> @@ -199,8 +199,8 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result,
> }
>
> first_unused[room_left - 1] = '\xff';
> - line = fgets_unlocked (first_unused, room_left,
> - listfile);
> + line = __fgets_unlocked (first_unused, room_left,
> + listfile);
> if (line == NULL)
> break;
> if (first_unused[room_left - 1] != '\xff')
> @@ -302,7 +302,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result,
> /* The just read character is a white space and so
> can be ignored. */
> first_unused[room_left - 1] = '\xff';
> - line = fgets_unlocked (first_unused, room_left, stream);
> + line = __fgets_unlocked (first_unused, room_left, stream);
> if (line == NULL)
> {
> /* Continuation line without any data and
Ok.
> diff --git a/nss/nss_files/files-hosts.c b/nss/nss_files/files-hosts.c
> index 1dd51d1db9..894b85d501 100644
> --- a/nss/nss_files/files-hosts.c
> +++ b/nss/nss_files/files-hosts.c
> @@ -57,12 +57,13 @@ LINE_PARSER
> STRING_FIELD (addr, isspace, 1);
>
> /* Parse address. */
> - if (inet_pton (af == AF_UNSPEC ? AF_INET : af, addr, entdata->host_addr)
> + if (__inet_pton (af == AF_UNSPEC ? AF_INET : af, addr, entdata->host_addr)
> > 0)
> af = af == AF_UNSPEC ? AF_INET : af;
> else
> {
> - if (af == AF_INET && inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
> + if (af == AF_INET
> + && __inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
> {
> if (IN6_IS_ADDR_V4MAPPED (entdata->host_addr))
> memcpy (entdata->host_addr, entdata->host_addr + 12, INADDRSZ);
> @@ -76,7 +77,7 @@ LINE_PARSER
> return 0;
> }
> else if (af == AF_UNSPEC
> - && inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
> + && __inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
> af = AF_INET6;
> else
> /* Illegal address: ignore line. */
Ok.
> diff --git a/nss/nss_files/files-netgrp.c b/nss/nss_files/files-netgrp.c
> index f8c821c2f0..be9c72accf 100644
> --- a/nss/nss_files/files-netgrp.c
> +++ b/nss/nss_files/files-netgrp.c
> @@ -32,7 +32,7 @@ NSS_DECLARE_MODULE_FUNCTIONS (files)
>
> #define DATAFILE "/etc/netgroup"
>
> -libnss_files_hidden_proto (_nss_files_endnetgrent)
> +libc_hidden_proto (_nss_files_endnetgrent)
>
> #define EXPAND(needed) \
> do \
> @@ -164,7 +164,7 @@ _nss_files_endnetgrent (struct __netgrent *result)
> result->cursor = NULL;
> return NSS_STATUS_SUCCESS;
> }
> -libnss_files_hidden_def (_nss_files_endnetgrent)
> +libc_hidden_def (_nss_files_endnetgrent)
>
> static char *
> strip_whitespace (char *str)
> @@ -279,7 +279,7 @@ _nss_netgroup_parseline (char **cursor, struct __netgrent *result,
>
> return status;
> }
> -libnss_files_hidden_def (_nss_netgroup_parseline)
> +libc_hidden_def (_nss_netgroup_parseline)
>
>
> enum nss_status
Ok.
> diff --git a/nss/nss_files/files-network.c b/nss/nss_files/files-network.c
> index 9cd7d7dc79..75c9f8a57e 100644
> --- a/nss/nss_files/files-network.c
> +++ b/nss/nss_files/files-network.c
> @@ -21,8 +21,7 @@
> #include <netdb.h>
> #include <stdint.h>
> #include <nss.h>
> -
> -NSS_DECLARE_MODULE_FUNCTIONS (files)
> +#include <nss_files.h>
>
> #define ENTNAME netent
> #define DATABASE "networks"
> @@ -71,7 +70,7 @@ LINE_PARSER
> *cp = '\0';
> addr = newp;
> }
> - result->n_net = inet_network (addr);
> + result->n_net = __inet_network (addr);
> result->n_addrtype = AF_INET;
>
> })
Ok.
> diff --git a/nss/nss_files/files-parse.c b/nss/nss_files/files-parse.c
> index 68c51c7cbf..997eac573a 100644
> --- a/nss/nss_files/files-parse.c
> +++ b/nss/nss_files/files-parse.c
> @@ -74,13 +74,7 @@ struct parser_data
> /* Export the line parser function so it can be used in nss_db. */
> # define parser_stclass /* Global */
> # define parse_line CONCAT(_nss_files_parse_,ENTNAME)
> -# if IS_IN (libc)
> -/* We are defining one of the functions that actually lives in libc
> - because it is used to implement fget*ent and suchlike. */
> -# define nss_files_parse_hidden_def(name) libc_hidden_def (name)
> -# else
> -# define nss_files_parse_hidden_def(name) libnss_files_hidden_def (name)
> -# endif
> +# define nss_files_parse_hidden_def(name) libc_hidden_def (name)
> #endif
>
>
> diff --git a/nss/nss_readline.c b/nss/nss_readline.c
Ok.
> index 4b3ecbccc8..a2f397a11f 100644
> --- a/nss/nss_readline.c
> +++ b/nss/nss_readline.c
> @@ -40,7 +40,7 @@ __nss_readline (FILE *fp, char *buf, size_t len, off64_t *poffset)
> *poffset = __ftello64 (fp);
>
> buf[len - 1] = '\xff'; /* Marker to recognize truncation. */
> - if (fgets_unlocked (buf, len, fp) == NULL)
> + if (__fgets_unlocked (buf, len, fp) == NULL)
> {
> if (feof_unlocked (fp))
> {
> @@ -61,7 +61,7 @@ __nss_readline (FILE *fp, char *buf, size_t len, off64_t *poffset)
> line on the next call. */
> return __nss_readline_seek (fp, *poffset);
>
> - /* fgets_unlocked succeeded. */
> + /* __fgets_unlocked succeeded. */
>
> /* Remove leading whitespace. */
> char *p = buf;
>
Ok.
@@ -798,29 +798,6 @@ for linking")
# define libdl_hidden_data_ver(local, name)
#endif
-#if IS_IN (libnss_files)
-# define libnss_files_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
-# define libnss_files_hidden_tls_proto(name, attrs...) \
- hidden_tls_proto (name, ##attrs)
-# define libnss_files_hidden_def(name) hidden_def (name)
-# define libnss_files_hidden_weak(name) hidden_weak (name)
-# define libnss_files_hidden_ver(local, name) hidden_ver (local, name)
-# define libnss_files_hidden_data_def(name) hidden_data_def (name)
-# define libnss_files_hidden_tls_def(name) hidden_tls_def (name)
-# define libnss_files_hidden_data_weak(name) hidden_data_weak (name)
-# define libnss_files_hidden_data_ver(local, name) hidden_data_ver(local, name)
-#else
-# define libnss_files_hidden_proto(name, attrs...)
-# define libnss_files_hidden_tls_proto(name, attrs...)
-# define libnss_files_hidden_def(name)
-# define libnss_files_hidden_weak(name)
-# define libnss_files_hidden_ver(local, name)
-# define libnss_files_hidden_data_def(name)
-# define libnss_files_hidden_tls_def(name)
-# define libnss_files_hidden_data_weak(name)
-# define libnss_files_hidden_data_ver(local, name)
-#endif
-
#if IS_IN (libnsl)
# define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libnsl_hidden_tls_proto(name, attrs...) \
@@ -213,7 +213,7 @@ extern enum nss_status _nss_netgroup_parseline (char **cursor,
struct __netgrent *result,
char *buffer, size_t buflen,
int *errnop);
-libnss_files_hidden_proto (_nss_netgroup_parseline)
+libc_hidden_proto (_nss_netgroup_parseline)
#define DECLARE_NSS_PROTOTYPES(service) \
extern enum nss_status _nss_ ## service ## _setprotoent (int); \
@@ -124,13 +124,13 @@ extern nss_files_parse_line _nss_files_parse_servent;
extern nss_files_parse_line _nss_files_parse_sgent;
extern nss_files_parse_line _nss_files_parse_spent;
-libnss_files_hidden_proto (_nss_files_parse_etherent)
+libc_hidden_proto (_nss_files_parse_etherent)
libc_hidden_proto (_nss_files_parse_grent)
-libnss_files_hidden_proto (_nss_files_parse_netent)
-libnss_files_hidden_proto (_nss_files_parse_protoent)
+libc_hidden_proto (_nss_files_parse_netent)
+libc_hidden_proto (_nss_files_parse_protoent)
libc_hidden_proto (_nss_files_parse_pwent)
-libnss_files_hidden_proto (_nss_files_parse_rpcent)
-libnss_files_hidden_proto (_nss_files_parse_servent)
+libc_hidden_proto (_nss_files_parse_rpcent)
+libc_hidden_proto (_nss_files_parse_servent)
libc_hidden_proto (_nss_files_parse_sgent)
libc_hidden_proto (_nss_files_parse_spent)
@@ -98,9 +98,9 @@ subdir-dirs = $(services:%=nss_%)
vpath %.c $(subdir-dirs) ../locale/programs ../intl
-libnss_files-routines := $(addprefix files-, \
- $(filter-out key, $(databases))) \
- files-initgroups files-init
+routines += \
+ $(addprefix files-, $(filter-out key, $(databases))) \
+ files-initgroups files-init
libnss_db-dbs := $(addprefix db-,\
$(filter-out hosts network key alias,\
@@ -116,12 +116,9 @@ libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) \
install-others += $(inst_vardbdir)/Makefile
# Build static module into libc if requested
-libnss_files-inhibit-o = $(filter-out .os,$(object-suffixes))
libnss_db-inhibit-o = $(filter-out .os,$(object-suffixes))
libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes))
ifeq ($(build-static-nss),yes)
-routines += $(libnss_files-routines)
-static-only-routines += $(libnss_files-routines)
tests-static += tst-nss-static
endif
extra-test-objs += nss_test1.os nss_test2.os
@@ -138,8 +135,6 @@ libnss-libc = $(common-objpfx)linkobj/libc.so
# for new links:
$(services:%=$(objpfx)libnss_%.so): libc-for-link = $(libnss-libc)
-$(objpfx)libnss_db.so: $(objpfx)libnss_files.so
-
$(libnss_db-dbs:%=$(objpfx)%.c): $(objpfx)db-%.c: nss_files/files-%.c
@rm -f $@.new
(echo '#define EXTERN_PARSER';\
@@ -23,11 +23,8 @@ libc {
__nss_files_data_open;
__nss_files_data_put;
__nss_files_data_setent;
- }
-}
-libnss_files {
- GLIBC_PRIVATE {
+ # Routines formerly in libnss_files.so.2.
_nss_files_setaliasent;
_nss_files_endaliasent;
_nss_files_getaliasbyname_r;
@@ -113,6 +110,14 @@ libnss_files {
}
}
+libnss_files {
+ GLIBC_PRIVATE {
+ # Keep a version node (with a synthesized local: * directive) so that
+ # __bss_* symbols are hidden on targets that need it.
+ __libnss_files_version_placeholder;
+ }
+}
+
libnss_db {
GLIBC_PRIVATE {
_nss_db_setetherent;
@@ -98,7 +98,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result,
/* Read the first line. It must contain the alias name and
possibly some alias names. */
first_unused[room_left - 1] = '\xff';
- line = fgets_unlocked (first_unused, room_left, stream);
+ line = __fgets_unlocked (first_unused, room_left, stream);
if (line == NULL)
/* Nothing to read. */
break;
@@ -187,7 +187,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result,
/* If the file does not exist we simply ignore
the statement. */
if (listfile != NULL
- && (old_line = strdup (line)) != NULL)
+ && (old_line = __strdup (line)) != NULL)
{
while (! feof_unlocked (listfile))
{
@@ -199,8 +199,8 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result,
}
first_unused[room_left - 1] = '\xff';
- line = fgets_unlocked (first_unused, room_left,
- listfile);
+ line = __fgets_unlocked (first_unused, room_left,
+ listfile);
if (line == NULL)
break;
if (first_unused[room_left - 1] != '\xff')
@@ -302,7 +302,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result,
/* The just read character is a white space and so
can be ignored. */
first_unused[room_left - 1] = '\xff';
- line = fgets_unlocked (first_unused, room_left, stream);
+ line = __fgets_unlocked (first_unused, room_left, stream);
if (line == NULL)
{
/* Continuation line without any data and
@@ -57,12 +57,13 @@ LINE_PARSER
STRING_FIELD (addr, isspace, 1);
/* Parse address. */
- if (inet_pton (af == AF_UNSPEC ? AF_INET : af, addr, entdata->host_addr)
+ if (__inet_pton (af == AF_UNSPEC ? AF_INET : af, addr, entdata->host_addr)
> 0)
af = af == AF_UNSPEC ? AF_INET : af;
else
{
- if (af == AF_INET && inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
+ if (af == AF_INET
+ && __inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
{
if (IN6_IS_ADDR_V4MAPPED (entdata->host_addr))
memcpy (entdata->host_addr, entdata->host_addr + 12, INADDRSZ);
@@ -76,7 +77,7 @@ LINE_PARSER
return 0;
}
else if (af == AF_UNSPEC
- && inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
+ && __inet_pton (AF_INET6, addr, entdata->host_addr) > 0)
af = AF_INET6;
else
/* Illegal address: ignore line. */
@@ -32,7 +32,7 @@ NSS_DECLARE_MODULE_FUNCTIONS (files)
#define DATAFILE "/etc/netgroup"
-libnss_files_hidden_proto (_nss_files_endnetgrent)
+libc_hidden_proto (_nss_files_endnetgrent)
#define EXPAND(needed) \
do \
@@ -164,7 +164,7 @@ _nss_files_endnetgrent (struct __netgrent *result)
result->cursor = NULL;
return NSS_STATUS_SUCCESS;
}
-libnss_files_hidden_def (_nss_files_endnetgrent)
+libc_hidden_def (_nss_files_endnetgrent)
static char *
strip_whitespace (char *str)
@@ -279,7 +279,7 @@ _nss_netgroup_parseline (char **cursor, struct __netgrent *result,
return status;
}
-libnss_files_hidden_def (_nss_netgroup_parseline)
+libc_hidden_def (_nss_netgroup_parseline)
enum nss_status
@@ -21,8 +21,7 @@
#include <netdb.h>
#include <stdint.h>
#include <nss.h>
-
-NSS_DECLARE_MODULE_FUNCTIONS (files)
+#include <nss_files.h>
#define ENTNAME netent
#define DATABASE "networks"
@@ -71,7 +70,7 @@ LINE_PARSER
*cp = '\0';
addr = newp;
}
- result->n_net = inet_network (addr);
+ result->n_net = __inet_network (addr);
result->n_addrtype = AF_INET;
})
@@ -74,13 +74,7 @@ struct parser_data
/* Export the line parser function so it can be used in nss_db. */
# define parser_stclass /* Global */
# define parse_line CONCAT(_nss_files_parse_,ENTNAME)
-# if IS_IN (libc)
-/* We are defining one of the functions that actually lives in libc
- because it is used to implement fget*ent and suchlike. */
-# define nss_files_parse_hidden_def(name) libc_hidden_def (name)
-# else
-# define nss_files_parse_hidden_def(name) libnss_files_hidden_def (name)
-# endif
+# define nss_files_parse_hidden_def(name) libc_hidden_def (name)
#endif
@@ -40,7 +40,7 @@ __nss_readline (FILE *fp, char *buf, size_t len, off64_t *poffset)
*poffset = __ftello64 (fp);
buf[len - 1] = '\xff'; /* Marker to recognize truncation. */
- if (fgets_unlocked (buf, len, fp) == NULL)
+ if (__fgets_unlocked (buf, len, fp) == NULL)
{
if (feof_unlocked (fp))
{
@@ -61,7 +61,7 @@ __nss_readline (FILE *fp, char *buf, size_t len, off64_t *poffset)
line on the next call. */
return __nss_readline_seek (fp, *poffset);
- /* fgets_unlocked succeeded. */
+ /* __fgets_unlocked succeeded. */
/* Remove leading whitespace. */
char *p = buf;