loadparm: reactivate special semantics of "include = registry" for now.
authorMichael Adam <obnox@samba.org>
Sun, 6 Apr 2008 20:23:54 +0000 (22:23 +0200)
committerMichael Adam <obnox@samba.org>
Thu, 17 Apr 2008 16:39:00 +0000 (18:39 +0200)
This includes the configuration stored in HKLM/Software/Samba/smbconf .

Michael
(This used to be commit 42c7fb4ddfab9ff7592593533099ae872c1edca7)

source3/param/loadparm.c

index 71632cd7537a6e89e2de07924d47e28f95586aab..9595ebdb18035af7b28c2eaad2a1c9abd3b32425 100644 (file)
@@ -70,6 +70,14 @@ extern userdom_struct current_user_info;
 #define HOMES_NAME "homes"
 #endif
 
+/* the special value for the include parameter
+ * to be interpreted not as a file name but to
+ * trigger loading of the global smb.conf options
+ * from registry. */
+#ifndef INCLUDE_REGISTRY_NAME
+#define INCLUDE_REGISTRY_NAME "registry"
+#endif
+
 static bool in_client = False;         /* Not in the client by default */
 static struct smbconf_csn conf_last_csn;
 static struct smbconf_ctx *conf_ctx = NULL;
@@ -6724,6 +6732,16 @@ static bool handle_include(int snum, const char *pszParmValue, char **ptr)
 {
        char *fname;
 
+       if (strequal(pszParmValue, INCLUDE_REGISTRY_NAME)) {
+               if (bInGlobalSection) {
+                       return process_registry_globals();
+               } else {
+                       DEBUG(1, ("\"include = registry\" only effective "
+                                 "in %s section\n", GLOBAL_NAME));
+                       return false;
+               }
+       }
+
        fname = alloc_sub_basic(get_current_username(),
                                current_user_info.domain,
                                pszParmValue);