mirror of
https://github.com/samba-team/samba.git
synced 2025-01-13 13:18:06 +03:00
8132a7b98b
Patch 1 of 3:
- Patch 1 adds the new variables
- Patch 2 makes uses of them for files belonging to the "state" path
and the "code pages" path
This patch seemed more easily acceptable, which explains why we
separated it from patch 3
- Patch 3 reassigns files to the "cache" path. Indeed all "debatable"
changes have been moved to that one
The point is adding:
- a path for non discardable state data: basically all TDB files
that may need to be backed up
- a path for shared data: mostly codepage stuff
- a path for cache data to host files such as
browse.dat, printers.tbd, <printer>.tdb
All these are currently mixed in "libdir" (${prefix}/lib/samba by default).
The patch keeps these new paths to point to ${prefix}/lib/samba by default
and does therefore not change the software behaviour. Used alone, it just
adds unused variables...so it can safely be used in sources without any
behaviour change and no impact on Samba developers work.
(This used to be commit b7d2fadbef
)
103 lines
2.8 KiB
C
103 lines
2.8 KiB
C
/*
|
|
Unix SMB/CIFS implementation.
|
|
Copyright (C) 2001 by Martin Pool <mbp@samba.org>
|
|
Copyright (C) 2003 by Jim McDonough <jmcd@us.ibm.com>
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include "includes.h"
|
|
|
|
/**
|
|
* @file dynconfig.c
|
|
*
|
|
* @brief Global configurations, initialized to configured defaults.
|
|
*
|
|
* This file should be the only file that depends on path
|
|
* configuration (--prefix, etc), so that if ./configure is re-run,
|
|
* all programs will be appropriately updated. Everything else in
|
|
* Samba should import extern variables from here, rather than relying
|
|
* on preprocessor macros.
|
|
*
|
|
* Eventually some of these may become even more variable, so that
|
|
* they can for example consistently be set across the whole of Samba
|
|
* by command-line parameters, config file entries, or environment
|
|
* variables.
|
|
*
|
|
* @todo Perhaps eventually these should be merged into the parameter
|
|
* table? There's kind of a chicken-and-egg situation there...
|
|
**/
|
|
|
|
char const *dyn_SBINDIR = SBINDIR,
|
|
*dyn_BINDIR = BINDIR,
|
|
*dyn_SWATDIR = SWATDIR;
|
|
|
|
pstring dyn_CONFIGFILE = CONFIGFILE; /**< Location of smb.conf file. **/
|
|
|
|
/** Log file directory. **/
|
|
pstring dyn_LOGFILEBASE = LOGFILEBASE;
|
|
|
|
/** Statically configured LanMan hosts. **/
|
|
pstring dyn_LMHOSTSFILE = LMHOSTSFILE;
|
|
|
|
/**
|
|
* @brief Samba data directory.
|
|
*
|
|
* @sa data_path() to get the path to a file inside the CODEPAGEDIR.
|
|
**/
|
|
pstring dyn_CODEPAGEDIR = CODEPAGEDIR;
|
|
|
|
/**
|
|
* @brief Samba library directory.
|
|
*
|
|
* @sa lib_path() to get the path to a file inside the LIBDIR.
|
|
**/
|
|
pstring dyn_LIBDIR = LIBDIR;
|
|
fstring dyn_SHLIBEXT = SHLIBEXT;
|
|
|
|
/**
|
|
* @brief Directory holding lock files.
|
|
*
|
|
* Not writable, but used to set a default in the parameter table.
|
|
**/
|
|
pstring dyn_LOCKDIR = LOCKDIR;
|
|
pstring dyn_PIDDIR = PIDDIR;
|
|
|
|
pstring dyn_SMB_PASSWD_FILE = SMB_PASSWD_FILE;
|
|
pstring dyn_PRIVATE_DIR = PRIVATE_DIR;
|
|
|
|
|
|
/* In non-FHS mode, these should be configurable using 'lock dir =';
|
|
but in FHS mode, they are their own directory. Implement as wrapper
|
|
functions so that everything can still be kept in dynconfig.c.
|
|
*/
|
|
|
|
char *dyn_STATEDIR(void)
|
|
{
|
|
#ifdef FHS_COMPATIBLE
|
|
return STATEDIR;
|
|
#else
|
|
return lp_lockdir();
|
|
#endif
|
|
}
|
|
|
|
char *dyn_CACHEDIR(void)
|
|
{
|
|
#ifdef FHS_COMPATIBLE
|
|
return CACHEDIR;
|
|
#else
|
|
return lp_lockdir();
|
|
#endif
|
|
}
|