summaryrefslogtreecommitdiffstats
path: root/lib/param/loadparm.c
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2014-02-24 10:38:37 +1300
committerJeremy Allison <jra@samba.org>2014-05-07 19:49:16 +0200
commitdb19d744799d44ced56d33553194b603691f6822 (patch)
tree5cdcbd448bc56bf84d2b69299b466b2f9b24247c /lib/param/loadparm.c
parent84ed1853ebe15f302e63148e7de7ffc5a5e7c888 (diff)
downloadsamba-db19d744799d44ced56d33553194b603691f6822.tar.gz
samba-db19d744799d44ced56d33553194b603691f6822.tar.xz
samba-db19d744799d44ced56d33553194b603691f6822.zip
param: use a single special handler for idmap parameters
Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'lib/param/loadparm.c')
-rw-r--r--lib/param/loadparm.c38
1 files changed, 31 insertions, 7 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 613b41facf4..811d802779d 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -77,13 +77,6 @@ static bool defaults_saved = false;
#define NUMPARAMETERS (sizeof(parm_table) / sizeof(struct parm_struct))
-/* these are parameter handlers which are not needed in the
- * non-source3 code
- */
-#define handle_idmap_backend NULL
-#define handle_idmap_uid NULL
-#define handle_idmap_gid NULL
-
#ifndef N_
#define N_(x) x
#endif
@@ -1308,6 +1301,37 @@ bool handle_netbios_aliases(struct loadparm_context *lp_ctx, int snum, const cha
return true;
}
+/*
+ * idmap related parameters
+ */
+
+bool handle_idmap_backend(struct loadparm_context *lp_ctx, int snum, const char *pszParmValue, char **ptr)
+{
+ if (lp_ctx->s3_fns) {
+ return lp_ctx->s3_fns->lp_do_parameter(snum, "idmap config * : backend", pszParmValue);
+ }
+
+ return lpcfg_string_set(lp_ctx, ptr, pszParmValue);
+}
+
+bool handle_idmap_uid(struct loadparm_context *lp_ctx, int snum, const char *pszParmValue, char **ptr)
+{
+ if (lp_ctx->s3_fns) {
+ return lp_ctx->s3_fns->lp_do_parameter(snum, "idmap config * : range", pszParmValue);
+ }
+
+ return lpcfg_string_set(lp_ctx, ptr, pszParmValue);
+}
+
+bool handle_idmap_gid(struct loadparm_context *lp_ctx, int snum, const char *pszParmValue, char **ptr)
+{
+ if (lp_ctx->s3_fns) {
+ return lp_ctx->s3_fns->lp_do_parameter(snum, "idmap config * : range", pszParmValue);
+ }
+
+ return lpcfg_string_set(lp_ctx, ptr, pszParmValue);
+}
+
/***************************************************************************
Initialise a copymap.
***************************************************************************/