diff options
author | Andrew Bartlett <abartlet@samba.org> | 2004-01-02 05:32:07 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2004-01-02 05:32:07 +0000 |
commit | b4593e92ff75f006982d7f49337a0a94f44d4218 (patch) | |
tree | 98da29e0dd9f2da30173d3f61a54637c2d892ad2 /source3/utils | |
parent | 9f662094af4480b45db104a156374e7213aa5d92 (diff) | |
download | samba-b4593e92ff75f006982d7f49337a0a94f44d4218.tar.gz samba-b4593e92ff75f006982d7f49337a0a94f44d4218.tar.bz2 samba-b4593e92ff75f006982d7f49337a0a94f44d4218.zip |
JHT came up with a nasty (broken) torture case in preparing examples for
his book.
This prompted me to look at the code that reads the unix group list. This
code did a lot of name -> uid -> name -> sid translations, which caused
problems. Instead, we now do just name->sid
I also cleaned up some interfaces, and client tools.
Andrew Bartlett
(This used to be commit f9e59f8bc06fae7e5c8cb0980947f78942dc25c0)
Diffstat (limited to 'source3/utils')
-rw-r--r-- | source3/utils/net_rpc.c | 5 | ||||
-rw-r--r-- | source3/utils/net_rpc_samsync.c | 4 |
2 files changed, 4 insertions, 5 deletions
diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c index 04a0330774..b28365274c 100644 --- a/source3/utils/net_rpc.c +++ b/source3/utils/net_rpc.c @@ -1158,7 +1158,7 @@ rpc_group_members_internals(const DOM_SID *domain_sid, struct cli_state *cli, if (!NT_STATUS_IS_OK(result)) goto done; - do { + while (num_members > 0) { int this_time = 512; if (num_members < this_time) @@ -1177,8 +1177,7 @@ rpc_group_members_internals(const DOM_SID *domain_sid, struct cli_state *cli, num_members -= this_time; group_rids += 512; - - } while (num_members > 0); + } done: return result; diff --git a/source3/utils/net_rpc_samsync.c b/source3/utils/net_rpc_samsync.c index d1c8300a49..e97a362acc 100644 --- a/source3/utils/net_rpc_samsync.c +++ b/source3/utils/net_rpc_samsync.c @@ -783,13 +783,13 @@ fetch_alias_mem(uint32 rid, SAM_ALIAS_MEM_INFO *delta, DOM_SID dom_sid) if (sid_equal(&dom_sid, &global_sid_Builtin)) { sid_type = SID_NAME_WKN_GRP; - if (!get_builtin_group_from_sid(group_sid, &map, False)) { + if (!get_builtin_group_from_sid(&group_sid, &map, False)) { DEBUG(0, ("Could not find builtin group %s\n", sid_string_static(&group_sid))); return NT_STATUS_NO_SUCH_GROUP; } } else { sid_type = SID_NAME_ALIAS; - if (!get_local_group_from_sid(group_sid, &map, False)) { + if (!get_local_group_from_sid(&group_sid, &map, False)) { DEBUG(0, ("Could not find local group %s\n", sid_string_static(&group_sid))); return NT_STATUS_NO_SUCH_GROUP; } |