diff options
author | Garming Sam <garming@catalyst.net.nz> | 2014-02-24 10:38:37 +1300 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-05-07 19:49:16 +0200 |
commit | db19d744799d44ced56d33553194b603691f6822 (patch) | |
tree | 5cdcbd448bc56bf84d2b69299b466b2f9b24247c /lib/param/loadparm.c | |
parent | 84ed1853ebe15f302e63148e7de7ffc5a5e7c888 (diff) | |
download | samba-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.c | 38 |
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. ***************************************************************************/ |