fix: peer discovery queries include IPv6 (family IN (4,6))
get_public_peers, get_local_peers, get_supernode_peers were filtering na.family=4 only — never found v6 peers. Changed to na.family IN (4,6).
This commit is contained in:
1 parent
25ebad9f52
commit
e2d8f68c9a
2 files changed
+10
-5
No files matched your search
@@ -730,7 +730,7 @@ int topo_node_sqlite_get_public_peers(sqlite3* db, const char* channel_id,
|
||||
(void)channel_id;
|
||||
const char* sql =
|
||||
"SELECT DISTINCT na.node_id FROM node_addresses na"
|
||||
" WHERE na.node_id!=?1 AND na.family=4 AND na.addr_type IN (1,2)"
|
||||
" WHERE na.node_id!=?1 AND na.family IN (4,6) AND na.addr_type IN (1,2)"
|
||||
" AND EXISTS (SELECT 1 FROM nodes n WHERE n.node_id=na.node_id)";
|
||||
sqlite3_stmt* st = NULL;
|
||||
if (sqlite3_prepare_v2(db, sql, -1, &st, NULL) != SQLITE_OK) return -1;
|
||||
@@ -754,7 +754,7 @@ int topo_node_sqlite_get_supernode_peers(sqlite3* db, const char* channel_id,
|
||||
char peers_tbl[80]; peers_table_name(channel_id, peers_tbl, sizeof(peers_tbl));
|
||||
char sql[256]; snprintf(sql, sizeof(sql),
|
||||
"SELECT p.node_id FROM \"%s\" p WHERE p.node_type=4"
|
||||
" AND EXISTS (SELECT 1 FROM node_addresses na WHERE na.node_id=p.node_id AND na.family=4)",
|
||||
" AND EXISTS (SELECT 1 FROM node_addresses na WHERE na.node_id=p.node_id AND na.family IN (4,6))",
|
||||
peers_tbl);
|
||||
sqlite3_stmt* st = NULL;
|
||||
if (sqlite3_prepare_v2(db, sql, -1, &st, NULL) != SQLITE_OK) return -1;
|
||||
@@ -777,7 +777,7 @@ int topo_node_sqlite_get_local_peers(sqlite3* db, const char* channel_id,
|
||||
(void)channel_id;
|
||||
const char* sql =
|
||||
"SELECT DISTINCT na.node_id FROM node_addresses na"
|
||||
" WHERE na.node_id!=?1 AND na.family=4 AND na.addr_type IN (0,3)"
|
||||
" WHERE na.node_id!=?1 AND na.family IN (4,6) AND na.addr_type IN (0,3)"
|
||||
" AND EXISTS (SELECT 1 FROM nodes n WHERE n.node_id=na.node_id)";
|
||||
sqlite3_stmt* st = NULL;
|
||||
if (sqlite3_prepare_v2(db, sql, -1, &st, NULL) != SQLITE_OK) return -1;
|
||||
|
||||
Reference in new issue
Block a user