Commit Graph

192 Commits

Author SHA1 Message Date
Ulrich Drepper f7e7a39681 Update.
* grp/initgroups.c: Move compat_call implementation...
	* grp/compat-initgroups.c: ...to here.  New file.
	* grp/Makefile (distribute): Add compat-initgroups.c.
	(CFLAGS-initgroups.c): Add -DUSE_NSCD=1.
	* mscd/initgrcache.c: New file.
	* nscd/nscd_initgroups.c: New file.
	* nscd/Makefile (routines): Add nscd_initgroups.
	(nscd-modules): Add initgrcache.
	* nscd/cache.c (prune_cache): Add support for INITGROUPS entries.
	* nscd/connections.c: Handle INITGROUPS requests.
	* nscd/nscd-client.h: Define INITGROUPS, initgr_response_header.
	Add initgrdata element to struct datahead.  Fix typo in comment.
	* nscd/nscd_proto.h: Declare __nscd_getgrouplist.  Fix parameter
	type in __nscd_getgrgrid_r.
	* nscd/selinux.c (perms): Add INITGROUPS entry.

	* nscd/nscd_getai.c: No need to include <sys/mman.h>.

	* sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without
	assigned addresses.
	* sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
	* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
	* sunrpc/clnt_udp.c (is_network_up): Likewise.
2004-09-30 02:24:51 +00:00
Ulrich Drepper 04c785b27f Update.
* nscd/nscd.c: Define getaddrinfo hidden so that it is never found
	outside.
2004-09-29 22:47:22 +00:00
Ulrich Drepper 8117719197 Update.
* nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test
	of failing __nscd_get_map_ref.  Fix a few typos.
2004-09-29 05:59:26 +00:00
Ulrich Drepper 3c12b91ade Update.
2004-09-20  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd.c (options): Mark S option as hidden.
	(parse_opt): When S option is used, print warning message.
	* nscd/grpcache.c (adgrptbyX): Don't handle secure mode.
	* nscd/hstcache.c (addhstbyX): Don't handle secure mode.
	* nscd/aicache.c (addhstaiX): Don't handle secure mode.
	* nscd/pwdcache.c (addpwbyX): Don't handle secure mode.
2004-09-20 23:16:22 +00:00
Ulrich Drepper 2edb61e3f9 Update.
* sysdeps/unix/sysv/linux/setegid.c [HAVE_PTR__NPTL_SETXID]: Call
	callback to set IDs in all other threads as well.
	* sysdeps/unix/sysv/linux/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/setuid.c: New file.
	* sysdeps/unix/sysv/linux/setgid.c: New file.
	* sysdeps/unix/sysv/linux/setreuid.c: New file.
	* sysdeps/unix/sysv/linux/setregid.c: New file.
	* sysdeps/unix/sysv/linux/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NCS.
	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Use x86 version.
	* sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove setresgid
	and setresuid.
	* nscd/aicache.c: Use pthread_seteuid_np instead of seteuid.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
2004-09-20 00:16:11 +00:00
Ulrich Drepper f731666f48 Update.
2004-09-17  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd.c (parse_opt): Write arg string instead of (void *)
	key to the socket.
2004-09-17 19:51:26 +00:00
Ulrich Drepper 74a30a5851 Update.
2004-09-16  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Add test for required SELinux features.
	* config.make.in: Add have-selinux entry.
	* config.h.in: Add HAVE_SELINUX entry.
	* nscd/Makefile (nscd-modules): Add selinux.
	(CFLAGS-selinux.c): Add -fpie.
	Define selinux-LIBS and use in link line.
	* nscd/connections.c (handle_request): Check access SELinux permissions
	before processing request.
	* nscd/nscd.c (main): Initialize selinux_enabled and stop avc thread.
	* nscd/nscd_stat.c: Transmit and print AVC statistics.
	* nscd/selinux.c: New file.
	* nscd/selinux.h: New file.

2004-09-16  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd_helper.c (__nscd_unmap, get_mapping): Use __munmap
	instead of munmap.

	* nscd/Makefile (CFLAGS-aicache.c): Set to -fpie.

2004-09-16  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Check
	__nss_not_use_nscd_hosts variable if nscd should be used or not.

2004-09-16  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_proto.h: Define NSS_NSCD_RETRY.
	Add __nscd_getai prototype.
	* nss/getXXbyYY_r.c: Remode definition of NSS_NSCD_RETRY.
	* nscd/nscd-client.h: Remove __nscd_getai prototype.
	* nscd/nscd_getai.c: Include nscd_proto.h.

	* elf/ldd.bash.in: Add support for SELinux environments.
	Patch by Stephen Smalley <sds@epoch.ncsc.mil>.
