diff options
| author | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-05-10 22:32:52 +0200 |
|---|---|---|
| committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-05-10 22:32:52 +0200 |
| commit | bae409071522ae65c02bc36fccb87ee2a7179edf (patch) | |
| tree | 0481d1b62e6281b8de5b15ea78dd76ce0a681c9b /libssh/config.c | |
| parent | 403ded1e978f716769ade6d099b2419e4fceaff7 (diff) | |
Backport of the proxycommand feature
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 e3a00ca6..1af4c6c7 100644 --- a/libssh/config.c +++ b/libssh/config.c @@ -38,7 +38,8 @@ enum ssh_config_opcode_e { SOC_CIPHERS, SOC_COMPRESSION, SOC_TIMEOUT, - SOC_PROTOCOL + SOC_PROTOCOL, + SOC_PROXYCOMMAND }; struct ssh_config_keyword_table_s { @@ -56,6 +57,7 @@ static struct ssh_config_keyword_table_s ssh_config_keyword_table[] = { { "compression", SOC_COMPRESSION }, { "connecttimeout", SOC_TIMEOUT }, { "protocol", SOC_PROTOCOL }, + { "proxycommand", SOC_PROXYCOMMAND }, { NULL, SOC_UNSUPPORTED } }; @@ -274,6 +276,12 @@ static int ssh_config_parse_line(ssh_session session, const char *line, ssh_options_set(session, SSH_OPTIONS_TIMEOUT, &i); } 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; |
