Commit Graph

500 Commits

Author SHA1 Message Date
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Ulrich Drepper
3e1aa84e7f Do not cache negative results in nscd if these are transient 2012-01-20 22:39:54 -05:00
Ulrich Drepper
ec09c1c410 Optimize xmalloc, xcalloc, xrealloc, and xstrdup
Add alloc_size attribute and apply consistently the malloc attribute
to xmalloc, xcalloc, xrealloc, and xstrdup.
2012-01-08 21:19:43 -05:00
Ulrich Drepper
81fb02b046 Update copyright year 2012-01-01 05:50:05 -05:00
Ulrich Drepper
9bea34736f Avoid warning in aicache.c 2011-12-02 21:05:19 -05:00
Andreas Schwab
a9ae54a136 Don't start AVC thread until credentials are installed 2011-11-03 14:41:38 +01:00
Andreas Schwab
45b96dd684 Properly set extra-objs in nscd makefile 2011-11-01 18:28:38 +01:00
Ulrich Drepper
432d41ceec Use kernel headers for netlink definitions 2011-11-01 08:43:33 -04:00
Ulrich Drepper
3a2c02424d Cache network interface information
Whenever getaddrinfo needed network interface information it used the
netlink interface to read the information every single time.  The
problem is that this information can change at any time.

