solve incorrect parsing of the ProxyCommand configuration option

Signed-off-by: Ran Park <bagayonghuming@gmail.com>
Reviewed-by: Jakub Jelen <jjelen@redhat.com>
(cherry picked from commit 9cd23fecac)
This commit is contained in:
Ran Park
2023-04-17 19:57:37 +08:00
committed by Jakub Jelen
parent dd0aaec67e
commit 8a037e9afe
2 changed files with 8 additions and 12 deletions

View File

@@ -32,7 +32,7 @@
#include "libssh/priv.h"
/* Returns the original string after skipping the leading whitespace
* and optional quotes.
* until finding LF.
* This is useful in case we need to get the rest of the line (for example
* external command).
*/
@@ -47,16 +47,7 @@ char *ssh_config_get_cmd(char **str)
break;
}
}
if (*c == '\"') {
for (r = ++c; *c; c++) {
if (*c == '\"') {
*c = '\0';
goto out;
}
}
}
for (r = c; *c; c++) {
if (*c == '\n') {
*c = '\0';

View File

@@ -925,7 +925,12 @@ ssh_execute_command(const char *command, socket_t in, socket_t out)
if (shell == NULL || shell[0] == '\0') {
/* Fall back to bash. There are issues with dash or
* whatever people tend to link to /bin/sh */
shell = "/bin/bash";
rc = access("/bin/bash", 0);
if (rc != 0) {
shell = "/bin/sh";
} else {
shell = "/bin/bash";
}
}
args[0] = shell;