[openssh-commits] [openssh] 02/03: upstream: when redirecting sshd's log output to a file, undo this

git+noreply at mindrot.org git+noreply at mindrot.org
Fri Jul 3 17:03:58 AEST 2020


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit c8935081db35d73ee6355999142fa0776a2af912
Author: djm at openbsd.org <djm at openbsd.org>
Date:   Fri Jul 3 06:46:41 2020 +0000

    upstream: when redirecting sshd's log output to a file, undo this
    
    redirection after the session child process is forked(); ok dtucker@
    
    OpenBSD-Commit-ID: 6df86dd653c91f5bc8ac1916e7680d9d24690865
---
 log.c     | 10 +++++++++-
 session.c |  5 ++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/log.c b/log.c
index d9c2d136..6b1a7a31 100644
--- a/log.c
+++ b/log.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: log.c,v 1.51 2018/07/27 12:03:17 markus Exp $ */
+/* $OpenBSD: log.c,v 1.52 2020/07/03 06:46:41 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo at cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -370,6 +370,14 @@ log_redirect_stderr_to(const char *logfile)
 {
 	int fd;
 
+	if (logfile == NULL) {
+		if (log_stderr_fd != STDERR_FILENO) {
+			close(log_stderr_fd);
+			log_stderr_fd = STDERR_FILENO;
+		}
+		return;
+	}
+
 	if ((fd = open(logfile, O_WRONLY|O_CREAT|O_APPEND, 0600)) == -1) {
 		fprintf(stderr, "Couldn't open logfile %s: %s\n", logfile,
 		     strerror(errno));
diff --git a/session.c b/session.c
index f6193b98..a37eb4ae 100644
--- a/session.c
+++ b/session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: session.c,v 1.320 2020/06/26 04:45:11 dtucker Exp $ */
+/* $OpenBSD: session.c,v 1.321 2020/07/03 06:46:41 djm Exp $ */
 /*
  * Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
  *                    All rights reserved
@@ -1501,6 +1501,9 @@ child_close_fds(struct ssh *ssh)
 	 */
 	endpwent();
 
+	/* Stop directing logs to a high-numbered fd before we close it */
+	log_redirect_stderr_to(NULL);
+
 	/*
 	 * Close any extra open file descriptors so that we don't have them
 	 * hanging around in clients.  Note that we want to do this after

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list