Commit Graph

308 Commits

Author SHA1 Message Date
Ulrich Drepper
02f366b304 * nis/nis_subr.c (nis_getnames): Fix the implementation to better
match what Solaris does.

	* string/bug-envz1.c: New file.
2006-06-16 22:31:04 +00:00
Ulrich Drepper
672d5a63a9 * nis/nis_removemember.c (nis_removemember): Avoid unnecessary
coping.  No need to allocate new array for group members.  Just
	move the pointers and update the size.
2006-05-25 18:31:29 +00:00
Ulrich Drepper
1663b44fbc * nis/nis_addmember.c (nis_addmember): Avoid unnecessary copying.
Avoid memory leak in case realloc fails.  Simplification for
	better code generation.

	Avoid deprecation warning because of libc_hidden_proto for
	inet6_option_alloc.
	* inet/inet6_option.c (option_alloc): Renamed from
	inet6_option_alloc.  Made static.
	(inet6_option_alloc): New a simple wrapper around option_alloc.
	(inet6_option_append): Call option_alloc.
	* include/netinet/in.h: Remove libc_hidden_proto for
	inet6_option_alloc.
2006-05-25 17:16:17 +00:00
Ulrich Drepper
6bcb494a99 * nis/nis_callback.c (__nis_create_callback): Always call xdr_free
for cleanup when cb!=NULL [Coverity CID 233].
2006-05-25 15:52:21 +00:00
Ulrich Drepper
062e719bed * 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.
2006-05-24 06:01:25 +00:00
Ulrich Drepper
2d571cd125 * nis/nis_domain_of_r.c (nis_domain_of_r): Add missing buffer
overflow test.
2006-05-24 04:07:18 +00:00
Ulrich Drepper
a17fa6100d * 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-18  David Woodhouse  <dwmw2@redhat.com>
2006-05-20 19:22:30 +00:00
Ulrich Drepper
1d4f062ab8 * nis/nis_call.c (__do_niscall3): Avoid code duplication in error
handling.
2006-05-20 01:04:08 +00:00
Ulrich Drepper
101cc59887 * 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.
2006-05-20 00:31:17 +00:00
Ulrich Drepper
882bfe73fd * nis/nis_callback.c (__nis_create_callback): Calls to
svcudp_bufcreate and svctcp_create can fail.  Free ->xprt if
	asprintf call fails.
2006-05-19 08:23:43 +00:00
Ulrich Drepper
f90de83143 * 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 17:32:19 +00:00
Ulrich Drepper
758b9d7efe * 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-18 14:52:08 +00:00
Ulrich Drepper
5f1724bf03 * 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.
2006-05-18 06:08:02 +00:00
Ulrich Drepper
4b481a15bd * 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.
2006-05-12 02:46:18 +00:00
Ulrich Drepper
b1ad49c6fb * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypdelete_args.
* include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
	xdr_ypdelete_args.
2006-05-11 22:41:55 +00:00
Ulrich Drepper
cd5f7829d2 * nis/nis_xdr.h: Mark all functions as hidden. Remove
__BEGIN_DECLS and __END_DECLS, the header is not installed.
2006-05-11 20:36:41 +00:00
Ulrich Drepper
a51752b6b2 * nis/nis_error.c: Remove table of strings. Use position
independent mechanism.
	* nis/nis_error.h: New file.
2006-05-11 20:29:20 +00:00
Ulrich Drepper
d6c159fe15 * 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 17:27:03 +00:00
Ulrich Drepper
400cc70af5 * 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]
2006-05-10 06:39:15 +00:00
Ulrich Drepper
51e5926049 * 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]

	was allocated here.  [Coverity CID 219, 220]
2006-05-10 02:55:21 +00:00
Ulrich Drepper
e7c8359e43 * posix/wordexp.c (w_addword): Free word if realloc fails and it
was allocated here.  [Coverity CID 219]

	* 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-10 00:03:41 +00:00
