|
|
|
|
@ -828,31 +828,6 @@ void chat_core_connect_auto(uint64_t node_id,
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* ── DB state diagnostics ── */ |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_DEBUG, "%s: auto_connect DIAG: looking for node=0x%016llx", CC_ID, (unsigned long long)node_id); |
|
|
|
|
{ |
|
|
|
|
sqlite3_stmt* diag = NULL; |
|
|
|
|
if (sqlite3_prepare_v2(g_cc.db, "SELECT COUNT(*) FROM node_addresses", -1, &diag, NULL) == SQLITE_OK) { |
|
|
|
|
if (sqlite3_step(diag) == SQLITE_ROW) |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_DEBUG, "%s: auto_connect DIAG: node_addresses total=%d", CC_ID, sqlite3_column_int(diag, 0)); |
|
|
|
|
sqlite3_finalize(diag); |
|
|
|
|
} |
|
|
|
|
if (sqlite3_prepare_v2(g_cc.db, "SELECT node_id, COUNT(*) FROM node_addresses GROUP BY node_id", -1, &diag, NULL) == SQLITE_OK) { |
|
|
|
|
while (sqlite3_step(diag) == SQLITE_ROW) |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_DEBUG, "%s: auto_connect DIAG: node_addresses node=0x%016llx cnt=%d", |
|
|
|
|
CC_ID, (unsigned long long)sqlite3_column_int64(diag, 0), sqlite3_column_int(diag, 1)); |
|
|
|
|
sqlite3_finalize(diag); |
|
|
|
|
} |
|
|
|
|
if (sqlite3_prepare_v2(g_cc.db, "SELECT node_id, name FROM nodes WHERE node_id=?", -1, &diag, NULL) == SQLITE_OK) { |
|
|
|
|
sqlite3_bind_int64(diag, 1, (sqlite3_int64)node_id); |
|
|
|
|
if (sqlite3_step(diag) == SQLITE_ROW) |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_DEBUG, "%s: auto_connect DIAG: node found in nodes table name=%s", |
|
|
|
|
CC_ID, sqlite3_column_text(diag, 1)); |
|
|
|
|
else |
|
|
|
|
DEBUG_INFO(DEBUG_CATEGORY_DEBUG, "%s: auto_connect DIAG: node NOT found in nodes table", CC_ID); |
|
|
|
|
sqlite3_finalize(diag); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
/* collect IPv4 addresses */ |
|
|
|
|
struct { uint8_t addr[4]; uint16_t port; } addrs[16]; |
|
|
|
|
int addr_count = 0; |
|
|
|
|
|