From d46202f0d19b18b4537804e3510e561d6a125a0d Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Sat, 13 Nov 1999 13:28:45 +1100 Subject: - Delay fork (-f option) in ssh until after port forwarded connections have been initialised. Patch from Jani Hakala --- ssh.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ssh.c b/ssh.c index 1514e185c..a8a806b8c 100644 --- a/ssh.c +++ b/ssh.c @@ -18,7 +18,7 @@ Modified to work with SSL by Niels Provos in Canada. */ #include "includes.h" -RCSID("$Id: ssh.c,v 1.6 1999/11/12 04:19:27 damien Exp $"); +RCSID("$Id: ssh.c,v 1.7 1999/11/13 02:28:45 damien Exp $"); #include "xmalloc.h" #include "ssh.h" @@ -599,17 +599,6 @@ main(int ac, char **av) /* Close connection cleanly after attack. */ cipher_attack_detected = packet_disconnect; - /* If requested, fork and let ssh continue in the background. */ - if (fork_after_authentication_flag) - { - int ret = fork(); - if (ret == -1) - fatal("fork failed: %.100s", strerror(errno)); - if (ret != 0) - exit(0); - setsid(); - } - /* Enable compression if requested. */ if (options.compression) { @@ -771,6 +760,17 @@ main(int ac, char **av) options.remote_forwards[i].host_port); } + /* If requested, fork and let ssh continue in the background. */ + if (fork_after_authentication_flag) + { + int ret = fork(); + if (ret == -1) + fatal("fork failed: %.100s", strerror(errno)); + if (ret != 0) + exit(0); + setsid(); + } + /* If a command was specified on the command line, execute the command now. Otherwise request the server to start a shell. */ if (buffer_len(&command) > 0) -- cgit v1.2.3