diff options
author | Matt Johnston <matt@ucc.asn.au> | 2004-08-14 17:35:28 +0000 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2004-08-14 17:35:28 +0000 |
commit | 403c18a30092921f008d55a6d22995c854bce0f3 (patch) | |
tree | 2a0f109cb198a4640561b4ff39d1057b45662c9a /dbutil.c | |
parent | 85748aec156efbaacd2d30d3a3243d2b34f11d8a (diff) |
Dropbearkey can now print out pubkey portions
--HG--
extra : convert_revision : 2d897b12ba8710efe0b042b36b1fd31b2469eb15
Diffstat (limited to 'dbutil.c')
-rw-r--r-- | dbutil.c | 33 |
1 files changed, 31 insertions, 2 deletions
@@ -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 @@ void dropbear_exit(const char* format, ...) { 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, ...) { |