Skip to content

Commit

Permalink
single_transfer: only warn if not finding the home dir
Browse files Browse the repository at this point in the history
... as there should be no reason to error out completely.

Reported-by: Andreas Fischer
Fixes #6200
  • Loading branch information
bagder committed Nov 13, 2020
1 parent 760e854 commit 84a8488
Showing 1 changed file with 16 additions and 20 deletions.
36 changes: 16 additions & 20 deletions src/tool_operate.c
Original file line number Diff line number Diff line change
Expand Up @@ -1711,30 +1711,26 @@ 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 *file;
char *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);
if(result)
break;
}
else
warnf(global, "No home dir, couldn't find known_hosts file!");
}

if(config->no_body || config->remote_time) {
Expand Down

0 comments on commit 84a8488

Please sign in to comment.