From d629de54e8cb4a017be8eb7d45326c4bc3025a3e Mon Sep 17 00:00:00 2001 From: evgeny Date: Wed, 4 Nov 2026 01:59:36 +0100 Subject: [PATCH] Keep simulated unreachable addresses across call status publication --- tests/test_conn_mgr_phases.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/test_conn_mgr_phases.c b/tests/test_conn_mgr_phases.c index 9a2592446..263eca758 100644 --- a/tests/test_conn_mgr_phases.c +++ b/tests/test_conn_mgr_phases.c @@ -261,6 +261,7 @@ static int scenario_chat_group(void) { const char* channel = "1337"; struct UTUN_INSTANCE* nodes[] = {inst_a, inst_b, inst_c}; uint8_t signature[64]; if (sc_ed25519_sign(inst_c->my_ed25519_privkey, (const uint8_t*)channel, strlen(channel), signature) != SC_OK) return -1; + scenario_group = 1337; for (unsigned i = 0; i < 3; i++) { if (member_sync_init(nodes[i])) { fail("CHAT: member synchronization initialization failed"); return -1; } if (topo_node_sqlite_channel_put(nodes[i]->topo_sqlite_db, channel, "call paths", nid_c, @@ -269,7 +270,6 @@ static int scenario_chat_group(void) { nodes[j]->my_ed25519_pubkey, nodes[j]->my_ed25519_privkey, inst_c->my_ed25519_privkey, "{}", NULL, NULL) < 0) return -1; if (!topo_groups_create_group(nodes[i]->topo_groups, 1337, TOPO_GROUP_TYPE_CHAT, channel)) return -1; } - scenario_group = 1337; for (unsigned i = 0; i < 2; i++) { if (topo_group_new_conn(defgrp(nodes[i]), instance_find_conn(nodes[i], nid_c)) || topo_group_new_conn(defgrp(inst_c), instance_find_conn(inst_c, nodes[i]->node_id))) return -1; @@ -442,6 +442,9 @@ static int run_upgrade(void) { } mangle_addrs(inst_a, nid_b, wrong_port); mangle_addrs(inst_b, nid_a, wrong_port); + // CALL публикует свежий NODEINFO: сами владельцы также должны объявлять недоступный адрес. + mangle_addrs(inst_a, nid_a, wrong_port); + mangle_addrs(inst_b, nid_b, wrong_port); inst_a->etcp_connect_timeout_tb = 1000; if (conn_mgr_open(inst_a, scenario_group, nid_b, conn_cb_a, NULL, &h_a)) return -1; struct CONN_MGR_ENTRY* entry = h_a->entry;