Browse Source

chat_core_connect_auto: add outbound conn to inst->connections

etcp_connection_create does NOT add conn to inst->connections list.
Without this, incoming INIT handler can't find the outbound conn
by peer_node_id and creates a new one, causing insert_link collision.
topo_upd
Evgeny 3 months ago
parent
commit
1e7585438d
  1. 3
      tools/chatgui/transport/chat_core.c

3
tools/chatgui/transport/chat_core.c

@ -1051,6 +1051,9 @@ void chat_core_connect_auto(uint64_t node_id,
sc_init_ctx(&conn->crypto_ctx, &g_cc.inst->my_keys);
sc_set_peer_public_key(&conn->crypto_ctx, pubkey, 0);
conn->peer_node_id = node_id;
conn->next = g_cc.inst->connections;
g_cc.inst->connections = conn;
g_cc.inst->connections_count++;
struct ca_ctx* pctx = u_calloc(1, sizeof(struct ca_ctx));
if (!pctx) { etcp_connection_close(conn); pst->conns[i] = NULL; pst->timers[i] = NULL; pst->pending_count--; continue; }

Loading…
Cancel
Save