summaryrefslogtreecommitdiff
path: root/mux.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2012-06-20 21:44:56 +1000
committerDamien Miller <djm@mindrot.org>2012-06-20 21:44:56 +1000
commitefc6fc995d894458493699e7e1becdb06edb3f83 (patch)
treed46f3d6c823cce44139fd94bfb616ff1498c0db4 /mux.c
parentba9ea3200dcb4ec61033e41b666f9d1fbfa35bf9 (diff)
- djm@cvs.openbsd.org 2011/12/02 00:41:56
[mux.c] fix bz#1948: ssh -f doesn't fork for multiplexed connection. ok dtucker@
Diffstat (limited to 'mux.c')
-rw-r--r--mux.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/mux.c b/mux.c
index d90605eb4..35108ef8b 100644
--- a/mux.c
+++ b/mux.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: mux.c,v 1.34 2012/01/07 21:11:36 djm Exp $ */ 1/* $OpenBSD: mux.c,v 1.32 2011/12/02 00:41:56 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> 3 * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org>
4 * 4 *
@@ -95,6 +95,7 @@ extern Buffer command;
95extern volatile sig_atomic_t quit_pending; 95extern volatile sig_atomic_t quit_pending;
96extern char *stdio_forward_host; 96extern char *stdio_forward_host;
97extern int stdio_forward_port; 97extern int stdio_forward_port;
98extern int fork_after_authentication_flag;
98 99
99/* Context for session open confirmation callback */ 100/* Context for session open confirmation callback */
100struct mux_session_confirm_ctx { 101struct mux_session_confirm_ctx {
@@ -1800,6 +1801,8 @@ mux_client_request_session(int fd)
1800 if (tty_flag) 1801 if (tty_flag)
1801 enter_raw_mode(options.request_tty == REQUEST_TTY_FORCE); 1802 enter_raw_mode(options.request_tty == REQUEST_TTY_FORCE);
1802 1803
1804 if (fork_after_authentication_flag)
1805 daemon(1, 1);
1803 /* 1806 /*
1804 * Stick around until the controlee closes the client_fd. 1807 * Stick around until the controlee closes the client_fd.
1805 * Before it does, it is expected to write an exit message. 1808 * Before it does, it is expected to write an exit message.