Restrict member storage and invite connection candidates to admitted members
This commit is contained in:
1 parent
a35b09c4de
commit
635a03bbd8
3 files changed
+4
-4
No files matched your search
@@ -1006,7 +1006,7 @@ int chat_attachment_downloaded(struct UTUN_INSTANCE* inst, const char* channel,
|
||||
int rc = sqlite3_exec(db, "BEGIN IMMEDIATE /* attachment downloaded */", NULL, NULL, NULL);
|
||||
if (rc != SQLITE_OK) goto fail;
|
||||
char sql[512]; snprintf(sql, sizeof(sql), "SELECT downloaded,wanted,error,NOT EXISTS(SELECT 1 FROM peers_%s"
|
||||
" WHERE node_id=? AND source=0 AND deleted=0 AND length(adm_tags_sig)=64 AND json_extract(adm_tags,'$.storage')='yes')"
|
||||
" WHERE node_id=? AND source=0 AND deleted=0 AND admitted=1 AND length(adm_tags_sig)=64 AND json_extract(adm_tags,'$.storage')='yes')"
|
||||
" FROM attachment_keys WHERE channel=? AND message_id=?", channel);
|
||||
stage = "prepare download state"; rc = sqlite3_prepare_v2(db, sql, -1, &st, NULL);
|
||||
if (rc != SQLITE_OK) goto fail;
|
||||
|
||||
@@ -81,7 +81,7 @@ static int select_nodes(struct UTUN_INSTANCE* inst, uint64_t channel, struct inv
|
||||
DEBUG_ERROR(DEBUG_CATEGORY_CHAT_SYNC, "invite_build: inactive context/invalid channel=%llu", (unsigned long long)channel); return -1;
|
||||
}
|
||||
char sql[256];
|
||||
snprintf(sql, sizeof(sql), "SELECT node_id,node_type FROM peers_%llu WHERE source=0 AND deleted=0 ORDER BY node_id<0,node_id",
|
||||
snprintf(sql, sizeof(sql), "SELECT node_id,node_type FROM peers_%llu WHERE source=0 AND deleted=0 AND admitted=1 ORDER BY node_id<0,node_id",
|
||||
(unsigned long long)channel);
|
||||
sqlite3_stmt* st = NULL; result->priority = 4;
|
||||
int rc = sqlite3_prepare_v2(cc->db, sql, -1, &st, NULL);
|
||||
|
||||
@@ -109,7 +109,7 @@ int member_files_member(struct UTUN_INSTANCE* inst, uint64_t group, uint64_t nod
|
||||
(unsigned long long)group, (unsigned long long)node, storage); return 0;
|
||||
}
|
||||
char sql[256];
|
||||
snprintf(sql, sizeof(sql), "SELECT adm_tags,source,adm_tags_sig,deleted FROM \"peers_%llu\" WHERE node_id=?",
|
||||
snprintf(sql, sizeof(sql), "SELECT adm_tags,source,adm_tags_sig,deleted FROM \"peers_%llu\" WHERE node_id=? AND admitted=1",
|
||||
(unsigned long long)group);
|
||||
sqlite3_stmt* st = NULL;
|
||||
if (sqlite3_prepare_v2(inst->topo_sqlite_db, sql, -1, &st, NULL) != SQLITE_OK) {
|
||||
@@ -334,7 +334,7 @@ static void mf_roots(struct mf_job* j) {
|
||||
*r = j->request; r->kind = MF_RESPONSE; r->type = MF_DIRECTORY; r->data_len = 0; r->more = 0;
|
||||
if (*r->path || r->command != MF_LIST) { r->status = MF_INVALID_PATH; return; }
|
||||
char sql[256];
|
||||
snprintf(sql, sizeof(sql), "SELECT node_id,join_ts,update_ts,adm_tags FROM \"peers_%llu\" WHERE deleted=0 AND source=0 ORDER BY node_id",
|
||||
snprintf(sql, sizeof(sql), "SELECT node_id,join_ts,update_ts,adm_tags FROM \"peers_%llu\" WHERE deleted=0 AND source=0 AND admitted=1 ORDER BY node_id",
|
||||
(unsigned long long)j->group);
|
||||
sqlite3_stmt* st = NULL; EVP_MD_CTX* hash = EVP_MD_CTX_new();
|
||||
if (!hash || EVP_DigestInit_ex(hash, EVP_sha256(), NULL) != 1 ||
|
||||
|
||||
Reference in new issue
Block a user