diff options
-rw-r--r-- | source3/winbindd/idmap.c | 15 | ||||
-rw-r--r-- | source3/winbindd/winbindd_proto.h | 1 |
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), |