2004-09-17 00:04:18 +00:00
Ulrich Drepper 62417d7ee8 iAdd __nscd_getai prototype. 2004-09-16 22:54:54 +00:00
Ulrich Drepper d1fe1f2219 Update.
* 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-09-15 10:10:05 +00:00
Ulrich Drepper d19687d6eb Update.
2004-09-15  Ulrich Drepper  <drepper@redhat.com>

	* nscd/Makefile (rountines): Add nscd_getai.
	(nscd-modules): Add aicache.
	* nscd/aicache.c: New file.
	* nscd/nscd_getai.c: New file.
	* nscd/cache.c (prune_cache): Handle GETAI request type.
	* nscd/connections.c: Add GETAI support in request handling.
	* nscd/nscd-client.h (request_type): Add GETAI.
	Define ai_response_header and struct nscd_ai_result types.
	(struct datahead): Add aidata field.
	Declare __nscd_getai.
	* nscd/nscd.c: Add getaddrinfo definition to catch problems.
	* nscd/nscd.h: Declare addhstai and readdhstai.

	* sysdeps/posix/getaddrinfo.c: Add support for using cached results.

	* nscd/nscd-client.h  (struct datahead): Use uint8_t instead of bool.
2004-09-15 08:25:49 +00:00
Ulrich Drepper aadd7d9d26 Update.
2004-09-13  Thorsten Kukuk  <kukuk@suse.de>

	* nscd/nscd_stat.c: Don't access dbs[cnt].head for disabled services.

	* nscd/nscd.init: Fix path to socket.
2004-09-13 17:24:41 +00:00
Ulrich Drepper 407c4b9a19 UPdate.
* nscd/nscd_helper.c (get_mapping): Correctly check cmsg length.
	Avoid file descriptor leak in case of size mismatch.
2004-09-13 06:07:02 +00:00
Ulrich Drepper 568470bbff Update.
* nscd/mem.c (gc): Add casts to avoid warnings.
2004-09-13 05:56:39 +00:00
Ulrich Drepper 404db64ae7 Update.
* nscd/nscd-client.h: Fix database structure layout for biarch.
2004-09-13 05:52:46 +00:00
Ulrich Drepper cf244b74a0 Update.
2004-09-12  Ulrich Drepper  <drepper@redhat.com>

	* nscd/pwdcache.c (cache_addpw): Sync also negative results to disk.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/hstcache.c (cache_addhst): Likewise.
2004-09-12 10:10:48 +00:00
Ulrich Drepper 8c89236fd3 (cache_addhst): Sync also negative results to disk. 2004-09-12 10:04:03 +00:00
Ulrich Drepper 72ae1e97d0 Update.
* nscd/connections.c (nscd_run): Call setup_thread only for enabled
	databases.
2004-09-11 20:48:01 +00:00
Ulrich Drepper 3418007ed6 Update.
2004-09-10  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd.c (pagesize_m1): New variable.
	(main): Initialize it.
	* nscd/nscd.h: Declare pagesize_m1.
	* nscd/hstcache.c: Pass correctly aligned address to msync.
	* nscd/grpcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
2004-09-10 23:56:29 +00:00
Ulrich Drepper d13a3c5792 Update.
2004-09-10  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_stat.c: Improve output by also printing .shared and
	.persistent.

	* nscd/connections.c: Allow cache sharing to be really disabled.
2004-09-10 20:31:41 +00:00
Andreas Jaeger 1f9c1540bf (CFLAGS-nscd_setup_thread.c): Set to -fpie. 2004-09-09 06:35:38 +00:00
Ulrich Drepper cf6f93d426 Update.
* nscd/nscd-client.h: Add a few #includes.
2004-09-08 19:49:17 +00:00
Ulrich Drepper 67a0b49db3 * sysdeps/generic/nscd_setup_thread.c: New file.
* sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file.
2004-09-08 18:03:21 +00:00
Ulrich Drepper 081fc592fa Update.
Jakub Jelinek  <jakub@redhat.com>

	* nscd/Makefile (nscd-modules): Add nscd_setup_thread.
	* nscd/connections.c (nscd_run): Call setup_thread for maintenance
	threads.
	* nscd/nscd-client.h (struct database_pers_head): Add
	nscd_certainly_running field.
	* nscd/nscd.h: Declare setup_thread.
	* nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if
	nscd_certainly_running is nonzero.

