loadparm: add parameter allow_registry_shares to lp_load_ex().
authorMichael Adam <obnox@samba.org>
Thu, 15 May 2008 00:25:34 +0000 (02:25 +0200)
committerMichael Adam <obnox@samba.org>
Thu, 10 Jul 2008 21:34:04 +0000 (23:34 +0200)
This allows for registry shares to be activated, i.e. loaded into
the services array at lp_load() time.

Michael
(cherry picked from commit b3233ecefd5df745ba7e10511f9ab36064036b10)

source/param/loadparm.c

index 4c8e304bd104fe99409b293b3dd3b6c088f590ae..f24d57b0daf7ebb4fdf5501c674dc518ad040fba 100644 (file)
@@ -8731,7 +8731,8 @@ bool lp_load_ex(const char *pszFname,
                bool save_defaults,
                bool add_ipc,
                bool initialize_globals,
-               bool allow_include_registry)
+               bool allow_include_registry,
+               bool allow_registry_shares)
 {
        char *n2 = NULL;
        bool bRetval;
@@ -8805,7 +8806,8 @@ bool lp_load_ex(const char *pszFname,
                        lp_kill_all_services();
                        return lp_load_ex(pszFname, global_only, save_defaults,
                                          add_ipc, initialize_globals,
-                                         allow_include_registry);
+                                         allow_include_registry,
+                                         allow_registry_shares);
                }
        } else if (lp_config_backend_is_registry()) {
                bRetval = process_registry_globals();
@@ -8815,6 +8817,10 @@ bool lp_load_ex(const char *pszFname,
                bRetval = false;
        }
 
+       if (bRetval && lp_registry_shares() && allow_registry_shares) {
+               bRetval = process_registry_shares();
+       }
+
        lp_add_auto_services(lp_auto_services());
 
        if (add_ipc) {
@@ -8856,7 +8862,7 @@ bool lp_load(const char *pszFname,
                          save_defaults,
                          add_ipc,
                          initialize_globals,
-                         true);
+                         true, false);
 }
 
 bool lp_load_initial_only(const char *pszFname)
@@ -8866,6 +8872,7 @@ bool lp_load_initial_only(const char *pszFname)
                          false,
                          false,
                          true,
+                         false,
                          false);
 }