This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 0efb0ef318856cd10e59843d4d0610573f80afa9 Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Jun 29 14:33:26 2020 +0200 src/x2goclient-network-ssh.c: rework master connection spawn code to ignore stderr if the bug shim is set. --- src/x2goclient-network-ssh.c | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/x2goclient-network-ssh.c b/src/x2goclient-network-ssh.c index 96ec797..e873c7e 100644 --- a/src/x2goclient-network-ssh.c +++ b/src/x2goclient-network-ssh.c @@ -953,7 +953,16 @@ static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent g_printf ("Launching!\n"); GError *ssh_err = NULL; - self->master_conn = g_subprocess_newv ((const gchar* const*)(ssh_cmd->pdata), (G_SUBPROCESS_FLAGS_STDOUT_PIPE | G_SUBPROCESS_FLAGS_STDERR_PIPE), &ssh_err); + GSubprocessFlags flags = G_SUBPROCESS_FLAGS_STDOUT_PIPE; + + if (self->openssh_bugs->backgrounding_keeps_stderr) { + flags |= G_SUBPROCESS_FLAGS_STDERR_SILENCE; + } + else { + flags |= G_SUBPROCESS_FLAGS_STDERR_PIPE; + } + + self->master_conn = g_subprocess_newv ((const gchar* const*)(ssh_cmd->pdata), flags, &ssh_err); ret = (self->master_conn != NULL); @@ -972,9 +981,24 @@ static gboolean x2goclient_network_ssh_parent_connect (X2GoClientNetwork *parent } else { gsize ssh_stdout_size = 0, ssh_stderr_size = 0; - const gchar *ssh_stdout_str = g_bytes_get_data (ssh_stdout, &ssh_stdout_size), - *ssh_stderr_str = g_bytes_get_data (ssh_stderr, &ssh_stderr_size); - g_printf ("Stdout:\n>>>%.*s<<<\nStderr:\n>>>%.*s<<<\n", ssh_stdout_size, ssh_stdout_str, ssh_stderr_size, ssh_stderr_str); + + const gchar *ssh_stdout_str = NULL, *ssh_stderr_str = NULL; + if (ssh_stdout) { + ssh_stdout_str = g_bytes_get_data (ssh_stdout, &ssh_stdout_size); + } + else { + g_log (NULL, G_LOG_LEVEL_WARNING, "Master connection does not have stdout pipe attached, but we expect it to be available. Ignoring output on stdout."); + } + + if (ssh_stderr) { + ssh_stderr_str = g_bytes_get_data (ssh_stderr, &ssh_stderr_size); + } + else if (!(self->openssh_bugs->backgrounding_keeps_stderr)) { + g_log (NULL, G_LOG_LEVEL_WARNING, "Master connection does not have stderr pipe attached, but we expect it to be available. Ignoring output on stderr."); + } + + x2goclient_network_ssh_log_std_str (ssh_stdout_str, ssh_stdout_size, 0); + x2goclient_network_ssh_log_std_str (ssh_stderr_str, ssh_stderr_size, 1); g_bytes_unref (ssh_stdout); g_bytes_unref (ssh_stderr); -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git