summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_idmap.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2007-10-08 12:25:57 +0000
committerStefan Metzmacher <metze@sernet.de>2007-10-22 08:46:11 +0200
commit3d9a578064d46e595a51af5896a51db47bd2da4e (patch)
tree5d6a43d76c899d203c83a7f42df12ec0f468c551 /source3/winbindd/winbindd_idmap.c
parent6ded271f7719483faee19aba502d787a279c1689 (diff)
downloadsamba-3d9a578064d46e595a51af5896a51db47bd2da4e.tar.gz
samba-3d9a578064d46e595a51af5896a51db47bd2da4e.tar.bz2
samba-3d9a578064d46e595a51af5896a51db47bd2da4e.zip
r25571: split up child_dispatch_table into domain, idmap and locator tables
metze (cherry picked from commit abbb36a37c1dba2218a6c7ec31739eba5f250127) (This used to be commit 5af1b45ed31043f952ec141d0f5f2973aec69d1a)
Diffstat (limited to 'source3/winbindd/winbindd_idmap.c')
-rw-r--r--source3/winbindd/winbindd_idmap.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/source3/winbindd/winbindd_idmap.c b/source3/winbindd/winbindd_idmap.c
index 1d6beb3778..437af41872 100644
--- a/source3/winbindd/winbindd_idmap.c
+++ b/source3/winbindd/winbindd_idmap.c
@@ -37,11 +37,16 @@
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
+static const struct winbindd_child_dispatch_table idmap_dispatch_table[];
+
static struct winbindd_child static_idmap_child;
void init_idmap_child(void)
{
- setup_domain_child(NULL, &static_idmap_child, "idmap");
+ setup_domain_child(NULL,
+ &static_idmap_child,
+ idmap_dispatch_table,
+ "idmap");
}
struct winbindd_child *idmap_child(void)
@@ -788,3 +793,26 @@ enum winbindd_result winbindd_dual_dump_maps(struct winbindd_domain *domain,
return WINBINDD_OK;
}
+
+static const struct winbindd_child_dispatch_table idmap_dispatch_table[] = {
+
+ { WINBINDD_DUAL_SID2UID, winbindd_dual_sid2uid, "DUAL_SID2UID" },
+ { WINBINDD_DUAL_SID2GID, winbindd_dual_sid2gid, "DUAL_SID2GID" },
+#if 0 /* DISABLED until we fix the interface in Samba 3.0.26 --jerry */
+ { WINBINDD_DUAL_SIDS2XIDS, winbindd_dual_sids2xids, "DUAL_SIDS2XIDS" },
+#endif /* end DISABLED */
+ { WINBINDD_DUAL_UID2SID, winbindd_dual_uid2sid, "DUAL_UID2SID" },
+ { WINBINDD_DUAL_GID2SID, winbindd_dual_gid2sid, "DUAL_GID2SID" },
+ { WINBINDD_DUAL_UID2NAME, winbindd_dual_uid2name, "DUAL_UID2NAME" },
+ { WINBINDD_DUAL_NAME2UID, winbindd_dual_name2uid, "DUAL_NAME2UID" },
+ { WINBINDD_DUAL_GID2NAME, winbindd_dual_gid2name, "DUAL_GID2NAME" },
+ { WINBINDD_DUAL_NAME2GID, winbindd_dual_name2gid, "DUAL_NAME2GID" },
+ { WINBINDD_DUAL_SET_MAPPING, winbindd_dual_set_mapping, "DUAL_SET_MAPPING" },
+ { WINBINDD_DUAL_SET_HWM, winbindd_dual_set_hwm, "DUAL_SET_HWMS" },
+ { WINBINDD_DUAL_DUMP_MAPS, winbindd_dual_dump_maps, "DUAL_DUMP_MAPS" },
+ { WINBINDD_ALLOCATE_UID, winbindd_dual_allocate_uid, "ALLOCATE_UID" },
+ { WINBINDD_ALLOCATE_GID, winbindd_dual_allocate_gid, "ALLOCATE_GID" },
+ /* End of list */
+
+ { WINBINDD_NUM_CMDS, NULL, "NONE" }
+};