version 1.14, 1999/11/14 21:45:07 |
version 1.15, 1999/11/19 16:04:17 |
|
|
{ NULL, 0 } |
{ NULL, 0 } |
}; |
}; |
|
|
/* textual representation of log-levels */ |
|
|
|
static struct |
|
{ |
|
const char *name; |
|
LogLevel level; |
|
} log_levels[] = |
|
{ |
|
{ "QUIET", SYSLOG_LEVEL_QUIET }, |
|
{ "FATAL", SYSLOG_LEVEL_FATAL }, |
|
{ "ERROR", SYSLOG_LEVEL_ERROR }, |
|
{ "INFO", SYSLOG_LEVEL_INFO }, |
|
{ "CHAT", SYSLOG_LEVEL_CHAT }, |
|
{ "DEBUG", SYSLOG_LEVEL_DEBUG }, |
|
{ NULL, 0 } |
|
}; |
|
|
|
/* Characters considered whitespace in strtok calls. */ |
/* Characters considered whitespace in strtok calls. */ |
#define WHITESPACE " \t\r\n" |
#define WHITESPACE " \t\r\n" |
|
|
|
|
int *activep) |
int *activep) |
{ |
{ |
char buf[256], *cp, *string, **charptr; |
char buf[256], *cp, *string, **charptr; |
int opcode, *intptr, value, fwd_port, fwd_host_port, i; |
int opcode, *intptr, value, fwd_port, fwd_host_port; |
|
|
/* Skip leading whitespace. */ |
/* Skip leading whitespace. */ |
cp = line + strspn(line, WHITESPACE); |
cp = line + strspn(line, WHITESPACE); |
|
|
cp = strtok(NULL, WHITESPACE); |
cp = strtok(NULL, WHITESPACE); |
value = cipher_number(cp); |
value = cipher_number(cp); |
if (value == -1) |
if (value == -1) |
fatal("%.200s line %d: Bad cipher.", filename, linenum); |
fatal("%.200s line %d: Bad cipher '%s'.", |
|
filename, linenum, cp ? cp : "<NONE>"); |
if (*activep && *intptr == -1) |
if (*activep && *intptr == -1) |
*intptr = value; |
*intptr = value; |
break; |
break; |
|
|
case oLogLevel: |
case oLogLevel: |
|
intptr = (int *)&options->log_level; |
cp = strtok(NULL, WHITESPACE); |
cp = strtok(NULL, WHITESPACE); |
if (!cp) |
value = log_level_number(cp); |
{ |
if (value == (LogLevel)-1) |
fprintf(stderr, "%s line %d: missing level name.\n", |
fatal("%.200s line %d: unsupported log level '%s'\n", |
filename, linenum); |
filename, linenum, cp ? cp : "<NONE>"); |
exit(1); |
if (*activep && (LogLevel)*intptr == -1) |
} |
*intptr = (LogLevel)value; |
for (i = 0; log_levels[i].name; i++) |
|
if (strcasecmp(log_levels[i].name, cp) == 0) |
|
break; |
|
if (!log_levels[i].name) |
|
{ |
|
fprintf(stderr, "%s line %d: unsupported log level %s\n", |
|
filename, linenum, cp); |
|
exit(1); |
|
} |
|
if (options->log_level == (LogLevel)(-1)) |
|
options->log_level = log_levels[i].level; |
|
break; |
break; |
|
|
case oRemoteForward: |
case oRemoteForward: |