diff --git a/ChangeLog b/ChangeLog index 1ffcdd174..67daa5485 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +20120620 + - (djm) OpenBSD CVS Sync + - 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@ + + 20120519 - (dtucker) [configure.ac] bz#2010: fix non-portable shell construct. Patch from cjwatson at debian org. diff --git a/mux.c b/mux.c index d90605eb4..35108ef8b 100644 --- a/mux.c +++ b/mux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.34 2012/01/07 21:11:36 djm Exp $ */ +/* $OpenBSD: mux.c,v 1.32 2011/12/02 00:41:56 djm Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller * @@ -95,6 +95,7 @@ extern Buffer command; extern volatile sig_atomic_t quit_pending; extern char *stdio_forward_host; extern int stdio_forward_port; +extern int fork_after_authentication_flag; /* Context for session open confirmation callback */ struct mux_session_confirm_ctx { @@ -1800,6 +1801,8 @@ mux_client_request_session(int fd) if (tty_flag) enter_raw_mode(options.request_tty == REQUEST_TTY_FORCE); + if (fork_after_authentication_flag) + daemon(1, 1); /* * Stick around until the controlee closes the client_fd. * Before it does, it is expected to write an exit message.