summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_dual_srv.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-09-06 14:59:41 +0200
committerVolker Lendecke <vl@samba.org>2009-09-07 01:28:32 +0200
commit4ad330d5226901aed18656c49c70a3fc7a62826c (patch)
tree25acbaf40be3cbde44ed2ff27d99683f53888f0c /source3/winbindd/winbindd_dual_srv.c
parent7159060450e4d5cd3d71e6a5c7837dcd648a6220 (diff)
downloadsamba-4ad330d5226901aed18656c49c70a3fc7a62826c.tar.gz
samba-4ad330d5226901aed18656c49c70a3fc7a62826c.tar.bz2
samba-4ad330d5226901aed18656c49c70a3fc7a62826c.zip
s3:winbind: Convert WINBINDD_REMOVE_MAPPING to the new API
Diffstat (limited to 'source3/winbindd/winbindd_dual_srv.c')
-rw-r--r--source3/winbindd/winbindd_dual_srv.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c
index 2a6f7ce99d..222fd835af 100644
--- a/source3/winbindd/winbindd_dual_srv.c
+++ b/source3/winbindd/winbindd_dual_srv.c
@@ -469,3 +469,25 @@ NTSTATUS _wbint_SetMapping(pipes_struct *p, struct wbint_SetMapping *r)
return idmap_set_mapping(&map);
}
+
+NTSTATUS _wbint_RemoveMapping(pipes_struct *p, struct wbint_RemoveMapping *r)
+{
+ struct id_map map;
+
+ map.sid = r->in.sid;
+ map.xid.id = r->in.id;
+ map.status = ID_MAPPED;
+
+ switch (r->in.type) {
+ case WBINT_ID_TYPE_UID:
+ map.xid.type = ID_TYPE_UID;
+ break;
+ case WBINT_ID_TYPE_GID:
+ map.xid.type = ID_TYPE_GID;
+ break;
+ default:
+ return NT_STATUS_INVALID_PARAMETER;
+ }
+
+ return idmap_remove_mapping(&map);
+}