From 320f7cb4ac66bbb9fbfdd1f8b330264127c3f730 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 25 Jan 2002 11:44:15 +0000 Subject: 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) --- source3/passdb/pdb_tdb.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'source3/passdb/pdb_tdb.c') 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; -- cgit