Commit Graph

168 Commits

Author SHA1 Message Date
Ulrich Drepper
9dd8477226 * nscd/connections.c (nscd_init): Clean up fcntl call. 2008-07-25 18:38:20 +00:00
Ulrich Drepper
3ff2c948be * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_PACCEPT, __ASSUME_IN_NONBLOCK, and __ASSUME_PACCEPT if
	appropriate.
	* nscd/connections.c: Avoid fcntl calls to set close-on-exec flag and
	non-blocking mode by using socket, paccept, and inotify_init1.
2008-07-25 05:30:10 +00:00
Ulrich Drepper
b743241674 * nscd/connections.c (main_loop_poll): Fix handling of read errors
from inotify.
	(main_loop_epoll): Likewise.
2008-07-12 17:40:49 +00:00
Ulrich Drepper
c00d112835 * nscd/connections.c (main_loop_poll): Fix test for read error.
(main_loop_epoll): Likewise.
2008-06-18 22:28:58 +00:00
Ulrich Drepper
a0edbb484a * nscd/connections.c: Also recognize and handle changes to the
resolver configuration file.
2008-06-13 16:31:07 +00:00
Ulrich Drepper
5228ba2fe8 * nscd/nscd.h (struct database_dyn): Add inotify_descr and clear_cache
fields.
	* nscd/connections.c (inotify_fd): New variable.
	(nscd_init): Try to open an inotify descriptor.
	If successful, watch files for databases using inotify instead of
	having prune threads stat the files.
	(nscd_run_prune): Recognize clear_cache flag being set and call
	prune_cache appropriately.
	(main_loop_poll): Add inotify descriptor to wait set and handle the
	reported changes.
	(main_loop_epoll): Likewise.
	* nscd/cache.c (prune_cache): Don't stat files for databases if
	inotify is used.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
	(CFLAGS-connections.c): Add -DHAVE_INOTIFY.
2008-06-12 22:40:27 +00:00
Ulrich Drepper
528741cb6c * nscd/cache.c (cache_add): Take additional parameter specifying
whether this is in response of a cache refill.  Check alignment
	of package data.  Revamp waking of pruning thread.
	(prune_cache): Small optimization.
	* nscd/nscd.h: Adjust cache_add prototypes.
	* nscd/aicache.c: Adjust cache_add calls.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicescache.c: Likewise.
	* nscd/connections.c (restart): Really disable cache use before
	exec attempt.  If it fails, reenable cache.
	(nscd_run_prune): Initialize wakeup_time.  After wakeup, set wakeup
	time to max to be able to notice concurrent cache additions.  Unlock
	prune_lock while performing gc.  Afterwards compute wakeup time with
	current wakeup_time value in mind.
2008-05-18 21:54:43 +00:00
Ulrich Drepper
7eb5e6c9bd * nscd/Makefile (nscd-cflags): Set back to -fpie.
* nscd/nscd.h (mem_in_flight): Add attribute_tls_model_ie.
	* nscd/connections.c (mem_in_flight): Likewise.

	* nscd/nscd.h (dbs): Make hidden.

	* sysdeps/unix/sysv/linux/times.c (__times): Fix check for EFAULT.
	Avoid returning -1, return 0 instead.
