diff options
Diffstat (limited to 'lib/param/loadparm.c')
-rw-r--r-- | lib/param/loadparm.c | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 613b41facf..811d802779 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. ***************************************************************************/ |