conf: disable dumpdir and logdir by default
Use empty string instead of "." (which is normally the root directory) as the default value of dumpdir and logdir to indicate they are not specified. Print warnings in syslog when trying to log or dump measurements without dumpdir or logdir.
This commit is contained in:
parent
d2e5b41369
commit
fb5d4f1da4
3 changed files with 23 additions and 9 deletions
6
conf.c
6
conf.c
|
@ -330,8 +330,8 @@ CNF_Initialise(int r)
|
|||
ntp_restrictions = ARR_CreateInstance(sizeof (AllowDeny));
|
||||
cmd_restrictions = ARR_CreateInstance(sizeof (AllowDeny));
|
||||
|
||||
dumpdir = Strdup(".");
|
||||
logdir = Strdup(".");
|
||||
dumpdir = Strdup("");
|
||||
logdir = Strdup("");
|
||||
bind_cmd_path = Strdup(DEFAULT_COMMAND_SOCKET);
|
||||
pidfile = Strdup(DEFAULT_PID_FILE);
|
||||
rtc_device = Strdup(DEFAULT_RTC_DEVICE);
|
||||
|
@ -1247,7 +1247,9 @@ CNF_CreateDirs(uid_t uid, gid_t gid)
|
|||
{
|
||||
char *dir;
|
||||
|
||||
if (logdir[0])
|
||||
UTI_CreateDirAndParents(logdir, 0755, uid, gid);
|
||||
if (dumpdir[0])
|
||||
UTI_CreateDirAndParents(dumpdir, 0755, uid, gid);
|
||||
|
||||
/* Create a directory for the Unix domain command socket */
|
||||
|
|
10
logging.c
10
logging.c
|
@ -238,10 +238,16 @@ LOG_FileWrite(LOG_FileID id, const char *format, ...)
|
|||
return;
|
||||
|
||||
if (!logfiles[id].file) {
|
||||
char filename[512];
|
||||
char filename[512], *logdir = CNF_GetLogDir();
|
||||
|
||||
if (logdir[0] == '\0') {
|
||||
LOG(LOGS_WARN, LOGF_Logging, "logdir not specified");
|
||||
logfiles[id].name = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
if (snprintf(filename, sizeof(filename), "%s/%s.log",
|
||||
CNF_GetLogDir(), logfiles[id].name) >= sizeof(filename) ||
|
||||
logdir, logfiles[id].name) >= sizeof (filename) ||
|
||||
!(logfiles[id].file = fopen(filename, "a"))) {
|
||||
LOG(LOGS_WARN, LOGF_Refclock, "Couldn't open logfile %s for update", filename);
|
||||
logfiles[id].name = NULL;
|
||||
|
|
12
sources.c
12
sources.c
|
@ -1172,15 +1172,21 @@ static
|
|||
FILE *open_dumpfile(SRC_Instance inst, const char *mode)
|
||||
{
|
||||
FILE *f;
|
||||
char filename[1024];
|
||||
char filename[1024], *dumpdir;
|
||||
|
||||
dumpdir = CNF_GetDumpDir();
|
||||
if (dumpdir[0] == '\0') {
|
||||
LOG(LOGS_WARN, LOGF_Sources, "dumpdir not specified");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Include IP address in the name for NTP sources, or reference ID in hex */
|
||||
if ((inst->type == SRC_NTP &&
|
||||
snprintf(filename, sizeof (filename), "%s/%s.dat", CNF_GetDumpDir(),
|
||||
snprintf(filename, sizeof (filename), "%s/%s.dat", dumpdir,
|
||||
source_to_string(inst)) >= sizeof (filename)) ||
|
||||
(inst->type != SRC_NTP &&
|
||||
snprintf(filename, sizeof (filename), "%s/refid:%08"PRIx32".dat",
|
||||
CNF_GetDumpDir(), inst->ref_id) >= sizeof (filename))) {
|
||||
dumpdir, inst->ref_id) >= sizeof (filename))) {
|
||||
LOG(LOGS_WARN, LOGF_Sources, "dumpdir too long");
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue