diff options
-rw-r--r-- | cli-main.c | 14 | ||||
-rw-r--r-- | cli-runopts.c | 10 | ||||
-rw-r--r-- | cli-session.c | 5 | ||||
-rw-r--r-- | dbclient.1 | 10 |
4 files changed, 34 insertions, 5 deletions
@@ -60,6 +60,12 @@ int main(int argc, char ** argv) { cli_getopts(argc, argv); +#ifndef DISABLE_SYSLOG + if (opts.usingsyslog) { + startsyslog("dbclient"); + } +#endif + TRACE(("user='%s' host='%s' port='%s'", cli_opts.username, cli_opts.remotehost, cli_opts.remoteport)) @@ -118,13 +124,19 @@ static void cli_dropbear_exit(int exitcode, const char* format, va_list param) { exit(exitcode); } -static void cli_dropbear_log(int UNUSED(priority), +static void cli_dropbear_log(int priority, const char* format, va_list param) { char printbuf[1024]; vsnprintf(printbuf, sizeof(printbuf), format, param); +#ifndef DISABLE_SYSLOG + if (opts.usingsyslog) { + syslog(priority, "%s", printbuf); + } +#endif + fprintf(stderr, "%s: %s\n", cli_opts.progname, printbuf); fflush(stderr); } diff --git a/cli-runopts.c b/cli-runopts.c index 25a2f16..2ecf599 100644 --- a/cli-runopts.c +++ b/cli-runopts.c @@ -864,6 +864,9 @@ static void add_extendedopt(const char* origstr) { #ifdef ENABLE_CLI_ANYTCPFWD "\tExitOnForwardFailure\n" #endif +#ifndef DISABLE_SYSLOG + "\tUseSyslog\n" +#endif ); exit(EXIT_SUCCESS); } @@ -875,5 +878,12 @@ static void add_extendedopt(const char* origstr) { } #endif +#ifndef DISABLE_SYSLOG + if (match_extendedopt(&optstr, "UseSyslog") == DROPBEAR_SUCCESS) { + opts.usingsyslog = parse_flag_value(optstr); + return; + } +#endif + dropbear_exit("Bad configuration option '%s'", origstr); } diff --git a/cli-session.c b/cli-session.c index 9be958e..a93d192 100644 --- a/cli-session.c +++ b/cli-session.c @@ -269,6 +269,11 @@ static void cli_sessionloop() { return; case USERAUTH_SUCCESS_RCVD: +#ifndef DISABLE_SYSLOG + if (opts.usingsyslog) { + dropbear_log(LOG_INFO, "Authentication succeeded."); + } +#endif #ifdef DROPBEAR_NONE_CIPHER if (cli_ses.cipher_none_after_auth) @@ -133,12 +133,14 @@ useful for specifying options for which there is no separate command-line flag. For full details of the options listed below, and their possible values, see ssh_config(5). -For now only following options have been implemented: -.RS +For now following options have been implemented: .RS .TP -ExitOnForwardFailure -.RE +.B ExitOnForwardFailure +Specifies whether dbclient should terminate the connection if it cannot set up all requested local and remote port forwardings. The argument must be “yes” or “no”. The default is “no”. +.TP +.B UseSyslog +Send dbclient log messages to syslog in addition to stderr. .RE .TP .B \-s |