aboutsummaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2013-11-06 12:45:45 -0500
committerAndreas Schneider <asn@cryptomilk.org>2013-11-09 12:25:41 +0100
commita8dc67ded863716c3b8cfa02739a73acecaea41c (patch)
tree2b27a5d96737a6e25f41f4601c3046e28c9f98b3 /src/client.c
parentaa33d18930f5086f68fdda8e1ec9570ce694ff95 (diff)
downloadlibssh-a8dc67ded863716c3b8cfa02739a73acecaea41c.tar.gz
libssh-a8dc67ded863716c3b8cfa02739a73acecaea41c.tar.xz
libssh-a8dc67ded863716c3b8cfa02739a73acecaea41c.zip
client: If we have a pre-connected FD, set state to SOCKET_CONNECTED
Otherwise applications providing their own fd end up tripping an assertion, since the session is just in _CONNECTING. Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/client.c')
-rw-r--r--src/client.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c
index 1fb963d7..35c396aa 100644
--- a/src/client.c
+++ b/src/client.c
@@ -504,6 +504,7 @@ int ssh_connect(ssh_session session) {
session->socket_callbacks.exception=ssh_socket_exception_callback;
session->socket_callbacks.userdata=session;
if (session->opts.fd != SSH_INVALID_SOCKET) {
+ session->session_state=SSH_SESSION_STATE_SOCKET_CONNECTED;
ssh_socket_set_fd(session->socket, session->opts.fd);
ret=SSH_OK;
#ifndef _WIN32