diff --git a/src/ssb.c b/src/ssb.c index 8dc25934..bfc9159a 100644 --- a/src/ssb.c +++ b/src/ssb.c @@ -4300,7 +4300,7 @@ void tf_ssb_sync_start(tf_ssb_t* ssb) bool tf_ssb_tunnel_create(tf_ssb_t* ssb, const char* portal_id, const char* target_id, int connect_flags) { tf_ssb_connection_t* connection = tf_ssb_connection_get(ssb, portal_id); - if (connection) + if (connection && !tf_ssb_connection_get(ssb, target_id)) { JSContext* context = ssb->context; int32_t request_number = tf_ssb_connection_next_request_number(connection); @@ -4320,8 +4320,9 @@ bool tf_ssb_tunnel_create(tf_ssb_t* ssb, const char* portal_id, const char* targ JS_FreeValue(context, message); tf_ssb_connection_tunnel_create(ssb, portal_id, request_number, target_id, connect_flags); + return true; } - return connection != NULL; + return false; } int tf_ssb_connection_get_flags(tf_ssb_connection_t* connection)