summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_lsa_nt.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-02-19 23:01:52 +0000
committerJeremy Allison <jra@samba.org>2004-02-19 23:01:52 +0000
commitbe533b6915f32934f9e8d34f299846f42038dd1d (patch)
tree8a89942c55132debfeb46e631be1c2947a9cb35a /source3/rpc_server/srv_lsa_nt.c
parent1568785f699d7616bd2028d4fa3269adf8663de1 (diff)
downloadsamba-be533b6915f32934f9e8d34f299846f42038dd1d.tar.gz
samba-be533b6915f32934f9e8d34f299846f42038dd1d.tar.bz2
samba-be533b6915f32934f9e8d34f299846f42038dd1d.zip
Fixup returns from lookupsids in the same way as lookupnames. Inspired by
Volkers patch. Jeremy. (This used to be commit aff6bacf0e461322e6e165cb7a6a42f4d976f52b)
Diffstat (limited to 'source3/rpc_server/srv_lsa_nt.c')
-rw-r--r--source3/rpc_server/srv_lsa_nt.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c
index ddf79ef564..aa933f9d0d 100644
--- a/source3/rpc_server/srv_lsa_nt.c
+++ b/source3/rpc_server/srv_lsa_nt.c
@@ -174,7 +174,7 @@ static void init_lsa_rid2s(DOM_R_REF *ref, DOM_RID2 *rid2,
(*mapped_count)++;
} else {
dom_idx = -1;
- rid = 0xffffffff;
+ rid = 0;
name_type = SID_NAME_UNKNOWN;
}
@@ -202,11 +202,6 @@ static void init_reply_lookup_names(LSA_R_LOOKUP_NAMES *r_l,
r_l->dom_rid = rid2;
r_l->mapped_count = mapped_count;
-
- if (mapped_count == 0)
- r_l->status = NT_STATUS_NONE_MAPPED;
- else
- r_l->status = NT_STATUS_OK;
}
/***************************************************************************
@@ -711,6 +706,12 @@ done:
/* set up the LSA Lookup RIDs response */
init_lsa_rid2s(ref, rids, num_entries, names, &mapped_count, p->endian);
+ if (mapped_count == 0)
+ r_u->status = NT_STATUS_NONE_MAPPED;
+ else if (mapped_count != num_entries)
+ r_u->status = STATUS_SOME_UNMAPPED;
+ else
+ r_u->status = NT_STATUS_OK;
init_reply_lookup_names(r_u, ref, num_entries, rids, mapped_count);
return r_u->status;