aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2013-09-16 10:37:09 +0200
committerAndreas Schneider <asn@cryptomilk.org>2013-09-16 10:38:14 +0200
commit20658abc78e908ec704809c2f3a140c4e26e9ef8 (patch)
tree78dd7b94c6a0b499845564b8c229df6f4d97b3f9 /src
parent8823dee51a95ca9d46d005f4f0a4b2c3f827a78b (diff)
downloadlibssh-20658abc78e908ec704809c2f3a140c4e26e9ef8.tar.gz
libssh-20658abc78e908ec704809c2f3a140c4e26e9ef8.tar.xz
libssh-20658abc78e908ec704809c2f3a140c4e26e9ef8.zip
session: Remove obsolete status variables.
BUG: https://red.libssh.org/issues/121
Diffstat (limited to 'src')
-rw-r--r--src/session.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/session.c b/src/session.c
index 18c5aa36..0946f4e3 100644
--- a/src/session.c
+++ b/src/session.c
@@ -575,7 +575,7 @@ int ssh_get_status(ssh_session session) {
socketstate = ssh_socket_get_status(session->socket);
- if (session->closed) {
+ if (session->session_state == SSH_SESSION_STATE_DISCONNECTED) {
r |= SSH_CLOSED;
}
if (socketstate & SSH_READ_PENDING) {
@@ -584,7 +584,8 @@ int ssh_get_status(ssh_session session) {
if (socketstate & SSH_WRITE_PENDING) {
r |= SSH_WRITE_PENDING;
}
- if ((session->closed && (socketstate & SSH_CLOSED_ERROR)) ||
+ if ((session->session_state == SSH_SESSION_STATE_DISCONNECTED &&
+ (socketstate & SSH_CLOSED_ERROR)) ||
session->session_state == SSH_SESSION_STATE_ERROR) {
r |= SSH_CLOSED_ERROR;
}
@@ -608,12 +609,9 @@ const char *ssh_get_disconnect_message(ssh_session session) {
return NULL;
}
- if (!session->closed) {
+ if (session->session_state != SSH_SESSION_STATE_DISCONNECTED) {
ssh_set_error(session, SSH_REQUEST_DENIED,
"Connection not closed yet");
- } else if(session->closed_by_except) {
- ssh_set_error(session, SSH_REQUEST_DENIED,
- "Connection closed by socket error");
} else if(!session->discon_msg) {
ssh_set_error(session, SSH_FATAL,
"Connection correctly closed but no disconnect message");