(merge from 3.0)
authorAndrew Bartlett <abartlet@samba.org>
Wed, 25 Feb 2004 22:09:46 +0000 (22:09 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 25 Feb 2004 22:09:46 +0000 (22:09 +0000)
commitebd86253c6bfb8ccb01e23c7e0446802e9009825
treebfa51bf45beb253d0c4828cd05cd724438e83e5d
parent3f67bb3a69f7a1631e2e158f4d58095c88f6bbb2
(merge from 3.0)

I *hate* global variables...

OK, what was happening here was that we would invalidate global_sam_sid
when we set the sid into secrets.tdb, to force a re-read.

The problem was, we would do *two* writes into the TDB, and the second one
(in the PDC/BDC case) would be of a NULL pointer.  This caused smbd startups
to fail, on a blank TDB.

By using a local variable in the pdb_generate_sam_sid() code, we avoid this
particular trap.

I've also added better debugging for the case where this all matters, which
is particularly for LDAP, where it finds out a domain SID from the sambaDomain
object.

Andrew Bartlett
(This used to be commit f3ecdea56d9ea6d562ace84f0e653a641eb96f6e)
source3/passdb/machine_sid.c
source3/passdb/pdb_ldap.c
source3/utils/net.c
source3/utils/smbpasswd.c