summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2017-01-07 15:10:05 +0000
committerMichael Adam <obnox@samba.org>2017-03-20 19:36:21 +0100
commit66f5e7dbdadf1ba9c619739aa772668e70bb1c27 (patch)
tree1c29dd9b5b74fe403f04aed3176880807f22dbac
parent644a997144fa890857a012355cbd9d406ccbfd3d (diff)
downloadsamba-66f5e7dbdadf1ba9c619739aa772668e70bb1c27.tar.gz
winbind: Add idmap_config_bool()
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
-rw-r--r--source3/winbindd/idmap.c15
-rw-r--r--source3/winbindd/winbindd_proto.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/source3/winbindd/idmap.c b/source3/winbindd/idmap.c
index d5471e9cdba..be4ee643654 100644
--- a/source3/winbindd/idmap.c
+++ b/source3/winbindd/idmap.c
@@ -193,6 +193,21 @@ const char *idmap_config_const_string(const char *domname, const char *option,
}
}
+bool idmap_config_bool(const char *domname, const char *option, bool def)
+{
+ int len = snprintf(NULL, 0, "idmap config %s", domname);
+
+ if (len == -1) {
+ return def;
+ }
+ {
+ char config_option[len+1];
+ snprintf(config_option, sizeof(config_option),
+ "idmap config %s", domname);
+ return lp_parm_bool(-1, config_option, option, def);
+ }
+}
+
bool domain_has_idmap_config(const char *domname)
{
int i;
diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h
index b33c24ff39a..9afa780486c 100644
--- a/source3/winbindd/winbindd_proto.h
+++ b/source3/winbindd/winbindd_proto.h
@@ -380,6 +380,7 @@ struct idmap_domain *idmap_find_domain_with_sid(const char *domname,
const struct dom_sid *sid);
const char *idmap_config_const_string(const char *domname, const char *option,
const char *def);
+bool idmap_config_bool(const char *domname, const char *option, bool def);
bool domain_has_idmap_config(const char *domname);
bool lp_scan_idmap_domains(bool (*fn)(const char *domname,
void *private_data),