ssb: Fix trying to connect to the same stored connection over and over.
This commit is contained in:
@ -1356,7 +1356,8 @@ bool tf_ssb_connection_is_client(tf_ssb_connection_t* connection)
|
||||
|
||||
bool tf_ssb_connection_is_connected(tf_ssb_connection_t* connection)
|
||||
{
|
||||
return connection->state == k_tf_ssb_state_verified || connection->state == k_tf_ssb_state_server_verified;
|
||||
return (connection->state == k_tf_ssb_state_verified || connection->state == k_tf_ssb_state_server_verified) &&
|
||||
!connection->is_closing;
|
||||
}
|
||||
|
||||
bool tf_ssb_connection_is_closing(tf_ssb_connection_t* connection)
|
||||
@ -2795,8 +2796,6 @@ static tf_ssb_connection_t* _tf_ssb_connection_create_internal(tf_ssb_t* ssb, co
|
||||
connection->next = ssb->connections;
|
||||
ssb->connections = connection;
|
||||
ssb->connections_count++;
|
||||
_tf_ssb_notify_connections_changed(ssb, k_tf_ssb_change_create, connection);
|
||||
|
||||
return connection;
|
||||
}
|
||||
|
||||
@ -2847,6 +2846,7 @@ static tf_ssb_connection_t* _tf_ssb_connection_create(
|
||||
}
|
||||
|
||||
memcpy(connection->serverpub, public_key, sizeof(connection->serverpub));
|
||||
_tf_ssb_notify_connections_changed(ssb, k_tf_ssb_change_create, connection);
|
||||
|
||||
connection->tcp.data = connection;
|
||||
uv_tcp_init(ssb->loop, &connection->tcp);
|
||||
@ -2928,6 +2928,7 @@ tf_ssb_connection_t* tf_ssb_connection_tunnel_create(tf_ssb_t* ssb, const char*
|
||||
{
|
||||
tunnel->state = k_tf_ssb_state_server_wait_hello;
|
||||
}
|
||||
_tf_ssb_notify_connections_changed(ssb, k_tf_ssb_change_create, connection);
|
||||
|
||||
return tunnel;
|
||||
}
|
||||
@ -3058,6 +3059,7 @@ static void _tf_ssb_on_connection(uv_stream_t* stream, int status)
|
||||
}
|
||||
|
||||
connection->state = k_tf_ssb_state_server_wait_hello;
|
||||
_tf_ssb_notify_connections_changed(ssb, k_tf_ssb_change_create, connection);
|
||||
_tf_ssb_connection_read_start(connection);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user