r22845: Modified and extended the winbindd cache validation code:
authorMichael Adam <obnox@samba.org>
Mon, 14 May 2007 12:57:24 +0000 (12:57 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:22:01 +0000 (12:22 -0500)
commit417325b9e6f9ac0afe1f2f3b552527788f6a7cee
treefedc8f02298b9bb28af0de5595201f71c3d93e84
parent3d3d61687ef00181f4f04e001d42181d93ac931e
r22845: Modified and extended the winbindd cache validation code:

* Replaced signal catching/longjmp magic by a fork:
  Let the child do the actual validation of the entries.
  Exit code and signals are intercepted by waitpid.
* Fix logic so that also encounter of an unknown key in the
  tdb leads to an error.
* Extended status of validation is kept in a (as yet simple)
  stuct and communicated over a pipe from child to parent.
* Added two validation_ functions for two new keys.

The call of winbindd_validate_cache is still commented out
in the winbindd main loop. But I am currently testing it
and so far it seems to work fine.

The next step in my plan is to generalize the validation
mechanism to a tdb_open_log_validate function in lib/util_tdb.c.
There ist nothing very special about the cache tdb here,
and this might be useful elsewhere...

Michael
source/nsswitch/winbindd_cache.c