diff options
author | Andrew Bartlett <abartlet@samba.org> | 2002-01-25 11:44:15 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2002-01-25 11:44:15 +0000 |
commit | 320f7cb4ac66bbb9fbfdd1f8b330264127c3f730 (patch) | |
tree | b30ecc57246bec60b88ef26d5ed2dcf703b7676d /source3/passdb/pdb_tdb.c | |
parent | 30802965d21b27a2100dfdf8fdc8776eb176eb2a (diff) | |
download | samba-320f7cb4ac66bbb9fbfdd1f8b330264127c3f730.tar.gz samba-320f7cb4ac66bbb9fbfdd1f8b330264127c3f730.tar.bz2 samba-320f7cb4ac66bbb9fbfdd1f8b330264127c3f730.zip |
Passdb changes:
Modules now name themselves, which should allow for sane behaviour when we get
an 'extern' passdb module (which in turn loads a .so).
Fix up tdbsam for non-unix-accounts. Not sure if this fixes idra's bug, but
its a start...
Andrew Bartlett
(This used to be commit 7d576d89d7b4a7b95e87a844568d7d7cd89f0542)
Diffstat (limited to 'source3/passdb/pdb_tdb.c')
-rw-r--r-- | source3/passdb/pdb_tdb.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source3/passdb/pdb_tdb.c b/source3/passdb/pdb_tdb.c index b1ba01fe98..5fdf348e15 100644 --- a/source3/passdb/pdb_tdb.c +++ b/source3/passdb/pdb_tdb.c @@ -131,8 +131,8 @@ static BOOL init_sam_from_buffer (struct tdbsam_privates *tdb_state, } if ((tdb_state->permit_non_unix_accounts) - && (pdb_get_user_rid(sampass) >= tdb_state->low_nua_rid) - && (pdb_get_user_rid(sampass) <= tdb_state->high_nua_rid)) { + && (user_rid >= tdb_state->low_nua_rid) + && (user_rid <= tdb_state->high_nua_rid)) { } else { struct passwd *pw; @@ -142,7 +142,7 @@ static BOOL init_sam_from_buffer (struct tdbsam_privates *tdb_state, * to try case permutations */ if (!username || !(pw=getpwnam_alloc(username))) { - DEBUG(0,("tdb_sam: getpwnam_alloc(%s) return NULL. User does not exist!\n", + DEBUG(0,("tdbsam: getpwnam_alloc(%s) return NULL. User does not exist!\n", username?username:"NULL")); ret = False; goto done; @@ -842,6 +842,8 @@ NTSTATUS pdb_init_tdbsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, con return nt_status; } + (*pdb_method)->name = "tdbsam"; + (*pdb_method)->setsampwent = tdbsam_setsampwent; (*pdb_method)->endsampwent = tdbsam_endsampwent; (*pdb_method)->getsampwent = tdbsam_getsampwent; @@ -851,8 +853,6 @@ NTSTATUS pdb_init_tdbsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, con (*pdb_method)->update_sam_account = tdbsam_update_sam_account; (*pdb_method)->delete_sam_account = tdbsam_delete_sam_account; - /* TODO: Setup private data and free */ - tdb_state = talloc_zero(pdb_context->mem_ctx, sizeof(struct tdbsam_privates)); if (!tdb_state) { @@ -886,6 +886,8 @@ NTSTATUS pdb_init_tdbsam_nua(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, return nt_status; } + (*pdb_method)->name = "tdbsam_nua"; + tdb_state = (*pdb_method)->private_data; tdb_state->permit_non_unix_accounts = True; |