2004-09-08  Ulrich Drepper  <drepper@redhat.com>
2004-09-08 17:56:46 +00:00
Ulrich Drepper c207f23b0b Update.
* nscd/connections.c: Implement r/o sharing of nscd's cache with client
	processes via shared memory.
	* nscd/nscd-client.h: Likewise.
	* nscd/nscd.h: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nscd/nscd_getgr_r.c: Likewise.
	* nscd/nscd_getpw_r.c: Likewise.
	* nscd/nscd_gethst_r.c: Likewise.
	* nscd/nscd.conf: Add new config parameters.
	* nscd/Makefile (aux): Add nscd_helper.
	* nscd/nscd_helper.c: New file.
	* nscd/mem.c (gc): Indicate beginning and end of the gc cycle.

	* nscd/hstcache.c: Simplify a lot.  We cache only the request itself,
	no derived information.
	* connections.c (nscd_init): Fix bug in testing size of the persistent.

	* nis/Makefile (aux): Add nis_hash.
	* nis/nis_hash.c: New file.  Split out from nis_util.c.
	* nis/nis_util.c: Move __nis_hash code in separate file.

	* csu/tst-atomic.c: Improve atomic_increment_val test which would
	not have found a ppc bug.
2004-09-08 15:46:42 +00:00
Ulrich Drepper 418dfb124c Update.
2004-09-05  Ulrich Drepper  <drepper@redhat.com>

	* nscd/cache.c (cache_add): Correctly log GETHOSTBYADDR and
	GETHOSTBYADDRv6 requests.
2004-09-05 07:19:46 +00:00
Ulrich Drepper 03e157d849 Update.
2004-09-04  Ulrich Drepper  <drepper@redhat.com>

	* nscd/pwdcache.c (cache_addpw): Use correct key length in
	cache_add calls.
	* nscd/grpcache.c (cache_addgr): Likewise.
2004-09-05 07:02:13 +00:00
Ulrich Drepper 3d73c4ba9c (cache_addgr): Use correct key length in cache_add calls. 2004-09-05 06:47:36 +00:00
Ulrich Drepper ead07d01fa Update.
2004-09-03  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd.c (parse_opt): Use writev instead of two write for
	invalidate command.
2004-09-03 08:15:41 +00:00
Ulrich Drepper 3c82c131d9 (nscd_run): Check early for invalid request types. 2004-09-03 03:39:45 +00:00
Ulrich Drepper a95a08b4af Update.
2004-08-26  Ulrich Drepper  <drepper@redhat.com>

	* nscd/cache.c: Major rewrite.  The data is now optionally kept in
	a mmaped memory region which is automatically mirrored on disk.
	This implements persistent data storage.  The Memory handled
	needed to be completely revamped, it now uses a garbage collection
	mechanism instead of malloc.
	* nscd/connections.c: Likewise.
	* nscd/nscd.c: Likewise.
	* nscd/nscd.h: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nscd/nscd_stat.c: Likewise.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c:: Likewise.
	* nscd/pwdcache.c:: Likewise.
	* nscd/Makefile: Add rules to build mem.c.
	* nscd/mem.c: New file.
	* nscd/nscd.conf: Describe new configuration options.
2004-08-26 18:35:05 +00:00
Ulrich Drepper 1114ffff54 Update.
2004-08-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
	NO_SGIDEFS_H isn't defined.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.

	* sysdeps/unix/sysv/linux/sh/pread.c: Define NO_SGIDEFS_H and
	_MIPS_SIM.
	* sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise.

	* nscd/connections.c (nscd_run): atomic_increment was not missing.
2004-08-26 17:00:16 +00:00
Ulrich Drepper d6db09753a Update.
2004-08-25  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c: Make socket nonblocking so that threads
	don't get stuck on accept.  Fix locking.

	* nscd/grpcache.c (cache_addgr): Use cope of original key in hash
	entry with alternative key.
	* nscd/pwdcache.c (cache_addpw): Likewise.
2004-08-25 17:24:52 +00:00
Ulrich Drepper 801ddb6a03 (cache_addpw): Use cope of original key in hash entry with alternative key. 2004-08-25 17:18:43 +00:00
Ulrich Drepper 7c11c4a146 (do_release_all): Add __libc_freeres_fn_section. 2004-08-04 21:58:10 +00:00
Ulrich Drepper 40962f02f9 (handle_request): Missing _() in last patch. 2004-08-04 06:40:00 +00:00
Ulrich Drepper 0532e21bad Update.
2004-08-03  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (handle_request): Print more descriptive
	message for invalid request types.
2004-08-04 06:25:42 +00:00
Ulrich Drepper dc630ccc08 Update.
2004-07-27  Ulrich Drepper  <drepper@redhat.com>

	* nscd/grpcache.c (cache_addgr): If necessary, add entry also
	under the name the user provided.
	* nscd/pwdcache.c (cache_addpw): Likewise.
2004-07-27 22:52:49 +00:00
Ulrich Drepper a29015c344 (cache_addpw): If necessary, add entry also under the name the user provided. 2004-07-27 22:51:04 +00:00
Ulrich Drepper 490998a5f2 Update.
* nscd/hstcache.c (cache_addhst): Fix two scenarios which lead to
	memory leaks.
