Allow 'net vampire' to work without an existing smb.conf
authorAndrew Bartlett <abartlet@samba.org>
Wed, 4 Mar 2009 02:58:07 +0000 (13:58 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 4 Mar 2009 02:58:07 +0000 (13:58 +1100)
Now the provision can generate one based on the detected settings from
the target domain.

Andrew Bartlett

source4/param/provision.c
source4/param/util.c

index 7a06f77d968fb05011b0836f48c38d3b23bdd18f..c8bff59deb66d7eba22cc0f93562efe0cf1ddd9a 100644 (file)
@@ -34,6 +34,7 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
                        struct provision_settings *settings, 
                        struct provision_result *result)
 {
+       char *configfile;
        PyObject *provision_mod, *provision_dict, *provision_fn, *py_result, *parameters;
        
        DEBUG(0,("Provision for Become-DC test using python\n"));
@@ -76,8 +77,11 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
                 settings->targetdir));
        parameters = PyDict_New();
 
-       PyDict_SetItemString(parameters, "smbconf", 
-                            PyString_FromString(lp_configfile(lp_ctx)));
+       configfile = lp_configfile(lp_ctx);
+       if (configfile != NULL) {
+               PyDict_SetItemString(parameters, "smbconf", 
+                                    PyString_FromString(configfile));
+       }
 
        PyDict_SetItemString(parameters, "rootdn", 
                                                 PyString_FromString(settings->root_dn_str));
index 92728d505a832f5df63ed6e7ede2e91443617551..3881107cbcfed97a6cbf8e5d006ba23d90aef150 100644 (file)
@@ -107,7 +107,7 @@ char *config_path(TALLOC_CTX* mem_ctx, struct loadparm_context *lp_ctx,
        char *fname, *config_dir, *p;
        config_dir = talloc_strdup(mem_ctx, lp_configfile(lp_ctx));
        if (config_dir == NULL) {
-               return NULL;
+               config_dir = talloc_strdup(mem_ctx, lp_default_path());
        }
        p = strrchr(config_dir, '/');
        if (p == NULL) {