aboutsummaryrefslogtreecommitdiff
path: root/lib/ssh.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ssh.c')
-rw-r--r--lib/ssh.c36
1 files changed, 10 insertions, 26 deletions
diff --git a/lib/ssh.c b/lib/ssh.c
index b45134e73..6a4b51ae3 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -1137,10 +1137,7 @@ CURLcode Curl_scp_do(struct connectdata *conn, bool *done)
#if (LIBSSH2_APINO >= 200706012030)
do {
scp->ssh_channel = libssh2_scp_send_ex(scp->ssh_session, scp->path,
- LIBSSH2_SFTP_S_IRUSR|
- LIBSSH2_SFTP_S_IWUSR|
- LIBSSH2_SFTP_S_IRGRP|
- LIBSSH2_SFTP_S_IROTH,
+ conn->data->set.new_file_perms,
conn->data->set.infilesize, 0, 0);
if (!scp->ssh_channel &&
(libssh2_session_last_errno(scp->ssh_session) !=
@@ -1150,10 +1147,7 @@ CURLcode Curl_scp_do(struct connectdata *conn, bool *done)
} while (!scp->ssh_channel);
#else /* !(LIBSSH2_APINO >= 200706012030) */
scp->ssh_channel = libssh2_scp_send_ex(scp->ssh_session, scp->path,
- LIBSSH2_SFTP_S_IRUSR|
- LIBSSH2_SFTP_S_IWUSR|
- LIBSSH2_SFTP_S_IRGRP|
- LIBSSH2_SFTP_S_IROTH,
+ conn->data->set.new_file_perms,
conn->data->set.infilesize, 0, 0);
if (!scp->ssh_channel)
return CURLE_FAILED_INIT;
@@ -1363,8 +1357,7 @@ CURLcode Curl_sftp_do(struct connectdata *conn, bool *done)
sftp->sftp_handle =
libssh2_sftp_open(sftp->sftp_session, sftp->path,
LIBSSH2_FXF_WRITE|LIBSSH2_FXF_CREAT|LIBSSH2_FXF_TRUNC,
- LIBSSH2_SFTP_S_IRUSR|LIBSSH2_SFTP_S_IWUSR|
- LIBSSH2_SFTP_S_IRGRP|LIBSSH2_SFTP_S_IROTH);
+ data->set.new_file_perms);
if (!sftp->sftp_handle &&
(libssh2_session_last_errno(sftp->ssh_session) !=
LIBSSH2_ERROR_EAGAIN)) {
@@ -1381,8 +1374,7 @@ CURLcode Curl_sftp_do(struct connectdata *conn, bool *done)
sftp->sftp_handle = libssh2_sftp_open(sftp->sftp_session,
sftp->path,
LIBSSH2_FXF_WRITE|LIBSSH2_FXF_CREAT|LIBSSH2_FXF_TRUNC,
- LIBSSH2_SFTP_S_IRUSR|LIBSSH2_SFTP_S_IWUSR|
- LIBSSH2_SFTP_S_IRGRP|LIBSSH2_SFTP_S_IROTH);
+ data->set.new_file_perms);
if (!sftp->sftp_handle &&
(libssh2_session_last_errno(sftp->ssh_session) !=
LIBSSH2_ERROR_EAGAIN)) {
@@ -1406,8 +1398,7 @@ CURLcode Curl_sftp_do(struct connectdata *conn, bool *done)
sftp->sftp_handle =
libssh2_sftp_open(sftp->sftp_session, sftp->path,
LIBSSH2_FXF_WRITE|LIBSSH2_FXF_CREAT|LIBSSH2_FXF_TRUNC,
- LIBSSH2_SFTP_S_IRUSR|LIBSSH2_SFTP_S_IWUSR|
- LIBSSH2_SFTP_S_IRGRP|LIBSSH2_SFTP_S_IROTH);
+ data->set.new_file_perms);
if (!sftp->sftp_handle) {
err = libssh2_sftp_last_error(sftp->sftp_session);
if (((err == LIBSSH2_FX_NO_SUCH_FILE) ||
@@ -1420,8 +1411,7 @@ CURLcode Curl_sftp_do(struct connectdata *conn, bool *done)
if (res == 0) {
sftp->sftp_handle = libssh2_sftp_open(sftp->sftp_session, sftp->path,
LIBSSH2_FXF_WRITE|LIBSSH2_FXF_CREAT|LIBSSH2_FXF_TRUNC,
- LIBSSH2_SFTP_S_IRUSR|LIBSSH2_SFTP_S_IWUSR|
- LIBSSH2_SFTP_S_IRGRP|LIBSSH2_SFTP_S_IROTH);
+ data->set.new_file_perms);
}
}
if (!sftp->sftp_handle) {
@@ -1636,8 +1626,7 @@ CURLcode Curl_sftp_do(struct connectdata *conn, bool *done)
do {
sftp->sftp_handle =
libssh2_sftp_open(sftp->sftp_session, sftp->path, LIBSSH2_FXF_READ,
- LIBSSH2_SFTP_S_IRUSR|LIBSSH2_SFTP_S_IWUSR|
- LIBSSH2_SFTP_S_IRGRP|LIBSSH2_SFTP_S_IROTH);
+ data->set.new_file_perms);
if (!sftp->sftp_handle &&
(libssh2_session_last_errno(sftp->ssh_session) !=
LIBSSH2_ERROR_EAGAIN)) {
@@ -1650,8 +1639,7 @@ CURLcode Curl_sftp_do(struct connectdata *conn, bool *done)
#else /* !(LIBSSH2_APINO >= 200706012030) */
sftp->sftp_handle =
libssh2_sftp_open(sftp->sftp_session, sftp->path, LIBSSH2_FXF_READ,
- LIBSSH2_SFTP_S_IRUSR|LIBSSH2_SFTP_S_IWUSR|
- LIBSSH2_SFTP_S_IRGRP|LIBSSH2_SFTP_S_IROTH);
+ data->set.new_file_perms);
if (!sftp->sftp_handle) {
err = libssh2_sftp_last_error(sftp->sftp_session);
failf(conn->data, "Could not open remote file for reading: %s",
@@ -2304,15 +2292,11 @@ static CURLcode sftp_create_dirs(struct connectdata *conn) {
/* 'mode' - parameter is preliminary - default to 0644 */
#if (LIBSSH2_APINO >= 200706012030)
while ((rc = libssh2_sftp_mkdir(sftp->sftp_session, sftp->path,
- LIBSSH2_SFTP_S_IRWXU |
- LIBSSH2_SFTP_S_IRGRP | LIBSSH2_SFTP_S_IXGRP |
- LIBSSH2_SFTP_S_IROTH | LIBSSH2_SFTP_S_IXOTH)) ==
+ conn->data->set.new_directory_perms)) ==
LIBSSH2_ERROR_EAGAIN);
#else /* !(LIBSSH2_APINO >= 200706012030) */
rc = libssh2_sftp_mkdir(sftp->sftp_session, sftp->path,
- LIBSSH2_SFTP_S_IRWXU |
- LIBSSH2_SFTP_S_IRGRP | LIBSSH2_SFTP_S_IXGRP |
- LIBSSH2_SFTP_S_IROTH | LIBSSH2_SFTP_S_IXOTH);
+ conn->data->set.new_directory_perms);
#endif /* !(LIBSSH2_APINO >= 200706012030) */
*slash_pos = '/';
++slash_pos;