]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Fix ssh started with ControlPersist incorrectly executing a
authordjm@openbsd.org <djm@openbsd.org>
Fri, 14 May 2021 03:09:48 +0000 (03:09 +0000)
committerDamien Miller <djm@mindrot.org>
Fri, 14 May 2021 03:10:50 +0000 (13:10 +1000)
shell when the -N (no shell) option was specified. bz3290 reported by Richard
Schwab; patch from markus@ ok me

OpenBSD-Commit-ID: ea1ea4af16a95687302f7690bdbe36a6aabf87e1

ssh.c

diff --git a/ssh.c b/ssh.c
index 35b6b517616e3336747a7cedaaa70b5076544cb7..65a0ee2a89f2af9a8e42ed6b3098e7a62b1dbf80 100644 (file)
--- a/ssh.c
+++ b/ssh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh.c,v 1.553 2021/04/03 05:40:39 djm Exp $ */
+/* $OpenBSD: ssh.c,v 1.554 2021/05/14 03:09:48 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -2147,7 +2147,7 @@ ssh_session2(struct ssh *ssh, const struct ssh_conn_info *cinfo)
                stdin_null_flag = 1;
                no_shell_flag = 1;
                tty_flag = 0;
-               if (!fork_after_authentication_flag)
+               if (!fork_after_authentication_flag && !no_shell_flag)
                        need_controlpersist_detach = 1;
                fork_after_authentication_flag = 1;
        }