diff --git a/tests/test_chat_feedback.c b/tests/test_chat_feedback.c index f4349e9cc..409448bd8 100644 --- a/tests/test_chat_feedback.c +++ b/tests/test_chat_feedback.c @@ -111,7 +111,7 @@ static void add_member(struct UTUN_INSTANCE* dst, const struct UTUN_INSTANCE* au uint8_t x[32] = {3}, ed[32], join[64], tree[64], body[112]; public_key(owner_private, ed); assert(member_sync_build_join_msg(x, ed, author->node_id, author->my_keys.public_key, 1, body, sizeof(body)) == 112); assert(sc_ed25519_sign(author->my_ed25519_privkey, body, sizeof(body), join) == SC_OK); - assert(member_sync_sign_pubkey(owner_private, author->my_keys.public_key, tree) == 0); + assert(member_sync_sign_join(owner_private, join, tree) == 0); assert(member_sync_put(dst, channel, author->node_id, author->my_keys.public_key, author->my_ed25519_pubkey, join, 1, NULL, 0, "", NULL, NULL, 0, 0, tree) >= 0); } @@ -127,7 +127,9 @@ static void sign_record(const struct UTUN_INSTANCE* author, uint64_t channel, st static void check_author_rejection(struct UTUN_INSTANCE* inst) { sqlite3_stmt* st = NULL; uint8_t key[32], tree[64]; - assert(member_sync_sign_pubkey(owner_private, inst->my_keys.public_key, tree) == 0); + uint8_t join[64]; uint64_t timestamp; + assert(!topo_node_sqlite_member_get_join(inst->topo_sqlite_db, "1001", inst->node_id, join, ×tamp)); + assert(member_sync_sign_join(owner_private, join, tree) == 0); assert(member_sync_verified_ed25519(inst, "1001", inst->node_id, key) == 0 && !memcmp(key, inst->my_ed25519_pubkey, 32)); assert(sqlite3_prepare_v2(inst->topo_sqlite_db, "UPDATE peers_1001 SET signature=? WHERE node_id=?", -1, &st, NULL) == SQLITE_OK); uint8_t zero[64] = {0}; sqlite3_bind_blob(st, 1, zero, 64, SQLITE_STATIC); sqlite3_bind_int64(st, 2, inst->node_id); @@ -256,7 +258,7 @@ static void membership_regressions(struct UASYNC* ua) { uint8_t channel_x[32] = {3}, channel_ed[32], body[112], join[64], invitation[64]; public_key(owner_private, channel_ed); assert(member_sync_build_join_msg(channel_x, channel_ed, author.node_id, author.my_keys.public_key, 2, body, sizeof(body)) == 112); assert(sc_ed25519_sign(author.my_ed25519_privkey, body, sizeof(body), join) == SC_OK); - assert(member_sync_sign_pubkey(inviter.my_ed25519_privkey, author.my_keys.public_key, invitation) == 0); + assert(member_sync_sign_join(inviter.my_ed25519_privkey, join, invitation) == 0); struct ms_member_rec update = { .node_id = author.node_id, .x25519 = author.my_keys.public_key, .ed25519 = author.my_ed25519_pubkey, .join_sig = join, .join_ts = 2, .userinfo = "", .signed_by = inviter.node_id, .signature = invitation }; diff --git a/tests/test_member_adapter.c b/tests/test_member_adapter.c index 195b63bc8..7cd915465 100644 --- a/tests/test_member_adapter.c +++ b/tests/test_member_adapter.c @@ -323,12 +323,13 @@ int main(void) { put(&source, 1); put(&source, 2); uint8_t raw[2049], *page = raw + 1; /* проверяем невыровненный буфер */ - size_t len = 300; merkle_key_t next, after = {{0}}; int more; + size_t len = 400; merkle_key_t next, after = {{0}}; int more; assert(_member_get_page(&source, "1001", 0, 0, &after, page, &len, &next, &more) == 0); - assert(page[0] == 0 && page[1] == 1 && member_read64(next.bytes) == 1 && more == 1 && len <= 300); + assert(page[0] == 0 && page[1] == 1 && member_read64(next.bytes) == 1 && more == 1 && len <= 400); struct member_wire w; size_t used; - assert(member_decode(page + 2, len - 2, &w, &used) == 0 && w.rec.node_id == 1 && used == len - 2); - len = 300; + assert(member_decode(page + 2 + GROUP_POLICY_WIRE_SIZE, len - 2 - GROUP_POLICY_WIRE_SIZE, &w, &used) == 0 && + w.rec.node_id == 1 && used == len - 2 - GROUP_POLICY_WIRE_SIZE); + len = 400; assert(_member_get_page(&source, "1001", 0, 1, &next, page, &len, &next, &more) == 0 && member_read64(next.bytes) == 2 && !more); puts("PASS: bounded member pages, canonical integers and unaligned buffers");