diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2011-08-26 23:56:49 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-08-27 00:00:28 +0200 |
commit | ac445a1e189f2bb5730dec6f6b7205a53defd224 (patch) | |
tree | b83e2e658950009ed65a73c44e13e4a1b777aef6 | |
parent | b7a3d41baf2b3b7c8340966724f194fa8d0f6222 (diff) | |
download | libssh-ac445a1e189f2bb5730dec6f6b7205a53defd224.tar.gz libssh-ac445a1e189f2bb5730dec6f6b7205a53defd224.tar.xz libssh-ac445a1e189f2bb5730dec6f6b7205a53defd224.zip |
auth: Handle request service timeout in blocking mode.
(cherry picked from commit e5e673bafe18032df3b6b7634410a6795e809f2a)
-rw-r--r-- | src/auth.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -68,8 +68,13 @@ static int ask_userauth(ssh_session session) { do { rc = ssh_service_request(session,"ssh-userauth"); if (ssh_is_blocking(session)) { - if(rc == SSH_AGAIN) - ssh_handle_packets(session, -2); + if (rc == SSH_AGAIN) { + int err = ssh_handle_packets(session, -2); + if (err != SSH_OK) { + /* error or timeout */ + return SSH_ERROR; + } + } } else { /* nonblocking */ ssh_handle_packets(session, 0); |