From: Przemysław Tomaszewski
Date: Tue, 4 Sep 2018 06:44:34 +0000 (+0200)
Subject: sftp: don't send post-qoute sequence when retrying a connection
X-Git-Tag: curl-7_61_1~4
X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=daa3c450d066bbecd76272f7ada7e80f51e2fab5;p=thirdparty%2Fcurl.git
sftp: don't send post-qoute sequence when retrying a connection
Fixes #2939
Closes #2940
---
diff --git a/lib/ssh-libssh.c b/lib/ssh-libssh.c
index 002e1d96f0..88f3aa63e2 100644
--- a/lib/ssh-libssh.c
+++ b/lib/ssh-libssh.c
@@ -2390,8 +2390,9 @@ static CURLcode sftp_done(struct connectdata *conn, CURLcode status,
/* Post quote commands are executed after the SFTP_CLOSE state to avoid
errors that could happen due to open file handles during POSTQUOTE
operation */
- if(!status && !premature && conn->data->set.postquote) {
- sshc->nextstate = SSH_SFTP_POSTQUOTE_INIT;
+ if(!status && !premature && conn->data->set.postquote &&
+ !conn->bits.retry) {
+ sshc->nextstate = SSH_SFTP_POSTQUOTE_INIT;
state(conn, SSH_SFTP_CLOSE);
}
else
diff --git a/lib/ssh.c b/lib/ssh.c
index 0aaba9a6a8..a4b2ca43ab 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -3219,7 +3219,8 @@ static CURLcode sftp_done(struct connectdata *conn, CURLcode status,
/* Post quote commands are executed after the SFTP_CLOSE state to avoid
errors that could happen due to open file handles during POSTQUOTE
operation */
- if(!status && !premature && conn->data->set.postquote) {
+ if(!status && !premature && conn->data->set.postquote &&
+ !conn->bits.retry) {
sshc->nextstate = SSH_SFTP_POSTQUOTE_INIT;
state(conn, SSH_SFTP_CLOSE);
}