Skip to content

Commit

Permalink
upstream commit
Browse files Browse the repository at this point in the history
close ControlPersist background process stderr when not
 in debug mode or when logging to a file or syslog. bz#1988 ok dtucker

Upstream-ID: 4fb726f0fdcb155ad419913cea10dc4afd409d24
  • Loading branch information
djmdjm committed Apr 29, 2016
1 parent 9ee692f commit d2d6bf8
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
4 changes: 2 additions & 2 deletions log.c
@@ -1,4 +1,4 @@
/* $OpenBSD: log.c,v 1.46 2015/07/08 19:04:21 markus Exp $ */
/* $OpenBSD: log.c,v 1.47 2016/04/29 08:07:53 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
Expand Down Expand Up @@ -342,7 +342,7 @@ log_change_level(LogLevel new_log_level)
int
log_is_on_stderr(void)
{
return log_on_stderr;
return log_on_stderr && log_stderr_fd == STDERR_FILENO;
}

/* redirect what would usually get written to stderr to specified file */
Expand Down
8 changes: 5 additions & 3 deletions ssh.c
@@ -1,4 +1,4 @@
/* $OpenBSD: ssh.c,v 1.437 2016/03/07 19:02:43 djm Exp $ */
/* $OpenBSD: ssh.c,v 1.438 2016/04/29 08:07:53 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
Expand Down Expand Up @@ -1395,7 +1395,7 @@ static void
control_persist_detach(void)
{
pid_t pid;
int devnull;
int devnull, keep_stderr;

debug("%s: backgrounding master process", __func__);

Expand Down Expand Up @@ -1426,8 +1426,10 @@ control_persist_detach(void)
error("%s: open(\"/dev/null\"): %s", __func__,
strerror(errno));
} else {
keep_stderr = log_is_on_stderr() && debug_flag;
if (dup2(devnull, STDIN_FILENO) == -1 ||
dup2(devnull, STDOUT_FILENO) == -1)
dup2(devnull, STDOUT_FILENO) == -1 ||
(!keep_stderr && dup2(devnull, STDERR_FILENO) == -1))
error("%s: dup2: %s", __func__, strerror(errno));
if (devnull > STDERR_FILENO)
close(devnull);
Expand Down

0 comments on commit d2d6bf8

Please sign in to comment.