* include/resolv.h: Remove hidden proto declarations for __ns_*
functions. Add them for __dn_count_labels and __p_secstodate.
* include/arpa/nameser.h: Add a number of hidden proto declarations.
Define ns_msg_getflags macro here.
* resolv/res_debug.c: Add hidden definition for __dn_count_labels
and __p_secstodate.
* resolv/Versions: Export functions from <arpa/nameser.h> from
libresolv in version GLIBC_2.9.
* resolv/ns_name.c: Integrate changes from bind 9.5.0. Add necessary
hidden definitions.
* resolv/ns_netint.c: Likewise.
* resolv/ns_parse.c: Likewise.
* resolv/ns_print.c: Likewise.
* resolv/ns_samedomain.c: Likewise.
* resolv/ns_ttl.c: Likewise.
* resolv/arpa/nameser_compat.h: Likewise.
* resolv/arpa/nameser.h: Likewise. Remove macros which redirect
function calls.
* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Use __ns_get16
instead of ns_get16.
* resolv/nss_dns/dns-host.c (getanswer_r): Use __ns_get16 and
__ns_get32 instead of ns_get16 and ns_get32 respectively.
(gaih_getanswer_slice): Likewise.
* resolv/Makefile (libresolv-routines): Add ns_date.
* resolv/ns_date.c: New file.
Use it instead of locally defined resplen2 variable.
(res_nsend): Adjust for __libc_res_nsend interface change.
(send_vc): Initialize *resplen2 if necessary. Read length of
package into an appropriately aligned variable. Store converted length
in new variable and use it appropriately.
Add branch prediction help.
* resolv/res_query.c (__libc_res_nquery): Take additional parameter
and pass it on to __libc_res_nsend. Adjust all callers.
(__libc_res_nsearch): Likewise.
(__libc_res_nqeurydomain): Likewise.
* resolv/nss_dns/dns-host.c: Adjust for __libc_res_nsearch interface
change.
(_nss_dns_gethostbyname4): Don't unconditionally allocate tmp array.
Define resplen2 variable and pass it to __libc_res_nsearch and then
to gaih_getanswer.
(getanswer_r): In case of incorrect DNS data don't overread buffer.
Add branch prediction.
(gaih_getanswer_slice): Likewise. Check for invalid data types.
(gaih_getanswer): Don't decode second slice if first one failed due
to a too small buffer. Don't let not found status of second
decoder shadow results of the first.
* resolv/gethnamaddr.c (gethostbyname2): Adjust for __libc_res_nsearch
and __libc_res_nquery interface changes
(gethostbyaddr): Adjust for __libc_res_nquery interface change.
* include/resolv.h: Adjust prototypes for __libc_res_nquery,
__libc_res_nsearch, and __libc_res_nsend.
* resolv/nss_dns/dns-canon.c: Adjust for __libc_res_nquery interface
change.
* resolv/nss_dns/dns-network.c: Adjust for __libc_res_nquery and
__libc_res_nsearch interface changes.
answer was too short don't try to read that answer's header.
* resolv/res_send.c (send_dg): In case of timeout and there are
two queries and one has been answered, return value indicating
success.
no answers return NSS_STATUS_NOTFOUND.
(gaih_getanswer): Don't call gaih_getanswer_slice if the answer
buffer does not have any content.
* nscd/servicescache.c: Likewise.
prototypes.
* include/arpa/nameser_compat.h: Define T_UNSPEC.
* nis/Versions (libnss_nis): Export _nss_nis_gethostbyname4_r.
(libnss_nisplus): Export _nss_nisplus_gethostbyname4_r.
* nis/nss_nis/nis-hosts.c (LINE_PARSER): Change to also handle
af==AF_UNSPEC.
(_nss_nis_gethostbyname4_r): New function.
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent):
Change to also handle af==AF_UNSPEC.
(get_tablename): New function. Use it to avoid duplication.
(_nss_nisplus_gethostbyname4_r): New function.
* nscd/aicache.c (addhstaiX): Use gethostbyname4_r function is
available.
* nss/Versions (libnss_files): Export _nss_files_gethostbyname4_r.
* nss/nss.h: Define struct gaih_addrtuple.
* nss/nss_files/files-hosts.c (LINE_PARSER): Change to also handle
af==AF_UNSPEC.
(_nss_files_gethostbyname4_r): New function.
* resolv/Versions (libnss_dns): Export _nss_dns_gethostbyname4_r.
* resolv/gethnmaddr.c: Adjust __libc_res_nsearch and __libc_res_nquery
calls.
* resolv/res_query.c (__libc_res_nquery): Take two additional
parameters for second answer buffer. Handle type=T_UNSPEC to mean
look up IPv4 and IPv6.
Change all callers.
* resolv/res_send.c (__libc_res_nsend): Take five aditional parameters
for an additional query and answer buffer. Pass to send_vc and
send_dg.
(send_vc): Send possibly two requests and receive two answers.
(send_dg): Likewise.
* resolv/nss_dns/dns-host.c: Adjust calls to __libc_res_nsearch and
__libc_res_nquery.
(_nss_dns_gethostbyname4_r): New function.
(gaih_getanswer_slice): Likewise.
(gaih_getanswer): Likewise.
* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Adjust
__libc_res_nquery call.
* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
(_nss_dns_getnetbyname_r): Adjust __libc_res_nsearch call.
* sysdeps/posix/getaddrinfo.c: Use gethostbyname4_r function is
available.
2008-02-25 Jakub Jelinek <jakub@redhat.com>
[BZ #5790]
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Don't
overwrite *h_errnop/*errnop values from getanswer_r in case of
failure.
_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.
2007-10-15 Ulrich Drepper <drepper@redhat.com>
[BZ #3425]
* resolv/nss_dns/dns-host.c (getanswer_r): Fail with
NSS_STATUS_NOTFOUND if the server replied with only a CNAME and no
address record to T_A/T_AAAA requests.
Tomas Janousek <tjanouse@redhat.com>
Ulrich Drepper <drepper@redhat.com>
[BZ #4647]
* resolv/res_send.c (send_dg): Remove socket_pf. Use ipv6_unavail
member in __res_state, only convaddr4to6 if nssocks[ns] is a PF_INET6
socket.
* resolv/resolv.h (__res_state): Add ipv6_unavail member. Make
unused member a bitmap.
* resolv/res_init.c (__res_vinit): Reset ipv6_unavail if IPv6
servers are configured.
2007-06-18 Jakub Jelinek <jakub@redhat.com>
2007-04-30 Jakub Jelinek <jakub@redhat.com>
[BZ #4439]
* resolv/inet_ntop.c (inet_ntop4): Take terminating '\0' into
account in the size check.
* resolv/tst-inet_ntop.c: New test.
* resolv/Makefile (tests): Add tst-inet_ntop.
* resolv/res_mkquery.c: Define __res_nopt.
* resolv/res_query.c (__libc_res_nquery): If RES_USE_EDNS0 is set
try adding EDNS0 record.
* resolv/res_send.c (send_dg): If request failed with FORMERR and
EDNS0 record was send make sure we don't try it again.
* resolv/resolv.h: Define RES_F_EDNS0ERR and RES_USE_EDNS0.
* include/resolv.h: Declare __res_nopt.
2006-08-03 Ulrich Drepper <drepper@redhat.com>
* rt/Makefile (tests): Add tst-clock2.
* rt/tst-clock2.c: New file.
[BZ #2978]
* resolv/gai_notify.c (__gai_notify_only): Copy memory for thread
function and its parameters and pass it to new thread.
(__gai_notify): Add support for alternative waiting for completion.
* resolv/gai_suspend.c (gai_suspend): Add support for alternative
waiting for completion.
* resolv/getaddrinfo_a.c: Likewise.
* resolv/gai_misc.h (struct waitlist): Don't add cond if alternative
waiting for completion is used.
* resolv/gai_misc.c: Allow overwriting code to start helper thread.
* resolv/gai_cancel.c: Include <gai_misc.h> not "gai_misc.h".
* resolv/gai_error.c: Likewise.
* resolv/gai_sigqueue.c: Likewise.
* hurd/getdport.c (__detdport): Don't return EBADF; instead set
errno to EBADF and return MACH_PORT_NULL.
* posix/Makefile (CFLAGS-waitid.c): Add -fasynchronous-unwind-tables.
2006-05-14 Andreas Schwab <schwab@suse.de>
* math/complex.h [__LDBL_COMPAT]: Use __REDIRECT_NTH.
2006-05-12 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sched_getaffinity.c: Include sys/param.h.
(__sched_getaffinity_new): Don't crash if cpusetsize is smaller than
sizeof (cpu_set_t).
* resolv/res_mkquery.c: Use NS_PUT16 and NS_PUT32 instead of __putshort
and __putlong respectively. Correct buffer overflow check for
NS_NOTIFY_OP.
* resolv/res_send.c (send_vc): Use ns_put16 instead of putshort.
2006-05-06 Ulrich Drepper <drepper@redhat.com>
[BZ #2499]
* resolv/res_query.c (__libc_res_nquery): If answerp != NULL,
__libc_res_nsend might reallocate the buffer for the answer. In
this case we have to reload the HP pointer.
* resolv/res_hconf.c: Remove 'order' parsing. Just ignore the line.
* resolv/res_hconf.h: Remove Name_Service definition.
(struct hconf): Replace service related fields with placeholders.
* version.h (VERSION): Bump to 2.4.90 for the trunk.
(precsize_aton): Likewise.
(precsize_ntoa): Likewise.
* resolv/gethnamaddr.c (_gethtbyname): Remove extra prototype.
(gethostbyname2): Likewise.
(gethostbyaddr): Likewise.
(getanswer): Use ISO C function declaration.
res_nclose. Take addition parameter which determines whether
addresses should be freed.
(res_nclose): Call __res_iclose.
(res_thread_freeres): Likewise.
* resolv/res_data.c (res_close): Call __res_iclose.
* resolv/res_libc.c (res_init): No need to separately free the
addresses.
(__res_maybe_init): Likewise.
* resolv/res_send.c: Use __res_iclose instead of res_nclose.
* resolv/Versions [GLIBC_PRIVATE]: Add __res_iclose.
* include/resolv.h: Declare __res_iclose.
Add libc_hidden_proto for __res_iclose.
* hesiod/hesiod.c (__hesiod_res_set): No need to free name server
addresses here again.
* intl/dcigettext.c (_nl_find_msg): Add a cast.
* nis/nis_clone_dir.c (nis_clone_directory): Use char * for ADDR.
* nis/nis_clone_obj.c (nis_clone_object): Likewise.
* nis/nis_clone_res.c (nis_clone_result): Likewise.
* resolv/nss_dns/dns-network.c (getanswer_r): Use const unsigned char *
for END_OF_MESSAGE and CP.
* resolv/res_send.c (send_dg): Add else branch for case impossible
unless `poll' is buggy.
* crypt/crypt_util.c (__setkey_r): Add a cast.
* locale/programs/linereader.c (get_toplvl_escape): Use size_t for
NBYTES, and unsigned char * for BYTES.
* locale/programs/charmap.c (charmap_new_char): Use size_t and
unsighed char * for NBYTES, BYTES parameters.
* sysdeps/generic/dl-hash.h (_dl_elf_hash): Take const char * argument
and cast it.
* sysdeps/i386/i686/dl-hash.h (_dl_elf_hash): Likewise.
* sunrpc/create_xid.c (_create_xid): Don't use unsigned long for RES.
* sunrpc/svcauth_des.c (_svcauth_des): Fix cast type.
* sunrpc/auth_des.c (authdes_create): Don't use u_char for PKEY_DATA.
(authdes_marshal): Don't use unsigned int for LEN.
* sunrpc/xdr.c (xdr_hyper): Don't use unsigned long for T2.
(xdr_u_hyper): Likewise.
(xdr_u_short): Don't use u_long for L.
* sunrpc/xdr_intXX_t.c (xdr_int64_t): Don't use uint32_t for T2.
* inet/rexec.c (rexec_af): Use socklen_t.
* sunrpc/key_call.c (getkeyserv_handle): Likewise.
* sunrpc/rtime.c (rtime): Likewise.
* resolv/res_send.c (send_vc, send_dg): Likewise.
* nis/nis_callback.c (__nis_create_callback): Likewise.
* sysdeps/generic/libc-start.c: Use unsigned int for nthreads ptr.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix type of ADDR local.
* libio/libio.h (_IO_BE): Add parenthesis around EXPR.
* intl/dcigettext.c (INTVARDEF, INTUSE): Macros removed.
(_nl_default_dirname): Use libc_hidden_data_def instead of INTVARDEF.
(libc_freeres_fn, DCIGETTEXT): Don't use INTUSE.
* intl/bindtextdom.c (INTUSE): Macro removed.
(_nl_default_dirname): Use libc_hidden_proto.
(set_binding_values): Don't use INTUSE.
* include/libintl.h (_libc_intl_domainname_internal): Decl removed.
(_libc_intl_domainname): Use libc_hidden_proto.
* posix/regex_internal.h (gettext): Remove INTUSE on it.
* locale/SYS_libc.c (_libc_intl_domainname): Use libc_hidden_data_def
rather than INTDEF.
* include/libintl.h (_): Don't use *_internal name.
* ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Use int32_t,
not uint32_t.
* locale/lc-ctype.c (_nl_postload_ctype): Likewise for assignments.
* iconv/gconv_open.c (__gconv_open): Remove useless cast.
[BZ #721]
* sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
of [RESOLVE_MAP].
* sysdeps/sh/dl-machine.h (ELF_MACHINE_NO_REL): Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.h
(elf_machine_rel, elf_machine_rel_relative): Removed.
* sysdeps/powerpc/powerpc64/dl-machine.h
(elf_machine_rel, elf_machine_rel_relative): Removed.
2005-02-03 Alexandre Oliva <aoliva@redhat.com>
[BZ #721]
* elf/dynamic-link.h: Don't declare nested auto functions that are
not going to be defined.
2004-07-23 Jakub Jelinek <jakub@redhat.com>
[BZ #284]
* include/features.h (_POSIX_SOURCE, _POSIX_C_SOURCE): Define
if _XOPEN_SOURCE >= 500 even if __STRICT_ANSI__ is defined.
2005-02-16 Roland McGrath <roland@redhat.com>
* nscd/aicache.c: Prefer using gethostbyname3_r NSS callback to also
get ttl and canonical name. Use these two values.
* resolv/Versions: Export _nss_dns_gethostbyname3_r from libnss_dns.
* resolv/nss_dns/dns-host.c (getanswer_r): Take two new parameters.
If nonnull fill with TTL and pointer to canonical name respectively.
(_nss_dns_gethostbyaddr_r): Pass NULL in new parameters of getanswer_r.
(_nss_dns_gethostbyname2_r): Just wrapper around
_nss_dns_gethostbyname3_r.
(_nss_dns_gethostbyname3_r): Renamed from _nss_dns_gethostbyname2_r.
Take two new parameters which as passed to getanswer_r.
2004-08-19 Jakub Jelinek <jakub@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *)
to avoid warning.
* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize
status to NSS_STATUS_UNAVAIL.
2004-08-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the
cannoname lookup since it has the FQDN even if the original NAME
value has not.
* sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of
addr to avoid casts.
(gethosts): Removed.
(gethosts2): Renamed to gethosts. Make it usable for family !=
AF_UNSPEC. Fix AI_V4MAPPED.
(gaih_inet): Remove use of old gethosts. Always use what used to be
gethosts2. If entry is found, try to use the same NSS module's
getcanonname_r function. Use gethostbyaddr for AI_CANONNAME only
if getcanonname_r was not available. Fix filtering of AI_V4MAPPED
addresses. Numerous cleanups.
* resolv/nss_dns/dns-canon.c: New file.
* resolv/Makefile (libnss_dns-routines): Add dns-canon.
* resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r.
* elf/Makefile: Add rules to build and run tst-dlopenrpath.
* elf/tst-dlopenrpath.c: New file.
* elf/tst-dlopenrpathmod.c: New file.
* intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8.
Update.
* elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set,
reset loader before the actual loading.
* elf/dl-open.c (dl_open_worker): If file name contains no path
element determine map of caller. Pass caller map in this case to
_dl_map_object. Set __RTLD_CALLMAP in mode.
* include/dlfcn.h (__RTLD_CALLMAP): Define. [BZ #116]
Patch by Greg Wolodkin <greg@mathworks.com>.
Update.
2004-08-04 Jakub Jelinek <jakub@redhat.com>
* resolv/inet_pton.c (inet_pton4): Disallow octal numbers. Reported
by A. Guru <a.guru@sympatico.ca>. [BZ #295]
2004-07-21 Jakub Jelinek <jakub@redhat.com>
* resolv/res_libc.c (res_init): If RES_INIT is set and
_res.nscount > 0, call __res_nclose and free nsaddrs.
* resolv/Makefile: Add rules to build and run tst-leaks2.
* resolv/tst-leaks2.c: New test.
2004-05-07 Dmitry V. Levin <ldv@altlinux.org>
* argp/argp-help.c (__argp_error, __argp_failure): Check result
of __asprintf call and don't use string if it failed.
* stdio-common/psignal.c (psignal): Likewise.
* locale/programs/localedef.c (more_help): Likewise.
* resolv/res_hconf.c (arg_service_list, arg_trimdomain_list,
arg_bool, parse_line): Check result of __asprintf calls and
don't use string if they failed.
* sunrpc/svc_simple.c (registerrpc, universal): Likewise.
* elf/ldconfig.c (parse_conf_include): Check result of __asprintf
call and exit if it failed.
* sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Fix memory handling.
* sysdeps/generic/ifreq.c (__ifreq): Fix memory handling.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Make clear that
realloc cannot fail.
* nss/nss_files/files-netgrp.c (EXPAND): Free buffer which cannot
be expanded.
* nis/nis_table.c: Clean up memory handling.
* nis/nis_subr.c (nis_getnames): Clean up memory handling.
* nis/nis_removemember.c (nis_removemember): Add comment
explaining use of realloc.
* config.h.in: Add entry for HAVE_LIBIDN.
* configure.in: If libidn add-on present define HAVE_LIBIDN.
* Versions.def: Add entry for libcidn.
2004-03-07 Simon Josefsson <jas@extundo.com>
* resolv/netdb.h [__USE_GNU]: Add new AI_IDN ai_flags for addrinfo.
[__USE_GNU]: Add new error code EAI_IDN_ENCODE for getaddrinfo.
* sysdeps/posix/getaddrinfo.c: Add prototype for __idna_to_ascii_lz
and define IDNA_SUCCESS.
(gaih_inet): If ai_flags have AI_IDN, invoke __idna_to_ascii_lz.
(getaddrinfo): Fix EAI_BADFLAGS test to include AI_IDN.
All changes only applicable when glibc is compiled with the libidn
add-on.
2004-03-07 Ulrich Drepper <drepper@redhat.com>
2004-02-20 Alexandre Oliva <aoliva@redhat.com>
* resolv/Versions: Remove semicolon from the end of libresolv's
GLIBC_2.3.2 version block.
* Versions.def (libresolv): Add GLIBC_2.3.2.
2003-10-26 Ulrich Drepper <drepper@redhat.com>
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Default
reverse lookup format for IPv6 addresses is using bitfields and
.ip6.arpa suffix.
* resolv/ns_name.c: Implement encoding and decoding bitfields in
hex format.
* sysdeps/generic/utmp_file.c: Use not-cancelable syscalls all
over the place. It would be allowed to have these fucntions as
cancellation points but the cleanup would be ugly and a lot of
work.
* sysdeps/generic/not-cancel.h (fcntl_not_cancel): Define.
* sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Define.
* include/fcntl.h (__fcntl_nocancel): Declare.
* sysdeps/unix/sysv/linux/fcntl.c: New file.
* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Only enable
cancellation if absolutely needed.
(__fcntl_nocancel): Define.
* posix/unistd.h (gethostid): Remove __THROW. Clarify comment.
* sysdeps/unix/sysv/linux/Makefile (CFLAGS-gethostid.c): Add
-fexceptions.
* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use
extend_alloca.
* resolv/res_init.c (__res_nclose): Use close_not_cancel_no_status
instead of __close.
2003-07-22 Jakub Jelinek <jakub@redhat.com>
* include/resolv.h (__resp): Declare. Define to __libc_resp
if in libc.so.
(_res): If USE___THREAD, define to (*__resp).
* resolv/res_libc.c (_res): Normal .bss variable with compat_symbol
even if USE___THREAD.
(__resp): New __thread variable.
(__libc_resp): New alias.
* resolv/Versions (libc): Export _res@GLIBC_2.0 even if
USE_TLS && HAVE___THREAD. Export __resp@@GLIBC_PRIVATE.
* sysdeps/generic/res-state.c (__res_state): Return __resp
if USE___THREAD.
* resolv/tst-leaks.c: New file by Daniel Jacobowitz <drow@mvista.com>.
* resolv/Makefile (tests): Add tst-leaks.
($(objpfx)tst-leaks): Depend on $(objpfx)libresolv.so.
(tst-leaks-ENV): New variable.
($(objpfx)mtrace-tst-leaks): New target.
(tests): Depend on it.
2003-02-07 Jakub Jelinek <jakub@redhat.com>
* resolv/res_libc.c (_res): Ensure _res is not common symbol,
so that it can have aliases.
* inet/herrno.c (h_errno): Put it into .bss not .data section.
Patch by Lance Larsh <Lance.Larsh@oracle.com>.
* sysdeps/unix/sysv/linux/wait.c: Don't include <nptl/pthreadP.h> or
<tls.h> here, no need for it.
* sysdeps/unix/sysv/linux/waitpid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): Take ARG as void *
parameter, not varargs parameter.
* sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_RESET): Evaluate the
argument so it's not an unused variable.
* resolv/resolv.h (__p_key_syms, __p_cert_syms, __p_class_syms,
__p_type_syms, __p_rcode_syms): Remove decls, never really intended
for users.
* resolv/Versions (libresolv: GLIBC_2.3.2): New set, add __p_rcode.
2002-12-15 Art Haas <ahaas@airmail.net>
* nscd/connections.c: C99 initializer conversion.
* nscd/grpcache.c: Same.
* nscd/hstcache.c: Same.
* nscd/pwdcache.c: Same.
* sysdeps/hppa/Makefile (CFLAGS-rtld.c): New variable.
Set -mdisable-fpregs for this file.
2002-11-11 Carlos O'Donell <carlos@baldric.uwo.ca>
* sysdeps/unix/sysv/linux/configure.in:
Make 2.4.19 minimum linux kernel for hppa, and add unwind symbols
from gcc-3.0 era for backwards compatibility.
* sysdeps/unix/sysv/linux/configure: Regenerate.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h:
Define mcontext_t as a sigcontext.
* dlfcn/dlerror.c (fini): New function, __attribute__ ((destructor)).
Free memory in `last_result' if it was used.
* resolv/nss_dns/dns-network.c (getanswer_r): In BYNAME case, search
all aliases for one that matches the "<dotted-quad>.IN-ADDR.ARPA" form.
Do the parsing inline instead of copying strings and calling
inet_network, and properly skip all alias names not matching the form.
* sysdeps/generic/errno.c (__libc_errno): Remove alias.
* inet/herrno.c (__libc_h_errno): Likewise.
* resolv/res_libc.c (__libc_res): Likewise.
[USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD].
(__res_state) [! USE___THREAD]: Don't define as weak.
* csu/Versions: Revert last change.
* resolv/Versions: Revert last change.
[HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these
with compat_symbol so they are not link-time visible.
[! USE___THREAD] (__libc_errno): New alias for errno.
* csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
Add __libc_errno here.
* inet/herrno.c [USE___THREAD]: Use this conditional
in place of [USE_TLS && HAVE___THREAD].
[! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING]
(h_errno, _h_errno): Declare these with compat_symbol so they are not
link-time visible.
[! USE___THREAD] (__libc_h_errno): New alias for h_errno.
* resolv/res_libc.c [! USE___THREAD]
[HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise.
(_res): Use __attribute__ ((section (".bss"))) so we can have an alias.
(__libc_res): Define as alias for _res.
* resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
Add __libc_h_errno and __libc_res here.
2002-11-14 Jakub Jelinek <jakub@redhat.com>
* csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now.
* resolv/Versions (h_errno, _res): Likewise.
2002-11-14 Roland McGrath <roland@redhat.com>
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.
2002-10-09 Ulrich Drepper <drepper@redhat.com>
* Versions.def (libc): Add GLIBC_2.3.1.
(libpthread): Add GLIBC_2.3.1.
* include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo,
and __sigtimedwait.
* signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo.
* sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise.
* include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd.
* sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv
and make old name an alias.
* sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd
and make old name an alias.
* sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and
__libc_msgsnd.
* include/sys/uio.h: Declare __libc_readv and __libc_writev.
* misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and
__libc_writev.
* sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make
old name an alias.
* sysdeps/posix/readv.c: Likewise
* sysdeps/unix/sysv/aix/readv.c: Likewise.
* sysdeps/unix/sysv/linux/readv.c: Likewise.
* sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make
old name an alias.
* sysdeps/posix/writev.c: Likewise
* sysdeps/unix/sysv/aix/writev.c: Likewise.
* sysdeps/unix/sysv/linux/writev.c: Likewise.
* include/sys/wait.h: Declare __waitid.
* posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid.
* sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old
name an alias.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/aix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall.
2002-10-07 Jakub Jelinek <jakub@redhat.com>
* include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New
prototypes.
(__MAX_ALLOCA_CUTOFF): Define.
Include allocalim.h.
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
_nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate
host_buffer depending on __libc_use_alloca.
* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
_nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate
net_buffer depending on __libc_use_alloca.
* resolv/res_query.c (res_nquery): Use alloca or malloc to allocate
buf depending on __libc_use_alloca.
* resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise.
* stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca
instead of hardcoded constants.
Pass proper size argument to alloca and compute end for wide char
version.
* stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca
instead of hardcoded constants.
* string/strcoll.c (strcoll): Likewise.
* string/strxfrm.c (strxfrm): Likewise.
* sysdeps/posix/readv.c (__readv): Likewise.
* sysdeps/posix/writev.c (__writev): Likewise.
* sysdeps/generic/allocalim.h: New file.
(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _errno, errno.
(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put errno here instead.
* resolv/Versions: Use %include <tls.h> to get USE_TLS defined.
(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _h_errno, h_errno,
and _res.
(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put h_errno, _res here.
* elf/tls-macros.h [__x86_64__] (TLS_LE, TLS_IE, TLS_LD, TLS_GD):
New macros for x86-64.
* sysdeps/unix/sysv/linux/alpha/bits/time.h: File removed.
It was indentical to the linux/bits/time.h file.
* nscd/nscd_gethst_r.c (nscd_gethst_r): Add a cast to silence warning.
* resolv/gethnamaddr.c (gethostbyaddr): Use socklen_t for SIZE.
* sysdeps/unix/sysv/linux/ifreq.h (__if_nextreq): New function.
* sysdeps/mach/hurd/ifreq.h (__if_nextreq): New function.
* sysdeps/gnu/ifaddrs.c (getifaddrs): Use __if_nextreq
for iterating through the list of interfaces.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Likewise.
* sysdeps/unix/grantpt.c (pts_name): Set errno when __ptsname_r fails.
Reported by Bruno Haible <bruno@clisp.org>.