Ulrich Drepper
fff04b32af [BZ #2509]
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 access beyond the limits.
2006-05-05 13:37:35 +00:00
Ulrich Drepper
f2d5cf5005 * nis/nis_table.c (nis_list): Avoid clearing res twice before
filling it for the first time.
2006-05-05 06:01:26 +00:00
Ulrich Drepper
3e4370cf2b * nis/nis_table.c (get_tablepath): Renamed from __get_tablepath.
Adjust all callers.
	Free res object content before returning.
2006-05-05 03:52:25 +00:00
Ulrich Drepper
1e528c6e1b * nis/nss_nis/nis-pwd.c (internal_nis_getpwent_r): Don't try to
free outkey in error case when batch_read is set.
2006-05-01 22:33:24 +00:00
Ulrich Drepper
d4b661e575 * nis/nss_nis/nis-grp.c (internal_nis_getgrent_r): Don't try to
free outkey in error case when batch_read is set [Coverity CID 196].
2006-05-01 22:25:23 +00:00
Ulrich Drepper
5493f3ddc3 * nis/nss_nisplus/nisplus-publickey.c (parse_grp_str): PIDLIST is
supposed to have NGRPS elements.
2006-04-30 15:36:48 +00:00
Ulrich Drepper
ac05397075 * nis/nss_nisplus/nisplus-parser.c: Minor optimizations and
cleanups.  Avoid copying data if it can be used in the old place.
2006-04-30 07:01:26 +00:00
Ulrich Drepper
487609e313 * nis/nss_nisplus/nisplus-ethers.c: Add missing null pointer check.
* nis/nss_nisplus/nisplus-hosts.c: Likewise.
	* nis/nss_nisplus/nisplus-network.c: Likewise.
	* nis/nss_nisplus/nisplus-proto.c: Likewise.
	* nis/nss_nisplus/nisplus-rpc.c: Likewise.
	* nis/nss_nisplus/nisplus-service.c: Likewise.
	* nis/nss_nisplus/nisplus-spwd.c: Likewise.
2006-04-30 05:45:15 +00:00
Ulrich Drepper
d08a1d404d * nis/nisplus-parser.h (_nss_nisplus_parse_pwent): Add entry
parameter.
	(_nss_nisplus_parse_pwent_chk): New prototype.
	* nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_pwent):
	Add entry parameter.  Use it for column value in all accesses.
	Move checks for well-formed reply to...
	(_nss_nisplus_parse_pwent_chk): ...here.  New function.
	* nis/nss_nisplus/nisplus-pwd.c: Support SETENT_BATCH_READ option.
2006-04-29 20:20:05 +00:00
Ulrich Drepper
5b4f9fad38 * nis/nss_nisplus/nisplus-parser.c: Some cleanups. Remove
hidden_def definitions.
	* nis/nisplus-parser.h: Add parameter names.  Remove hidden_proto
	definitions.
2006-04-29 16:26:41 +00:00
Ulrich Drepper
e0d4e91d2b * nis/nss_nis/nis-spwd.c (internal_nis_getspent_r): Remove data
variable.

	* nis/nss-nis.h: Define response_t and intern_t.  Declare _nis_saveit.
	* nis/nss_nis/nis-pwd.c: Remove response_t and intern_t definition.
	(saveit): Renamed to _nis_saveit.  Take parameter which is pointer
	to the intern_t object.  Change all users.
	* nis/nss_nis/nis-grp.c: Remove response_t, intern_t, and saveit
	definition.  Use _nis_saveit instead of saveit.
	* nis/nss_nis/nis-service.c: Likewise.
	* nis/nss_nis/nis-initgroups.c: Likewise.
	(internal_setgrent): Adjust for buffer handling.
	(internal_getgrent_r): Likewise.
	* nis/nss_nis/nis-rpc.c: Likewise.
2006-04-29 01:14:07 +00:00
Ulrich Drepper
4eaa9bb48b * nis/nss-default.c (vars): Add SETENT_BATCH_READ.
* nis/nss: Document SETENT_BATCH_READ.
	* nis/libnsl.h: Define NSS_FLAG_SETENT_BATCH_READ.
	* nis/nss_nis/nis-service.c (saveit): Don't add NUL byte if the
	string is already NUL terminated.
	(internal_nis_endservent): No need to return anything.  Change callers.
	(internal_nis_setservent): One more initialization.
	* nis/nss_nis/nis-pwd.c: Support SETENT_BATCH_READ option.
	* nis/nss_nis/nis-grp.c: Likewise.

	* nis/nss-default.c (init): Rewrite parser to get the variables
2006-04-28 21:08:22 +00:00
Ulrich Drepper
ee821689eb * nis/nss-default.c (init): Rewrite parse to get the variables
from a table.
2006-04-28 19:07:15 +00:00
Ulrich Drepper
4718026de2 * nis/nss_nis/nis-service.c: Avoid passing pointer to static
variable around.  Reduce number of memory allocations by creating
	list of memory pools.
2006-04-28 18:42:24 +00:00
Ulrich Drepper
912873399c * nis/ypclnt.c (__xdr_ypresp_all): Minor optimization in string
handling.  Fix typo in comment.
2006-04-28 17:01:50 +00:00
Ulrich Drepper
23948bda4b * nis/nss_nisplus/nisplus-netgrp.c: Cleanups.
* posix/regex.h: Remove obsolete <sys/types.h> comment and special
	code if possible.  Move compatibility code in .text.compat section.
