diff options
Diffstat (limited to 'ssh-sk-helper.c')
-rw-r--r-- | ssh-sk-helper.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/ssh-sk-helper.c b/ssh-sk-helper.c index 85a461d53..a4be9d369 100644 --- a/ssh-sk-helper.c +++ b/ssh-sk-helper.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-sk-helper.c,v 1.7 2020/01/06 02:00:46 djm Exp $ */ | 1 | /* $OpenBSD: ssh-sk-helper.c,v 1.8 2020/01/10 23:43:26 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019 Google LLC | 3 | * Copyright (c) 2019 Google LLC |
4 | * | 4 | * |
@@ -269,9 +269,9 @@ main(int argc, char **argv) | |||
269 | SyslogFacility log_facility = SYSLOG_FACILITY_AUTH; | 269 | SyslogFacility log_facility = SYSLOG_FACILITY_AUTH; |
270 | LogLevel log_level = SYSLOG_LEVEL_ERROR; | 270 | LogLevel log_level = SYSLOG_LEVEL_ERROR; |
271 | struct sshbuf *req, *resp; | 271 | struct sshbuf *req, *resp; |
272 | int in, out, ch, r, log_stderr = 0; | 272 | int in, out, ch, r, vflag = 0; |
273 | u_int rtype; | 273 | u_int rtype, ll = 0; |
274 | uint8_t version; | 274 | uint8_t version, log_stderr = 0; |
275 | 275 | ||
276 | sanitise_stdfd(); | 276 | sanitise_stdfd(); |
277 | log_init(__progname, log_level, log_facility, log_stderr); | 277 | log_init(__progname, log_level, log_facility, log_stderr); |
@@ -279,7 +279,7 @@ main(int argc, char **argv) | |||
279 | while ((ch = getopt(argc, argv, "v")) != -1) { | 279 | while ((ch = getopt(argc, argv, "v")) != -1) { |
280 | switch (ch) { | 280 | switch (ch) { |
281 | case 'v': | 281 | case 'v': |
282 | log_stderr = 1; | 282 | vflag = 1; |
283 | if (log_level == SYSLOG_LEVEL_ERROR) | 283 | if (log_level == SYSLOG_LEVEL_ERROR) |
284 | log_level = SYSLOG_LEVEL_DEBUG1; | 284 | log_level = SYSLOG_LEVEL_DEBUG1; |
285 | else if (log_level < SYSLOG_LEVEL_DEBUG3) | 285 | else if (log_level < SYSLOG_LEVEL_DEBUG3) |
@@ -290,7 +290,7 @@ main(int argc, char **argv) | |||
290 | exit(1); | 290 | exit(1); |
291 | } | 291 | } |
292 | } | 292 | } |
293 | log_init(__progname, log_level, log_facility, log_stderr); | 293 | log_init(__progname, log_level, log_facility, vflag); |
294 | 294 | ||
295 | /* | 295 | /* |
296 | * Rearrange our file descriptors a little; we don't trust the | 296 | * Rearrange our file descriptors a little; we don't trust the |
@@ -317,9 +317,14 @@ main(int argc, char **argv) | |||
317 | version, SSH_SK_HELPER_VERSION); | 317 | version, SSH_SK_HELPER_VERSION); |
318 | } | 318 | } |
319 | 319 | ||
320 | if ((r = sshbuf_get_u32(req, &rtype)) != 0) | 320 | if ((r = sshbuf_get_u32(req, &rtype)) != 0 || |
321 | (r = sshbuf_get_u8(req, &log_stderr)) != 0 || | ||
322 | (r = sshbuf_get_u32(req, &ll)) != 0) | ||
321 | fatal("%s: buffer error: %s", __progname, ssh_err(r)); | 323 | fatal("%s: buffer error: %s", __progname, ssh_err(r)); |
322 | 324 | ||
325 | if (!vflag && log_level_name((LogLevel)ll) != NULL) | ||
326 | log_init(__progname, (LogLevel)ll, log_facility, log_stderr); | ||
327 | |||
323 | switch (rtype) { | 328 | switch (rtype) { |
324 | case SSH_SK_HELPER_SIGN: | 329 | case SSH_SK_HELPER_SIGN: |
325 | resp = process_sign(req); | 330 | resp = process_sign(req); |