Mercurial > dropbear
diff dbutil.c @ 73:0bf5cebe622c
Dropbearkey can now print out pubkey portions
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sat, 14 Aug 2004 17:35:28 +0000 |
parents | b0316ce64e4b |
children | c85c88500ea6 |
line wrap: on
line diff
--- a/dbutil.c Fri Aug 13 10:58:51 2004 +0000 +++ b/dbutil.c Sat Aug 14 17:35:28 2004 +0000 @@ -56,8 +56,15 @@ #define MAX_FMT 100 -void (*_dropbear_exit)(int exitcode, const char* format, va_list param) = NULL; -void (*_dropbear_log)(int priority, const char* format, va_list param) = NULL; +static void generic_dropbear_exit(int exitcode, const char* format, + va_list param); +static void generic_dropbear_log(int priority, const char* format, + va_list param); + +void (*_dropbear_exit)(int exitcode, const char* format, va_list param) + = generic_dropbear_exit; +void (*_dropbear_log)(int priority, const char* format, va_list param) + = generic_dropbear_log; int usingsyslog = 0; /* set by runopts, but required externally to sessions */ #ifndef DISABLE_SYSLOG @@ -88,6 +95,28 @@ va_end(param); } +static void generic_dropbear_exit(int exitcode, const char* format, + va_list param) { + + char fmtbuf[300]; + + snprintf(fmtbuf, sizeof(fmtbuf), "Exited: %s", format); + + _dropbear_log(LOG_INFO, fmtbuf, param); + + exit(exitcode); +} + +static void generic_dropbear_log(int priority, const char* format, + va_list param) { + + char printbuf[1024]; + + vsnprintf(printbuf, sizeof(printbuf), format, param); + + fprintf(stderr, "%s\n", printbuf); + +} /* this is what can be called to write arbitrary log messages */ void dropbear_log(int priority, const char* format, ...) {