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-10-01 14:47:57 +0200
commit70c796e8b8dd58b05f790c217b98200b2a431994 (patch)
tree4cf953d6ef539092cff664b572e46fb3efd33c52 /src
parent5b7a696cf23bd3bf4743fff240f9729383c7df1d (diff)
downloadlibssh-70c796e8b8dd58b05f790c217b98200b2a431994.tar.gz
libssh-70c796e8b8dd58b05f790c217b98200b2a431994.tar.xz
libssh-70c796e8b8dd58b05f790c217b98200b2a431994.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");