version 1.235, 2021/09/16 15:11:19 |
version 1.236, 2021/09/16 15:22:22 |
|
|
conn = do_sftp_connect(host, suser, sport, |
conn = do_sftp_connect(host, suser, sport, |
sftp_direct, &remin, &remout, &do_cmd_pid); |
sftp_direct, &remin, &remout, &do_cmd_pid); |
if (conn == NULL) { |
if (conn == NULL) { |
error("Couldn't make sftp connection " |
error("sftp connection failed"); |
"to server"); |
|
++errs; |
++errs; |
continue; |
continue; |
} |
} |
|
|
if (can_expand_path(conn)) |
if (can_expand_path(conn)) |
return do_expand_path(conn, path); |
return do_expand_path(conn, path); |
/* No protocol extension */ |
/* No protocol extension */ |
error("~user paths are not currently supported"); |
error("~user paths are not supported for this server"); |
return NULL; |
return NULL; |
} |
} |
|
|
|
|
debug3_f("copying remote %s to local %s", abs_src, dst); |
debug3_f("copying remote %s to local %s", abs_src, dst); |
if ((r = remote_glob(conn, abs_src, GLOB_MARK, NULL, &g)) != 0) { |
if ((r = remote_glob(conn, abs_src, GLOB_MARK, NULL, &g)) != 0) { |
if (r == GLOB_NOSPACE) |
if (r == GLOB_NOSPACE) |
error("Too many glob matches for \"%s\".", abs_src); |
error("%s: too many glob matches", abs_src); |
else |
else |
error("File \"%s\" not found.", abs_src); |
error("%s: %s", abs_src, strerror(ENOENT)); |
err = -1; |
err = -1; |
goto out; |
goto out; |
} |
} |
|
|
|
|
targetisdir = remote_is_dir(to, target); |
targetisdir = remote_is_dir(to, target); |
if (!targetisdir && targetshouldbedirectory) { |
if (!targetisdir && targetshouldbedirectory) { |
error("Destination path \"%s\" is not a directory", target); |
error("%s: destination is not a directory", target); |
err = -1; |
err = -1; |
goto out; |
goto out; |
} |
} |
|
|
debug3_f("copying remote %s to remote %s", abs_src, target); |
debug3_f("copying remote %s to remote %s", abs_src, target); |
if ((r = remote_glob(from, abs_src, GLOB_MARK, NULL, &g)) != 0) { |
if ((r = remote_glob(from, abs_src, GLOB_MARK, NULL, &g)) != 0) { |
if (r == GLOB_NOSPACE) |
if (r == GLOB_NOSPACE) |
error("Too many glob matches for \"%s\".", abs_src); |
error("%s: too many glob matches", abs_src); |
else |
else |
error("File \"%s\" not found.", abs_src); |
error("%s: %s", abs_src, strerror(ENOENT)); |
err = -1; |
err = -1; |
goto out; |
goto out; |
} |
} |