diff options
Diffstat (limited to 'lib/param/util.c')
-rw-r--r-- | lib/param/util.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/param/util.c b/lib/param/util.c index f488540b7f..29266c493d 100644 --- a/lib/param/util.c +++ b/lib/param/util.c @@ -190,6 +190,33 @@ char *lpcfg_private_path(TALLOC_CTX* mem_ctx, } /** + * @brief Returns an absolute path to a NTDB or TDB file in the Samba + * private directory. + * + * @param name File to find, relative to PRIVATEDIR, without .(n)tdb extension. + * Only provide fixed-string names which are supposed to change with "use ntdb" + * option. + * + * @retval Pointer to a talloc'ed string containing the full path, for + * use with dbwrap_local_open(). + **/ +char *lpcfg_private_db_path(TALLOC_CTX *mem_ctx, + struct loadparm_context *lp_ctx, + const char *name) +{ + const char *extension = ".tdb"; + +#ifndef DISABLE_NTDB + if (lpcfg_use_ntdb(lp_ctx)) { + extension = ".ntdb"; + } +#endif + + return talloc_asprintf(mem_ctx, "%s/%s%s", + lpcfg_private_dir(lp_ctx), name, extension); +} + +/** return a path in the smbd.tmp directory, where all temporary file for smbd go. If NULL is passed for name then return the directory path itself |