From daa3c450d066bbecd76272f7ada7e80f51e2fab5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Przemys=C5=82aw=20Tomaszewski?=
Date: Tue, 4 Sep 2018 08:44:34 +0200
Subject: [PATCH] sftp: don't send post-qoute sequence when retrying a
connection
Fixes #2939
Closes #2940
---
lib/ssh-libssh.c | 5 +++--
lib/ssh.c | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/ssh-libssh.c b/lib/ssh-libssh.c
index 002e1d96f..88f3aa63e 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 0aaba9a6a..a4b2ca43a 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);
}