diff options
author | Michael Adam <obnox@samba.org> | 2013-01-29 13:24:20 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2013-02-05 17:36:34 +0100 |
commit | 321401e7d1c812d70aa44350de0386a12d9c25f4 (patch) | |
tree | cd20c85564e62980904cfeadde705fff2b295ecf /source3 | |
parent | 4198e800d809cd0b7be5a0214a22b9a31b906cc4 (diff) | |
download | samba-321401e7d1c812d70aa44350de0386a12d9c25f4.tar.gz samba-321401e7d1c812d70aa44350de0386a12d9c25f4.tar.bz2 samba-321401e7d1c812d70aa44350de0386a12d9c25f4.zip |
s3:param: introduce new lp_idmap_backend() that takes the domain
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Christian Ambach <ambi@samba.org>
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/proto.h | 1 | ||||
-rw-r--r-- | source3/param/loadparm.c | 27 |
2 files changed, 28 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 0b7549d104..4440d3c756 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1084,6 +1084,7 @@ int lp_idmap_cache_time(void); int lp_idmap_negative_cache_time(void); bool lp_idmap_range(const char *domain_name, uint32_t *low, uint32_t *high); bool lp_idmap_default_range(uint32_t *low, uint32_t *high); +const char *lp_idmap_backend(const char *domain_name); int lp_keepalive(void); bool lp_passdb_expand_explicit(void); char *lp_ldap_suffix(TALLOC_CTX *ctx); diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 961a002eb1..dab6d34040 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -2955,6 +2955,33 @@ bool lp_idmap_default_range(uint32_t *low, uint32_t *high) return lp_idmap_range("*", low, high); } +const char *lp_idmap_backend(const char *domain_name) +{ + char *config_option = NULL; + const char *backend = NULL; + + if ((domain_name == NULL) || (domain_name[0] == '\0')) { + domain_name = "*"; + } + + config_option = talloc_asprintf(talloc_tos(), "idmap config %s", + domain_name); + if (config_option == NULL) { + DEBUG(0, ("out of memory\n")); + return false; + } + + backend = lp_parm_const_string(-1, config_option, "backend", NULL); + if (backend == NULL) { + DEBUG(1, ("idmap backend not specified for domain '%s'\n", domain_name)); + goto done; + } + +done: + talloc_free(config_option); + return backend; +} + /*************************************************************************** Handle the DEBUG level list. ***************************************************************************/ |