diff options
author | Jeremy Allison <jra@samba.org> | 2004-02-23 20:12:15 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2004-02-23 20:12:15 +0000 |
commit | fab1291e284a40a9af95228e4a77be991cbf0fe0 (patch) | |
tree | e5f9c3b948e13730a9ef218f9e5a222edf16e837 /source3 | |
parent | 74112e7ccaff59bca963d07af3aa11520d5cb656 (diff) | |
download | samba-fab1291e284a40a9af95228e4a77be991cbf0fe0.tar.gz samba-fab1291e284a40a9af95228e4a77be991cbf0fe0.tar.bz2 samba-fab1291e284a40a9af95228e4a77be991cbf0fe0.zip |
Fix "unable to initialize" bug when smbd hasn't been run with
new system and a user is being added via pdbedit/smbpasswd.
Found at Connectathon setup.
Jeremy.
(This used to be commit 93580927dc255f205283b64c72fb95be990d2216)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/utils/pdbedit.c | 4 | ||||
-rw-r--r-- | source3/utils/smbpasswd.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/source3/utils/pdbedit.c b/source3/utils/pdbedit.c index 541dc33a08..3f7aba8366 100644 --- a/source3/utils/pdbedit.c +++ b/source3/utils/pdbedit.c @@ -398,6 +398,8 @@ static int new_user (struct pdb_context *in, const char *username, NTSTATUS nt_status; char *password1, *password2, *staticpass; + get_global_sam_sid(); + if (!NT_STATUS_IS_OK(nt_status = pdb_init_sam_new(&sam_pwent, username, 0))) { DEBUG(0, ("could not create account to add new user %s\n", username)); return -1; @@ -490,6 +492,8 @@ static int new_machine (struct pdb_context *in, const char *machine_in) fstring machineaccount; struct passwd *pwd = NULL; + get_global_sam_sid(); + fstrcpy(machinename, machine_in); machinename[15]= '\0'; diff --git a/source3/utils/smbpasswd.c b/source3/utils/smbpasswd.c index 6854842b20..ea8bf7a472 100644 --- a/source3/utils/smbpasswd.c +++ b/source3/utils/smbpasswd.c @@ -340,8 +340,7 @@ static int process_root(int local_flags) int result = 0; char *old_passwd = NULL; - if (local_flags & LOCAL_SET_LDAP_ADMIN_PW) - { + if (local_flags & LOCAL_SET_LDAP_ADMIN_PW) { printf("Setting stored password for \"%s\" in secrets.tdb\n", lp_ldap_admin_dn()); if (!store_ldap_admin_pw(ldap_secret)) @@ -349,6 +348,9 @@ static int process_root(int local_flags) goto done; } + /* Ensure we have a SAM sid. */ + get_global_sam_sid(); + /* * Ensure both add/delete user are not set * Ensure add/delete user and either remote machine or join domain are |