diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-08-14 13:28:40 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-08-18 09:30:08 +1000 |
commit | 60086dcf9a58525d400b39e9464847d73cbce6d2 (patch) | |
tree | 587ca894af7c150b78ed66d2aaf3ffe13335e299 /source4/ntvfs/unixuid | |
parent | e229f68b3e8f146d5dfa4ab57f126cc7ea5c7214 (diff) | |
download | samba-60086dcf9a58525d400b39e9464847d73cbce6d2.tar.gz samba-60086dcf9a58525d400b39e9464847d73cbce6d2.tar.xz samba-60086dcf9a58525d400b39e9464847d73cbce6d2.zip |
s4:ntvfs Don't treat the user SID and primary group SID special for idmap
This simply askes IDMAP about all the user SIDs, rather than the user
and group sid, followed by all but the first two sids from the token.
Andrew Bartlett
Diffstat (limited to 'source4/ntvfs/unixuid')
-rw-r--r-- | source4/ntvfs/unixuid/vfs_unixuid.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/source4/ntvfs/unixuid/vfs_unixuid.c b/source4/ntvfs/unixuid/vfs_unixuid.c index c80c52cc7d7..d36ae157453 100644 --- a/source4/ntvfs/unixuid/vfs_unixuid.c +++ b/source4/ntvfs/unixuid/vfs_unixuid.c @@ -184,22 +184,14 @@ static NTSTATUS nt_token_to_unix_security(struct ntvfs_module_context *ntvfs, ids = talloc_array(req, struct id_map, token->num_sids); NT_STATUS_HAVE_NO_MEMORY(ids); - ZERO_STRUCT(ids[0].xid); - ids[0].sid = token->user_sid; - ids[0].status = ID_UNKNOWN; - - ZERO_STRUCT(ids[1].xid); - ids[1].sid = token->group_sid; - ids[1].status = ID_UNKNOWN; - (*sec)->ngroups = token->num_sids - 2; (*sec)->groups = talloc_array(*sec, gid_t, (*sec)->ngroups); NT_STATUS_HAVE_NO_MEMORY((*sec)->groups); - for (i=0;i<(*sec)->ngroups;i++) { - ZERO_STRUCT(ids[i+2].xid); - ids[i+2].sid = token->sids[i+2]; - ids[i+2].status = ID_UNKNOWN; + for (i=0;i<token->num_sids;i++) { + ZERO_STRUCT(ids[i].xid); + ids[i].sid = token->sids[i]; + ids[i].status = ID_UNKNOWN; } ctx = wbc_sids_to_xids_send(priv->wbc_ctx, ids, token->num_sids, ids); |