Author: obnox Date: 2007-05-22 22:00:16 +0000 (Tue, 22 May 2007) New Revision: 23085
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23085 Log: Activate the winbindd validation code in 3_0_26, too. Original comment of the 3_0 checkin (r23040): Activate the winbindd cache validation code in the winbindd main function. I have tested and somewhat extended the code, and it seems to do a good job. I have possibly not caught all error conditions though. Michael Modified: branches/SAMBA_3_0_26/source/nsswitch/winbindd.c Changeset: Modified: branches/SAMBA_3_0_26/source/nsswitch/winbindd.c =================================================================== --- branches/SAMBA_3_0_26/source/nsswitch/winbindd.c 2007-05-22 21:53:54 UTC (rev 23084) +++ branches/SAMBA_3_0_26/source/nsswitch/winbindd.c 2007-05-22 22:00:16 UTC (rev 23085) @@ -1065,6 +1065,20 @@ pidfile_create("winbindd"); + /* Ensure all cache and idmap caches are consistent + before we startup. */ + + if (winbindd_validate_cache()) { + /* We have a bad cache, but luckily we + just deleted it. Restart ourselves */ + int i; + /* Ensure we have no open low fd's. */ + for (i = 3; i < 100; i++) { + close(i); + } + return execve(argv[0], argv, envp); + } + #if HAVE_SETPGID /* * If we're interactive we want to set our own process group for
