1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00

nss: Access nss_files through direct references

This partially fixes static-only NSS support (bug 27959): The files
module no longer needs dlopen.  Support for the dns module remains
to be added, and also support for disabling dlopen altogether.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
Florian Weimer
2021-07-07 18:33:52 +02:00
parent 6212bb67f4
commit f9c8b11ed7
20 changed files with 114 additions and 32 deletions

View File

@@ -31,8 +31,6 @@
#include "nsswitch.h"
#include <nss_files.h>
NSS_DECLARE_MODULE_FUNCTIONS (files)
/* Maintenance of the stream open on the database file. For getXXent
operations the stream needs to be held open across calls, the other
@@ -63,12 +61,14 @@ _nss_files_setaliasent (void)
{
return __nss_files_data_setent (nss_file_aliasent, "/etc/aliases");
}
libc_hidden_def (_nss_files_setaliasent)
enum nss_status
_nss_files_endaliasent (void)
{
return __nss_files_data_endent (nss_file_aliasent);
}
libc_hidden_def (_nss_files_endaliasent)
/* Parsing the database file into `struct aliasent' data structures. */
static enum nss_status
@@ -354,7 +354,7 @@ _nss_files_getaliasent_r (struct aliasent *result, char *buffer, size_t buflen,
__nss_files_data_put (data);
return status;
}
libc_hidden_def (_nss_files_getaliasent_r)
enum nss_status
_nss_files_getaliasbyname_r (const char *name, struct aliasent *result,
@@ -387,3 +387,4 @@ _nss_files_getaliasbyname_r (const char *name, struct aliasent *result,
return status;
}
libc_hidden_def (_nss_files_getaliasbyname_r)