2006-05-23  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_lookup.c (nis_lookup): Use __prepare_niscall instead of
	doing it all here.  When server does not know the answer do not
	fail immediate, try parent first.

	* nis/nis_domain_of_r.c (nis_domain_of_r): Add missing buffer
	overflow test.

2006-05-20  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (__prepare_niscall): New function.  Split out
	from __do_niscall.
	* nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
	and exported.
	(__follow_path): New function.  Split out from nis_list.
	* nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
	_xdr_nis_result.
	* nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
	_xdr_nis_result.
	* nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
	and __follow_path.
	* nis/Versions: Export __prepare_niscall, __create_ib_request,
	__follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
	from libnsl for version GLIBC_PRIVATE.
	* nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
	Remove entry parameter from _nss_nisplus_parse_pwent and
	_nss_nisplus_parse_grent.
	* nis/nss_nisplus/nisplus-parser.c: Likewise.
	* nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
	again.  Rewrite getpwent handling to not use nis_first_entry and
	nis_next_entry.  Roll out own niscall handling.
	* nis/nss_nisplus/nisplus-grp.c: Likewise.

	* sunrpc/xdr_rec.c: Fix typo in comment.

2006-05-19  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (__do_niscall3): Avoid code duplication in error
	handling.

	* nis/nis_callback.c (internal_nis_do_callback): Don't use malloc
	to allocate memory for my_pollfd.  Better initialization of
	cb_is_running.  Use TEMP_FAILURE_RETRY.

	* malloc/memusage.sh (memusageso): Add quotes.
	(memusagestat): Likewise.
	* debug/xtrace.sh (pcprofileso): Likewise.
	(pcprofiledump): Likewise.
	* debug/Makefile ($(objpfx)xtrace): Use $LIB in SLIBDIR
	replacement.
	* malloc/Makefile ($(objpfx)memusage): Likewise.

	* nis/nis_callback.c (__nis_create_callback): Calls to
	svcudp_bufcreate and svctcp_create can fail.  Free ->xprt if
	asprintf call fails.

	* sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_sendreq): Make sure
	no uninitialized memory is passed to sendto.

2006-05-18  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_callback.c (__nis_create_callback): Use asprinf instead
	of snprintf+strdup.  Handle OOM.
	* nis/nis_callback.c (__nis_create_callback): Allocate cb and
	cb->serv together.  Remove now obsolete free calls.
	(__nis_destroy_callback): Remove now obsolete free call.

2006-05-18  David Woodhouse  <dwmw2@redhat.com>

	* sysdeps/posix/getaddrinfo.c: Add unique labels to the default
	RFC3484 precedence table for fec0::/10 and fc00::/7 (site-local
	and ULA respectively). Set precedence for IPv4 address to 10 as
	defined in RFC3484 for preferring IPv6.
	* posix/gai.conf: Update to match the new default tables.

2006-05-18  Jakub Jelinek  <jakub@redhat.com>

	* nis/nss_compat/compat-pwd.c (internal_setpwent): If nss_set*ent
	returned NSS_STATUS_UNAVAIL, still return NSS_STATUS_SUCCESS.
	* nis/nss_compat/compat-spwd.c (internal_setspent): Likewise.
	* nis/nss_compat/compat-grp.c (internal_setgrent): Likewise.

	* nis/nss_compat/compat-initgroups.c (nss_setgrent, nss_endgrent):
	Removed.
	(init_nss_interface): Remove initialization of these variables.

2006-05-18  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (rec_dirsearch): Little optimization: pull
	nis_free_directory forward to avoid duplication.

2006-05-17  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (rec_dirsearch): Handle __nis_finddirectory and
	rec_dirsearch returning NULL.
	(first_shoot): Handle __nis_finddirectory returning NULL.
	(__nisfind_server): Fix leak when rec_dirsearch returns NULL.

	* sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOSE, IN_MOVE,
	IN_ONLYDIR, IN_DONT_FOLLOW, and IN_MASK_ADD.

2006-05-17  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/key_call.c (getkeyserv_handle): Call auth_destroy if
	pid changed.

