mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
* resolv/Versions [libresolv] (GLIBC_PRIVATE): Add
_nss_dns_getnetbyaddr2_r. * resolv/nss_dns/dns-host.c: Define _nss_dns_getnetbyaddr2_r. Pass extra parameter to getanswer_r. (_nss_dns_getnetbyaddr_r): Now a wrapper around _nss_dns_getnetbyaddr2_r.
This commit is contained in:
parent
384ca55174
commit
31e2791ced
@ -1,5 +1,12 @@
|
||||
2007-10-29 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* resolv/Versions [libresolv] (GLIBC_PRIVATE): Add
|
||||
_nss_dns_getnetbyaddr2_r.
|
||||
* resolv/nss_dns/dns-host.c: Define _nss_dns_getnetbyaddr2_r. Pass
|
||||
extra parameter to getanswer_r.
|
||||
(_nss_dns_getnetbyaddr_r): Now a wrapper around
|
||||
_nss_dns_getnetbyaddr2_r.
|
||||
|
||||
* nscd/Makefile (nscd-modules): Replace gethstbynm2_r with
|
||||
gethstbynm3_r.
|
||||
* nscd/gethstbynm2_r.c: Remove.
|
||||
|
@ -88,6 +88,7 @@ libnss_dns {
|
||||
_nss_dns_gethostbyname3_r;
|
||||
_nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
|
||||
_nss_dns_getnetbyname_r; _nss_dns_getcanonname_r;
|
||||
_nss_dns_gethostbyaddr2_r;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -255,10 +255,18 @@ _nss_dns_gethostbyname_r (const char *name, struct hostent *result,
|
||||
}
|
||||
|
||||
|
||||
extern enum nss_status _nss_dns_gethostbyaddr2_r (const void *addr,
|
||||
socklen_t len, int af,
|
||||
struct hostent *result,
|
||||
char *buffer, size_t buflen,
|
||||
int *errnop, int *h_errnop,
|
||||
int32_t *ttlp);
|
||||
hidden_proto (_nss_dns_gethostbyaddr2_r)
|
||||
|
||||
enum nss_status
|
||||
_nss_dns_gethostbyaddr_r (const void *addr, socklen_t len, int af,
|
||||
struct hostent *result, char *buffer, size_t buflen,
|
||||
int *errnop, int *h_errnop)
|
||||
_nss_dns_gethostbyaddr2_r (const void *addr, socklen_t len, int af,
|
||||
struct hostent *result, char *buffer, size_t buflen,
|
||||
int *errnop, int *h_errnop, int32_t *ttlp)
|
||||
{
|
||||
static const u_char mapped[] = { 0,0, 0,0, 0,0, 0,0, 0,0, 0xff,0xff };
|
||||
static const u_char tunnelled[] = { 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 };
|
||||
@ -374,7 +382,7 @@ _nss_dns_gethostbyaddr_r (const void *addr, socklen_t len, int af,
|
||||
|
||||
got_it_already:
|
||||
status = getanswer_r (host_buffer.buf, n, qbuf, T_PTR, result, buffer, buflen,
|
||||
errnop, h_errnop, 0 /* XXX */, NULL, NULL);
|
||||
errnop, h_errnop, 0 /* XXX */, ttlp, NULL);
|
||||
if (host_buffer.buf != orig_host_buffer)
|
||||
free (host_buffer.buf);
|
||||
if (status != NSS_STATUS_SUCCESS)
|
||||
@ -408,6 +416,17 @@ _nss_dns_gethostbyaddr_r (const void *addr, socklen_t len, int af,
|
||||
*h_errnop = NETDB_SUCCESS;
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
hidden_def (_nss_dns_gethostbyaddr2_r)
|
||||
|
||||
|
||||
enum nss_status
|
||||
_nss_dns_gethostbyaddr_r (const void *addr, socklen_t len, int af,
|
||||
struct hostent *result, char *buffer, size_t buflen,
|
||||
int *errnop, int *h_errnop)
|
||||
{
|
||||
return _nss_dns_gethostbyaddr2_r (addr, len, af, result, buffer, buflen,
|
||||
errnop, h_errnop, NULL);
|
||||
}
|
||||
|
||||
#ifdef RESOLVSORT
|
||||
static void addrsort (char **ap, int num);
|
||||
|
Loading…
Reference in New Issue
Block a user