2008-04-22 15:53:59 +00:00
Ulrich Drepper
c52137d391 [BZ #5209, BZ #5381]
2008-04-15  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5209]
	* sysdeps/unix/sysv/linux/times.c: New file.

	[BZ #5381]
	* nscd/nscd.h: Define enum in_flight, mem_in_flight, and
	mem_in_flight_list variables.  Add new parameter to mempool_alloc
	prototype.
	* nscd/mem.c (mempool_alloc): Take additional parameter.  Initialize
	appropriate mem_in_flight element.
	(gc): Take allocations which have not yet been committed to the
	database into account.
	* nscd/cache.c (cache_add): Add new parameter to mempool_alloc call.
	Reset mem_in_flight before returning.
	* nscd/connections.c (nscd_run_worker): Initialize mem_in_flight and
	cue it up in mem_in_flight_list.
	* nscd/aicache.c: Adjust mempool_alloc call.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicescache.c: Likewise.
	* nscd/Makefile (nscd-flags): Until ld is fixed, use -fpic instead
	of -fpie.

	* nscd/connections.c (handle_request): Provide better error message
	in case SELinux forbids the service.

	* version.h (VERSION): Bump to 2.8.90.
2008-04-19 16:42:41 +00:00
Ulrich Drepper
27c377dd04 [BZ #5818]
* nscd/connections.c (dbs): Add initializers for .suggested_module.
	(verify_persistent_db): Remove one unnecessary test and add a new one
	for bad configuration.
	(nscd_init): Improve error reported when persistent database cannot
	be reused.
	* nscd/nscd.h (DEFAULT_SUGGESTED_MODULE): Define.
	* nscd/nscd_conf.c (nscd_parse_file): Provide default values for
	.suggested_module and .max_db_size and case config file says the
	values are zero.
	* nscd/nscd_helper.c (get_mapping): Fail if hash table module is zero.
2008-03-04 01:54:09 +00:00
Jakub Jelinek
0fbfe2f7d8 [BZ #5112]
* nscd/connections.c (restart): Fix condition.
2008-01-05  Jakub Jelinek  <jakub@redhat.com>

	[BZ #5112]
	* nscd/connections.c (restart): Fix condition.
2008-01-05 09:08:03 +00:00
Ulrich Drepper
7ea8eb02b0 [BZ #5382]
* nscd/nscd.h (NSCD_THREAD_STACKSIZE): Define.
	* nscd/connections.c (start_threads): Use NSCD_THREAD_STACKSIZE.
	* nscd/mem.c (gc): Don't allocate arrays on stack if it can
	overflow it.

	* sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
	Return zero in case thread library is not NPTL.
2007-11-23 06:37:58 +00:00
Ulrich Drepper
ffb1b88282 * nscd/aicache.c (addhstaiX): Check herrno after IPv4 lookup only
when the lookup call failed.

	* nscd/nscd.h (struct database_dyn): Rename prunelock to prune_lock.
	Add prune_cond and wakeup_time.
	(CACHE_PRUNE_INTERNAL): Define.
	Update declarations of prune_cache and setup_thread.
	* nscd/connections.c (dbs): Update initializers.
	(CACHE_PRUNE_INTERNAL): Moved to nscd.h.
	(nscd_init): Default number of threads is now 4.
	(invalidate_cache): Take lock before calling prune_cache.
	(handle_request): If SELinux forbids the request, say so.
	(readylist_cond): Use static initializer.
	(nscd_run_prune): New function.  Used only by pruning threads.
	(nscd_run_worder): Renamed from nscd_run.  Remove support for pruning
	here.
	(fd_ready): Update nscd_run reference.
	(start_threads): No need to initialize readylist_cond.
	Start pruning threads separately.
	* nscd/nscd_setup_thread.c: Change return value type to int and always
	return 0.
	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Change return value type
	to int and return nonzero value if we can use the TID address hack.
	* nscd/cache.c (cache_add): If next wakeup time of cleanup thread for
	the database is later than the new entry's timeout, update the
	wakeup time and wake the cleanup thread.
	(prune_cache): Return seconds the next entry in the database is still
	valid.  Remove locking for pruning here.
	* nscd/nscd.conf: Document default number of threads.
2007-11-06 00:45:40 +00:00
Ulrich Drepper
a6fa53288f [BZ #3924]
* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix a few
	more little bugs in creating the stack frame when pltexit has to
	be called.
2007-10-07 05:31:00 +00:00
Ulrich Drepper
506073094c * nscd/connections.c (verify_persistent_db): Recognize circular lists. 2007-10-06 19:03:13 +00:00
Ulrich Drepper
3e6ce4d77e [BZ #5112]
* nscd/connections.c (restart): Don't resync if database is
	disabled.  Patch mostly by Brian De Wolf <bldewolf@csupomona.edu>.
2007-10-05 21:12:46 +00:00
Ulrich Drepper
f3c54060af * nscd/connections.c (send_ro_fd): Also transfer file size.
* nscd/nscd_helper.c (get_mapping): If nscd also transfers the
	file size don't call fstat.
2007-08-29 06:10:07 +00:00
Ulrich Drepper
1465dd0f9e [BZ #4946]
* nscd/connections.c (handle_request): Using sendfile always
	requires that mmap is used for the database.
	Patch by Petr Baudis <pasky@suse.cz>.
2007-08-22 03:40:34 +00:00
Ulrich Drepper
d7e23b02a4 * nscd/connections.c: Use O_CLOEXEC is possible. Use mkostemp
instead of mkstemp.

	* misc/Makefile (routines): Add mkostemp and mkostemp64.
	* misc/Versions: Export mkostemp and mkostemp64 for GLIBC_2.7.
	* misc/mkostemp.c: New file.
	* misc/mkostemp64.c: New file.
	* stdlib/stdlib.h: Declare the new functions.
	* sysdeps/posix/tempname.c: Add new parameter which is added to
	the flags for open.  Remove __GT_BIGFILE handling.
	* stdio-common/tempname.c: Likewise.
	* include/stdio.h: Adjust __gen_tempname prototype.
	Renumber __GT_* constants.
	* libio/oldtmpfile.c: Adjust for __gen_tempname interface change.
	* misc/mkdtemp.c: Likewise.
	* misc/mkstemp.c: Likewise.
	* misc/mkstemp64.c: Likewise.
	* misc/mktemp.c: Likewise.
	* stdio-common/tempnam.c: Likewise.
	* stdio-common/tmpfile.c: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* stdio-common/tmpnam.c: Likewise.
	* stdio-common/tmpnam_r.c: Likewise.
2007-08-11 02:48:28 +00:00
Roland McGrath
2e2efe652a * elf/ldconfig.c: Allow GPLv2 or any later version.
* elf/readlib.c: Likewise.
	* elf/chroot_canon.c: Likewise.
	* elf/cache.c: Likewise.
	* nscd/mem.c: Likewise.
	* nscd/getpwuid_r.c: Likewise.
	* nscd/grpcache.c: Likewise.
	* nscd/aicache.c: Likewise.
	* nscd/getsrvbynm_r.c: Likewise.
	* nscd/nscd.c: Likewise.
	* nscd/servicescache.c: Likewise.
	* nscd/getsrvbypt_r.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/gethstbyad_r.c: Likewise.
	* nscd/gethstbynm2_r.c: Likewise.
	* nscd/getgrnam_r.c: Likewise.
	* nscd/nscd_setup_thread.c: Likewise.
	* nscd/getpwnam_r.c: Likewise.
	* nscd/gai.c: Likewise.
	* nscd/connections.c: Likewise.
	* nscd/dbg_log.c: Likewise.
	* nscd/cache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nscd/getgrgid_r.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* catgets/gencat.c: Likewise.
	* locale/programs/linereader.h: Likewise.
	* locale/programs/locarchive.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/locfile-kw.h: Likewise.
	* locale/programs/ld-address.c: Likewise.
	* locale/programs/xmalloc.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* locale/programs/simple-hash.c: Likewise.
	* locale/programs/xstrdup.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/locfile-kw.gperf: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/charmap-kw.gperf: Likewise.
	* locale/programs/charmap.h: Likewise.
	* locale/programs/charmap-kw.h: Likewise.
	* locale/programs/config.h: Likewise.
	* locale/programs/locfile.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/charmap.c: Likewise.
	* locale/programs/ld-messages.c: Likewise.
	* locale/programs/repertoire.h: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/ld-name.c: Likewise.
	* locale/programs/linereader.c: Likewise.
	* locale/programs/locfile.h: Likewise.
	* locale/programs/3level.h: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-measurement.c: Likewise.
	* locale/programs/charmap-dir.c: Likewise.
	* locale/programs/ld-identification.c: Likewise.
	* locale/programs/localedef.h: Likewise.
	* locale/programs/charmap-dir.h: Likewise.
	* locale/programs/repertoire.c: Likewise.
	* locale/programs/simple-hash.h: Likewise.
	* locale/programs/ld-telephone.c: Likewise.
	* locale/programs/locale-spec.c: Likewise.
	* locale/programs/locfile-token.h: Likewise.
	* posix/getconf.c: Likewise.
	* iconv/dummy-repertoire.c: Likewise.
	* iconv/iconv_charmap.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* malloc/memusagestat.c: Likewise.
	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Likewise.
2007-07-16 00:56:07 +00:00
Ulrich Drepper
4a44ce79c6 * sysdeps/unix/sysv/linux/i386/sysdep.h (PTR_MANGLE): Roll value before
returning.
	(PTR_DEMANGLE): Real definition now that it's not the same as
	PRT_MANGLE anymore.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.

	* string/strerror_l.c: New file.
	* string/Makefile (routines): Add strerror_l.
	* string/string.h: Declare strerror_l.
	* string/Versions: Export strerror_l for GLIBC_2.6.

	* nscd/connections.c (nscd_run): Don't define MAXKEYLEN here.
2007-02-01 16:14:15 +00:00
Ulrich Drepper
000b027e7c * nscd/connections.c (servinfo): Renamed to reqinfo. Change all
users.
	(handle_request): Remove unnecessary tests.
2007-01-16 01:27:56 +00:00
Ulrich Drepper
2a1dea970d * nscd/connections.c (handle_request): Add a __builtin_expect. 2007-01-15 22:38:46 +00:00
Ulrich Drepper
9691d83c53 * nscd/connections.c (serv2db): Change type into structure which
also says whether this is a request for data.  Renamed to
	servinfo.  All users changed.
	(handle_request): Much simpler test whether we should search the cache.
2007-01-15 22:31:14 +00:00
Ulrich Drepper
49ee6d7965 * nscd/connections.c (handle_request): Fix thinko in selinux test
invocation.
2007-01-15 22:21:52 +00:00
Ulrich Drepper
b21fa963c4 * nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): Correct
computation of keylen.
2007-01-14 05:26:04 +00:00
Ulrich Drepper
43397eaf04 * nscd/connections.c (handle_request): Check selinux permissions
for all non-admin commands.
2007-01-13 04:41:19 +00:00
Ulrich Drepper
c69136aeed [BZ #3137]
2006-09-20  Jakub Jelinek  <jakub@redhat.com>
	* po/libc.pot: Regenerated.
	* po/be.po: Updated.
	* po/ca.po: Likewise.
	* po/cs.po: Likewise.
	* po/da.po: Likewise.
	* po/de.po: Likewise.
	* po/el.po: Likewise.
	* po/en_GB.po: Likewise.
	* po/es.po: Likewise.
	* po/fi.po: Likewise.
	* po/fr.po: Likewise.
	* po/gl.po: Likewise.
	* po/hr.po: Likewise.
	* po/hu.po: Likewise.
	* po/ja.po: Likewise.
	* po/ko.po: Likewise.
	* po/nb.po: Likewise.
	* po/nl.po: Likewise.
	* po/pl.po: Likewise.
	* po/pt_BR.po: Likewise.
	* po/ru.po: Likewise.
	* po/rw.po: Likewise.
	* po/sk.po: Likewise.
	* po/sv.po: Likewise.
	* po/tr.po: Likewise.
	* po/zh_CN.po: Likewise.
	* po/zh_TW.po: Likewise.

	[BZ #3137]
	* iconv/iconv_prog.c (main): Fix spelling in error message.
	* iconv/iconvconfig.c (main): Likewise.
	* locale/programs/ld-collate.c (handle_ellipsis): Likewise.
	* locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Likewise.
	* locale/programs/localedef.c (main): Likewise.
	* locale/programs/repertoire.c (repertoire_read): Likewise.
	* timezone/zdump.c (main): Likewise.
	* nscd/connections.c (handle_request): Fix spelling in log message.
	Patch by Malcolm Parsons <malcolm.parsons@gmail.com>.
2006-09-21 04:04:20 +00:00
Ulrich Drepper
902c429174 * nscd/nscd.h (prune_cache): Add fd argument to prototype.
* nscd/nscd.c (parse_opt): Read response from INVALIDATE request
	to make sure the database has been already invalidated.
	* nscd/cache.c (prune_cache): Add fd argument.  Write response to fd
	after the cache has been invalidated.  Use pthread_mutex_lock rather
	than pthread_mutex_trylock if fd != -1.
	* nscd/connections.c (invalidate_cache): Add fd argument, write
	response to fd if not calling prune_cache, pass fd to prune_cache.
	(handle_request): Adjust invalidate_cache caller.
	(nscd_run): Pass -1 as fd to prune_cache.
2006-05-30 17:32:08 +00:00
Ulrich Drepper
cabfcde111 * nscd/connections.c (dbs): Initialize .prunelock. 2006-05-30 15:01:21 +00:00
Ulrich Drepper
25059769a4 [BZ #2632]
2006-05-02  Ulrich Drepper  <drepper@redhat.com>
	[BZ #2632]
	* nscd/connections.c (nscd_init): Correct initialization of
	in-memory database structure.

	* iconvdata/utf-7.c: Don't require more than one character after
2006-05-02 16:45:25 +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
464c9fadaf * nscd/connections.c (restart): If we want to switch back to the
old ID use setresuid and setresgid.
	(finish_drop_privileges): Likewise.
2006-04-27 20:20:52 +00:00
Ulrich Drepper
797ed6f7e1 * nscd/nscd.h (struct database_dyn): Add propagate field.
* nscd/nscd_conf.c (nscd_parse_file): Parse auto-propagate lines.
	* nscd/nscd.conf: Add auto-propagate lines.
	* nscd/connections.c (dbs): Initialize .propagate fields.
	* nscd/grpcache.c (cache_addgr): Do not add ID entry for name lookups
	and vice versa if propagation is disabled for the database.
	* nscd/pwdcache.c (cache_addpw): Likewise.
2006-04-26 17:32:10 +00:00
Ulrich Drepper
1f063dcadb 2006-04-26 James Antill <james.antill@redhat.com>
Ulrich Drepper  <drepper@redhat.com>

	* config.make.in: Add have-libcap.
	* configure.in: Check for libcap.
	* nscd/Makefile (selinux-LIBS): Add -lcap if possible.
	* nscd/connections.c (finish_drop_privileges): When libcap is available
	call preserve_capabilities and install_real_capabilities.
	* nscd/selinux.c: Define preserve_capabilities and
	install_real_capabilities.
	* nscd/selinux.h: Declare preserve_capabilities and
	install_real_capabilities.
2006-04-26 16:29:29 +00:00
Ulrich Drepper
9388dcbb84 [BZ #2498]
2006-04-01  Ulrich Drepper  <drepper@redhat.com>
	[BZ #2498]
	* nscd/connections.c (main_loop_poll): If the connection cannot be
	accepted because of user-imposed limits close the descriptor.
2006-04-01 18:51:15 +00:00
Ulrich Drepper
6cac69275f (nscd_init): Remove if block which should have been removed as part of the -S option removal. 2006-01-03 21:26:28 +00:00
Ulrich Drepper
70e2ebba53 Remove last remnants of -S option support. 2005-12-30 16:51:19 +00:00
Ulrich Drepper
43bc8ac6ea * catgets/gencat.c: Use GPL, not LGPL.
* elf/cache.c: Likewise.
	* elf/chroot_canon.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/readlib.c: Likewise.
	* iconv/dummy-repertoire.c: Likewise.
	* iconv/iconv_charmap.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* locale/programs/3level.h: Likewise.
	* locale/programs/charmap-dir.c: Likewise.
	* locale/programs/charmap-dir.h: Likewise.
	* locale/programs/charmap-kw.gperf: Likewise.
	* locale/programs/charmap.c: Likewise.
	* locale/programs/charmap.h: Likewise.
	* locale/programs/config.h: Likewise.
	* locale/programs/ld-address.c: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/ld-identification.c: Likewise.
	* locale/programs/ld-measurement.c: Likewise.
	* locale/programs/ld-messages.c: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-name.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/ld-telephone.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* locale/programs/linereader.c: Likewise.
	* locale/programs/linereader.h: Likewise.
	* locale/programs/locale-spec.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* locale/programs/localedef.h: Likewise.
	* locale/programs/locarchive.c: Likewise.
	* locale/programs/locfile-kw.gperf: Likewise.
	* locale/programs/locfile-token.h: Likewise.
	* locale/programs/locfile.c: Likewise.
	* locale/programs/locfile.h: Likewise.
	* locale/programs/repertoire.c: Likewise.
	* locale/programs/repertoire.h: Likewise.
	* locale/programs/simple-hash.c: Likewise.
	* locale/programs/simple-hash.h: Likewise.
	* locale/programs/xmalloc.c: Likewise.
	* locale/programs/xstrdup.c: Likewise.
	* malloc/memusagestat.c: Likewise.
	* nscd/aicache.c: Likewise.
	* nscd/cache.c: Likewise.
	* nscd/connections.c: Likewise.
	* nscd/dbg_log.c: Likewise.
	* nscd/gai.c: Likewise.
	* nscd/getgrgid_r.c: Likewise.
	* nscd/getgrnam_r.c: Likewise.
	* nscd/gethstbyad_r.c: Likewise.
	* nscd/gethstbynm2_r.c: Likewise.
	* nscd/getpwnam_r.c: Likewise.
	* nscd/getpwuid_r.c: Likewise.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/mem.c: Likewise.
	* nscd/nscd.c: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* posix/getconf.c: Likewise.
	* sysdeps/generic/nscd_setup_thread.c: Likewise.
	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Likewise.
2005-12-07 05:49:17 +00:00
Ulrich Drepper
bd547139c7 * nscd/connections.c (sendfileall): Define.
(handle_request): Use it instead of sendfile call.
	* nscd/nscd-client.h: Declare sendfileall.
	* nscd/aicache.c: Use sendfileall instead of sendfile.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
2005-11-22 19:06:27 +00:00
Ulrich Drepper
eac1079146 * sysdeps/unix/sysv/linux/ia64/bits/shm.h (shmatt_t): New type.
(struct shmid_ds): Use it for shm_nattch field.

2005-11-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/futimesat.c (futimesat): If FILE is NULL,
	set access and modification times of the file referenced by FD.
	* sysdeps/generic/futimesat.c (futimesat): Don't return EINVAL if
	FILE is NULL.  Don't check FD if FILE is absolute path.

2005-11-19  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Avoid unnecesary read call
	if there are no aliases.

	* sysdeps/unix/sysv/linux/Makefile (CFLAGS-connections.c,
	CFLAGS-pwdcache.c, CFLAGS-grpcache.c, CFLAGS-hstcache.c,
	CFLAGS-aicache.c, CFLAGS-initgrcache.c): Add -DHAVE_SENDFILE.
	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_SENDFILE):
	Define.
	* nscd/pwdcache.c [HAVE_SENDFILE]: Include <sys/sendfile.h> and
	<kernel-features.h>.
	[HAVE_SENDFILE] (cache_addpw): Use sendfile to transmit positive
	result.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/aicache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/connectionc.c: Likewise.
2005-11-19 17:22:39 +00:00
Ulrich Drepper
2461e3dc09 [BZ #1294]
2005-11-11  Ulrich Drepper  <drepper@redhat.com>
	[BZ #1294]
	* locales/pt_BR: Set p_cs_precedes and n_cs_precedes to 1.
2005-11-12 02:11:32 +00:00
Ulrich Drepper
2c210d1eb8 * nscd/connection.c (DEFAULT_DATASIZE_PER_BUCKET): Move to nscd.h.
(dbs): Initialize max_db_size fields.
	(nscd_init): When mapping the database, use max_db_size as the
	mapping size even if it is bigger than the file size.
	* nscd/mem.c (mempool_alloc): When resizing the file make sure the
	limit in max_db_size is not exceeded.  Don't use mremap, just
	posix_fallocate is enough (according to Linus).  Use posix_fallocate
	correctly.
	* nscd/nscd.conf: Add max-db-size parameters.
	* nscd/nscd.h (struct database_dyn): Add max_db_size field.
	Define DEFAULT_MAX_DB_SIZE and DEFAULT_DATASIZE_PER_BUCKET.
	Temporarily define TEMP_FAILURE_RETRY_VAL here.
	* nscd/nscd_conf.c (nscd_parse_file): Parse max-db-size parameter
	and add sanity checks for it.

	* nscd/aicache.c (addhstaiX): Use send with MSG_NOSIGNAL not write to
	send reply.
	* nscd/connection.c (writeall): Likewise.
	(handle_request): Likewise.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/hstcache.c (cache_addhst): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.
	* nscd/nscd.c (parse_opt): Likewise.
	* nscd/nscd_stat.c (send_stats): Likewise.
	(receive_print_stats): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.
2005-08-23 23:21:53 +00:00
Ulrich Drepper
80ea303760 * nscd/cache.c (prune_cache): Use stat64 not stat.
* nscd/connections.c (nscd_init): Likewise.
2005-08-16 18:10:03 +00:00
Ulrich Drepper
908c9e87c3 * nscd/connections.c (main_loop_epoll): Pass NULL as event
argument for epoll_ctl(EPOLL_CTL_DEL) calls.
2005-08-09 06:16:47 +00:00
Ulrich Drepper
f54a329a28 * nscd/mem.c (mempool_alloc): Use posix_fallocate instead of ftruncate.
* nscd/connections.c (nscd_init): Likewise.
2005-08-08 20:42:33 +00:00
Ulrich Drepper
dc4bb1c2be * posix/bits/unistd.h (confstr, getgroups, ttyname_r, gethostname,
getdomainname): Add __NTH.
	* stdlib/bits/stdlib.h (ptsname_r, wctomb, mbstowcs, wcstombs):
	Likewise.
	(realpath): Likewise.  Use __const instead of const.  Add __restrict
	keywords.
	* socket/bits/socket2.h (recvfrom): Add __restrict keyword to __buf.
	* wcsmbs/bits/wchar2.h (wmemcpy, wmemmove, wmempcpy, wmemset,
	wcscpy, wcpcpy, wcsncpy, wcpncpy, wcscat, wcsncat, vswprintf, wcrtomb,
	mbsrtowcs, wcsrtombs, mbsnrtowcs, wcsnrtombs): Add __NTH.
	* string/bits/string3.h (__memset_ichk): Likewise.
	(__memcpy_ichk, __memmove_ichk, __mempcpy_ichk, __strcpy_ichk,
	__stpcpy_ichk, __strncpy_ichk, stpncpy, __strcat_ichk,
	__strncat_ichk): Likewise.  Use __const instead of const.
	(__stpncpy_chk): Use __const instead of const.
	(__stpncpy_alias): Use __REDIRECT_NTH instead of __REDIRECT.

2005-08-08  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* nscd/mem.c (BLOCK_ALIGN_LOG, BLOCK_ALIGN, BLOCK_ALIGN_M1): Move
	definitions to...
	* nscd/nscd.h (BLOCK_ALIGN_LOG, BLOCK_ALIGN, BLOCK_ALIGN_M1): ...here.
	* nscd/connections.c (usekey): New enum.
	(check_use, verify_persistent_db): New functions.
	(nscd_init): If persistent database is corrupted, unlink it and
	recreate rather than falling back to non-persistent database.
	Call verify_persistent_db.  Avoid overflows in total computation.

2005-08-08  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/utf-16.c (PREPARE_LOOP): Minor cleanups to make code
	better readable.  Avoid passing var to loop function, it's not
	necessary at all.
2005-08-08 19:04:11 +00:00
Ulrich Drepper
233399bce2 * nscd/Makefile (nscd-cflags): Add _FORTIFY_SOURCE.
* nscd/connections.c: Fix a few wur warnings.
2005-07-18 22:28:46 +00:00
Ulrich Drepper
a08ab89700 * nscd/connections.c (send_ro_fd): Make sure BUF is aligned correctly. 2005-07-14 02:17:58 +00:00
Ulrich Drepper
64d64de628 * nscd/nscd.init: Get more in line with lsb3.
* nscd/nscd.c: Adjust some error codes to fit in better with lsb3.
	* nscd/connections.c: Likewise.
2005-06-20 15:49:08 +00:00
Ulrich Drepper
75596b98a1 * nscd/connections.c (nscd_run): Use time() value in prune_cache
call, not timeout value, since the latter might be from another clock.
2005-04-28 06:27:13 +00:00
Ulrich Drepper
d2dc7d8473 * nscd/nscd-client.h: Include sys/uio.h.
(__readall, __readvall, writeall): New prototypes.
	* nscd/connections.c (writeall): New function.
	(handle_request): Use it.
	* nscd/aicache.c (addhstaiX): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.
	* nscd/hstcache.c (cache_addhst): Likewise.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.
	* nscd/nscd_helper.c (__readall, __readvall): New functions.
	* nscd/nscd_getai.c (__nscd_getai): Use them.
	* nscd/nscd_getpw_r.c (__nscd_getpw_r): Likewise.
	* nscd/nscd_getgr_r.c (__nscd_getgr_r): Likewise.
	* nscd/nscd_gethst_r.c (__nscd_gethst_r): Likewise.
	* nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
2005-02-22 22:58:32 +00:00
Ulrich Drepper
6925ef9a67 Update.
2005-01-30  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_helper.c (get_mapping): Use MSG_NOSIGNAL if available.
	* nscd/connections.c (send_ro_fd): Likewise.
2005-01-30 20:34:21 +00:00
Ulrich Drepper
a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Ulrich Drepper
a8a589676c (nscd_init): Non-persistent database files are created with the _PATH_NSCD_XYZ_DB_TMP path. 2004-10-15 21:12:15 +00:00
Ulrich Drepper
5ca3d19c74 Update.
2004-10-14  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (nscd_init): Remove file if not persistent
	and not shared.  Patch by Jerome Borsboom <j.borsboom@erasmusmc.nl>.

	* sysdeps/unix/sysv/linux/i386/setresuid.c: Handle
	defined __NR_setresuid32 && !defined __NR_setresuid.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Handle
	defined __NR_setresgid32 && !defined __NR_setresgid.

	* sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
	__signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro.

	* sysdeps/generic/errno-loc.c: Don't undef #errno
	if RTLD_PRIVATE_ERRNO.
	* include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO,
	add attribute_hidden.

	* dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded)
	chain with iteration over all namespaces' _ns_loaded chains.
	* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address):
	Likewise.
	* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
2004-10-14 16:18:09 +00:00
Ulrich Drepper
94d824f920 Update.
* sysdeps/unix/sysv/linux/ia64/sysconf.c: New file.
	* sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c.
	* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual
	testing code to...
	* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: ...here.  New file.
	* sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for
	_SC_CPUTIME and _SC_THREAD_CPUTIME.
2004-10-04 19:28:07 +00:00
Ulrich Drepper
3078cba2f7 Update.
* nscd/connections.c (start_threads): Use sysconf in case
	_POSIX_CLOCK_SELECTION or _POSIX_MONOTONIC_CLOCK is not greater zero.

	* nscd/nscd.c: Remove getaddrinfo stub definition.
2004-10-04 16:35:54 +00:00
Ulrich Drepper
27e8285643 Update.
Dynamically create new threads if necessary.
	* nscd/connections.c (fd_ready): If no thread available for processing
	the request, create a new one unless the limit is reached.
	(start_threads): Check errors from pthread_create.
	* nscd/nscd.h: Declare max_nthreads.
	* nscd/nscd_conf.c: Parse max-nthreads entry.
	* nscd/nscd.conf: Add max-threads entry.
	* nscd/nscd_stat.c: Print current and maximum number of threads.
2004-10-03 21:11:37 +00:00
Ulrich Drepper
4401d75905 Update.
Implement paranoia mode.
	* nscd/connections.c (nscd_init): Mark database and socket descriptors
	as close on exec.
	(restart): New function.
	(restart_p): New function.
	(nscd_run): Add missing descrement of nready in case readylist is
	empty.
	(main_loop_poll): Call restart_p and restart.
	(main_loop_epoll): Likewise.
	(begin_drop_privileges): Save original UID and GID.
	* nscd/nscd.c: Define new variables paranoia, restart_time,
	restart_interval, oldcwd, old_gid, old_uid.
	(main): Disable paranoia mode if we are not forking.
	(check_pid): When re-execing, the PID file contains the same PID as
	the current process.  Do not fail in this case.
	* nscd/nscd.conf: Add paranoia and restart-interval entries.
	* nscd/nscd.h: Define RESTART_INTERVAL.  Declare new variables.
	* nscd/nscd_conf.c: Parse paranoia and restart-internal configurations.
	* nscd/nscd_stat.c: Print paranoia and restart-internal values.
2004-10-03 19:33:48 +00:00
Ulrich Drepper
fc03df7aa6 Update.
2004-10-03  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c: Implement alternative loop for main thread
	which uses epoll.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
	(CFLAGS-connections.c): Add -DHAVE_EPOLL.

	* nscd/Makefile (CFLAGS-initgrcache.c): Add to CFLAGS-* variables,
	don't replace old content.
2004-10-03 07:33:54 +00:00
Ulrich Drepper
1945c96f2b Update,
* nscd/connections.c: Rewrite handling of incoming connections.  All
	are handled by one thread which then hands of the descriptors for the
	real work to the worker threads.
	* nscd/Makefile: Link nscd with librt.

	* nscd/selinux.c: Pretty printing.

	* nscd/dbg_log.c (dbg_log): Don't add unnecessary newline to
	output.  Let syslog do the formatting if debug_level == 0.
2004-10-03 01:21:47 +00:00
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
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
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
72ae1e97d0 Update.
* nscd/connections.c (nscd_run): Call setup_thread only for enabled
	databases.
2004-09-11 20:48:01 +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
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
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
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
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
a12ce44f69 Update.
2003-05-03  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd.c (main): Parse config file right after parsing
	parameters.  Then, if get_stats is true, call receive_print_stats.
	Drop parameter from nscd_init call.
	(get_stats): New variable.
	(parse_opt): Set get_stats, don't call receive_print_stats here.
	* nscd/nscd.h: Declare dbs, stat_user, and stat_uid.  Adjust nscd_init
	prototype.
	* nscd/connections.c (stat_user, stat_uid): New variables.
	(dbs): Make global.
	(nscd_init): Don't read configuration file here.  Drop parameter.
	(handle_request): Cleanup handling of non-database lookup requests.
	* nscd/nscd_conf.c (nscd_parse_file): Recognize stat-user entry.
	Get UID of the specified user.  Use xstrdup instead of strdup.
	* nscd/nscd_stat.c (receive_print_stats): Check UID.  If not zero,
	check stat_user.
	* nscd/Makefile (nscd-modules): Add xstrdup.
	* nscd/nscd.conf: Document stat-user entry.

2003-05-03  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_semtimedop): Define
	if not defined.
2003-05-04 07:00:44 +00:00
Ulrich Drepper
0fdb4f42e4 (client_queued): New variable. (nscd_run): Revamp the loop. Don't call poll except for cleanup threads. Keep track of the number of delays caused because of busy worker threads. 2003-04-28 02:43:30 +00:00
Ulrich Drepper
c86e6aec55 Update.
* nscd/cache.c (cache_search): Keep track of how many chain links
	we searched and update table statistics.
	(cache_add): Keep track of how many values are in the table.
	(prune_cache): Likewise.  Keep track of locking success.
	Print messages about removed entries in separate pass.
	* nscd/connections.c (handle_request): Don't print debug message here.
	The caller will do it.  Keep track of locking success.
	(nscd_run): Print debug message.  Also print PID of the client process.
	* nscd/nscd.c (start_time): New variable.
	(main): Remember start time.
	* nscd/nscd.h: Declare start_time.
	(struct database): Add more members for new statistics.
	* nscd/nscd_stat.c: Add support for sending, receiving, and printing
	of new statistics.
2003-04-26 04:15:50 +00:00
Ulrich Drepper
4c5dd2a207 Update.
2003-04-22  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd-client.h: Add declaration for __nscd_open_socket.
	* nscd/nscd_gethst_r.c (__nscd_open_socket): Renamed from
	open_socket.  Not static anymore.
	(nscd_gethst_r): Use __nscd_open_socket.
	* nscd/nscd_getgr_r.c (open_socket): Removed.
	(nscd_getgr_r): Use __nscd_open_socket.
	* nscd/nscd_getpw_r.c (open_socket): Removed.
	(nscd_getpw_r): Use __nscd_open_socket.

	* nscd/nscd.c (main): Change type of fdn to long int and use strtol.
	* nscd/connections.c (handle_request): Add cast to avoid warning.
2003-04-22 19:52:59 +00:00
Ulrich Drepper
e09edf23c2 Update.
* nscd/connections.c (nscd_run): Remove bogus return which isn't
	necessary with gcc 3.2+.
	(nscd_init): Don't use error() to print message, use dbg_log.
2003-01-16 07:54:50 +00:00
Ulrich Drepper
282c00a71a (nscd_run): Protect accept with TEMP_FAILURE_RETRY. 2003-01-15 22:57:20 +00:00
Ulrich Drepper
74e8f2dcaa Update.
2002-12-19  Jakub Jelinek  <jakub@redhat.com>

	* nscd/connections.c (nscd_run): Shut up warning.
	* tst-ungetc.c (assert): Undefined before redefining.

2002-12-19  Ulrich Drepper  <drepper@redhat.com>

	* posix/regex.c: Use __builtin_expect even outside glibc if gcc 3
	is used.

2002-12-17  Art Haas  <ahaas@airmail.net>

	* iconvdata/cp737.h: Convert GCC extension initializer syntax to C99.
	* iconvdata/cp775.h: Likewise.
	* iconvdata/ibm1046.h: Likewise.
	* iconvdata/ibm1124.h: Likewise.
	* iconvdata/ibm1129.h: Likewise.
	* iconvdata/ibm1132.h: Likewise.
	* iconvdata/ibm1133.h: Likewise.
	* iconvdata/ibm1160.h: Likewise.
	* iconvdata/ibm1161.h: Likewise.
	* iconvdata/ibm1162.h: Likewise.
	* iconvdata/ibm1163.h: Likewise.
	* iconvdata/ibm1164.h: Likewise.

	(__ASSUME_CLONE_THREAD_FLAGS): Define for x86 and kernel >= 2.5.50.
2002-12-19 09:18:01 +00:00
Roland McGrath
c2e131128b * sysdeps/unix/sysv/linux/readv.c (do_readv): Use prototype defn.
* 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.
2002-12-15 23:23:24 +00:00
Roland McGrath
be3c40b627 2002-09-04 Bruno Haible <bruno@clisp.org>
* elf/readlib.c (process_file): Conditionalize check for QMAGIC.

	* sysdeps/unix/sysv/linux/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Turn into inline functions.
	* sysdeps/unix/sysv/aix/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Likewise.
	* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Likewise.

	* sysdeps/generic/_strerror.c (_sys_errlist, _sys_nerr): Remove
	default definitions.
	(__strerror_r): Use _sys_errlist_internal instead of _sys_errlist,
	_sys_nerr_internal instead of _sys_nerr.

	* nscd/connections.c (handle_request): Declare CALLER inside #if.
2002-09-05 18:52:18 +00:00
Ulrich Drepper
057685e461 Update.
2002-01-17  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd.c (drop_privileges): Removed.  Adjust caller.
	* nscd/connections.c (begin_drop_privileges): New function.
	(finish_drop_privileges): New function.
	(nscd_init): Call the new functions which also install all groups
	for the server user.

2002-01-17  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Remove
	`const' from `got'.
2002-01-18 02:10:41 +00:00
Ulrich Drepper
2370003639 Update.
only if debug_level > 0.  Add little performance improvements.
	Use TEMP_FAILURE_RETRY around write calls.
2001-07-17 02:38:34 +00:00
Ulrich Drepper
98e75a1c9c Update.
2001-07-16  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c: Print messages caused by user application
	only if debug_level > 0.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
2001-07-17 01:37:42 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Andreas Jaeger
fc2cb6f1ce (nscd_run): Use proper format specifier. 2001-01-17 10:45:25 +00:00
Andreas Jaeger
0a12bf88f1 Update.
2000-12-09  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/mips/sigaction.c: New file.

	* sysdeps/unix/sysv/linux/mips/sys/acct.h: Removed, we can use the
	generic version.
	Patches by Hiroyuki Machida <machida@sm.sony.co.jp>.

	* locale/programs/ld-collate.c (handle_ellipsis): Fix format
	string.

	* locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fix
	format string.

	* nscd/hstcache.c (addhstbyname): Add cast to avoid warning.
	* nscd/connections.c (handle_request): Likewise.
	* nscd/pwdcache.c (addpwbyname): Likewise.
	* nscd/grpcache.c (addgrbyname): Likewise.

	* nscd/nscd_conf.c (nscd_parse_file): Remove extra argument.
2000-12-09 18:33:58 +00:00
Ulrich Drepper
fd6650707a Update.
2000-10-22  Bruno Haible  <haible@clisp.cons.org>

	* iconvdata/big5hkscs.c (big5hkscs_to_ucs): Add irreversible mappings
	for 0x8BF8, 0xA27E..0xA2A7.
	* iconvdata/BIG5HKSCS.irreversible: New file.

2000-10-23  Jakub Jelinek  <jakub@redhat.com>

	* timezone/zdump.c (main): setlocale LC_CTYPE as well as LC_MESSAGES.
	* timezone/zic.c (main): Likewise.

2000-10-23  Thorsten Kukuk  <kukuk@suse.de>

	* nscd/connections.c (invalidate_cache): Don't invalidate a cache
	if it is not enabled.
2000-10-23 17:11:35 +00:00
Ulrich Drepper
101edd3f31 Update.
* nscd/connections.c (nscd_run): Pretty print.
	* elf/dl-runtime.c: Include stdlib.h for alloca prototype.
2000-03-22 00:36:57 +00:00
Ulrich Drepper
64acf8ede4 Update.
2000-02-18  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (handle_request): Don't abort() if unknown
	command is sent.
2000-02-18 17:25:16 +00:00
Ulrich Drepper
9e56c380bc Update.
* nscd/connections.c (dbs): Use
	PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP for .lock.
	Pretty printing.

	* nscd/hstcache.c (cache_addhst): Don't automatically add IPv6
	address.  Suggested by Philip Blundell.
2000-01-19 00:10:36 +00:00
Ulrich Drepper
cedc8559c3 Update.
2000-01-08  Ulrich Drepper  <drepper@cygnus.com>

	* nscd/connections.c (handle_request): Handle systems without
	SO_PEERCRED.
	(nscd_run): Likewise.
2000-01-08 10:13:33 +00:00
Ulrich Drepper
dbbbaf5335 Update.
1999-12-29  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/alpha/sys/io.h: Don't include
	<asm/io.h>; remove K&R compatibility; add missing ints.

	* sysdeps/unix/sysv/linux/arm/sys/io.h: Remove K&R compatibility,
	add missing ints.

	* sysdeps/unix/sysv/linux/sys/io.h: Don't include <asm/io.h>.

1999-12-29  Andreas Jaeger  <aj@suse.de>

	* manual/getopt.texi (Using Getopt): Document ordering of options.

1999-12-29  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for llseek.
	Requested by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.

1999-12-14  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux
	2.3.32.

1999-12-28  Jakub Jelinek  <jakub@redhat.com>

	* elf/sprof.c (load_shobj): Fix error message.
	(generate_call_graph): Cast %*s length argument to int.
	* locale/programs/localedef.c (construct_output_path): Likewise.
	* locale/programs/ld-ctype.c (ctype_finish): Use proper format
	specifier.
	(ctype_class_new): Likewise.
	* locale/programs/ld-time.c (time_finish): Likewise.
	* sunrpc/svc_simple.c (register_rpc): Likewise.
	* nscd/connections.c (nscd_run, start_threads): Use long instead of
	int to avoid cast warnings.
	* sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): Kill
	warning.
	* sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Remove unused
	variable se.

	* time/strftime.c (my_strftime): Provide wide era string when
	requested.

	* sysdeps/sparc/fpu/bits/mathinline.h (__signbit, __signbitl):
	Separate into 32bit and 64bit versions.
1999-12-29 17:52:49 +00:00
Ulrich Drepper
549b3c3a85 Update.
1999-09-26  Ulrich Drepper  <drepper@cygnus.com>

	* locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fix
	error message printing.  Correctly test whether all characters of
	current token are used.
	(ctype_read): NUL terminate last_str.
1999-09-27 07:02:38 +00:00