Make pdb_tdb honour a private dir overridden in smb.conf.
authorMichael Adam <obnox@samba.org>
Sun, 30 Dec 2007 02:12:11 +0000 (03:12 +0100)
committerJeremy Allison <jra@samba.org>
Sun, 30 Dec 2007 05:38:39 +0000 (21:38 -0800)
One lp_private_dir() has to be used instead of get_dyn_PRIVATE_DIR()
to determine the location of the passdb.tdb.

I noticed this when running make test as a "normal user" from a
build, where I had done "make install" as root before, and so
the passdb.tdb could not be accessed during the startup phase
"CREATE TEST ENVIRONMENT IN ./st ..." in selftest.sh.

Michael
(This used to be commit 1f96389afa7250af7393489fb538b8aed93d815c)

source3/passdb/pdb_tdb.c

index 5e21c46abf220ca31d4b21c99b47fba4cbd4f5a5..5ee1cdc0c0ba7e1247ac3d798ea0885d38a3a69c 100644 (file)
@@ -1613,7 +1613,7 @@ static NTSTATUS pdb_init_tdbsam(struct pdb_methods **pdb_method, const char *loc
        /* save the path for later */
 
        if (!location) {
-               if (asprintf(&tdbfile, "%s/%s", get_dyn_PRIVATE_DIR(),
+               if (asprintf(&tdbfile, "%s/%s", lp_private_dir(),
                             PASSDB_FILE_NAME) < 0) {
                        return NT_STATUS_NO_MEMORY;
                }