diff options
author | Daniel Stenberg <daniel@haxx.se> | 2020-11-13 00:37:21 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-11-13 11:32:46 +0100 |
commit | 0362944a2eeee417c61c458e9000806dafe475d4 (patch) | |
tree | 214d5ff2e0d91b968f703b8fd11cc4e2459ac707 /src/tool_operate.c | |
parent | 71ec4e7d76fed67e9981227963cee28cd25ba039 (diff) | |
download | curl-0362944a2eeee417c61c458e9000806dafe475d4.tar.gz |
curl: only warn not fail, if not finding the home dir
... as there's no good reason to error out completely.
Reported-by: Andreas Fischer
Fixes #6200
Closes #6201
Diffstat (limited to 'src/tool_operate.c')
-rw-r--r-- | src/tool_operate.c | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c index bc9dc058b..90522e1e9 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -1711,30 +1711,25 @@ static CURLcode single_transfer(struct GlobalConfig *global, if(config->path_as_is) my_setopt(curl, CURLOPT_PATH_AS_IS, 1L); - if(built_in_protos & (CURLPROTO_SCP|CURLPROTO_SFTP)) { - if(!config->insecure_ok) { - char *home; - char *file; - result = CURLE_FAILED_INIT; - home = homedir(NULL); - if(home) { - file = aprintf("%s/.ssh/known_hosts", home); - if(file) { - /* new in curl 7.19.6 */ - result = res_setopt_str(curl, CURLOPT_SSH_KNOWNHOSTS, file); - curl_free(file); - if(result == CURLE_UNKNOWN_OPTION) - /* libssh2 version older than 1.1.1 */ - result = CURLE_OK; - } - Curl_safefree(home); - } - else { - errorf(global, "Failed to figure out user's home dir!"); + if((built_in_protos & (CURLPROTO_SCP|CURLPROTO_SFTP)) && + !config->insecure_ok) { + char *home = homedir(NULL); + if(home) { + char *file = aprintf("%s/.ssh/known_hosts", home); + if(file) { + /* new in curl 7.19.6 */ + result = res_setopt_str(curl, CURLOPT_SSH_KNOWNHOSTS, file); + curl_free(file); + if(result == CURLE_UNKNOWN_OPTION) + /* libssh2 version older than 1.1.1 */ + result = CURLE_OK; } + Curl_safefree(home); if(result) break; } + else + warnf(global, "No home dir, couldn't find known_hosts file!"); } if(config->no_body || config->remote_time) { |