Skip to content

Commit 509851e

Browse files
authored
Merge pull request #398 from ejohnstown/status
Echoserver SFTP status update
2 parents fa2123d + b94349b commit 509851e

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

examples/echoserver/echoserver.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1156,11 +1156,10 @@ static int sftp_worker(thread_ctx_t* threadCtx)
11561156
else
11571157
error = WS_FATAL_ERROR;
11581158

1159-
if (error == WS_WANT_READ || error == WS_WANT_WRITE)
1160-
ret = WS_WANT_READ;
1161-
1162-
if (error == WS_CHAN_RXD)
1163-
ret = WS_CHAN_RXD;
1159+
if (error == WS_WANT_READ || error == WS_WANT_WRITE ||
1160+
error == WS_CHAN_RXD || error == WS_REKEYING ||
1161+
error == WS_WINDOW_FULL)
1162+
ret = error;
11641163

11651164
if (ret == WS_FATAL_ERROR && error == 0) {
11661165
WOLFSSH_CHANNEL* channel =

src/wolfsftp.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1474,7 +1474,11 @@ int wolfSSH_SFTP_read(WOLFSSH* ssh)
14741474
if (wolfSSH_SFTP_buffer_idx(&state->buffer)
14751475
< wolfSSH_SFTP_buffer_size(&state->buffer)) {
14761476
ret = wolfSSH_worker(ssh, NULL);
1477-
if (ret != WS_SUCCESS && ssh->error == WS_WANT_READ) {
1477+
if (ret != WS_SUCCESS &&
1478+
(ssh->error == WS_WANT_READ ||
1479+
ssh->error == WS_REKEYING ||
1480+
ssh->error == WS_CHAN_RXD ||
1481+
ssh->error == WS_WINDOW_FULL)) {
14781482
/* was something there to read, try again */
14791483
state->toSend = 2;
14801484
return WS_FATAL_ERROR;

0 commit comments

Comments
 (0)