wolfssh/apps
John Safranek 2a15157cf6 scp, apps: correct three ssh->error reads
ReceiveScpConfirmation() takes a WS_EXTDATA off ScpStreamRead()'s
return, the rule ssh.h now states for reading an event.
FlushQueuedSend() samples the owed write with the session still
locked, since the peer reader thread writes ssh->error too, and
reports a send that failed there over the event it rode in on.

- A pass that delivers stderr while its flush short-writes returns
  WS_EXTDATA with WS_WANT_WRITE in ssh->error, so the confirmation
  read aborted the transfer with the stderr undrained.
- wolfSSH_stream_read() on the reader thread clears ssh->error with
  this thread's packet still queued, which ended the flush early and
  reported it a success.
- An event return with a hard send error latched collapsed to
  WS_SUCCESS, telling the caller a queued packet reached a socket
  that was gone.
2026-09-14 10:40:48 -07:00
..
wolfssh scp, apps: correct three ssh->error reads 2026-09-14 10:40:48 -07:00
wolfsshd scp, test.h, apps, examples: wait to write and route on the return 2026-09-14 10:40:48 -07:00
include.am
wolfssh-options.c