diff options
author | Kai Blin <kai@samba.org> | 2008-02-18 23:47:30 +0100 |
---|---|---|
committer | Kai Blin <kai@samba.org> | 2008-02-21 11:22:15 +0100 |
commit | 99b311449f494c0318127dc9140c4a22bb932884 (patch) | |
tree | e0d222b9018eff5953e085c0d12127c76dd498e6 /source4/winbind/wb_sid2gid.c | |
parent | 705abe2cb3bc67f4e225ed38f32f77a2b433abc8 (diff) | |
download | samba-99b311449f494c0318127dc9140c4a22bb932884.tar.gz samba-99b311449f494c0318127dc9140c4a22bb932884.tar.bz2 samba-99b311449f494c0318127dc9140c4a22bb932884.zip |
idmap: Handle SID->gid
(This used to be commit 78d22a28eca4dd89f629dbe75287e9ac3940606b)
Diffstat (limited to 'source4/winbind/wb_sid2gid.c')
-rw-r--r-- | source4/winbind/wb_sid2gid.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source4/winbind/wb_sid2gid.c b/source4/winbind/wb_sid2gid.c index 8cb5608b2f..12129226be 100644 --- a/source4/winbind/wb_sid2gid.c +++ b/source4/winbind/wb_sid2gid.c @@ -25,6 +25,7 @@ #include "smbd/service_task.h" #include "winbind/wb_helper.h" #include "libcli/security/proto.h" +#include "winbind/idmap.h" struct sid2gid_state { struct composite_context *ctx; @@ -50,9 +51,13 @@ struct composite_context *wb_sid2gid_send(TALLOC_CTX *mem_ctx, result->private_data = state; state->service = service; - /*FIXME: This is a stub so far. */ - state->ctx->status = dom_sid_split_rid(result, sid, NULL, &state->gid); - if(!composite_is_ok(state->ctx)) return result; + state->ctx->status = idmap_sid_to_gid(service->idmap_ctx, state, sid, + &state->gid); + if (NT_STATUS_EQUAL(state->ctx->status, NT_STATUS_RETRY)) { + state->ctx->status = idmap_sid_to_gid(service->idmap_ctx, state, + sid, &state->gid); + } + if (!composite_is_ok(state->ctx)) return result; composite_done(state->ctx); return result; |