summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2002-07-07 03:34:24 +0000
committerAndrew Bartlett <abartlet@samba.org>2002-07-07 03:34:24 +0000
commitc20d057f8821d13d3de61b319de44db23773516b (patch)
tree18c736736017386256c45570710862e916192c7b
parent685a205445f5505c105ea421712c4b0468bbc127 (diff)
downloadsamba-c20d057f8821d13d3de61b319de44db23773516b.tar.gz
samba-c20d057f8821d13d3de61b319de44db23773516b.tar.xz
samba-c20d057f8821d13d3de61b319de44db23773516b.zip
Updates to the 'name -> sid' code:
Correct the 'none mapped' behaviour, (so that it matches Win2k) and add a function to make the SID types appear as text strings in logs/rpcclient. Also, remove a silly case that would cause 'failure' to be 'success'. (Might look at this a bit more in future). Andrew Bartlett
-rw-r--r--source/rpc_server/srv_lsa_nt.c2
-rw-r--r--source/rpcclient/cmd_lsarpc.c5
-rw-r--r--source/smbd/uid.c6
3 files changed, 6 insertions, 7 deletions
diff --git a/source/rpc_server/srv_lsa_nt.c b/source/rpc_server/srv_lsa_nt.c
index f2f91d2d9a0..d072061a5f6 100644
--- a/source/rpc_server/srv_lsa_nt.c
+++ b/source/rpc_server/srv_lsa_nt.c
@@ -167,7 +167,7 @@ static void init_lsa_rid2s(DOM_R_REF *ref, DOM_RID2 *rid2,
DEBUG(5, ("init_lsa_rid2s: %s\n", status ? "found" :
"not found"));
- if (status) {
+ if (status && name_type != SID_NAME_UNKNOWN) {
sid_split_rid(&sid, &rid);
dom_idx = init_dom_ref(ref, dom_name, &sid);
(*mapped_count)++;
diff --git a/source/rpcclient/cmd_lsarpc.c b/source/rpcclient/cmd_lsarpc.c
index 511f5643c73..067325c06e6 100644
--- a/source/rpcclient/cmd_lsarpc.c
+++ b/source/rpcclient/cmd_lsarpc.c
@@ -106,10 +106,9 @@ static NTSTATUS cmd_lsa_lookup_names(struct cli_state *cli,
for (i = 0; i < (argc - 1); i++) {
fstring sid_str;
-
sid_to_string(sid_str, &sids[i]);
- printf("%s %s (%d)\n", argv[i + 1], sid_str,
- types[i]);
+ printf("%s %s (%s: %d)\n", argv[i + 1], sid_str,
+ sid_type_lookup(types[i]), types[i]);
}
done:
diff --git a/source/smbd/uid.c b/source/smbd/uid.c
index cb4a975881b..a18f62c9cc8 100644
--- a/source/smbd/uid.c
+++ b/source/smbd/uid.c
@@ -465,11 +465,11 @@ BOOL lookup_name(const char *domain, const char *name, DOM_SID *psid, enum SID_N
if (ret) {
DEBUG(10,
- ("lookup_name: (local) [%s]\\[%s] -> SID %s (type %u)\n",
+ ("lookup_name: (local) [%s]\\[%s] -> SID %s (type %s: %u)\n",
domain, name, sid_to_string(sid,psid),
- (unsigned int)*name_type ));
+ sid_type_lookup(*name_type), (unsigned int)*name_type));
return True;
- } else if (winbind_lookup_name(domain, name, psid, name_type) || (*name_type != SID_NAME_USER) ) {
+ } else if (winbind_lookup_name(domain, name, psid, name_type)) {
DEBUG(10,("lookup_name (winbindd): [%s]\\[%s] -> SID %s (type %u)\n",
domain, name, sid_to_string(sid, psid),