=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/log.c,v retrieving revision 1.18.2.2 retrieving revision 1.19 diff -u -r1.18.2.2 -r1.19 --- src/usr.bin/ssh/log.c 2002/10/11 14:53:06 1.18.2.2 +++ src/usr.bin/ssh/log.c 2001/12/19 07:18:56 1.19 @@ -34,7 +34,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: log.c,v 1.18.2.2 2002/10/11 14:53:06 miod Exp $"); +RCSID("$OpenBSD: log.c,v 1.19 2001/12/19 07:18:56 deraadt Exp $"); #include "log.h" #include "xmalloc.h" @@ -65,7 +65,7 @@ { "LOCAL5", SYSLOG_FACILITY_LOCAL5 }, { "LOCAL6", SYSLOG_FACILITY_LOCAL6 }, { "LOCAL7", SYSLOG_FACILITY_LOCAL7 }, - { NULL, SYSLOG_FACILITY_NOT_SET } + { NULL, 0 } }; static struct { @@ -82,40 +82,50 @@ { "DEBUG1", SYSLOG_LEVEL_DEBUG1 }, { "DEBUG2", SYSLOG_LEVEL_DEBUG2 }, { "DEBUG3", SYSLOG_LEVEL_DEBUG3 }, - { NULL, SYSLOG_LEVEL_NOT_SET } + { NULL, 0 } }; +static void do_log(LogLevel level, const char *fmt, va_list args); + SyslogFacility log_facility_number(char *name) { int i; - if (name != NULL) for (i = 0; log_facilities[i].name; i++) if (strcasecmp(log_facilities[i].name, name) == 0) return log_facilities[i].val; - return SYSLOG_FACILITY_NOT_SET; + return (SyslogFacility) - 1; } LogLevel log_level_number(char *name) { int i; - if (name != NULL) for (i = 0; log_levels[i].name; i++) if (strcasecmp(log_levels[i].name, name) == 0) return log_levels[i].val; - return SYSLOG_LEVEL_NOT_SET; + return (LogLevel) - 1; } +/* Fatal messages. This function never returns. */ +void +fatal(const char *fmt,...) +{ + va_list args; + va_start(args, fmt); + do_log(SYSLOG_LEVEL_FATAL, fmt, args); + va_end(args); + fatal_cleanup(); +} + /* Error messages that should be logged. */ void error(const char *fmt,...) { va_list args; - va_start(args, fmt); do_log(SYSLOG_LEVEL_ERROR, fmt, args); va_end(args); @@ -127,7 +137,6 @@ log(const char *fmt,...) { va_list args; - va_start(args, fmt); do_log(SYSLOG_LEVEL_INFO, fmt, args); va_end(args); @@ -139,7 +148,6 @@ verbose(const char *fmt,...) { va_list args; - va_start(args, fmt); do_log(SYSLOG_LEVEL_VERBOSE, fmt, args); va_end(args); @@ -151,7 +159,6 @@ debug(const char *fmt,...) { va_list args; - va_start(args, fmt); do_log(SYSLOG_LEVEL_DEBUG1, fmt, args); va_end(args); @@ -161,7 +168,6 @@ debug2(const char *fmt,...) { va_list args; - va_start(args, fmt); do_log(SYSLOG_LEVEL_DEBUG2, fmt, args); va_end(args); @@ -171,7 +177,6 @@ debug3(const char *fmt,...) { va_list args; - va_start(args, fmt); do_log(SYSLOG_LEVEL_DEBUG3, fmt, args); va_end(args); @@ -220,18 +225,6 @@ (u_long) proc, (u_long) context); } -/* Remove all cleanups, to be called after fork() */ -void -fatal_remove_all_cleanups(void) -{ - struct fatal_cleanup *cu, *next_cu; - - for (cu = fatal_cleanups; cu; cu = next_cu) { - next_cu = cu->next; - xfree(cu); - } -} - /* Cleanup and exit */ void fatal_cleanup(void) @@ -327,7 +320,7 @@ #define MSGBUFSIZ 1024 -void +static void do_log(LogLevel level, const char *fmt, va_list args) { char msgbuf[MSGBUFSIZ];