2004-07-27 01:14:37 +00:00
Ulrich Drepper 54c36b13af Update.
2004-07-22  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_getgr_r.c (nscd_getgr_r): Avoid read call with NULL
	pointer and zero length.
2004-07-23 06:09:22 +00:00
Ulrich Drepper f3063fc72b (prune_cache): Print correct list when debugging. 2004-07-22 01:47:28 +00:00
Ulrich Drepper 99bb9f426f Update.
2004-07-18  Ulrich Drepper  <drepper@redhat.com>

	* nscd/pwdcache.c (cache_addpw): Optimize case of unsuccessful
	lookup a bit.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/hstcache.c (cache_addhst): Likewise.
2004-07-18 18:24:30 +00:00
Ulrich Drepper 9b9ef82358 Update.
2004-07-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp,
	__libc_siglongjmp): Remove symbol_version.
	* sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp):
	Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4.
	* sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias
	unconditionally.
	* sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove.
	* sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use
	strong_alias instead of default_symbol_version, remove
	symbol_version.
	* sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise.
	* sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change
	into strong_alias to __novmxsetjmp.
	(__vmx__setjmp): Similarly with __vmxsetjmp.
	(__setjmp): Make it strong_alias to __vmx__setjmp, remove
	default_symbol_version and symbol_version.
	* sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change
	into strong_alias to __novmxsetjmp.
	(__vmx__setjmp): Similarly with __vmxsetjmp.
	(__setjmp): Make it strong_alias to __vmx__setjmp, remove
	default_symbol_version and symbol_version.

	* nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h.
2004-07-05 17:09:54 +00:00
Ulrich Drepper 482bbeb905 Update.
* nscd/connections.c (invalidate_cache): If the host cache has to
	be invalidated, re-read resolv.conf.
2004-06-28 04:42:05 +00:00
Ulrich Drepper 40c38b6c9d Update.
2004-06-05  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/_itoa.h: Don't expand _itoa inline for libc.
	* stdio-common/_itoa.c: Add _itoa implementation.

	* nscd/nscd_gethst_r.c (__nscd_open_socket): Change implementation
	to also send request.  Add parameter to allow this.
	Change callers.
	* nscd/nscd_getgr_r.c: Change __nscd_open_socket caller.
	* nscd/nscd_getpw_r.c: Likewise.
	* nscd/nscd-client.h: Change __nscd_open_socket prototype.
2004-06-06 06:06:02 +00:00
Ulrich Drepper 29762ba617 Update.
2004-06-04  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Use __nss_not_use_nscd_hosts
	in all places, not __nss_not_use_nscd_group.
	Reported by Philippe Gregoire.
2004-06-04 18:29:42 +00:00
Ulrich Drepper 16aac66378 Update.
* nscd/nscd_getgr_r.c (nscd_getgr_r): Add missing initialization
	of return value.
	* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
2004-03-01 22:35:28 +00:00
Ulrich Drepper 261eada2ca Update.
2004-02-26  Ulrich Drepper  <drepper@redhat.com>

	* nss/getXXbyYY_r.c: Pass result also to the nscd_* function.  Don't
	set *result here.
	* nscd/nscd_proto.h: Add new argument for pointer to result pointer
	to all nscd_* functions.
	* nscd/nscd_getgr_r.c (nscd_getgr_r): Add new parameter.  Store result
	pointer in the address provided by the new parameter if successful.
	Otherwise store NULL.  Return zero if no entry found.
	(__nscd_getgrnam_r, __nscd_getgrgid_r): Add new parameter and pass
	it on.
	* nscd/nscd_gethst_r.c (nscd_gethst_r): Add new parameter.  Store
	result pointer in the address provided by the new parameter if
	successful. Otherwise store NULL.  Return zero if no entry found.
	(__nscd_gethostbyname_r, __nscd_gethostbyname2_r,
	__nscd_gethostbyaddr_r): Add new parameter and pass it on.
	* nscd/nscd_getpw_r.c (nscd_getpw_r): Add new parameter.  Store result
	pointer in the address provided by the new parameter if successful.
	Otherwise store NULL.  Return zero if no entry found.
	(__nscd_getpwnam_r, __nscd_getpwuid_r): Add new parameter and pass
	it on.
2004-02-27 00:55:39 +00:00
Ulrich Drepper 230c3e1e54 Update.
2004-02-20  Thorsten Kukuk  <kukuk@suse.de>

	* nscd/nscd.c (termination_handler): Use _exit instead of exit

	* nscd/nscd.c (main): Report fork errors.
2004-02-21 01:57:26 +00:00
Ulrich Drepper ec1c80750d Update.
2004-02-18  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_conf.c: Include <stdio_ext.h>.
2004-02-18 18:07:21 +00:00