mirror of https://github.com/wolfSSL/wolfssh.git
The remaining teardown sites spun wolfSSH_worker() ten times after wolfSSH_shutdown(), the loop the client and the echoserver just replaced. The clients now send a disconnect and drain, and wolfsshd half closes and drains like the echoserver. - sftpclient.c, scpclient.c, portfwd.c and the wolfssh app call SendDisconnectAndDrain() and treat either give-up as a clean close. - scpclient.c and the wolfssh app report an unexpected shutdown result, as the client does. - the wolfssh app waits for the channel close before draining, as the client does, and fails on an error that broke the wait. - wolfsshd drained by hand after wolfSSH_free(), with no bound on a peer that never hung up. HalfCloseAndDrain() bounds it at ten seconds, and a peer that let the login grace time run out is not drained. |
||
|---|---|---|
| .. | ||
| include.am | ||
| scpclient.c | ||
| scpclient.h | ||