| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This patch consolidates the code to initialize the header of a dataset
into a single set of functions (one for positive and another for
negative datasets) primarily to reduce repetition of code. The
secondary reason is to simplify Patch 2/2 which fixes the problem of
an uninitialized byte in the header by initializing an unused field in
the structure and hence preventing a possible data leak into the cache
file.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit dd31ac7a8e0d4cc24eee6815f9101caa5aa64291.
|
|
|
|
|
|
|
|
| |
* nscd/grpcache.c (cache_addgr): Properly check for short write.
* nscd/initgrcache.c (addinitgroupsX): Likewise.
* nscd/pwdcache.c (cache_addpw): Likewise.
* nscd/servicescache.c (cache_addserv): Likewise. Don't write
more than recsize.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Cleanup and optimize last patch. Add timeout fixes also to the
services cache.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit 137028b4d7e50f71906c1656c27079eac5a1d085.
Conflicts:
ChangeLog
|
|
|
|
|
|
|
|
|
|
| |
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-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.
|
|
|
|
|
|
|
| |
fixed-size portion of the record.
* nscd/servicescache.c (cache_addserv): Likewise.
* nscd/pwdcache.c (cache_addpw): Likewise.
* nscd/initgrcache.c (addinitgroupsX): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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-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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* nscd/gai.c: Likewise.
* sysdeps/unix/sysv/linux/statfs64.c: Likewise.
* sysdeps/unix/sysv/linux/fstatfs64.c: Likewise.
* sysdeps/unix/sysv/linux/fxstatat.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise.
* sysdeps/unix/sysv/linux/xstatconv.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: Likewise.
* sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* nscd/servicescache.c (cache_addserv): Likewise.
* nscd/grpcache.c (cache_addgr): In case a record changed on
refresh, adjust key_copy.
|
|
computation of keylen.
|