r14909: Add lp_modulesdir() smb.conf option
authorJelmer Vernooij <jelmer@samba.org>
Tue, 4 Apr 2006 16:20:32 +0000 (16:20 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:00:14 +0000 (14:00 -0500)
source/param/loadparm.c
source/param/util.c

index ed66fd093c69895500bf9e8473ea2e98ab0ed1ed..922e2f0f04649ba0c173e433761b8fd4e6f62511 100644 (file)
@@ -98,6 +98,7 @@ typedef struct
        char *ncalrpc_dir;
        char *display_charset;
        char *szLockDir;
+       char *szModulesDir;
        char *szPidDir;
        char *szSetupDir;
        char *szServerString;
@@ -528,6 +529,7 @@ static struct parm_struct parm_table[] = {
        {"auto services", P_STRING, P_GLOBAL, &Globals.szAutoServices, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"lock dir", P_STRING, P_GLOBAL, &Globals.szLockDir, NULL, NULL, FLAG_HIDE}, 
        {"lock directory", P_STRING, P_GLOBAL, &Globals.szLockDir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+       {"modules dir", P_STRING, P_GLOBAL, &Globals.szModulesDir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"pid directory", P_STRING, P_GLOBAL, &Globals.szPidDir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER}, 
        {"js include", P_LIST, P_GLOBAL, &Globals.jsInclude, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"setup directory", P_STRING, P_GLOBAL, &Globals.szSetupDir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
@@ -629,6 +631,7 @@ static void init_globals(void)
 
        do_parameter("pid directory", dyn_PIDDIR, NULL);
        do_parameter("lock dir", dyn_LOCKDIR, NULL);
+       do_parameter("modules dir", dyn_MODULESDIR, NULL);
        do_parameter("ncalrpc dir", dyn_NCALRPCDIR, NULL);
 
        do_parameter("socket address", "0.0.0.0", NULL);
@@ -828,6 +831,7 @@ _PUBLIC_ FN_GLOBAL_BOOL(lp_winbind_sealed_pipes, &Globals.bWinbindSealedPipes)
 _PUBLIC_ FN_GLOBAL_STRING(lp_private_dir, &Globals.szPrivateDir)
 _PUBLIC_ FN_GLOBAL_STRING(lp_serverstring, &Globals.szServerString)
 _PUBLIC_ FN_GLOBAL_STRING(lp_lockdir, &Globals.szLockDir)
+_PUBLIC_ FN_GLOBAL_STRING(lp_modulesdir, &Globals.szModulesDir)
 _PUBLIC_ FN_GLOBAL_STRING(lp_setupdir, &Globals.szSetupDir)
 _PUBLIC_ FN_GLOBAL_STRING(lp_ncalrpc_dir, &Globals.ncalrpc_dir)
 _PUBLIC_ FN_GLOBAL_STRING(lp_piddir, &Globals.szPidDir)
index 85a0587827b66cb08a1e7f68cd0ffc8339165629..b3df175e439c18c85c093290dc53150e9ce81be5 100644 (file)
@@ -170,7 +170,7 @@ _PUBLIC_ char *smbd_tmp_path(TALLOC_CTX *mem_ctx, const char *name)
 
 static char *modules_path(TALLOC_CTX* mem_ctx, const char *name)
 {
-       return talloc_asprintf(mem_ctx, "%s/%s", dyn_MODULESDIR, name);
+       return talloc_asprintf(mem_ctx, "%s/%s", lp_modulesdir(), name);
 }
 
 /**
@@ -184,6 +184,7 @@ _PUBLIC_ init_module_fn *load_samba_modules(TALLOC_CTX *mem_ctx, const char *sub
        char *path = modules_path(mem_ctx, subsystem);
        init_module_fn *ret;
 
+       printf("MODULESDIR: %s\n", path);
        ret = load_modules(mem_ctx, path);
 
        talloc_free(path);