initial pass at including username from sftp

This commit is contained in:
Tess Gauthier 2024-11-11 17:14:17 -05:00
parent a915f06c78
commit 17de79085f
2 changed files with 7 additions and 2 deletions

View File

@ -469,6 +469,7 @@ monitor_read_log(struct monitor *pmonitor)
#ifdef WINDOWS
char* pname;
char* user;
u_int sftp_log_level, sftp_log_facility, sftp_log_stderr;
extern int log_stderr;
if ((r = sshbuf_get_cstring(logmsg, &pname, NULL)) != 0)
@ -479,6 +480,8 @@ monitor_read_log(struct monitor *pmonitor)
(r = sshbuf_get_u32(logmsg, &sftp_log_facility)) != 0 ||
(r = sshbuf_get_u32(logmsg, &sftp_log_stderr)) != 0)
fatal_fr(r, "parse");
if ((r = sshbuf_get_cstring(logmsg, &user, NULL)) != 0)
user = NULL;
}
/*log it*/
@ -487,7 +490,7 @@ monitor_read_log(struct monitor *pmonitor)
else {
if (strcmp(pname, "sftp-server") == 0) {
log_init(pname, sftp_log_level, sftp_log_facility, sftp_log_stderr);
sshlogdirect(level, forced, "%s", msg);
sshlogdirect(level, forced, "user: %s: %s", user, msg);
log_init("sshd", options.log_level, options.log_facility, log_stderr);
} else
sshlogdirect(level, forced, "%s", msg);

View File

@ -1935,8 +1935,10 @@ log_handler(LogLevel level, int forced, const char* msg, void* ctx)
(r = sshbuf_put_cstring(log_msg, __progname)) != 0 ||
(r = sshbuf_put_u32(log_msg, log_level)) != 0 ||
(r = sshbuf_put_u32(log_msg, log_facility_g)) != 0 ||
(r = sshbuf_put_u32(log_msg, log_stderr_g)) != 0)
(r = sshbuf_put_u32(log_msg, log_stderr_g)) != 0 ||
(pw != NULL && (r = sshbuf_put_cstring(log_msg, pw->pw_name)) != 0))
fatal_fr(r, "assemble");
if ((len = sshbuf_len(log_msg)) < 4 || len > 0xffffffff)
fatal_f("bad length %zu", len);
POKE_U32(sshbuf_mutable_ptr(log_msg), len - 4);