summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2017-01-08 11:52:56 +0000
committerMichael Adam <obnox@samba.org>2017-03-20 19:36:22 +0100
commite190eaa30fcf777ba11a65f11be88390ead7ce0b (patch)
tree03597d35494d7ce8bb9a8df6912d6e52868b899b
parent0b05785de6b73a1eb29e21944a7ee6dc3a5ce082 (diff)
downloadsamba-e190eaa30fcf777ba11a65f11be88390ead7ce0b.tar.gz
winbind: Add idmap_config_int
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 602d3cd1fc7..dda8d0a4ba1 100644
--- a/source3/winbindd/idmap.c
+++ b/source3/winbindd/idmap.c
@@ -208,6 +208,21 @@ bool idmap_config_bool(const char *domname, const char *option, bool def)
}
}
+int idmap_config_int(const char *domname, const char *option, int 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_int(-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 9afa780486c..b8d8baa4441 100644
--- a/source3/winbindd/winbindd_proto.h
+++ b/source3/winbindd/winbindd_proto.h
@@ -381,6 +381,7 @@ struct idmap_domain *idmap_find_domain_with_sid(const char *domname,
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);
+int idmap_config_int(const char *domname, const char *option, int def);
bool domain_has_idmap_config(const char *domname);
bool lp_scan_idmap_domains(bool (*fn)(const char *domname,
void *private_data),