summaryrefslogtreecommitdiffstats
path: root/libssh/config.c
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2010-05-09 00:48:10 +0200
committerAris Adamantiadis <aris@0xbadc0de.be>2010-05-09 00:48:10 +0200
commitf31a14b7932ef4cc165ddd8f1f1a5b23eb21beb3 (patch)
tree2b4149ee9bbd8c264e63de9653d026f29d028a61 /libssh/config.c
parent7886326aa8a4ac2242c743bfe38f4266b0d24551 (diff)
downloadlibssh-f31a14b7932ef4cc165ddd8f1f1a5b23eb21beb3.tar.gz
libssh-f31a14b7932ef4cc165ddd8f1f1a5b23eb21beb3.tar.xz
libssh-f31a14b7932ef4cc165ddd8f1f1a5b23eb21beb3.zip
ssh_socket support for 2 fd + Proxyhost command
Diffstat (limited to 'libssh/config.c')
-rw-r--r--libssh/config.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libssh/config.c b/libssh/config.c
index 375ed715..6c00c130 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;