summaryrefslogtreecommitdiffstats
path: root/log.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>1999-11-25 00:26:21 +1100
committerDamien Miller <djm@mindrot.org>1999-11-25 00:26:21 +1100
commit95def09838fc61b37b6ea7cd5c234a465b4b129b (patch)
tree042744f76f40a326b873cb1c3690a6d7d966bc3e /log.c
parent4d2f15f895f4c795afc008aeff3fd2ceffbc44f4 (diff)
- Merged very large OpenBSD source code reformat
- OpenBSD CVS updates - [channels.c cipher.c compat.c log-client.c scp.c serverloop.c] [ssh.h sshd.8 sshd.c] syslog changes: * Unified Logmessage for all auth-types, for success and for failed * Standard connections get only ONE line in the LOG when level==LOG: Auth-attempts are logged only, if authentication is: a) successfull or b) with passwd or c) we had more than AUTH_FAIL_LOG failues * many log() became verbose() * old behaviour with level=VERBOSE - [readconf.c readconf.h ssh.1 ssh.h sshconnect.c sshd.c] tranfer s/key challenge/response data in SSH_SMSG_AUTH_TIS_CHALLENGE messages. allows use of s/key in windows (ttssh, securecrt) and ssh-1.2.27 clients without 'ssh -v', ok: niels@ - [sshd.8] -V, for fallback to openssh in SSH2 compatibility mode - [sshd.c] fix sigchld race; cjc5@po.cwru.edu
Diffstat (limited to 'log.c')
-rw-r--r--log.c219
1 files changed, 105 insertions, 114 deletions
diff --git a/log.c b/log.c
index 1ce534ea..e7052115 100644
--- a/log.c
+++ b/log.c
@@ -1,11 +1,11 @@
/*
-
-Shared versions of debug(), log(), etc.
-
+ *
+ * Shared versions of debug(), log(), etc.
+ *
*/
#include "includes.h"
-RCSID("$OpenBSD: log.c,v 1.2 1999/11/19 16:04:17 markus Exp $");
+RCSID("$OpenBSD: log.c,v 1.5 1999/11/24 00:26:02 deraadt Exp $");
#include "ssh.h"
#include "xmalloc.h"
@@ -13,66 +13,65 @@ RCSID("$OpenBSD: log.c,v 1.2 1999/11/19 16:04:17 markus Exp $");
/* Fatal messages. This function never returns. */
void
-fatal(const char *fmt, ...)
+fatal(const char *fmt,...)
{
- va_list args;
- va_start(args, fmt);
- do_log(SYSLOG_LEVEL_FATAL, fmt, args);
- va_end(args);
- fatal_cleanup();
+ 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, ...)
+error(const char *fmt,...)
{
- va_list args;
- va_start(args, fmt);
- do_log(SYSLOG_LEVEL_ERROR, fmt, args);
- va_end(args);
+ va_list args;
+ va_start(args, fmt);
+ do_log(SYSLOG_LEVEL_ERROR, fmt, args);
+ va_end(args);
}
/* Log this message (information that usually should go to the log). */
void
-log(const char *fmt, ...)
+log(const char *fmt,...)
{
- va_list args;
- va_start(args, fmt);
- do_log(SYSLOG_LEVEL_INFO, fmt, args);
- va_end(args);
+ va_list args;
+ va_start(args, fmt);
+ do_log(SYSLOG_LEVEL_INFO, fmt, args);
+ va_end(args);
}
/* More detailed messages (information that does not need to go to the log). */
void
-chat(const char *fmt, ...)
+verbose(const char *fmt,...)
{
- va_list args;
- va_start(args, fmt);
- do_log(SYSLOG_LEVEL_CHAT, fmt, args);
- va_end(args);
+ va_list args;
+ va_start(args, fmt);
+ do_log(SYSLOG_LEVEL_VERBOSE, fmt, args);
+ va_end(args);
}
/* Debugging messages that should not be logged during normal operation. */
void
-debug(const char *fmt, ...)
+debug(const char *fmt,...)
{
- va_list args;
- va_start(args, fmt);
- do_log(SYSLOG_LEVEL_DEBUG, fmt, args);
- va_end(args);
+ va_list args;
+ va_start(args, fmt);
+ do_log(SYSLOG_LEVEL_DEBUG, fmt, args);
+ va_end(args);
}
/* Fatal cleanup */
-struct fatal_cleanup
-{
- struct fatal_cleanup *next;
- void (*proc)(void *);
- void *context;
+struct fatal_cleanup {
+ struct fatal_cleanup *next;
+ void (*proc) (void *);
+ void *context;
};
static struct fatal_cleanup *fatal_cleanups = NULL;
@@ -80,116 +79,108 @@ static struct fatal_cleanup *fatal_cleanups = NULL;
/* Registers a cleanup function to be called by fatal() before exiting. */
void
-fatal_add_cleanup(void (*proc)(void *), void *context)
+fatal_add_cleanup(void (*proc) (void *), void *context)
{
- struct fatal_cleanup *cu;
+ struct fatal_cleanup *cu;
- cu = xmalloc(sizeof(*cu));
- cu->proc = proc;
- cu->context = context;
- cu->next = fatal_cleanups;
- fatal_cleanups = cu;
+ cu = xmalloc(sizeof(*cu));
+ cu->proc = proc;
+ cu->context = context;
+ cu->next = fatal_cleanups;
+ fatal_cleanups = cu;
}
/* Removes a cleanup frunction to be called at fatal(). */
void
-fatal_remove_cleanup(void (*proc)(void *context), void *context)
+fatal_remove_cleanup(void (*proc) (void *context), void *context)
{
- struct fatal_cleanup **cup, *cu;
-
- for (cup = &fatal_cleanups; *cup; cup = &cu->next)
- {
- cu = *cup;
- if (cu->proc == proc && cu->context == context)
- {
- *cup = cu->next;
- xfree(cu);
- return;
+ struct fatal_cleanup **cup, *cu;
+
+ for (cup = &fatal_cleanups; *cup; cup = &cu->next) {
+ cu = *cup;
+ if (cu->proc == proc && cu->context == context) {
+ *cup = cu->next;
+ xfree(cu);
+ return;
+ }
}
- }
- fatal("fatal_remove_cleanup: no such cleanup function: 0x%lx 0x%lx\n",
- (unsigned long)proc, (unsigned long)context);
+ fatal("fatal_remove_cleanup: no such cleanup function: 0x%lx 0x%lx\n",
+ (unsigned long) proc, (unsigned long) context);
}
/* Cleanup and exit */
void
fatal_cleanup(void)
{
- struct fatal_cleanup *cu, *next_cu;
- static int called = 0;
- if (called)
- exit(255);
- called = 1;
-
- /* Call cleanup functions. */
- for (cu = fatal_cleanups; cu; cu = next_cu)
- {
- next_cu = cu->next;
- debug("Calling cleanup 0x%lx(0x%lx)",
- (unsigned long)cu->proc, (unsigned long)cu->context);
- (*cu->proc)(cu->context);
- }
-
- exit(255);
+ struct fatal_cleanup *cu, *next_cu;
+ static int called = 0;
+
+ if (called)
+ exit(255);
+ called = 1;
+ /* Call cleanup functions. */
+ for (cu = fatal_cleanups; cu; cu = next_cu) {
+ next_cu = cu->next;
+ debug("Calling cleanup 0x%lx(0x%lx)",
+ (unsigned long) cu->proc, (unsigned long) cu->context);
+ (*cu->proc) (cu->context);
+ }
+ exit(255);
}
/* textual representation of log-facilities/levels */
-
-static struct
-{
- const char *name;
- SyslogFacility val;
-} log_facilities[] =
-{
- { "DAEMON", SYSLOG_FACILITY_DAEMON },
- { "USER", SYSLOG_FACILITY_USER },
- { "AUTH", SYSLOG_FACILITY_AUTH },
- { "LOCAL0", SYSLOG_FACILITY_LOCAL0 },
- { "LOCAL1", SYSLOG_FACILITY_LOCAL1 },
- { "LOCAL2", SYSLOG_FACILITY_LOCAL2 },
- { "LOCAL3", SYSLOG_FACILITY_LOCAL3 },
- { "LOCAL4", SYSLOG_FACILITY_LOCAL4 },
- { "LOCAL5", SYSLOG_FACILITY_LOCAL5 },
- { "LOCAL6", SYSLOG_FACILITY_LOCAL6 },
- { "LOCAL7", SYSLOG_FACILITY_LOCAL7 },
- { NULL, 0 }
+static struct {
+ const char *name;
+ SyslogFacility val;
+} log_facilities[] = {
+ { "DAEMON", SYSLOG_FACILITY_DAEMON },
+ { "USER", SYSLOG_FACILITY_USER },
+ { "AUTH", SYSLOG_FACILITY_AUTH },
+ { "LOCAL0", SYSLOG_FACILITY_LOCAL0 },
+ { "LOCAL1", SYSLOG_FACILITY_LOCAL1 },
+ { "LOCAL2", SYSLOG_FACILITY_LOCAL2 },
+ { "LOCAL3", SYSLOG_FACILITY_LOCAL3 },
+ { "LOCAL4", SYSLOG_FACILITY_LOCAL4 },
+ { "LOCAL5", SYSLOG_FACILITY_LOCAL5 },
+ { "LOCAL6", SYSLOG_FACILITY_LOCAL6 },
+ { "LOCAL7", SYSLOG_FACILITY_LOCAL7 },
+ { NULL, 0 }
};
-static struct
-{
- const char *name;
- LogLevel val;
+static struct {
+ const char *name;
+ LogLevel val;
} 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 }
+ { "QUIET", SYSLOG_LEVEL_QUIET },
+ { "FATAL", SYSLOG_LEVEL_FATAL },
+ { "ERROR", SYSLOG_LEVEL_ERROR },
+ { "INFO", SYSLOG_LEVEL_INFO },
+ { "VERBOSE", SYSLOG_LEVEL_VERBOSE },
+ { "DEBUG", SYSLOG_LEVEL_DEBUG },
+ { NULL, 0 }
};
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 (SyslogFacility)-1;
+ 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 (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 (LogLevel)-1;
+ 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 (LogLevel) - 1;
}