mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
resolv: Move nss_dns into libc
No abilist updates are needed because the symbols were GLIBC_PRIVATE. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
@@ -25,8 +25,7 @@
|
||||
#include <nsswitch.h>
|
||||
#include <resolv/resolv_context.h>
|
||||
#include <resolv/resolv-internal.h>
|
||||
|
||||
NSS_DECLARE_MODULE_FUNCTIONS (dns)
|
||||
#include <nss_dns.h>
|
||||
|
||||
#if PACKETSZ > 65536
|
||||
# define MAXPACKET PACKETSZ
|
||||
@@ -185,3 +184,4 @@ _nss_dns_getcanonname_r (const char *name, char *buffer, size_t buflen,
|
||||
__resolv_context_put (ctx);
|
||||
return status;
|
||||
}
|
||||
libc_hidden_def (_nss_dns_getcanonname_r)
|
||||
|
@@ -82,6 +82,7 @@
|
||||
|
||||
#include "nsswitch.h"
|
||||
#include <arpa/nameser.h>
|
||||
#include <nss_dns.h>
|
||||
|
||||
#include <resolv/resolv-internal.h>
|
||||
#include <resolv/resolv_context.h>
|
||||
@@ -90,8 +91,6 @@
|
||||
#include <resolv/mapv4v6addr.h>
|
||||
#include <resolv/mapv4v6hostent.h>
|
||||
|
||||
NSS_DECLARE_MODULE_FUNCTIONS (dns)
|
||||
|
||||
#define RESOLVSORT
|
||||
|
||||
#if PACKETSZ > 65536
|
||||
@@ -169,6 +168,7 @@ _nss_dns_gethostbyname3_r (const char *name, int af, struct hostent *result,
|
||||
__resolv_context_put (ctx);
|
||||
return status;
|
||||
}
|
||||
libc_hidden_def (_nss_dns_gethostbyname3_r)
|
||||
|
||||
static enum nss_status
|
||||
gethostbyname3_context (struct resolv_context *ctx,
|
||||
@@ -283,7 +283,7 @@ gethostbyname3_context (struct resolv_context *ctx,
|
||||
static enum nss_status
|
||||
check_name (const char *name, int *h_errnop)
|
||||
{
|
||||
if (res_hnok (name))
|
||||
if (__libc_res_hnok (name))
|
||||
return NSS_STATUS_SUCCESS;
|
||||
*h_errnop = HOST_NOT_FOUND;
|
||||
return NSS_STATUS_NOTFOUND;
|
||||
@@ -300,7 +300,7 @@ _nss_dns_gethostbyname2_r (const char *name, int af, struct hostent *result,
|
||||
return _nss_dns_gethostbyname3_r (name, af, result, buffer, buflen, errnop,
|
||||
h_errnop, NULL, NULL);
|
||||
}
|
||||
|
||||
libc_hidden_def (_nss_dns_gethostbyname2_r)
|
||||
|
||||
enum nss_status
|
||||
_nss_dns_gethostbyname_r (const char *name, struct hostent *result,
|
||||
@@ -327,7 +327,7 @@ _nss_dns_gethostbyname_r (const char *name, struct hostent *result,
|
||||
__resolv_context_put (ctx);
|
||||
return status;
|
||||
}
|
||||
|
||||
libc_hidden_def (_nss_dns_gethostbyname_r)
|
||||
|
||||
enum nss_status
|
||||
_nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
|
||||
@@ -419,15 +419,7 @@ _nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
|
||||
__resolv_context_put (ctx);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
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)
|
||||
libc_hidden_def (_nss_dns_gethostbyname4_r)
|
||||
|
||||
enum nss_status
|
||||
_nss_dns_gethostbyaddr2_r (const void *addr, socklen_t len, int af,
|
||||
@@ -568,7 +560,7 @@ _nss_dns_gethostbyaddr2_r (const void *addr, socklen_t len, int af,
|
||||
__resolv_context_put (ctx);
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
hidden_def (_nss_dns_gethostbyaddr2_r)
|
||||
libc_hidden_def (_nss_dns_gethostbyaddr2_r)
|
||||
|
||||
|
||||
enum nss_status
|
||||
@@ -579,6 +571,7 @@ _nss_dns_gethostbyaddr_r (const void *addr, socklen_t len, int af,
|
||||
return _nss_dns_gethostbyaddr2_r (addr, len, af, result, buffer, buflen,
|
||||
errnop, h_errnop, NULL);
|
||||
}
|
||||
libc_hidden_def (_nss_dns_gethostbyaddr_r)
|
||||
|
||||
static void
|
||||
addrsort (struct resolv_context *ctx, char **ap, int num)
|
||||
@@ -672,10 +665,10 @@ getanswer_r (struct resolv_context *ctx,
|
||||
{
|
||||
case T_A:
|
||||
case T_AAAA:
|
||||
name_ok = res_hnok;
|
||||
name_ok = __libc_res_hnok;
|
||||
break;
|
||||
case T_PTR:
|
||||
name_ok = res_dnok;
|
||||
name_ok = __libc_res_dnok;
|
||||
break;
|
||||
default:
|
||||
*errnop = ENOENT;
|
||||
@@ -810,7 +803,8 @@ getanswer_r (struct resolv_context *ctx,
|
||||
|
||||
if (ap >= &host_data->aliases[MAX_NR_ALIASES - 1])
|
||||
continue;
|
||||
n = dn_expand (answer->buf, end_of_message, cp, tbuf, sizeof tbuf);
|
||||
n = __libc_dn_expand (answer->buf, end_of_message, cp,
|
||||
tbuf, sizeof tbuf);
|
||||
if (__glibc_unlikely (n < 0 || (*name_ok) (tbuf) == 0))
|
||||
{
|
||||
++had_error;
|
||||
@@ -848,8 +842,9 @@ getanswer_r (struct resolv_context *ctx,
|
||||
if (ttlp != NULL && ttl < *ttlp)
|
||||
*ttlp = ttl;
|
||||
|
||||
n = dn_expand (answer->buf, end_of_message, cp, tbuf, sizeof tbuf);
|
||||
if (__glibc_unlikely (n < 0 || res_dnok (tbuf) == 0))
|
||||
n = __libc_dn_expand (answer->buf, end_of_message, cp,
|
||||
tbuf, sizeof tbuf);
|
||||
if (__glibc_unlikely (n < 0 || __libc_res_dnok (tbuf) == 0))
|
||||
{
|
||||
++had_error;
|
||||
continue;
|
||||
@@ -881,7 +876,7 @@ getanswer_r (struct resolv_context *ctx,
|
||||
switch (type)
|
||||
{
|
||||
case T_PTR:
|
||||
if (__glibc_unlikely (strcasecmp (tname, bp) != 0))
|
||||
if (__glibc_unlikely (__strcasecmp (tname, bp) != 0))
|
||||
{
|
||||
cp += n;
|
||||
continue; /* XXX - had_error++ ? */
|
||||
@@ -897,7 +892,7 @@ getanswer_r (struct resolv_context *ctx,
|
||||
n = -1;
|
||||
}
|
||||
|
||||
if (__glibc_unlikely (n < 0 || res_hnok (bp) == 0))
|
||||
if (__glibc_unlikely (n < 0 || __libc_res_hnok (bp) == 0))
|
||||
{
|
||||
++had_error;
|
||||
break;
|
||||
@@ -911,7 +906,7 @@ getanswer_r (struct resolv_context *ctx,
|
||||
return NSS_STATUS_SUCCESS;
|
||||
case T_A:
|
||||
case T_AAAA:
|
||||
if (__glibc_unlikely (strcasecmp (result->h_name, bp) != 0))
|
||||
if (__glibc_unlikely (__strcasecmp (result->h_name, bp) != 0))
|
||||
{
|
||||
cp += n;
|
||||
continue; /* XXX - had_error++ ? */
|
||||
@@ -1060,7 +1055,7 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
|
||||
*h_errnop = NO_RECOVERY;
|
||||
return NSS_STATUS_UNAVAIL;
|
||||
}
|
||||
if (__glibc_unlikely (res_hnok (buffer) == 0))
|
||||
if (__glibc_unlikely (__libc_res_hnok (buffer) == 0))
|
||||
{
|
||||
errno = EBADMSG;
|
||||
*errnop = EBADMSG;
|
||||
@@ -1093,7 +1088,7 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
|
||||
|
||||
n = -1;
|
||||
}
|
||||
if (__glibc_unlikely (n < 0 || res_hnok (buffer) == 0))
|
||||
if (__glibc_unlikely (n < 0 || __libc_res_hnok (buffer) == 0))
|
||||
{
|
||||
++had_error;
|
||||
continue;
|
||||
@@ -1142,8 +1137,9 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
|
||||
if (ttlp != NULL && ttl < *ttlp)
|
||||
*ttlp = ttl;
|
||||
|
||||
n = dn_expand (answer->buf, end_of_message, cp, tbuf, sizeof tbuf);
|
||||
if (__glibc_unlikely (n < 0 || res_hnok (tbuf) == 0))
|
||||
n = __libc_dn_expand (answer->buf, end_of_message, cp,
|
||||
tbuf, sizeof tbuf);
|
||||
if (__glibc_unlikely (n < 0 || __libc_res_hnok (tbuf) == 0))
|
||||
{
|
||||
++had_error;
|
||||
continue;
|
||||
|
@@ -67,11 +67,10 @@
|
||||
#include "nsswitch.h"
|
||||
#include <arpa/inet.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <nss_dns.h>
|
||||
#include <resolv/resolv-internal.h>
|
||||
#include <resolv/resolv_context.h>
|
||||
|
||||
NSS_DECLARE_MODULE_FUNCTIONS (dns)
|
||||
|
||||
/* Maximum number of aliases we allow. */
|
||||
#define MAX_NR_ALIASES 48
|
||||
|
||||
@@ -152,7 +151,7 @@ _nss_dns_getnetbyname_r (const char *name, struct netent *result,
|
||||
__resolv_context_put (ctx);
|
||||
return status;
|
||||
}
|
||||
|
||||
libc_hidden_def (_nss_dns_getnetbyname_r)
|
||||
|
||||
enum nss_status
|
||||
_nss_dns_getnetbyaddr_r (uint32_t net, int type, struct netent *result,
|
||||
@@ -246,7 +245,7 @@ _nss_dns_getnetbyaddr_r (uint32_t net, int type, struct netent *result,
|
||||
__resolv_context_put (ctx);
|
||||
return status;
|
||||
}
|
||||
|
||||
libc_hidden_def (_nss_dns_getnetbyaddr_r)
|
||||
|
||||
static enum nss_status
|
||||
getanswer_r (const querybuf *answer, int anslen, struct netent *result,
|
||||
@@ -347,7 +346,7 @@ getanswer_r (const querybuf *answer, int anslen, struct netent *result,
|
||||
n = -1;
|
||||
}
|
||||
|
||||
if (n < 0 || res_dnok (bp) == 0)
|
||||
if (n < 0 || __libc_res_dnok (bp) == 0)
|
||||
break;
|
||||
cp += n;
|
||||
|
||||
@@ -381,7 +380,7 @@ getanswer_r (const querybuf *answer, int anslen, struct netent *result,
|
||||
n = -1;
|
||||
}
|
||||
|
||||
if (n < 0 || !res_hnok (bp))
|
||||
if (n < 0 || !__libc_res_hnok (bp))
|
||||
{
|
||||
/* XXX What does this mean? The original form from bind
|
||||
returns NULL. Incrementing cp has no effect in any case.
|
||||
@@ -469,7 +468,7 @@ getanswer_r (const querybuf *answer, int anslen, struct netent *result,
|
||||
/* If we are out of digits now, there are two cases:
|
||||
1. We are done with digits and now see "in-addr.arpa".
|
||||
2. This is not the droid we are looking for. */
|
||||
if (!isdigit (*p) && !strcasecmp (p, "in-addr.arpa"))
|
||||
if (!isdigit (*p) && !__strcasecmp (p, "in-addr.arpa"))
|
||||
{
|
||||
result->n_net = val;
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
Reference in New Issue
Block a user