1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-01 04:58:35 +03:00

idmap_hash: we don't need to call idmap_hash_initialize() over an over again

It's always the first function that's called from idmap_methods.

This also demonstrates that we currently always return NT_STATUS_OK,
even if we haven't mapped all map entries.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15319

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit 0da13ab3ad7278eafdcd988f39e891242eb46d37)
This commit is contained in:
Stefan Metzmacher 2019-03-21 10:54:49 +01:00 committed by Jule Anger
parent bbd1f56b78
commit 678c66f132

View File

@ -131,14 +131,6 @@ static NTSTATUS idmap_hash_initialize(struct idmap_domain *dom)
return NT_STATUS_INVALID_PARAMETER;
}
/* If the domain SID hash table has been initialized, assume
that we completed this function previously */
if (dom->private_data != NULL) {
nt_status = NT_STATUS_OK;
goto done;
}
if (!wcache_tdc_fetch_list(&dom_list, &num_domains)) {
nt_status = NT_STATUS_TRUSTED_DOMAIN_FAILURE;
BAIL_ON_NTSTATUS_ERROR(nt_status);
@ -196,7 +188,6 @@ static NTSTATUS unixids_to_sids(struct idmap_domain *dom,
{
struct sid_hash_table *hashed_domains = talloc_get_type_abort(
dom->private_data, struct sid_hash_table);
NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL;
int i;
/* initialize the status to avoid suprise */
@ -204,9 +195,6 @@ static NTSTATUS unixids_to_sids(struct idmap_domain *dom,
ids[i]->status = ID_UNKNOWN;
}
nt_status = idmap_hash_initialize(dom);
BAIL_ON_NTSTATUS_ERROR(nt_status);
for (i=0; ids[i]; i++) {
uint32_t h_domain, h_rid;
@ -225,8 +213,7 @@ static NTSTATUS unixids_to_sids(struct idmap_domain *dom,
ids[i]->status = ID_MAPPED;
}
done:
return nt_status;
return NT_STATUS_OK;
}
/*********************************************************************
@ -235,7 +222,6 @@ done:
static NTSTATUS sids_to_unixids(struct idmap_domain *dom,
struct id_map **ids)
{
NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL;
int i;
/* initialize the status to avoid suprise */
@ -243,9 +229,6 @@ static NTSTATUS sids_to_unixids(struct idmap_domain *dom,
ids[i]->status = ID_UNKNOWN;
}
nt_status = idmap_hash_initialize(dom);
BAIL_ON_NTSTATUS_ERROR(nt_status);
for (i=0; ids[i]; i++) {
struct dom_sid sid;
uint32_t rid;
@ -302,8 +285,7 @@ static NTSTATUS sids_to_unixids(struct idmap_domain *dom,
}
}
done:
return nt_status;
return NT_STATUS_OK;
}
/*********************************************************************