wolfssh/src
John Safranek ee7fa04bec ssh: flush any queued output at teardown
wolfSSH_shutdown() flushes whatever a short send left in the output
buffer, not just a queued disconnect. A rejected auth's
USERAUTH_FAILURE has no channel, and DoChannelClose() retires the
channel as soon as the close is bundled, so neither had anything
left to carry the retry.

- The gate still refuses a flush once the peer has disconnected,
  unless our own disconnect is the thing queued.
- A flush that finishes on a live session clears the WS_WANT_WRITE
  the short send latched, as the disconnected path already did.
- ssh.h documents the widened flush and the WS_WANT_WRITE a short
  one leaves wolfSSH_shutdown() returning.
- Tests cover the rejected auth with no channel and the close whose
  channel DoChannelClose() already retired.
- A flush that short-sends on a live channel leaves the teardown
  queued behind it. The retry adds no second EOF or close, and skips
  the close wait while its own flush is still short.
- A teardown send that drained the leftovers settles the flush; one
  that failed outranks it, since a reset leaves the buffer intact.
2026-09-03 16:12:17 -05:00
..
agent.c
…
certman.c Fix the cppcheck findings 2026-08-28 18:12:59 -05:00
include.am
…
internal.c Refuse a session channel open on a client 2026-09-03 10:40:16 -05:00
io.c
…
keygen.c internal: Refactor and gate ML-DSA composite key handling 2026-09-02 15:35:09 -07:00
log.c
…
misc.c
…
ossh.c internal: Refactor and gate ML-DSA composite key handling 2026-09-02 15:35:09 -07:00
port.c wolfsftp, port: apply the attributes SETSTAT and FSETSTAT acknowledge 2026-09-02 08:42:36 -07:00
ssh.c ssh: flush any queued output at teardown 2026-09-03 16:12:17 -05:00
wolfscp.c Carry the EOF status through SFTP and SCP 2026-08-31 11:53:29 -05:00
wolfsftp.c wolfsftp: Improve POSIX and Windows write/append handling 2026-09-02 15:35:09 -07:00
wolfterm.c
…