From c9fdc26e96493175668fbde61a04fc70abff300d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 10 Jul 2014 23:33:55 +0200 Subject: nss-myhostname: move NSS boilerplate to nss-util.h --- src/nss-myhostname/nss-myhostname.c | 97 +++-------------------------------- src/nss-myhostname/nss-myhostname.sym | 6 +-- 2 files changed, 9 insertions(+), 94 deletions(-) (limited to 'src/nss-myhostname') diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c index 15a35f3022..06bd842fc6 100644 --- a/src/nss-myhostname/nss-myhostname.c +++ b/src/nss-myhostname/nss-myhostname.c @@ -32,6 +32,8 @@ #include "local-addresses.h" #include "macro.h" +#include "nss-util.h" +#include "util.h" /* Ensure that glibc's assert is used. We cannot use assert from macro.h, as * libnss_myhostname will be linked into arbitrary programs which will, in turn @@ -47,49 +49,8 @@ #define LOCALADDRESS_IPV6 &in6addr_loopback #define LOOPBACK_INTERFACE "lo" -enum nss_status _nss_myhostname_gethostbyname4_r( - const char *name, - struct gaih_addrtuple **pat, - char *buffer, size_t buflen, - int *errnop, int *h_errnop, - int32_t *ttlp) _public_; - -enum nss_status _nss_myhostname_gethostbyname3_r( - const char *name, - int af, - struct hostent *host, - char *buffer, size_t buflen, - int *errnop, int *h_errnop, - int32_t *ttlp, - char **canonp) _public_; - -enum nss_status _nss_myhostname_gethostbyname2_r( - const char *name, - int af, - struct hostent *host, - char *buffer, size_t buflen, - int *errnop, int *h_errnop) _public_; - -enum nss_status _nss_myhostname_gethostbyname_r( - const char *name, - struct hostent *host, - char *buffer, size_t buflen, - int *errnop, int *h_errnop) _public_; - -enum nss_status _nss_myhostname_gethostbyaddr2_r( - const void* addr, socklen_t len, - int af, - struct hostent *host, - char *buffer, size_t buflen, - int *errnop, int *h_errnop, - int32_t *ttlp) _public_; - -enum nss_status _nss_myhostname_gethostbyaddr_r( - const void* addr, socklen_t len, - int af, - struct hostent *host, - char *buffer, size_t buflen, - int *errnop, int *h_errnop) _public_; +NSS_GETHOSTBYNAME_PROTOTYPES(myhostname); +NSS_GETHOSTBYADDR_PROTOTYPES(myhostname); enum nss_status _nss_myhostname_gethostbyname4_r( const char *name, @@ -411,39 +372,6 @@ enum nss_status _nss_myhostname_gethostbyname3_r( canonp); } -enum nss_status _nss_myhostname_gethostbyname2_r( - const char *name, - int af, - struct hostent *host, - char *buffer, size_t buflen, - int *errnop, int *h_errnop) { - - return _nss_myhostname_gethostbyname3_r( - name, - af, - host, - buffer, buflen, - errnop, h_errnop, - NULL, - NULL); -} - -enum nss_status _nss_myhostname_gethostbyname_r( - const char *name, - struct hostent *host, - char *buffer, size_t buflen, - int *errnop, int *h_errnop) { - - return _nss_myhostname_gethostbyname3_r( - name, - AF_UNSPEC, - host, - buffer, buflen, - errnop, h_errnop, - NULL, - NULL); -} - enum nss_status _nss_myhostname_gethostbyaddr2_r( const void* addr, socklen_t len, int af, @@ -538,18 +466,5 @@ found: } -enum nss_status _nss_myhostname_gethostbyaddr_r( - const void* addr, socklen_t len, - int af, - struct hostent *host, - char *buffer, size_t buflen, - int *errnop, int *h_errnop) { - - return _nss_myhostname_gethostbyaddr2_r( - addr, len, - af, - host, - buffer, buflen, - errnop, h_errnop, - NULL); -} +NSS_GETHOSTBYNAME_FALLBACKS(myhostname); +NSS_GETHOSTBYADDR_FALLBACKS(myhostname); diff --git a/src/nss-myhostname/nss-myhostname.sym b/src/nss-myhostname/nss-myhostname.sym index dcfc2e4006..78646c38b4 100644 --- a/src/nss-myhostname/nss-myhostname.sym +++ b/src/nss-myhostname/nss-myhostname.sym @@ -9,11 +9,11 @@ { global: - _nss_myhostname_gethostbyaddr2_r; - _nss_myhostname_gethostbyaddr_r; + _nss_myhostname_gethostbyname_r; _nss_myhostname_gethostbyname2_r; _nss_myhostname_gethostbyname3_r; _nss_myhostname_gethostbyname4_r; - _nss_myhostname_gethostbyname_r; + _nss_myhostname_gethostbyaddr_r; + _nss_myhostname_gethostbyaddr2_r; local: *; }; -- cgit v1.2.3-54-g00ecf