On Sun, Nov 18, 2018 at 10:03:20AM +1100, Darren Tucker wrote:
> On Sun, 18 Nov 2018 at 09:48, Darren Tucker <[email protected]> wrote:
> 
> > Was able to reproduce and confirmed by bisecting that the "redirect stderr
> > of ProxyCommands to /dev/null when ssh is started with ControlPersist"
> > change is where it breaks, but I don't understand what mosh is doing under
> > the covers that now doesn't work.  Will look further.
> >
> 
> Not sure if I understand the intent of the change correctly, but to me the
> logic looks inverted.
> 
>                 /*
>                  * Stderr is left for non-ControlPersist connections is so
>                  * error messages may be printed on the user's terminal.
>                  */
>                 if (debug_flag || !options.control_persist)
>                         stderr_null();
> 
> If nothing else the control_persist part should probably check if
> ControlPath is set too.

ok?

diff --git a/sshconnect.c b/sshconnect.c
index a700f467..ed86d0d9 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -163,7 +163,8 @@ ssh_proxy_fdpass_connect(struct ssh *ssh, const char *host, 
u_short port,
                 * Stderr is left for non-ControlPersist connections is so
                 * error messages may be printed on the user's terminal.
                 */
-               if (debug_flag || !options.control_persist)
+               if (!debug_flag && options.control_path != NULL &&
+                   options.control_persist)
                        stderr_null();
 
                argv[0] = shell;
@@ -245,7 +246,8 @@ ssh_proxy_connect(struct ssh *ssh, const char *host, 
u_short port,
                 * Stderr is left for non-ControlPersist connections is so
                 * error messages may be printed on the user's terminal.
                 */
-               if (debug_flag || !options.control_persist)
+               if (!debug_flag && options.control_path != NULL &&
+                   options.control_persist)
                        stderr_null();
 
                argv[0] = shell;

-- 
Darren Tucker (dtucker at dtucker.net)
GPG key 11EAA6FA / A86E 3E07 5B19 5880 E860  37F4 9357 ECEF 11EA A6FA (new)
    Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.

Reply via email to