diff --git a/src/dm/dm_core.c b/src/dm/dm_core.c index 94e9f678d..6036fe18c 100644 --- a/src/dm/dm_core.c +++ b/src/dm/dm_core.c @@ -167,7 +167,7 @@ int dm_peer_role(struct UTUN_INSTANCE* inst, uint64_t peer, const char* role) { if (!topo_group_chat_allowed(inst, groups[i], peer)) continue; char sql[192], value[16]; snprintf(sql, sizeof(sql), "SELECT adm_tags FROM \"peers_%llu\"" - " WHERE node_id=? AND source=0 AND deleted=0 AND admitted=1", (unsigned long long)groups[i]); + " WHERE node_id=? AND record_state=0 AND source=0 AND deleted=0 AND admitted=1", (unsigned long long)groups[i]); sqlite3_stmt* st = NULL; int rc = sqlite3_prepare_v2(inst->topo_sqlite_db, sql, -1, &st, NULL); if (rc == SQLITE_OK) rc = sqlite3_bind_int64(st, 1, (sqlite3_int64)peer); diff --git a/src/dm/dm_mailbox.c b/src/dm/dm_mailbox.c index 95de8f112..d9eeb391c 100644 --- a/src/dm/dm_mailbox.c +++ b/src/dm/dm_mailbox.c @@ -391,7 +391,7 @@ static int mb_to_supernodes(struct dm_mb_state* mb, uint64_t recipient, uint64_t snprintf(ch, sizeof(ch), "%llu", (unsigned long long)ids[i]); if (!topo_group_chat_allowed(mb->inst, ids[i], mb->inst->node_id)) continue; snprintf(sql, sizeof(sql), "SELECT node_id,adm_tags FROM \"peers_%s\"" - " WHERE source=0 AND deleted=0 AND admitted=1 ORDER BY node_id", ch); + " WHERE record_state=0 AND source=0 AND deleted=0 AND admitted=1 ORDER BY node_id", ch); sqlite3_stmt* st = NULL; if (sqlite3_prepare_v2(mb->db, sql, -1, &st, NULL) != SQLITE_OK) { DEBUG_ERROR(DEBUG_CATEGORY_DM, "%s: supernode query failed: %s", MB_ID, sqlite3_errmsg(mb->db)); diff --git a/src/dm/dm_mailbox_media.c b/src/dm/dm_mailbox_media.c index dfb6e95ef..3555ffcb1 100644 --- a/src/dm/dm_mailbox_media.c +++ b/src/dm/dm_mailbox_media.c @@ -65,7 +65,7 @@ void dm_mailbox_media_receipt(struct UTUN_INSTANCE* inst, const uint8_t* receipt for (int i = 0; i < count; i++) { char sql[192]; if (!topo_group_chat_allowed(inst, groups[i], inst->node_id)) continue; - snprintf(sql, sizeof(sql), "SELECT node_id FROM \"peers_%llu\" WHERE source=0 AND deleted=0 AND admitted=1", + snprintf(sql, sizeof(sql), "SELECT node_id FROM \"peers_%llu\" WHERE record_state=0 AND source=0 AND deleted=0 AND admitted=1", (unsigned long long)groups[i]); sqlite3_stmt* st = dm_media_prepare(inst, sql); if (!st) continue; @@ -249,7 +249,7 @@ static uint64_t dm_job_storage(struct dm_mb_media* media, const uint8_t id[16]) char sql[384]; snprintf(sql, sizeof(sql), "SELECT p.node_id,p.adm_tags FROM \"peers_%llu\" p" " LEFT JOIN dm_media_holders h ON h.node_id=p.node_id AND h.id=?1" - " WHERE p.source=0 AND p.deleted=0 AND p.admitted=1 AND COALESCE(h.released,-1)=?2 ORDER BY p.node_id", + " WHERE p.record_state=0 AND p.source=0 AND p.deleted=0 AND p.admitted=1 AND COALESCE(h.released,-1)=?2 ORDER BY p.node_id", (unsigned long long)groups[i]); sqlite3_stmt* st = dm_media_prepare(inst, sql); if (!st) goto done;