The patch implements monitoring of the network interfaces through
nscd.  If no change is detected the previously read information can
be reused (which is the norm).  This timestamp information is also
made available to other processes using the shared memory segment
between nscd and those processes.
2011-10-31 01:51:16 -04:00
Ulrich Drepper
97c066e65a Fix nesting of #ifdefs in netgroupcache.c 2011-10-17 10:30:03 -04:00
Roland McGrath
c658d255e9 Fix some nit warnings. 2011-10-08 15:25:08 -07:00
Ulrich Drepper
684ae51599 Implement caching of nscd 2011-10-07 10:06:31 -04:00
Ulrich Drepper
21fd49a9ef Don't unnecesarily use inotify in nscd 2011-10-07 01:20:53 -04:00
Ulrich Drepper
32b63198d6 Avoid warning when reload of group entry fails 2011-10-06 03:44:19 -04:00
Ulrich Drepper
a60df2c3db Add missing initialization in service cache in nscd 2011-08-14 22:20:09 -04:00
Marek Polacek
b902330ca8 Avoid warning in nscd config file parsing code 2011-07-19 20:13:31 -04:00
Ulrich Drepper
feb1eb0be7 Avoid possible crashes in anormal nscd exits 2011-07-19 13:59:57 -04:00
Ulrich Drepper
319b9ad4bc Generalize framework to register monitoring of files in nscd
nscd can clear caches when certain files change.  The list of files
was hardcoded so far and worked for nss_files and nss_dns and those
modules which need no monitoring.  nss_db, for instance, has its
own set of files to monitor.  Now the NSS modules themselves can
request that certain files are monitored.
2011-07-11 14:50:24 -04:00
Ulrich Drepper
f15f1e45ba Avoid warning. 2011-07-05 06:56:12 -04:00
Ulrich Drepper
99231d9abe nscd cleanups
Cleanup and optimize last patch.  Add timeout fixes also to the
services cache.
2011-07-01 23:02:09 -04:00
Thorsten Kukuk
445b4a53ea Handle nscd negtimeout==0 2011-07-01 22:53:01 -04:00
Ulrich Drepper
cf3b23ffcd Avoid write to invalid file descriptor in nscd
When readding entries to the group and services cache and the lookup
is unsuccesful, we tried to write the notfound record.  Just don't
do it in this case.
2011-06-29 23:33:38 -04:00
Ulrich Drepper
034807a9cb Fix handling of RES_USE_INET6 big in nscd
This fixes BZ #12350 also for nscd.
2011-06-27 13:10:44 -04:00
Roland McGrath
5615eaf264 Quash some new warnings from GCC 4.6. 2011-06-10 22:44:20 -07:00
Ulrich Drepper
c8fc0c9169 Don't free non-malloced memory and fix memory leak 2011-05-31 08:45:44 -04:00
Ulrich Drepper
f2962a7195 Add a few more alloca size checks 2011-05-22 23:04:16 -04:00
Andreas Schwab
da62f81bdd Add support for generated PIE link rules 2011-05-13 23:31:43 -04:00
Jim Meyering
ded5b9b7c7 Remove doubled words. 2011-04-22 21:34:32 -04:00
Justin P. Mattock
795934a60e Fix a comment. 2011-04-17 20:55:16 -04:00
Ulrich Drepper
a4c7ea7bb8 Schedule nscd cache pruning more accurately fromr re-added values. 2011-02-05 20:07:27 -05:00
Ulrich Drepper
c0dafcf176 Update copyright year. 2011-01-17 15:08:10 -05:00
Ulrich Drepper
bc425b339b Signal temporary host lookup errors in nscd as such to the requester. 2011-01-15 11:10:11 -05:00
Ulrich Drepper
ea42a20cae Fix crash on reloading of gai data in nscd. 2010-04-09 21:38:20 -07:00
Ulrich Drepper
d55d558b4e Print reload count in nscd statistics. 2010-04-08 19:58:29 -07:00
Ulrich Drepper
561470e061 Update copyright year. 2010-03-15 11:50:59 -07:00
Ulrich Drepper
351fe94770 Try harder to re-exec nscd in paranoia mode. 2009-11-22 19:07:52 -08:00
Anders Johansson
ea547a1a6e Fix a few asserts and IO calls in nscd.
The nscd/*cache.c files contain assert()s, writeall() and sendfileall() calls
that invalidly use together &dataset->resp and total where either dataset or
dataset->head.recsize should be used instead one of the components. In the
writeall() and sendfileall() cases, it is unlikely to matter in practice, but
the assertions can fail sometimes without a proper reason.
2009-10-29 22:18:26 -07:00
Ulrich Drepper
e0f471a118 Print timestamp in nscd debug messages. 2009-10-29 13:45:10 -07:00
Ulrich Drepper
00ebd7ed58 Revert "Fix lock handling in memory hander of nscd."
This reverts commit 137028b4d7.

Conflicts:

	ChangeLog
2009-07-17 07:49:16 -07:00
Petr Baudis
137028b4d7 Fix lock handling in memory hander of nscd.
The commit 20e498bd removes the pthread_mutex_rdlock() calls, but not the
corresponding pthread_mutex_unlock() calls. Also, the database lock is never
unlocked in one branch of the mempool_alloc() if.

I think unreproducible random assert(dh->usable) crashes in prune_cache() were
caused by this. But an easy way to make nscd threads hang with the broken
locking was.
2009-07-16 10:10:10 -07:00
Andreas Schwab
50158f9552 Use correct release semantic in list update.
nscd uses lockfree lists and we need to ensure the correct release
semantics is used when adding to the list.
2009-07-16 09:57:32 -07:00
H.J. Lu
435aa54b3b Consolidate PIE linking Makefile rules. 2009-06-16 09:19:59 -07:00
Jakub Jelinek
5078fff6c4 Fix forced loop termination in nscd database lookup.
There are two issues with the forced loop exit in the nscd lookup:
1. the estimate of the entry size isn't pessimistic enough for all
   databases, resulting potentially is too early exits
2. the combination of 64-bit process and 32-bit nscd would lead to
   rejecting valid records in the database.
2009-05-18 10:19:50 -07:00
Ulrich Drepper
fa546abe9d Move BLOCK_ALIGN* macros back.
The move to nscd-client.h was only needed for some interim version
of the patch.  The final version doesn't need it.  Undo the change.
2009-05-16 10:29:43 -07:00
Ulrich Drepper
95410b7ba2 Fix exit condition.
The patch to bound the search in the nscd caches used a wrong exit
condition.  Fixed now.
2009-05-16 10:10:32 -07:00
Ulrich Drepper
831a40494d Further robustify nscd database lookup.
We can compute an absolute maximum for the number of elements which
can fit into the currently mapped database.  Stop after that many
iterations.
2009-05-15 21:33:43 -07:00
Jakub Jelinek
cfe1fc1013 Robustify libc-side nscd database reader.
The nscd database mapped in processes can change at any time.  We
have to be more vigilant when it comes to using that memory.  Test
the data entries are valid in their entire size, don't read data
again from memory once we verified it, and make sure the trailing
pointer is not going off the deep end.
2009-05-15 21:17:08 -07:00
Jakub Jelinek
9e471dad8e Don't try to cleanup libselinux and libaudit.
Because we are not shutting down the other threads first another
thread might work on a query before the process shuts down.  In this
case the now uninitialized libselinux and libaudit might be used.
Just don't free the resources.  It's not necessary anyway because
the process is about to terminate.
2009-05-15 20:48:08 -07:00
Ulrich Drepper
1ac03a1e44 * nscd/connections.c (send_ro_fd): Define temporary variable to avoid
warning.

	* elf/sprof.c: Likewise.
2009-04-26 22:31:19 +00:00
Ulrich Drepper
6cc8844f1d * sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Remove inline
from definition.

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Don't define
	label if it is not used.

	* elf/dl-profile.c (_dl_start_profile): Define real-type variant
	of gmon_hist_hdr and gmon_hdr structures and use them.

	* elf/dl-load.c (open_verify): Add temporary variable to avoid
	warning.

	* nscd/nscd_helper.c (get_mapping): Avoid casts to avoid warnings.

	* sunrpc/clnt_raw.c (clntraw_private_s): Use union in definition
	to avoid cast.

	* inet/rexec.c (rexec_af): Make sa2 a union to avoid warnings.
	* inet/rcmd.c (rcmd_af): Make from a union of the various needed types
	to avoid warnings.
	(iruserok_af): Use ss_family instead of casts.

	* gmon/gmon.c (write_hist): Define real-type variant of
	gmon_hist_hdr structure and use it.
	(write_gmon): Likewise for gmon_hdr.

	* sysdeps/unix/sysv/linux/readv.c: Avoid declaration of replacement
	function if we are not going to define it.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.

	* inet/inet6_option.c (optin_alloc): Add temporary variable to
	avoid warning.

	* libio/strfile.h (struct _IO_streambuf): Use correct type and
	name of VTable element.
	* libio/iovsprintf.c: Avoid casts to avoid warnings.
	* libio/iovsscanf.c: Likewise.
	* libio/vasprintf.c: Likewise.
	* libio/vsnprintf.c: Likewise.
	* stdio-common/isoc99_vsscanf.c: Likewise.
	* stdlib/strfmon_l.c: Likewise.
	* debug/vasprintf_chk.c: Likewise.
	* debug/vsnprintf_chk.c: Likewise.
	* debug/vsprintf_chk.c: Likewise.
2009-04-26 20:12:37 +00:00
Ulrich Drepper
d9822dbe66 * nscd/connections.c (restart): Try to preserve the process name
by reading the /proc/self/exe symlink and using the return name.
	Patch by Jeff Bastian <jbastian@redhat.com>.
2009-03-16 22:33:01 +00:00
Ulrich Drepper
20e498bdb0 [BZ #5381]
2009-02-13  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5381]
	* nscd/nscd.h: Remove definitions and declarations for mem_in_flight.
	Change mempool_alloc prototype.
	* nscd/mem.c (gc): Don't handle mem_in_flight.
	(mempool_alloc): Third parameter now only indicates whether this is the
	first call (to allocate data) or not.  If it is, get db rdlock.
	Release it on error.  Don't handle mem_in_flight.
	* nscd/aicache.c (addhstaiX): Mark he parameter as const.
	Adjust third parameter of mempool_alloc calls.
	Nothing to do here in case mempool_alloc fails.
	Avoid local variable shadowing parameter.  No need to get db rdlock
	before calling cache_add.
	* nscd/cache.c (cache_add): Adjust call to mempool_alloc.  There is
	no mem_in_flight array anymore.
	* nscd/connections.c: Remove definition and handling of mem_in_flight.
	* nscd/grpcache.c (cache_addgr): Adjust third parameter of
	mempool_alloc calls.  Mark he parameter as const.  Nothing to do here
	in case mempool_alloc fails. No need to get db rdlock before calling
	cache_add.
	* nscd/hstcache.c (cache_addhst): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.
	* nscd/servicescache.c (cache_addserv): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.  Remove some debugging code.
2009-02-13 20:36:37 +00:00
Ulrich Drepper
cbbcaf2369 * debug/xtrace.sh: Unify translatable messages.
* elf/ldd.bash.in: Likewise.
	* elf/sprof.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* nss/getent.c: Likewise.

2009-02-06  Joseph Myers  <joseph@codesourcery.com>

	* debug/pcprofiledump.c (print_version,
	argp_program_version_hook): New function.
	* elf/ldconfig.c (more_help): New function.
	(argp): Use it.
	* elf/sln.c (usage): New function.
	(main): Support --help and --version.
	* malloc/memusagestat.c (print_version): New function.
	(argp_program_version_hook): New variable.
	* nscd/nscd.c (more_help): New function.
	(argp): Use it.
	* posix/getconf.c (main): Send --version output to stdout.
	Support --help.
	* sunrpc/rpc_main.c (usage, options_usage): Take STREAM and STATUS
	arguments.  All callers changed.
	(print_version): New function.
	(parseargs): Support --help and --version.
	* sunrpc/rpcinfo.c (usage): Take STREAM argument.  All callers
	changed.
	(print_version): New function.
	(main): Use getopt_long.  Support --help and --version.
	* sysdeps/unix/sysv/linux/lddlibc4.c (main): Support --help and
	--version.

2009-02-06  Ulrich Drepper  <drepper@redhat.com>
2009-02-06 20:13:07 +00:00
Ulrich Drepper
fd537e535f [BZ #9750]
* nscd/mem.c (gc): Use alloca_count to get the real stack usage.
	* include/alloca.h (alloca_account): Define.
	* sysdeps/x86_64/stackinfo.h (stackinfo_get_sp): Define.
	(stackinfo_sub_sp): Define.
2009-01-29 00:17:57 +00:00
Ulrich Drepper
31d322a214 * nscd/connections.c (nscd_init): If database file access be
opened check whether this is due to permission problems and bail
	in that case.
2009-01-28 21:00:13 +00:00
Ulrich Drepper
5627534a81 [BZ #9741]
2009-01-28  Ulrich Drepper  <drepper@redhat.com>
	[BZ #9741]
	* nscd/mem.c (gc): Fix assignment of he_data in case malloc is used.
	Reported by Jun'ichi Nomura <j-nomura@ce.jp.nec.com>.
2009-01-28 20:04:49 +00:00
Roland McGrath
251fe50c6d 2009-01-10 Roland McGrath <roland@redhat.com>
* nscd/nscd.c (parse_opt): Use argp_error for bad -i argument.
2009-01-11 04:32:05 +00:00
Ulrich Drepper
d36ad87147 * posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* debug/catchsegv.sh: Likewise.
2009-01-02 08:47:18 +00:00
Ulrich Drepper
50e481ceeb * nscd/nscd_gethst_r.c (nscd_gethst_r): Don't use nscd if
LOCALDOMAIN is defined.
	* nscd/nscd_getai.c (__nscd_getai): Likewise.
2008-12-29 20:56:13 +00:00
Ulrich Drepper
cd72adebda [BZ #7067]
2008-12-03  Petr Baudis  <pasky@suse.cz>
	[BZ #7067]
	* nscd/connections.c (invalidate_cache): Use prune_run_lock
	instead of prune_lock.
	(nscd_run_prune): Before calling prune_cache, take prune_run_lock.
	* nscd/nscd.h (database_dyn): Add prune_run_cache.
2008-12-09 05:24:37 +00:00
Ulrich Drepper
f93fc0b75a * socket/sys/socket.h: Declare accept4.
* socket/accept4.c: New file.
	* sysdeps/unix/sysv/linux/accept4.c: New file.
	* sysdeps/unix/sysv/linux/i386/accept4.S: New file.
	* socket/Makefile (routines): Add accept4.
	* socket/Versions: Export accept4 with version GLIBC_2.10.
	* socket/paccept.c: Removed.
	* sysdeps/unix/sysv/linux/paccept.c: Removed.
	* sysdeps/unix/sysv/linux/i386/paccept.S: Removed.
	* Versions.def: Define GLIBC_2.10 for libc.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_ACCEPT4.

	* nscd/connections.c: Use accept4.

	* sysdeps/unix/sysv/linux/i386/socket.S: Fix comment.
2008-12-03 04:23:18 +00:00
Ulrich Drepper
60a23f5a72 * elf/Makefile: Add rules to build and run tst-tls17.
* elf/tst-tls17.c: New test.
	* elf/tst-tlsmod17a.c: New file.
	* elf/tst-tlsmod17b.c: Likewise.
2008-10-17 15:24:10 +00:00
Ulrich Drepper
3452ded520 * nscd/connections.c: Disable use of paccept for now. 2008-09-30 14:17:12 +00:00
Ulrich Drepper
39e175bb3a (main_loop_poll): Pass a buffer which is guaranteed to be large enough to read inotify event. Ignore EAGAIN error. Better error message. Add branch predicition. (main_loop_epoll): Likewise. 2008-08-03 15:46:46 +00:00
Ulrich Drepper
bd7f48571d * nscd/connections.c (nscd_init): Type if preprocessor directive.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PACCEPT):
	Define.
2008-07-30 16:33:19 +00:00
Ulrich Drepper
7b91359b2c * Makeconfig: Define pie-ccflag and PIE-ccflag variables.
* elf/Makefile: Use pie-ccflag variable.
	* nscd/Makefile: Likewise.
	* sysdeps/sparc/Makefile: Set $(pie-ccflag) to -fPIE.
2008-07-26 22:22:24 +00:00
Ulrich Drepper
9dd8477226 * nscd/connections.c (nscd_init): Clean up fcntl call. 2008-07-25 18:38:20 +00:00
Ulrich Drepper
c418b1ba4c * nscd/nscd_helper.c (open_socket): Use SOCK_CLOEXEC and
SOCK_NONBLOCK if possible.
2008-07-25 18:31:07 +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
5a337776da * nscd/grpcache.c (cache_addgr): Correctly compute size of
fixed-size portion of the record.
	* nscd/servicescache.c (cache_addserv): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.
2008-06-12 16:16:38 +00:00
Ulrich Drepper
9ad58cc3ba * nscd/mem.c (gc): Initialize obstack earlier so that if we jump
out we don't use uninitialized memory.

	* nscd/hstcache.c (cache_addhst): Send correct number of bytes to
	the client.
2008-06-12 04:52:39 +00:00
Jakub Jelinek
ee78670e26 * nscd/nscd_getserv_r.c (__nscd_getservbyport_r): Pass cp
instead of portstr to nscd_getserv_r.  Patch by 
Roman Kagan <rkagan@mail.ru>.
2008-06-03  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd_getserv_r.c (__nscd_getservbyport_r): Pass cp
	instead of portstr to nscd_getserv_r.  Patch by
	Roman Kagan <rkagan@mail.ru>.
2008-06-03 10:22:52 +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
5811d72b73 * nscd/mem.c (gc): Avoid stack overflow when allocating move list. 2008-05-18 06:29:10 +00:00
Ulrich Drepper
fa526148d6 * nscd/mem.c (gc): Correctly determine highest used array element
in mark.
2008-05-18 04:25:44 +00:00
Ulrich Drepper
77d40f10ec * nscd/mem.c (markrange): Add assert to check entries are all
aligned.  Small cleanup in bitmap use.
2008-05-18 04:17:14 +00:00
Ulrich Drepper
8884028c8e * nscd/nscd.h (mem_in_flight): Replace blockaddr field with
blockoff of type nscd_ssize_t.
	* nscd/mem.c (gc): Simplify markrange call for on-flight blocks.
	(mempoll_alloc): Record block offset and not address.
2008-05-18 03:57:19 +00:00
Ulrich Drepper
b21595750e * nscd/mem.c (gc): Fix test for stack overuse. 2008-05-18 02:45:46 +00:00
Ulrich Drepper
5c9629d2e3 * nscd/aicache.c (addhstaiX): Fix a few small problems, cleanups,
more asserts.
2008-05-17 22:51:15 +00:00
Ulrich Drepper
7e71e55f16 * nscd/cache.c (cache_add): Before returning with failure and this
is the first use of the record, mark it as unusable.
	* nscd/aicache.c: Don't touch the dataset after cache_add returns
	reporting a failure.
	* nscd/grpcache.c: Likewise
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicecache.c: Likewise.
2008-05-11 03:03:14 +00:00
Ulrich Drepper
d029664038 (cache_add): Before returning with failure and this is the first use of the record, mark it as unusable. 2008-05-11 03:02:25 +00:00
Ulrich Drepper
1eb946b935 * include/resolv.h: Adjust __libc_res_nquery and __libc_res_nsend
prototypes.
	* include/arpa/nameser_compat.h: Define T_UNSPEC.
	* nis/Versions (libnss_nis): Export _nss_nis_gethostbyname4_r.
	(libnss_nisplus): Export _nss_nisplus_gethostbyname4_r.
	* nis/nss_nis/nis-hosts.c (LINE_PARSER): Change to also handle
	af==AF_UNSPEC.
	(_nss_nis_gethostbyname4_r): New function.
	* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent):
	Change to also handle af==AF_UNSPEC.
	(get_tablename): New function.  Use it to avoid duplication.
	(_nss_nisplus_gethostbyname4_r): New function.
	* nscd/aicache.c (addhstaiX): Use gethostbyname4_r function is
	available.
	* nss/Versions (libnss_files): Export _nss_files_gethostbyname4_r.
	* nss/nss.h: Define struct gaih_addrtuple.
	* nss/nss_files/files-hosts.c (LINE_PARSER): Change to also handle
	af==AF_UNSPEC.
	(_nss_files_gethostbyname4_r): New function.
	* resolv/Versions (libnss_dns): Export _nss_dns_gethostbyname4_r.
	* resolv/gethnmaddr.c: Adjust __libc_res_nsearch and __libc_res_nquery
	calls.
	* resolv/res_query.c (__libc_res_nquery): Take two additional
	parameters for second answer buffer.  Handle type=T_UNSPEC to mean
	look up IPv4 and IPv6.
	Change all callers.
	* resolv/res_send.c (__libc_res_nsend): Take five aditional parameters
	for an additional query and answer buffer.  Pass to send_vc and
	send_dg.
	(send_vc): Send possibly two requests and receive two answers.
	(send_dg): Likewise.
	* resolv/nss_dns/dns-host.c: Adjust calls to __libc_res_nsearch and
	__libc_res_nquery.
	(_nss_dns_gethostbyname4_r): New function.
	(gaih_getanswer_slice): Likewise.
	(gaih_getanswer): Likewise.
	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Adjust
	__libc_res_nquery call.
	* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
	(_nss_dns_getnetbyname_r): Adjust __libc_res_nsearch call.
	* sysdeps/posix/getaddrinfo.c: Use gethostbyname4_r function is
	available.
2008-05-10 23:27:39 +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
1d20f7f834 [BZ #5979]
* sunrpc/auth_unix.c: Unify printed strings.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/xdr.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* locale/programs/ld-time.c (time_finish): Unify messages.
	* locale/programs/locfile.c (handle_copy): Fix typo.
	* nscd/nscd.c (options): Fix typo.
2008-03-29 18:12:46 +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
f4a1363eb3 * posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* debug/catchsegv.sh: Likewise.
2008-01-02 19:26:03 +00:00
Ulrich Drepper
ae4287f8b2 Declare fsync also for Unix98.
2007-11-26  Ulrich Drepper  <drepper@redhat.com>

	* posix/unistd.h: Declare fsync also for Unix98.
2007-11-26 12:53:17 +00:00
Ulrich Drepper
e8667ddc01 Clear array before use.
* nscd/hstcache.c (cache_addhst): Likewise.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/servicescache.c (cache_addserv): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.
2007-11-25 21:29:30 +00:00
Ulrich Drepper
30294ea449 * nscd/nscd.h (MAX_STACK_USE): Define.
* nscd/mem.c (MAX_STACK_USE): Remove definition here.
	(gc): Initialize stack_used based on allocation in prune_cache.
	* nscd/cache.c (prune_cache): Use heap for mark array if necessary.
	Clear array bfore use.

	* nscd/aicache.c (addhstaiX): Update statistics counter in case
	memory allocate failed.
2007-11-25 21:08:01 +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
f9e2261b7e * nscd/cache.c (prune_cache): If cache is empty, instruct caller
to wake up in 24 hours.
2007-11-14 15:26:10 +00:00
Ulrich Drepper
43850227c9 * nscd/gai.c (__ioctl): Define. Include check_native.c. 2007-11-14 15:14:05 +00:00
Ulrich Drepper
7fe4e0e892 * nscd/selinux.c (nscd_request_avc_has_perm): When compiled with
old headers, don't call avc_has_perm if we don't have the
	permission information.
2007-11-06 18:26:44 +00:00
Ulrich Drepper
94a749f69a * time/tzfile.c (__tzfile_read): Fix check for version 0 data files.
Patch by Szymon Siwek <sls@poczta.wp.pl>.
2007-11-06 01:04:13 +00:00