diff options
author | Jeremy Allison <jra@samba.org> | 2000-11-27 23:59:42 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2000-11-27 23:59:42 +0000 |
commit | 0f1c800f8542297b9c1a6a4dff20263e3b6d9d40 (patch) | |
tree | 426b829c4680972d57e606f81f2af0f84a1d86ca /source3/passdb | |
parent | 120f3afa899eac9a03643ce3e81264d245e09d3d (diff) | |
download | samba-0f1c800f8542297b9c1a6a4dff20263e3b6d9d40.tar.gz samba-0f1c800f8542297b9c1a6a4dff20263e3b6d9d40.tar.bz2 samba-0f1c800f8542297b9c1a6a4dff20263e3b6d9d40.zip |
passdb/secrets.c passdb/smbpassfile.c smbd/server.c : Actually *use* the code
written to transition from an old DOMAIN.MACHINE.MAC file to secrets.tdb.
printing/nt_printing.c: Fix case insensitive name lookups for driver files.
John - this should fix the Win9x/WinME problem correctly.
Jeremy.
(This used to be commit 8f3332a9acf413ac5d12053ca5c52733a4e946cc)
Diffstat (limited to 'source3/passdb')
-rw-r--r-- | source3/passdb/secrets.c | 15 | ||||
-rw-r--r-- | source3/passdb/smbpassfile.c | 34 |
2 files changed, 19 insertions, 30 deletions
diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c index 93347e737f..7700c0d28e 100644 --- a/source3/passdb/secrets.c +++ b/source3/passdb/secrets.c @@ -120,7 +120,7 @@ BOOL secrets_fetch_domain_sid(char *domain, DOM_SID *sid) /************************************************************************ form a key for fetching a domain trust password ************************************************************************/ -static char *trust_keystr(char *domain) +char *trust_keystr(char *domain) { static fstring keystr; slprintf(keystr,sizeof(keystr),"%s/%s", SECRETS_MACHINE_ACCT_PASS, domain); @@ -137,8 +137,8 @@ BOOL secrets_fetch_trust_account_password(char *domain, uint8 ret_pwd[16], struct machine_acct_pass *pass; size_t size; - if (!(pass = secrets_fetch(trust_keystr(domain), &size)) || - size != sizeof(*pass)) return False; + if (!(pass = secrets_fetch(trust_keystr(domain), &size)) || size != sizeof(*pass)) + return False; if (pass_last_set_time) *pass_last_set_time = pass->mod_time; memcpy(ret_pwd, pass->hash, 16); @@ -159,3 +159,12 @@ BOOL secrets_store_trust_account_password(char *domain, uint8 new_pwd[16]) return secrets_store(trust_keystr(domain), (void *)&pass, sizeof(pass)); } + +/************************************************************************ + Routine to delete the trust account password file for a domain. +************************************************************************/ + +BOOL trust_password_delete(char *domain) +{ + return secrets_delete(trust_keystr(domain)); +} diff --git a/source3/passdb/smbpassfile.c b/source3/passdb/smbpassfile.c index 72dcbea122..f995d8fd4b 100644 --- a/source3/passdb/smbpassfile.c +++ b/source3/passdb/smbpassfile.c @@ -274,46 +274,26 @@ static BOOL get_trust_account_password_from_file( unsigned char *ret_pwd, time_t } /************************************************************************ -form a key for fetching a domain trust password -************************************************************************/ - -static char *trust_keystr(char *domain) -{ - static fstring keystr; - slprintf(keystr,sizeof(keystr),"%s/%s", SECRETS_MACHINE_ACCT_PASS, domain); - return keystr; -} - -/************************************************************************ Migrate an old DOMAIN.MACINE.mac password file to the tdb secrets db. ************************************************************************/ -static void migrate_from_old_password_file(char *domain) +BOOL migrate_from_old_password_file(char *domain) { struct machine_acct_pass pass; if (!trust_password_file_lock(domain, global_myname)) - return; + return True; if (!get_trust_account_password_from_file( pass.hash, &pass.mod_time)) { trust_password_file_unlock(); - return; + return False; } - trust_password_file_delete(domain, global_myname); - - secrets_store(trust_keystr(domain), (void *)&pass, sizeof(pass)); + if (!secrets_store(trust_keystr(domain), (void *)&pass, sizeof(pass))) + return False; + trust_password_file_delete(domain, global_myname); trust_password_file_unlock(); - return; -} -/************************************************************************ - Routine to delete the trust account password file for a domain. -************************************************************************/ - -BOOL trust_password_delete(char *domain) -{ - return secrets_delete(trust_keystr(domain)); + return True; } - |