diff options
author | Ryo Nakamura <upa@haeena.net> | 2023-08-04 13:31:10 +0900 |
---|---|---|
committer | Ryo Nakamura <upa@haeena.net> | 2023-08-04 13:31:10 +0900 |
commit | 518aa42208969566aa26cf82a40d1ecb6358684a (patch) | |
tree | 676bd0795f25966719d1d242ed8c9a18e57597b8 /src/ssh.c | |
parent | 3b26c7c7191c44ddd8840a803b603cd2f60ac059 (diff) |
add -F ssh_config option
Diffstat (limited to 'src/ssh.c')
-rw-r--r-- | src/ssh.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -73,6 +73,12 @@ static int ssh_set_opts(ssh_session ssh, struct mscp_ssh_opts *opts) } } + if (is_specified(opts->config) && + ssh_options_parse_config(ssh, opts->config) < 0) { + mscp_set_error("failed to parse ssh_config: %s", opts->config); + return -1; + } + return 0; } @@ -149,14 +155,14 @@ static ssh_session ssh_init_session(const char *sshdst, struct mscp_ssh_opts *op cb.userdata = opts; ssh_set_callbacks(ssh, &cb); - if (ssh_set_opts(ssh, opts) != 0) - goto free_out; - if (ssh_options_set(ssh, SSH_OPTIONS_HOST, sshdst) != SSH_OK) { mscp_set_error("failed to set destination host"); goto free_out; } + if (ssh_set_opts(ssh, opts) != 0) + goto free_out; + if (ssh_connect(ssh) != SSH_OK) { mscp_set_error("failed to connect ssh server: %s", ssh_get_error(ssh)); goto free_out; |