=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/log.c,v retrieving revision 1.17.2.2 retrieving revision 1.18 diff -u -r1.17.2.2 -r1.18 --- src/usr.bin/ssh/log.c 2002/03/09 00:20:44 1.17.2.2 +++ src/usr.bin/ssh/log.c 2001/06/26 17:27:23 1.18 @@ -34,7 +34,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: log.c,v 1.17.2.2 2002/03/09 00:20:44 miod Exp $"); +RCSID("$OpenBSD: log.c,v 1.18 2001/06/26 17:27:23 markus 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,9 +82,11 @@ { "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) { @@ -93,7 +95,7 @@ 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 @@ -104,9 +106,20 @@ 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 @@ -226,7 +239,7 @@ for (cu = fatal_cleanups; cu; cu = next_cu) { next_cu = cu->next; debug("Calling cleanup 0x%lx(0x%lx)", - (u_long) cu->proc, (u_long) cu->context); + (u_long) cu->proc, (u_long) cu->context); (*cu->proc) (cu->context); } exit(255); @@ -307,7 +320,7 @@ #define MSGBUFSIZ 1024 -void +static void do_log(LogLevel level, const char *fmt, va_list args) { char msgbuf[MSGBUFSIZ];