]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: make the log functions that exit (sshlogdie(),
authordjm@openbsd.org <djm@openbsd.org>
Sat, 17 Oct 2020 01:28:20 +0000 (01:28 +0000)
committerDamien Miller <djm@mindrot.org>
Sat, 17 Oct 2020 11:45:37 +0000 (22:45 +1100)
sshfatal(), etc) have identical signatures. Makes things a bit more
consistent...

OpenBSD-Commit-ID: bd0ae124733389d7c0042e135c71ee9091362eb9

fatal.c
log.c
log.h
ssh-keyscan.c

diff --git a/fatal.c b/fatal.c
index 3ecd510f1dcff3f098bbe25e9260dd952c407bc2..40daa08b8ba618727ad9feff09870b927390a08a 100644 (file)
--- a/fatal.c
+++ b/fatal.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fatal.c,v 1.8 2020/10/16 13:24:45 djm Exp $ */
+/* $OpenBSD: fatal.c,v 1.9 2020/10/17 01:28:20 djm Exp $ */
 /*
  * Copyright (c) 2002 Markus Friedl.  All rights reserved.
  *
 /* Fatal messages.  This function never returns. */
 
 void
-sshfatal(const char *file, const char *func, int line, const char *fmt, ...)
+sshfatal(const char *file, const char *func, int line, int showfunc,
+    LogLevel level, const char *fmt, ...)
 {
        va_list args;
 
        va_start(args, fmt);
-       ssh_log(file, func, line, SYSLOG_LEVEL_FATAL, fmt, args);
+       ssh_log(file, func, line, showfunc, level, fmt, args);
        va_end(args);
        cleanup_exit(255);
 }
diff --git a/log.c b/log.c
index 159c306deb878e6b4f87782a3529a98704165a7e..164a843d090882fd30d19f9a76afd5cc8ccaca39 100644 (file)
--- a/log.c
+++ b/log.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: log.c,v 1.53 2020/10/16 13:24:45 djm Exp $ */
+/* $OpenBSD: log.c,v 1.54 2020/10/17 01:28:20 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -427,23 +427,25 @@ sshlog(const char *file, const char *func, int line, int showfunc,
 }
 
 void
-sshlogdie(const char *file, const char *func, int line, const char *fmt, ...)
+sshlogdie(const char *file, const char *func, int line, int showfunc,
+    LogLevel level, const char *fmt, ...)
 {
        va_list args;
 
        va_start(args, fmt);
-       sshlogv(file, func, line, 0, SYSLOG_LEVEL_INFO, fmt, args);
+       sshlogv(file, func, line, showfunc, SYSLOG_LEVEL_INFO, fmt, args);
        va_end(args);
        cleanup_exit(255);
 }
 
 void
-sshsigdie(const char *file, const char *func, int line, const char *fmt, ...)
+sshsigdie(const char *file, const char *func, int line, int showfunc,
+    LogLevel level, const char *fmt, ...)
 {
        va_list args;
 
        va_start(args, fmt);
-       sshlogv(file, func, line, 0, SYSLOG_LEVEL_FATAL, fmt, args);
+       sshlogv(file, func, line, showfunc, SYSLOG_LEVEL_FATAL, fmt, args);
        va_end(args);
        _exit(1);
 }
diff --git a/log.h b/log.h
index b1ab7c7e0b70861d96ad16060d69807d22f848f0..136bffc1ac9338d08eb18ea24a5c8fd6b4364a64 100644 (file)
--- a/log.h
+++ b/log.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: log.h,v 1.25 2020/10/16 13:24:45 djm Exp $ */
+/* $OpenBSD: log.h,v 1.26 2020/10/17 01:28:20 djm Exp $ */
 
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -71,12 +71,15 @@ void         sshlog(const char *, const char *, int, int,
     LogLevel, const char *, ...) __attribute__((format(printf, 6, 7)));
 void    sshlogv(const char *, const char *, int, int,
     LogLevel, const char *, va_list);
-void    sshsigdie(const char *, const char *, int, const char *, ...)
-    __attribute__((noreturn)) __attribute__((format(printf, 4, 5)));
-void    sshlogdie(const char *, const char *, int, const char *, ...)
-    __attribute__((noreturn)) __attribute__((format(printf, 4, 5)));
-void    sshfatal(const char *, const char *, int, const char *, ...)
-    __attribute__((noreturn)) __attribute__((format(printf, 4, 5)));
+void    sshsigdie(const char *, const char *, int, int,
+    LogLevel, const char *, ...) __attribute__((noreturn))
+    __attribute__((format(printf, 6, 7)));
+void    sshlogdie(const char *, const char *, int, int,
+    LogLevel, const char *, ...) __attribute__((noreturn))
+    __attribute__((format(printf, 6, 7)));
+void    sshfatal(const char *, const char *, int, int,
+    LogLevel, const char *, ...) __attribute__((noreturn))
+    __attribute__((format(printf, 6, 7)));
 
 #define ssh_nlog(level, ...)   sshlog(__FILE__, __func__, __LINE__, 0, level, __VA_ARGS__)
 #define ssh_debug3(...)                sshlog(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_DEBUG3, __VA_ARGS__)
@@ -85,9 +88,9 @@ void   sshfatal(const char *, const char *, int, const char *, ...)
 #define ssh_verbose(...)       sshlog(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_VERBOSE, __VA_ARGS__)
 #define ssh_log(...)           sshlog(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_INFO, __VA_ARGS__)
 #define ssh_error(...)         sshlog(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, __VA_ARGS__)
-#define ssh_fatal(...)         sshfatal(__FILE__, __func__, __LINE__, __VA_ARGS__)
-#define ssh_logdie(...)                sshlogdie(__FILE__, __func__, __LINE__, __VA_ARGS__)
-#define ssh_sigdie(...)                sshsigdie(__FILE__, __func__, __LINE__, __VA_ARGS__)
+#define ssh_fatal(...)         sshfatal(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_FATAL, __VA_ARGS__)
+#define ssh_logdie(...)                sshlogdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, __VA_ARGS__)
+#define ssh_sigdie(...)                sshsigdie(__FILE__, __func__, __LINE__, 0, SYSLOG_LEVEL_ERROR, __VA_ARGS__)
 
 #define debug  ssh_debug
 #define debug1 ssh_debug1
index ac7bfcd188cc69bdebf035de730756c14f6eb18e..11816559597f43211b63713ba8d014b2047e336a 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keyscan.c,v 1.133 2020/10/16 13:24:45 djm Exp $ */
+/* $OpenBSD: ssh-keyscan.c,v 1.134 2020/10/17 01:28:20 djm Exp $ */
 /*
  * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>.
  *
@@ -635,13 +635,13 @@ do_host(char *host)
 }
 
 void
-sshfatal(const char *file, const char *func, int line,
-    const char *fmt, ...)
+sshfatal(const char *file, const char *func, int line, int showfunc,
+    LogLevel level, const char *fmt, ...)
 {
        va_list args;
 
        va_start(args, fmt);
-       ssh_log(file, func, line, SYSLOG_LEVEL_FATAL, fmt, args);
+       ssh_log(file, func, line, showfunc, level, fmt, args);
        va_end(args);
        cleanup_exit(255);
 }