0420d8885a
2002-10-15 Jakub Jelinek <jakub@redhat.com> * include/resolv.h (__libc_res_nquery, __libc_res_nsearch, __libc_res_nsend): New prototypes. * resolv/res_query.c (QUERYSIZE): Define. (__libc_res_nquery): Renamed from res_nquery. Added answerp argument. Allocate only QUERYSIZE bytes first, if res_nmkquery fails use MAXPACKET buffer. Call __libc_res_nsend instead of res_nsend, pass answerp. (res_nquery): Changed into wrapper around __libc_res_nquery. (__libc_res_nsearch): Renamed from res_nsearch. Added answerp argument. Call __libc_res_nquerydomain and __libc_res_nquery instead of the non-__libc_ variants, pass them answerp. (res_nsearch): Changed into wrapper around __libc_res_nsearch. (__libc_res_nquerydomain): Renamed from res_nquerydomain. Added answerp argument. Call __libc_res_nquery instead of res_nquery, pass answerp. (res_nquerydomain): Changed into wrapper around __libc_res_nquerydomain. * resolv/res_send.c: Include sys/ioctl.h. (MAXPACKET): Define. (send_vc): Change arguments. Reallocate answer buffer if it is too small. (send_dg): Likewise. (__libc_res_nsend): Renamed from res_nsend. Added ansp argument. Reallocate answer buffer if it is too small and hooks are in use. Adjust calls to send_vc and send_dg. (res_nsend): Changed into wrapper around __libc_res_nsend. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Allocate just 1K answer buffer on the stack, use __libc_res_nsearch instead of res_nsearch. (_nss_dns_gethostbyaddr_r): Similarly with __libc_res_nquery. * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise. (_nss_dns_getnetbyname_r): Similarly with __libc_res_nsearch. * resolv/gethnamaddr.c (gethostbyname2): Likewise. (gethostbyaddr): Similarly with __libc_res_nquery. * resolv/Versions (libresolv): Export __libc_res_nquery and __libc_res_nsearch at GLIBC_PRIVATE.
92 lines
2.3 KiB
Plaintext
92 lines
2.3 KiB
Plaintext
%include <tls.h>
|
|
|
|
libc {
|
|
GLIBC_2.0 {
|
|
%if !(USE_TLS && HAVE___THREAD)
|
|
# global variables
|
|
_h_errno; _res;
|
|
%endif
|
|
|
|
# helper functions
|
|
__h_errno_location;
|
|
|
|
# functions used in other libraries
|
|
__res_randomid;
|
|
|
|
# variables in normal name space
|
|
h_errlist; h_nerr;
|
|
%if !(USE_TLS && HAVE___THREAD)
|
|
h_errno;
|
|
%endif
|
|
|
|
# h*
|
|
herror; hstrerror;
|
|
|
|
# r*
|
|
res_init;
|
|
}
|
|
GLIBC_2.2 {
|
|
# r*
|
|
__res_state; __res_init; __res_nclose; __res_ninit; _res_hconf;
|
|
}
|
|
GLIBC_2.3 {
|
|
%if USE_TLS && HAVE___THREAD
|
|
# This version is for the TLS symbol, GLIBC_2.0 is the old object symbol.
|
|
h_errno; _res;
|
|
%endif
|
|
}
|
|
GLIBC_PRIVATE {
|
|
__gai_sigqueue;
|
|
}
|
|
}
|
|
|
|
libresolv {
|
|
GLIBC_2.0 {
|
|
_gethtbyaddr; _gethtbyname; _gethtbyname2; _gethtent; _getlong;
|
|
_getshort; _res_opcodes; _res_resultcodes; _sethtent; dn_expand;
|
|
inet_net_ntop; inet_net_pton; inet_neta; res_gethostbyaddr;
|
|
res_gethostbyname; res_gethostbyname2; res_mkquery; res_query;
|
|
res_querydomain; res_search; res_send_setqhook; res_send_setrhook;
|
|
# Variables
|
|
__p_class_syms; __p_type_syms;
|
|
# Private routines shared between libc/net, named, nslookup and others.
|
|
__b64_ntop; __b64_pton;
|
|
__dn_comp; __dn_count_labels; __dn_skipname;
|
|
__fp_nquery; __fp_query; __fp_resstat; __hostalias;
|
|
__loc_aton; __loc_ntoa;
|
|
__p_cdname; __p_cdnname; __p_class; __p_fqname; __p_fqnname; __p_option;
|
|
__p_query; __p_rr; __p_secstodate; __p_time; __p_type;
|
|
__putlong; __putshort;
|
|
__res_close; __res_dnok; __res_hnok; __res_isourserver; __res_mailok;
|
|
__res_nameinquery; __res_ownok; __res_queriesmatch;
|
|
__res_send;
|
|
__sym_ntop; __sym_ntos; __sym_ston;
|
|
}
|
|
GLIBC_2.2 {
|
|
__dn_expand;
|
|
__res_hostalias; __res_mkquery; __res_nmkquery; __res_nquery;
|
|
__res_nquerydomain; __res_nsearch; __res_nsend; __res_query;
|
|
__res_querydomain; __res_search;
|
|
}
|
|
GLIBC_PRIVATE {
|
|
# Needed in libnss_dns.
|
|
__ns_name_unpack; __ns_name_ntop;
|
|
__ns_get16; __ns_samename;
|
|
__libc_res_nquery; __libc_res_nsearch;
|
|
}
|
|
}
|
|
|
|
libnss_dns {
|
|
GLIBC_PRIVATE {
|
|
_nss_dns_gethostbyaddr_r; _nss_dns_gethostbyname2_r;
|
|
_nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
|
|
_nss_dns_getnetbyname_r;
|
|
}
|
|
}
|
|
|
|
libanl {
|
|
GLIBC_2.2.3 {
|
|
getaddrinfo_a; gai_cancel; gai_error; gai_suspend;
|
|
}
|
|
}
|