2006-04-24 04:36:38 +00:00
Ulrich Drepper
47ad422ffe * nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent):
	Likewise.
2006-04-15 18:07:00 +00:00
Ulrich Drepper
0944b9e1f0 * nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent):
Significant cleanups.  Correct adjustment for pointer array.
	Likewise.
2006-04-15 17:52:52 +00:00
Ulrich Drepper
004c621963 * nis/nss_nisplus/nisplus-publickey.c: Minor cleanups throughout. 2006-04-15 17:40:08 +00:00
Ulrich Drepper
38c2f8bc62 * nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
Significant cleanups.  Correct adjustment for pointer array
	Likewise.
2006-04-15 17:27:11 +00:00
Ulrich Drepper
f514f94584 * nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent):
	Likewise.
2006-04-15 17:11:28 +00:00
Ulrich Drepper
840094b5f4 * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent):
Significant cleanups.  Correct adjustment for pointer array.
2006-04-15 16:22:13 +00:00
Ulrich Drepper
1620084c4e * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_parse_etherent):
Minor cleanups.  NUL terminate name string.

	* nis/Versions: No need to export _nss_nisplus_parse_grent,
	_nss_nisplus_parse_pwent, and _nss_nisplus_parse_spent.
2006-04-14 21:30:52 +00:00
Ulrich Drepper
3fc044a113 * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_parse_aliasent):
Avoid unnecessary allocation.  Fix adjustment for pointer value.
2006-04-14 20:39:47 +00:00
Ulrich Drepper
0433a3502d * nis/nss_nisplus/nisplus-parser.c: Cleanups, use NIS_RES_*
macros.  Avoid unnecessary allocation.
2006-04-14 15:26:13 +00:00
Ulrich Drepper
433f49c402 * nis/Makefile (libnsl-routimes): Add nss-default.
* nis/Versions (libnsl) [GLIBC_PRIVATE]: Export _nsl_default_nss.
	* nis/nss-nis.c: Move /etc/default/nss handling to...
	* nis/nss-default.c: ...here.  New file.
	* nis/libnsl.h: New file.
	* nis/nss-nis.h: Remove NSS_FLAG_* definitions and _nis_default_nss
	plus auxilary definitions.
	* nis/nss_nis/nis-initgroups.c: Use _nsl_default_nss instead of
	_nis_default_nss.
	* nis/nss_nis/nis-service.c: Likewise.

2006-04-07  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/fpu/bits/mathinline.h
	[__WORDSIZE == 64 || _ARCH_PWR4]: Define __CPU_HAS_FSQRT.
	(__ieee754_sqrt): Fix comment.
	(__ieee754_sqrtf): Fix comment.
	* sysdeps/powerpc/fpu/e_sqrt.c (__ieee754_sqrt): Fix comment.
	Check __CPU_HAS_FSQRT instead of dl_hwcap.
	* sysdeps/powerpc/fpu/e_sqrtf.c (__ieee754_sqrtf): Likewise.
2006-04-14 05:51:51 +00:00
Ulrich Drepper
ab9a9ff8a1 * nis/nss_nis/nis-alias.c: Optimize use of yperr2nss. Avoid calling
it for YPERR_SUCCESS.  Minor cleanups.  Add __builtin_expect.
	* nis/nss_nis/nis-ethers.c: Likewise.
	* nis/nss_nis/nis-grp.c: Likewise.
	* nis/nss_nis/nis-hosts.c: Likewise.
	* nis/nss_nis/nis-initgroups.c: Likewise.
	* nis/nss_nis/nis-netgrp.c: Likewise.
	* nis/nss_nis/nis-network.c: Likewise.
	* nis/nss_nis/nis-proto.c: Likewise.
	* nis/nss_nis/nis-publickey.c: Likewise.
	* nis/nss_nis/nis-pwd.c: Likewise.
	* nis/nss_nis/nis-rpc.c: Likewise.
	* nis/nss_nis/nis-service.c: Likewise.
	* nis/nss_nis/nis-spwd.c: Likewise.
2006-04-09 02:45:24 +00:00
Ulrich Drepper
7960f2a704 * nis/nis_ping.c: Remove unnecessary conditionals before
nis_freeresult calls.
	* nis/nis_ismember.c: Likewise.
2006-04-08 20:28:00 +00:00
Ulrich Drepper
db67c2c98b * io/fts.c (fts_build): Call fts_lfree in the two error cases
after the loop [Coverity CID 187].

	* nis/nis_getservlist.c (nis_getservlist): Also free lookup result
	in error case [Coverity CID 189].

	* nis/nis_getservlist.c (nis_getservlist): One more free call
	needed [Coverity CID 190].
2006-04-08 19:35:24 +00:00