2006-05-15  Ulrich Drepper  <drepper@redhat.com>

	* include/rpc/pmap_prot.h: Mark all functions as hidden.

	* nscd/nscd_initgroups.c: Mark __gr_map_handle as hidden.
	* nscd/nscd_getgr_r.c: Likewise.

	* include/rpc/pmap_rmt.h: Mark all functions as hidden.

	* nscd/nscd_getai.c (__hst_map_handle): Mark as hidden.
	* nscd/nscd_gethst_r.c (__hst_map_handle): Likewise.

	* stdlib/longlong.h (__clz_tab): Mark as hidden.

	* iconv/gconv_int.h: Mark __gconv_lock as hidden.

	* include/rpc/key_prot.h: Mark all _internal functions as hidden.

	* include/rpc/auth.h: Mark xdr_des_block_internal and
	xdr_opaque_auth_internal as hidden.

	* sysdeps/unix/sysv/linux/getdents.c: Mark __have_no_getdents64 as
	hidden.

	* include/rpc/xdr.h: Mark all _internal functions as hidden.

	* misc/getusershell.c (okshells): Don't use static initializers,
	do it dynamically.

	* stdlib/fmtmsg.c (keywords): Change type of len element to
	uint32_t to not waste space on 64bit machines.

	* locale/setlocale.c: Change _nl_category_names into a string.
	Add new _nl_category_name_idxs.  Change all users.
	* locale/localeinfo.h: Adjust declaration of _nl_category_names.
	Declare _nl_category_name_idxs.
	* locale/findlocale.c: Adjust for _nl_category_names change.
	* locale/loadlocale.c: Likewise.
	* locale/newlocale.c: Likewise.
	* intl/dcigettext.c: Likewise.

	* iconv/gconv_conf.c (add_alias): Move actual alias handling to...
	(add_alias2): ...here.  New function.
	(__gconv_read_conf): Simplify builtin alias handling.
	(builtin_aliases): Convert to string to avoid relocations.
	* iconv/gconv_builtin.h: Add comment about correct formatting.

2006-05-15  Jakub Jelinek  <jakub@redhat.com>

	* resolv/res_debug.c (loc_ntoa): Make error const.

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).

2006-05-11  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_debug.c (loc_ntoa): Define error as array, not pointer.

	* include/arpa/nameser.h: Declare _ns_flagdata as hidden.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_master.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_master.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypbind_resp.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypbind_resp.

	* nis/nis_xdr.c: Add libnsl_hidden_def for xdr_cback_data.
	* include/rpcsvc/nis_callback.h: Add libnsl_hidden_proto for
	xdr_cback_data.

	* nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypupdate_args.
	* include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
	xdr_ypupdate_args.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_order.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_order.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_maplist.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_maplist.

	* nis/nis_xdr.c: Add libnsl_hidden_def for xdr_obj_p.
	* include/rpcsvc/nis_callback.h: New file.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_val.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_val.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypmaplist.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypmaplist.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.

	* nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypdelete_args.
	* include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
	xdr_ypdelete_args.

	* nis/nis_xdr.h: Mark all functions as hidden.  Remove
	__BEGIN_DECLS and __END_DECLS, the header is not installed.

	* nis/nis_error.c: Remove table of strings.  Use position
	independent mechanism.
	* nis/nis_error.h: New file.

2006-05-11  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/ld-time.c (time_finish): If wide era name or
	format aren't provided, set both wname and wformat to L"".

2006-05-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Only store
	results if the call was succesful.

	* nis/nss-nis.h: Mark __yperr2nss_tab and __yperr2nss_count as hidden.

	* nis/nss-nisplus.h: Mark __niserr2nss_tab and __niserr2nss_count
	as hidden.

2006-05-10  Jakub Jelinek  <jakub@redhat.com>

	* misc/sys/queue.h: Remove uses of all QUEUEDEBUG_* macros.

2006-05-10  Ulrich Drepper  <drepper@redhat.com>

	* posix/wordexp.c (parse_glob): No need to check ifs for NULL, the
	caller makes sure this is not the case.
	(wordexp): Simplify ifs_white creation.  [Coverity CID 231]

