ssb: Allow otherwise unrecognized incoming connections when not talking to strangers if they have a valid invite.

This commit is contained in:
2025-02-16 08:45:08 -05:00
parent 478bcd5d13
commit 1cfac3cae6
3 changed files with 38 additions and 7 deletions

View File

@ -1436,19 +1436,26 @@ static void _tf_ssb_connection_is_account_a_stranger_work(tf_ssb_connection_t* c
{
int64_t replication_hops = 2;
sqlite3* db = tf_ssb_acquire_db_reader(ssb);
tf_ssb_db_get_global_setting_int64(db, "replication_hops", &replication_hops);
connection->is_stranger = !tf_ssb_db_has_invite(db, id);
if (connection->is_stranger)
{
tf_ssb_db_get_global_setting_int64(db, "replication_hops", &replication_hops);
}
tf_ssb_release_db_reader(ssb, db);
const char** identities = tf_ssb_db_get_all_visible_identities(ssb, replication_hops);
for (int i = 0; identities[i]; i++)
if (connection->is_stranger)
{
if (strcmp(id, identities[i]) == 0)
const char** identities = tf_ssb_db_get_all_visible_identities(ssb, replication_hops);
for (int i = 0; identities[i]; i++)
{
connection->is_stranger = false;
break;
if (strcmp(id, identities[i]) == 0)
{
connection->is_stranger = false;
break;
}
}
tf_free((void*)identities);
}
tf_free((void*)identities);
}
}