diff options
author | Andrew Bartlett <abartlet@samba.org> | 2002-07-07 03:34:24 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2002-07-07 03:34:24 +0000 |
commit | c20d057f8821d13d3de61b319de44db23773516b (patch) | |
tree | 18c736736017386256c45570710862e916192c7b | |
parent | 685a205445f5505c105ea421712c4b0468bbc127 (diff) | |
download | samba-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.c | 2 | ||||
-rw-r--r-- | source/rpcclient/cmd_lsarpc.c | 5 | ||||
-rw-r--r-- | source/smbd/uid.c | 6 |
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), |