2006-05-09  Ulrich Drepper  <drepper@redhat.com>

	* posix/wordexp.c: Remove numerous NULL pointer tests before FREE
	calls.

	* io/ftw.c (open_dir_stream): Return right away if REALLOC fails.
	[Coverity CID 229, 230]

	* argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and
	DGETTEXT calls.
	(hol_help): Likewise.  [Coverity CID 226, 227]

	* string/argz-replace.c (__argz_replace): Unconditionally call
	free on SRC.  [Coverity CID 225]

	* nis/nis_creategroup.c (nis_creategroup): No need to duplicate
	the return value of __nis_default_owner and __nis_default_group,
	it has been especially allocated.  [Coverity CID 224]

	* nis/nis_defaults.c (searchXYX): New functions.  Used by both
	searchgroup and searchowner.  Significantly simplified.
	(__nis_default_owner): Remove duplication.  Do not locally copy the
	string before duplicating it.
	(__nis_default_group): Likewise.

	* nis/nis_lookup.c (nis_lookup): After calling nis_free_directory,
	we must clear the variable before calling __nisfind_server.

	* nis/nis_lookup.c (nis_lookup): Always free memory allocated with
	nis_getnames.  [Coverity CID 223]

	* locale/programs/locfile.c (locfile_read): Use alloca instead of
	xmalloc to allocate local repertoire name.  [Coverity CID 222]

	* iconv/iconv_charmap.c (use_to_charmap): No need to dynamically
	allocate memory for the input to add_bytes.  [Coverity CID 221]

	* posix/wordexp.c (w_addword): Free word if realloc fails and it
	was allocated here.  [Coverity CID 219, 220]

	* posix/getconf.c (print_all): Free confstr data after printing.
	[Coverity CID 218]

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Free canon string if
	list allocation fails.  [Coverity CID 215]

	* nss/nsswitch.c (__nss_configure_lookup): Fix loop end condition.
	[Coverity CID 213]

	* argp/argp-help.c (hol_entry_cmp): Don't call canon_doc_option if
	string is NULL.  [Coverity CID 212]
	* argp/Makefile: Add rules to build and run bug-argp1.
	* argp/bug-argp1.c: New file.

	* io/ftw.c (ftw_dir): Use __rawmemchr instead of strchr to find
	end of string.
	* stdlib/canonicalize.c (__realpath): Likewise.

	* locale/programs/ld-time.c (time_finish): Don't dereference NULL
	pointer.  [Coverity CID 206]

	* elf/dl-dst.h (DL_DST_REQUIRED): Be prepared for missing link map
	in statically linked code.
	* elf/dl-load.c (_dl_dst_substitute): When replacing ORIGIN in
	statically built code, be prepared to have no link map.
	[Coverity CID 205]

	* argp/argp-help.c (fill_in_uparams): Handle STATE==NULL in
	dgettext calls. [Coverity CID 204]

	* argp/argp-help.c (struct uparams): Remove valid member.  Change
	the one user.
	(uparam_names): Reduce size.  Avoid relative relocations.
	Moved to read-only segment.
	(fill_in_uparams): Update for new layout.

	* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Parameter can be
	assumed to always be != NULL. [Coverity CID 202]

	* argp/argp-help.c (hol_entry_help): Remove some dead code
	[Coverity CID 200].

	* nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Optimize
	away a few more unconditional yperr2nss calls.
	(_nss_nis_getservbyname_r): Likewise.

2006-05-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Remove support for non-core
	architectures.

	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Make sure
	that unused memory passed to sendto is nevertheless initialized.

	[BZ #2499]
	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Avoid
	possibly unaligned memory accesses.

	* include/arpa/nameser.h: Also optimize NS_PUT16 and NS_PUT32.
	* 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.

	* resolv/res_send.c (res_queriesmatch): Fix typo in comment.
	(send_dg): Rewrite error handling to be more compact and avoid
	double recomputation of timeouts.  Pass MSG_NOSIGNAL to send.

	* include/arpa/nameser.h: Add optimizations for NS_GET16 and NS_GET32.

	* resolv/res_send.c (res_nameinquery): Use NS_GET16 directly
	instead of ns_get16.
	(res_queriesmatch): Likewise.  Minor optimization.

	[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.

2006-05-05  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfscanf.c (memory_error): Remove definition.  Add
	some branch prediction hints.

	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Define SPLICE_F_*.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.

2006-05-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-32/elf/start.S: Replace pc relative relocation
	by a GOT relocation to make Scrt1.o position independent.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.

	* sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Add support for
	six system call parameters.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.

2006-05-05  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/svcauth_des.c (cache_init): Use calloc instead of
	malloc&bzero.

	* sunrpc/svc_udp.c (BZERO): Remove definition.
	(CALLOC): Define.
	(svc_enablecache): Use CALLOC instead of ALLOC&BZERO.

	* sunrpc/des_impl.c: Remove ALT_ECB support.  We never used it.
	(des_SPtrans): Use uint32_t type.
	(des_skb): Likewise.

	* sunrpc/xdr_ref.c (xdr_reference): Use calloc instead of malloc&bzero.

2006-05-05  Jakub Jelinek  <jakub@redhat.com>

	[BZ #2509]
	* stdio-common/tst-printf.sh: Adjust for tst-printf.c change even
	on 32-bit arches.

2006-05-05  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/ld-address.c (address_finish): Fix one more
	place where the iso639 array might be accessed beyond the limits.

2006-05-04  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_table.c (nis_list): Avoid clearing res twice before
	filling it for the first time.

	* nis/nis_table.c (get_tablepath): Renamed from __get_tablepath.
	Adjust all callers.
	Free res object content before returning.

	* sunrpc/xdr_array.c (xdr_array): Use calloc instead of malloc&bzero.

	* sunrpc/key_call.c (__rpc_thread_key_cleanup): Also free
	client->cl_auth.

	* sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire
	cleanup for initial thread, just the free call on TVP.

	* nscd/gai.c (__getline): Define.


See ChangeLog.16 for earlier changes.