s3:loadparm: add new boolean parameter "idmap read only"
authorMichael Adam <obnox@samba.org>
Tue, 1 Jun 2010 13:35:01 +0000 (15:35 +0200)
committerMichael Adam <obnox@samba.org>
Sat, 14 Aug 2010 00:10:40 +0000 (02:10 +0200)
This will be used to be able to put the default idmap config
read only. This can make sense for instance with the tdb2
idmap backend and using the idmap script feature.

source3/include/proto.h
source3/param/loadparm.c

index 3ca3f103e994c9331272e92a067da90a4befc73e..f7d5e8f8f58feb357cfe764e22b3045c617efc56 100644 (file)
@@ -3653,6 +3653,7 @@ bool lp_winbind_normalize_names(void);
 bool lp_winbind_rpc_only(void);
 bool lp_create_krb5_conf(void);
 const char *lp_idmap_backend(void);
+bool lp_idmap_read_only(void);
 int lp_idmap_cache_time(void);
 int lp_idmap_negative_cache_time(void);
 int lp_keepalive(void);
index 98e62a3e5edc4a6eb029b95bdaddfe80cccdc9e5..b20b56578cd1b37c5acb89cc244403e2aff91c50 100644 (file)
@@ -212,6 +212,7 @@ struct global {
        bool bWinbindRpcOnly;
        bool bCreateKrb5Conf;
        char *szIdmapBackend;
+       bool bIdmapReadOnly;
        char *szAddShareCommand;
        char *szChangeShareCommand;
        char *szDeleteShareCommand;
@@ -4500,6 +4501,15 @@ static struct parm_struct parm_table[] = {
                .enum_list      = NULL,
                .flags          = FLAG_ADVANCED,
        },
+       {
+               .label          = "idmap read only",
+               .type           = P_BOOL,
+               .p_class        = P_GLOBAL,
+               .ptr            = &Globals.bIdmapReadOnly,
+               .special        = NULL,
+               .enum_list      = NULL,
+               .flags          = FLAG_ADVANCED,
+       },
        {
                .label          = "idmap cache time",
                .type           = P_INTEGER,
@@ -5211,6 +5221,7 @@ static void init_globals(bool first_time_only)
 
        Globals.bAllowTrustedDomains = True;
        string_set(&Globals.szIdmapBackend, "tdb");
+       Globals.bIdmapReadOnly = false;
 
        string_set(&Globals.szTemplateShell, "/bin/false");
        string_set(&Globals.szTemplateHomedir, "/home/%D/%U");
@@ -5514,6 +5525,7 @@ FN_GLOBAL_BOOL(lp_winbind_rpc_only, &Globals.bWinbindRpcOnly)
 FN_GLOBAL_BOOL(lp_create_krb5_conf, &Globals.bCreateKrb5Conf)
 
 FN_GLOBAL_CONST_STRING(lp_idmap_backend, &Globals.szIdmapBackend)
+FN_GLOBAL_BOOL(lp_idmap_read_only, &Globals.bIdmapReadOnly)
 FN_GLOBAL_INTEGER(lp_idmap_cache_time, &Globals.iIdmapCacheTime)
 FN_GLOBAL_INTEGER(lp_idmap_negative_cache_time, &Globals.iIdmapNegativeCacheTime)
 FN_GLOBAL_INTEGER(lp_keepalive, &Globals.iKeepalive)