diff options
Diffstat (limited to 'libssh/config.c')
-rw-r--r-- | libssh/config.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libssh/config.c b/libssh/config.c index 375ed71..6c00c13 100644 --- a/libssh/config.c +++ b/libssh/config.c @@ -41,7 +41,8 @@ enum ssh_config_opcode_e { SOC_TIMEOUT, SOC_PROTOCOL, SOC_HOSTKEYCHECK, - SOC_KNOWNHOSTS + SOC_KNOWNHOSTS, + SOC_PROXYCOMMAND }; struct ssh_config_keyword_table_s { @@ -61,6 +62,7 @@ static struct ssh_config_keyword_table_s ssh_config_keyword_table[] = { { "protocol", SOC_PROTOCOL }, { "stricthostkeychecking", SOC_HOSTKEYCHECK }, { "userknownhostsfile", SOC_KNOWNHOSTS }, + { "proxycommand", SOC_PROXYCOMMAND }, { NULL, SOC_UNSUPPORTED } }; @@ -294,6 +296,12 @@ static int ssh_config_parse_line(ssh_session session, const char *line, ssh_options_set(session, SSH_OPTIONS_KNOWNHOSTS, p); } break; + case SOC_PROXYCOMMAND: + p = ssh_config_get_str(&s, NULL); + if (p && *parsing) { + ssh_options_set(session, SSH_OPTIONS_PROXYCOMMAND, p); + } + break; case SOC_UNSUPPORTED: fprintf(stderr, "Unsupported option: %s, line: %d\n", keyword, count); break; |