diff options
author | dtucker@openbsd.org <dtucker@openbsd.org> | 2016-07-15 05:01:58 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2016-07-15 20:54:55 +1000 |
commit | af1f084857621f14bd9391aba8033d35886c2455 (patch) | |
tree | 7b5c94c1c698cb5bc8257653d45ef7eb6d3be9c7 | |
parent | bd5f2b78b69cf38d6049a0de445a79c8595e4a1f (diff) |
upstream commit
Reduce the syslog level of some relatively common protocol
events from LOG_CRIT by replacing fatal() calls with logdie(). Part of
bz#2585, ok djm@
Upstream-ID: 9005805227c94edf6ac02a160f0e199638d288e5
-rw-r--r-- | log.c | 12 | ||||
-rw-r--r-- | log.h | 4 | ||||
-rw-r--r-- | packet.c | 21 |
3 files changed, 22 insertions, 15 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: log.c,v 1.47 2016/04/29 08:07:53 djm Exp $ */ +/* $OpenBSD: log.c,v 1.48 2016/07/15 05:01:58 dtucker Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -176,6 +176,16 @@ sigdie(const char *fmt,...) _exit(1); } +void +logdie(const char *fmt,...) +{ + va_list args; + + va_start(args, fmt); + do_log(SYSLOG_LEVEL_INFO, fmt, args); + va_end(args); + cleanup_exit(255); +} /* Log this message (information that usually should go to the log). */ @@ -1,4 +1,4 @@ -/* $OpenBSD: log.h,v 1.20 2013/04/07 02:10:33 dtucker Exp $ */ +/* $OpenBSD: log.h,v 1.21 2016/07/15 05:01:58 dtucker Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> @@ -63,6 +63,8 @@ void fatal(const char *, ...) __attribute__((noreturn)) void error(const char *, ...) __attribute__((format(printf, 1, 2))); void sigdie(const char *, ...) __attribute__((noreturn)) __attribute__((format(printf, 1, 2))); +void logdie(const char *, ...) __attribute__((noreturn)) + __attribute__((format(printf, 1, 2))); void logit(const char *, ...) __attribute__((format(printf, 1, 2))); void verbose(const char *, ...) __attribute__((format(printf, 1, 2))); void debug(const char *, ...) __attribute__((format(printf, 1, 2))); @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.231 2016/07/08 03:44:42 djm Exp $ */ +/* $OpenBSD: packet.c,v 1.232 2016/07/15 05:01:58 dtucker Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -2073,24 +2073,19 @@ sshpkt_fatal(struct ssh *ssh, const char *tag, int r) { switch (r) { case SSH_ERR_CONN_CLOSED: - logit("Connection closed by %.200s port %d", + logdie("Connection closed by %.200s port %d", ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); - cleanup_exit(255); case SSH_ERR_CONN_TIMEOUT: - logit("Connection %s %.200s port %d timed out", + logdie("Connection %s %.200s port %d timed out", ssh->state->server_side ? "from" : "to", ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); - cleanup_exit(255); case SSH_ERR_DISCONNECTED: - logit("Disconnected from %.200s port %d", + logdie("Disconnected from %.200s port %d", ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); - cleanup_exit(255); case SSH_ERR_SYSTEM_ERROR: - if (errno == ECONNRESET) { - logit("Connection reset by %.200s port %d", + if (errno == ECONNRESET) + logdie("Connection reset by %.200s port %d", ssh_remote_ipaddr(ssh), ssh_remote_port(ssh)); - cleanup_exit(255); - } /* FALLTHROUGH */ case SSH_ERR_NO_CIPHER_ALG_MATCH: case SSH_ERR_NO_MAC_ALG_MATCH: @@ -2098,14 +2093,14 @@ sshpkt_fatal(struct ssh *ssh, const char *tag, int r) case SSH_ERR_NO_KEX_ALG_MATCH: case SSH_ERR_NO_HOSTKEY_ALG_MATCH: if (ssh && ssh->kex && ssh->kex->failed_choice) { - fatal("Unable to negotiate with %.200s port %d: %s. " + logdie("Unable to negotiate with %.200s port %d: %s. " "Their offer: %s", ssh_remote_ipaddr(ssh), ssh_remote_port(ssh), ssh_err(r), ssh->kex->failed_choice); } /* FALLTHROUGH */ default: - fatal("%s%sConnection %s %.200s port %d: %s", + logdie("%s%sConnection %s %.200s port %d: %s", tag != NULL ? tag : "", tag != NULL ? ": " : "", ssh->state->server_side ? "from" : "to", ssh_remote_ipaddr(ssh), ssh_remote_port(ssh), ssh_err(r)); |