winbind: Add idmap_config_const_string
authorVolker Lendecke <vl@samba.org>
Sat, 7 Jan 2017 14:53:09 +0000 (14:53 +0000)
committerMichael Adam <obnox@samba.org>
Mon, 20 Mar 2017 18:36:21 +0000 (19:36 +0100)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
source3/winbindd/idmap.c
source3/winbindd/winbindd_proto.h

index 6a5263358d22bcbf6acd294a923457f63d4c0736..a8a71362c28694c1582f7fafd094eabf3f774988 100644 (file)
@@ -177,6 +177,22 @@ static bool idmap_init(void)
        return true;
 }
 
+const char *idmap_config_const_string(const char *domname, const char *option,
+                                     const char *def)
+{
+       int len = snprintf(NULL, 0, "idmap config %s", domname);
+
+       if (len == -1) {
+               return NULL;
+       }
+       {
+               char config_option[len+1];
+               snprintf(config_option, sizeof(config_option),
+                        "idmap config %s", domname);
+               return lp_parm_const_string(-1, config_option, option, def);
+       }
+}
+
 bool domain_has_idmap_config(const char *domname)
 {
        int i;
index ede2c3e774c39d2c82e78449ce6c9e4a59c18985..b33c24ff39a14b2a8d8f8fe1345f60d18875d248 100644 (file)
@@ -378,6 +378,8 @@ void init_idmap_child(void);
 struct winbindd_child *idmap_child(void);
 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 domain_has_idmap_config(const char *domname);
 bool lp_scan_idmap_domains(bool (*fn)(const char *domname,
                                      void *private_data),