diff options
author | djm@openbsd.org <djm@openbsd.org> | 2020-10-16 13:24:45 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2020-10-17 00:42:29 +1100 |
commit | 752250caabda3dd24635503c4cd689b32a650794 (patch) | |
tree | 883ab6c533e52cd5468e57c52706744777be5fb1 /monitor_wrap.c | |
parent | acadbb3402b70f72f14d9a6930ad41be97c2f9dc (diff) | |
download | openssh-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.c | 8 |
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)); |