@ -1047,23 +1047,7 @@ static void cs_handle_channel_info_resp(struct chat_sync* cs, uint64_t peer,
DEBUG_ERROR ( DEBUG_CATEGORY_DB_SYNC , " %s: CHANNEL_INFO_RESP invalid inviter_update_sig peer=%016llx ts=%llu " ,
CS_ID , ( unsigned long long ) peer , ( unsigned long long ) inviter_update_ts ) ;
}
/* save inviter node_info to local DB */
sqlite3 * vdb = cs - > inst - > topo_sqlite_db ;
if ( vdb & & inv_userinfo [ 0 ] ) {
sqlite3_stmt * ns = NULL ;
sqlite3_prepare_v2 ( vdb ,
" INSERT INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey,created_at) VALUES(?,?,?,?,?) "
" ON CONFLICT(node_id) DO UPDATE SET "
" name=excluded.name, x25519_pubkey=excluded.x25519_pubkey, ed25519_pubkey=excluded.ed25519_pubkey, "
" created_at=COALESCE(nodes.created_at, excluded.created_at) " ,
- 1 , & ns , NULL ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) peer ) ;
sqlite3_bind_text ( ns , 2 , inv_userinfo , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , inv_x25519 , 32 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 4 , inv_ed , 32 , SQLITE_STATIC ) ;
sqlite3_bind_int64 ( ns , 5 , ( sqlite3_int64 ) ntp_time_get_seconds ( cs - > inst ) ) ;
sqlite3_step ( ns ) ; sqlite3_finalize ( ns ) ; }
}
/* save inviter's address from ETCP connection */
{ DEBUG_INFO ( DEBUG_CATEGORY_DEBUG , " %s: [ADDR_SYNC] INFO_RESP save inviter peer=%016llx " , CS_ID , ( unsigned long long ) peer ) ;
struct ETCP_LINK * lk = inv_conn - > links ;
@ -1210,22 +1194,6 @@ static void cs_handle_channel_join(struct chat_sync* cs, uint64_t peer,
{ char j_name [ 128 ] ; json_flat_get ( joiner_userinfo , " name " , j_name , sizeof ( j_name ) ) ;
topo_node_sqlite_node_update_verified ( db , node_id , j_name , x25519 , ed_pub , join_ts , ntp_time_get_seconds ( cs - > inst ) ) ; }
chat_conn_mgr_add_node ( chat_conn_mgr_get ( ) , node_id ) ;
/* save joiner node_info to local DB */
if ( db & & joiner_userinfo [ 0 ] ) {
sqlite3_stmt * ns = NULL ;
sqlite3_prepare_v2 ( db ,
" INSERT INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey,created_at) VALUES(?,?,?,?,?) "
" ON CONFLICT(node_id) DO UPDATE SET "
" name=excluded.name, x25519_pubkey=excluded.x25519_pubkey, ed25519_pubkey=excluded.ed25519_pubkey, "
" created_at=COALESCE(nodes.created_at, excluded.created_at) " ,
- 1 , & ns , NULL ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) node_id ) ;
sqlite3_bind_text ( ns , 2 , joiner_userinfo , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , x25519 , 32 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 4 , ed_pub , 32 , SQLITE_STATIC ) ;
sqlite3_bind_int64 ( ns , 5 , ( sqlite3_int64 ) ntp_time_get_seconds ( cs - > inst ) ) ;
sqlite3_step ( ns ) ; sqlite3_finalize ( ns ) ; }
}
/* save/update node addresses */
DEBUG_INFO ( DEBUG_CATEGORY_DEBUG , " %s: [ADDR_SYNC] JOIN save addrs node=0x%016llx addr_cnt=%d " , CS_ID , ( unsigned long long ) node_id , addr_cnt ) ;
@ -1488,21 +1456,6 @@ static void cs_handle_peer_upsert(struct chat_sync* cs, uint64_t peer,
{ char pn2 [ 128 ] ; json_flat_get ( peer_userinfo , " name " , pn2 , sizeof ( pn2 ) ) ;
topo_node_sqlite_node_update_verified ( db , node_id , pn2 , x25519 , ed_pub , join_ts , ntp_time_get_seconds ( cs - > inst ) ) ; }
chat_conn_mgr_add_node ( chat_conn_mgr_get ( ) , node_id ) ;
if ( db & & peer_userinfo [ 0 ] ) {
sqlite3_stmt * ns = NULL ;
sqlite3_prepare_v2 ( db ,
" INSERT INTO nodes(node_id,name,x25519_pubkey,ed25519_pubkey,created_at) VALUES(?,?,?,?,?) "
" ON CONFLICT(node_id) DO UPDATE SET "
" name=excluded.name, x25519_pubkey=excluded.x25519_pubkey, ed25519_pubkey=excluded.ed25519_pubkey, "
" created_at=COALESCE(nodes.created_at, excluded.created_at) " ,
- 1 , & ns , NULL ) ;
if ( ns ) { sqlite3_bind_int64 ( ns , 1 , ( sqlite3_int64 ) node_id ) ;
sqlite3_bind_text ( ns , 2 , peer_userinfo , - 1 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 3 , x25519 , 32 , SQLITE_STATIC ) ;
sqlite3_bind_blob ( ns , 4 , ed_pub , 32 , SQLITE_STATIC ) ;
sqlite3_bind_int64 ( ns , 5 , ( sqlite3_int64 ) ntp_time_get_seconds ( cs - > inst ) ) ;
sqlite3_step ( ns ) ; sqlite3_finalize ( ns ) ; }
}
DEBUG_INFO ( DEBUG_CATEGORY_DEBUG , " %s: [ADDR_SYNC] PEER_UPSERT save addrs node=0x%016llx ac=%d " , CS_ID , ( unsigned long long ) node_id , ac ) ;
for ( uint8_t i = 0 ; i < ac ; i + + ) {