summaryrefslogtreecommitdiff
path: root/monitor_wrap.c
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2020-10-16 13:24:45 +0000
committerDamien Miller <djm@mindrot.org>2020-10-17 00:42:29 +1100
commit752250caabda3dd24635503c4cd689b32a650794 (patch)
tree883ab6c533e52cd5468e57c52706744777be5fb1 /monitor_wrap.c
parentacadbb3402b70f72f14d9a6930ad41be97c2f9dc (diff)
downloadopenssh-git-752250caabda3dd24635503c4cd689b32a650794.tar.gz
upstream: revised log infrastructure for OpenSSH
log functions receive function, filename and line number of caller. We can use this to selectively enable logging via pattern-lists. ok markus@ OpenBSD-Commit-ID: 51a472610cbe37834ce6ce4a3f0e0b1ccc95a349
Diffstat (limited to 'monitor_wrap.c')
-rw-r--r--monitor_wrap.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/monitor_wrap.c b/monitor_wrap.c
index 5e38d83e..c18ee181 100644
--- a/monitor_wrap.c
+++ b/monitor_wrap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor_wrap.c,v 1.118 2020/08/27 01:06:18 djm Exp $ */
+/* $OpenBSD: monitor_wrap.c,v 1.119 2020/10/16 13:24:45 djm Exp $ */
/*
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
* Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -82,7 +82,8 @@ extern struct sshbuf *loginmsg;
extern ServerOptions options;
void
-mm_log_handler(LogLevel level, const char *msg, void *ctx)
+mm_log_handler(const char *file, const char *func, int line,
+ LogLevel level, const char *msg, void *ctx)
{
struct sshbuf *log_msg;
struct monitor *mon = (struct monitor *)ctx;
@@ -96,6 +97,9 @@ mm_log_handler(LogLevel level, const char *msg, void *ctx)
fatal("%s: sshbuf_new failed", __func__);
if ((r = sshbuf_put_u32(log_msg, 0)) != 0 || /* length; filled below */
+ (r = sshbuf_put_cstring(log_msg, file)) != 0 ||
+ (r = sshbuf_put_cstring(log_msg, func)) != 0 ||
+ (r = sshbuf_put_u32(log_msg, (u_int)line)) != 0 ||
(r = sshbuf_put_u32(log_msg, level)) != 0 ||
(r = sshbuf_put_cstring(log_msg, msg)) != 0)
fatal("%s: buffer error: %s", __func__, ssh_err(r));