Commit Graph

312 Commits

Author SHA1 Message Date
Ulrich Drepper
d0ccde2540 * nis/nis_xdr.c: Avoid some function calls. 2006-08-08 00:39:32 +00:00
Ulrich Drepper
13a0293d5a 2006-08-07 Jakub Jelinek <jakub@redhat.com>
Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (rec_dirsearch) [case LOWER_NAME]: Don't take
	short cut if only one name component is stripped away.
2006-08-07 17:40:53 +00:00
Ulrich Drepper
bd1ebae0eb * nis/nis_call.c: Minor cleanups throughout.
(rec_dirsearch) [HIGHER_NAME]: Correctly size ndomain array.
	(first_shoot): Add search_parent_first parameter.  Only if it is set
	search parent server first.
	If directory for table found through cold start cache is not the same
	as referenced in the cache, don't use it.
	(__nisfind_server): Take additional parameter.  Pass it on to
	first_shoot.
	(__prepare_niscall): Adjust __nisfind_server call.
	* nis/rpcsvc/nislib.h: Adjust __nisfind_server prototype.
	* nis/nis_table.c: Adjust __nisfind_server call.
	* nis/nis_lookup.c: Likewise.
	(nis_lookup): Don't loop endlessly if name is reduced to ".".
2006-08-07 16:03:46 +00:00
Ulrich Drepper
cb62745abd Avoid unnecessary setXXent calls into the backend NSS module. If backend setXXent call failed, don't have internal_setXXent fail. Just remember this until it is needed. 2006-07-31 23:33:04 +00:00
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