diff options
author | Volker Lendecke <vl@samba.org> | 2009-09-06 14:47:06 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-09-07 01:28:32 +0200 |
commit | 7159060450e4d5cd3d71e6a5c7837dcd648a6220 (patch) | |
tree | 84b5b2c3514d472cc32555682864bf24327cdf70 /source3/winbindd/winbindd_idmap.c | |
parent | d9b7fd59b026fbad11263e8a018d654325ede0e4 (diff) | |
download | samba-7159060450e4d5cd3d71e6a5c7837dcd648a6220.tar.gz samba-7159060450e4d5cd3d71e6a5c7837dcd648a6220.tar.bz2 samba-7159060450e4d5cd3d71e6a5c7837dcd648a6220.zip |
s3:winbind: Convert WINBINDD_SET_MAPPING to the new API
Diffstat (limited to 'source3/winbindd/winbindd_idmap.c')
-rw-r--r-- | source3/winbindd/winbindd_idmap.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/source3/winbindd/winbindd_idmap.c b/source3/winbindd/winbindd_idmap.c index b1a06efa1e..a59907243f 100644 --- a/source3/winbindd/winbindd_idmap.c +++ b/source3/winbindd/winbindd_idmap.c @@ -45,63 +45,6 @@ struct winbindd_child *idmap_child(void) return &static_idmap_child; } -static void winbindd_set_mapping_recv(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data) -{ - void (*cont)(void *priv, bool succ) = (void (*)(void *, bool))c; - - if (!success) { - DEBUG(5, ("Could not trigger idmap_set_mapping\n")); - cont(private_data, False); - return; - } - - if (response->result != WINBINDD_OK) { - DEBUG(5, ("idmap_set_mapping returned an error\n")); - cont(private_data, False); - return; - } - - cont(private_data, True); -} - -void winbindd_set_mapping_async(TALLOC_CTX *mem_ctx, const struct id_map *map, - void (*cont)(void *private_data, bool success), - void *private_data) -{ - struct winbindd_request request; - ZERO_STRUCT(request); - request.cmd = WINBINDD_DUAL_SET_MAPPING; - request.data.dual_idmapset.id = map->xid.id; - request.data.dual_idmapset.type = map->xid.type; - sid_to_fstring(request.data.dual_idmapset.sid, map->sid); - - do_async(mem_ctx, idmap_child(), &request, winbindd_set_mapping_recv, - (void *)cont, private_data); -} - -enum winbindd_result winbindd_dual_set_mapping(struct winbindd_domain *domain, - struct winbindd_cli_state *state) -{ - struct id_map map; - DOM_SID sid; - NTSTATUS result; - - DEBUG(3, ("[%5lu]: dual_idmapset\n", (unsigned long)state->pid)); - - if (!string_to_sid(&sid, state->request->data.dual_idmapset.sid)) - return WINBINDD_ERROR; - - map.sid = &sid; - map.xid.id = state->request->data.dual_idmapset.id; - map.xid.type = state->request->data.dual_idmapset.type; - map.status = ID_MAPPED; - - result = idmap_set_mapping(&map); - return NT_STATUS_IS_OK(result) ? WINBINDD_OK : WINBINDD_ERROR; -} - static void winbindd_remove_mapping_recv(TALLOC_CTX *mem_ctx, bool success, struct winbindd_response *response, void *c, void *private_data) @@ -536,10 +479,6 @@ static const struct winbindd_child_dispatch_table idmap_dispatch_table[] = { .struct_cmd = WINBINDD_DUAL_GID2SID, .struct_fn = winbindd_dual_gid2sid, },{ - .name = "DUAL_SET_MAPPING", - .struct_cmd = WINBINDD_DUAL_SET_MAPPING, - .struct_fn = winbindd_dual_set_mapping, - },{ .name = "DUAL_REMOVE_MAPPING", .struct_cmd = WINBINDD_DUAL_REMOVE_MAPPING, .struct_fn = winbindd_dual_remove_mapping, |