Author: vlendec Date: 2004-04-17 23:29:43 +0000 (Sat, 17 Apr 2004) New Revision: 264
Modified: branches/tmp/VOYAGER/source/groupdb/mapping.c branches/tmp/VOYAGER/source/include/client.h branches/tmp/VOYAGER/source/libsmb/cliconnect.c branches/tmp/VOYAGER/source/nsswitch/wb_common.c branches/tmp/VOYAGER/source/nsswitch/winbindd.h branches/tmp/VOYAGER/source/nsswitch/winbindd_cm.c branches/tmp/VOYAGER/source/nsswitch/winbindd_group.c branches/tmp/VOYAGER/source/nsswitch/winbindd_passdb.c branches/tmp/VOYAGER/source/nsswitch/winbindd_rpc.c branches/tmp/VOYAGER/source/nsswitch/winbindd_util.c branches/tmp/VOYAGER/source/passdb/secrets.c branches/tmp/VOYAGER/source/smbd/negprot.c Log: Yet another variation on the winbind scheme. Thanks to a suggestions by jerry this implements a way for winbind to prove own smbd that it's really winbind who is calling. This works by an randomly invented protocol that winbind stores as a key in secrets.tdb. Hmmm. Just thought that we could have a fixed key with a random value. Jerry, what do you think? The current scheme clutters secrets.tdb which needs cleaning on startup. winbind offers this protocol in the negprot and smbd can look in secrets.tdb whether the caller was able to set and read the key. What does this do in smbd? It does a fixed winbind_off. So we can deliberately call out to smbd loop-back. What is the local SAM? On a DC, it's called the same as the domain. On a member, it's the local machine name's sam. These now use winbindd_rpc with the special flag domain->loopback. Then there's BUILTIN. This currently is the only user of winbindd_passdb. This could (and should IMO) also be converted to winbindd_rpc for symmetry. Probably the flags domain->internal and domain->loopback are synonyms, I have to look at that more. Could others please look at the security implications of this? The fact that it really works amazingly well with extremely little code duplication proves the fact that for the loopback winbind connection we need a way for winbind to shut down the winbind queries. Another idea: How much effort would it be for smbd to listen on a unix domain socket in a private directory? Volker WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/tmp/VOYAGER/source&rev=264&nolog=1