diff --git a/src/client.c b/src/client.c index 0cca1102..2b78add0 100644 --- a/src/client.c +++ b/src/client.c @@ -373,8 +373,9 @@ static void ssh_client_connection_callback(ssh_session session){ goto error; } /* from now, the packet layer is handling incoming packets */ - if(session->version==2) - session->socket_callbacks.data=ssh_packet_socket_callback; + if (session->version == 2) { + ssh_packet_register_socket_callback(session, session->socket); + } #ifdef WITH_SSH1 else session->socket_callbacks.data=ssh_packet_socket_callback1; diff --git a/src/packet.c b/src/packet.c index f0a77d48..33943aef 100644 --- a/src/packet.c +++ b/src/packet.c @@ -388,7 +388,6 @@ void ssh_packet_register_socket_callback(ssh_session session, ssh_socket s){ session->socket_callbacks.data=ssh_packet_socket_callback; session->socket_callbacks.connected=NULL; session->socket_callbacks.controlflow = ssh_packet_socket_controlflow_callback; - session->socket_callbacks.exception=NULL; session->socket_callbacks.userdata=session; ssh_socket_set_callbacks(s,&session->socket_callbacks); }