From 744b61d6d1cc8b77988a00d5c2aee494084617d6 Mon Sep 17 00:00:00 2001 From: Roman Khlopkov <roman.khlopkov@demlabs.net> Date: Wed, 2 Sep 2020 17:03:24 +0000 Subject: [PATCH] bugs-4158 --- CMakeLists.txt | 2 +- modules/channel/chain/dap_stream_ch_chain.c | 4 ++-- modules/net/dap_chain_net.c | 6 +++--- modules/net/dap_chain_node_client.c | 1 + modules/type/dag/dap_chain_cs_dag.c | 10 +++++----- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bbb0a5e341..d27ed1f775 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ project(cellframe-sdk C) cmake_minimum_required(VERSION 2.8) set(CMAKE_C_STANDARD 11) -set(CELLFRAME_SDK_NATIVE_VERSION "2.5-3") +set(CELLFRAME_SDK_NATIVE_VERSION "2.5-4") add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"") set(DAPSDK_MODULES "") diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c index afe6ba08d9..8f94aa9bef 100644 --- a/modules/channel/chain/dap_stream_ch_chain.c +++ b/modules/channel/chain/dap_stream_ch_chain.c @@ -139,7 +139,7 @@ bool s_sync_chains_callback(dap_proc_thread_t *a_thread, void *a_arg) l_ch_chain->request_atom_iter = l_iter; l_lasts = l_chain->callback_atom_iter_get_lasts(l_iter, &l_lasts_count, &l_lasts_sizes); if(l_lasts&& l_lasts_sizes) { - for(size_t i = 0; i < l_lasts_count; i++) { + for(size_t i = l_lasts_count - 1; i >= 0; i--) { dap_chain_atom_item_t * l_item = NULL; dap_chain_hash_fast_t l_atom_hash; dap_hash_fast(l_lasts[i], l_lasts_sizes[i], @@ -250,7 +250,7 @@ bool s_chain_pkt_callback(dap_proc_thread_t *a_thread, void *a_arg) dap_hash_fast(l_atom_copy, l_atom_copy_size, &l_atom_hash); dap_chain_atom_iter_t *l_atom_iter = l_chain->callback_atom_iter_create(l_chain); size_t l_atom_size =0; - if ( l_chain->callback_atom_find_by_hash(l_atom_iter, &l_atom_hash, &l_atom_size) != NULL ) { + if ( l_chain->callback_atom_find_by_hash(l_atom_iter, &l_atom_hash, &l_atom_size) == NULL ) { dap_chain_atom_verify_res_t l_atom_add_res = l_chain->callback_atom_add(l_chain, l_atom_copy, l_atom_copy_size); if(l_atom_add_res == ATOM_ACCEPT && dap_chain_has_file_store(l_chain)) { // append to file diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index d18a5063ba..8d2e991ab4 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -512,13 +512,13 @@ static int s_net_states_proc(dap_chain_net_t * l_net) l_res = dap_chain_node_client_wait(l_node_client, NODE_CLIENT_STATE_SYNCED, timeout_ms); switch (l_res) { case -1: - log_it(L_WARNING,"Timeout with link sync"); + log_it(L_WARNING, "Timeout with reverse link sync"); break; case 0: - log_it(L_INFO, "Node sync completed"); + log_it(L_INFO, "Node reverse sync completed"); break; default: - log_it(L_INFO, "Node sync error %d",l_res); + log_it(L_INFO, "Node reverse sync error %d",l_res); } l_tmp = dap_list_next(l_tmp); } diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c index 11a8c3a0dd..bb92eab2c7 100644 --- a/modules/net/dap_chain_node_client.c +++ b/modules/net/dap_chain_node_client.c @@ -127,6 +127,7 @@ static void s_stage_status_error_callback(dap_client_t *a_client, void *a_arg) SetEvent( l_node_client->wait_cond ); #endif pthread_mutex_unlock(&l_node_client->wait_mutex); + return; } if(l_node_client && l_node_client->keep_connection && diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c index b037fae22e..b45dc45248 100644 --- a/modules/type/dag/dap_chain_cs_dag.c +++ b/modules/type/dag/dap_chain_cs_dag.c @@ -251,12 +251,12 @@ static int s_dap_chain_add_atom_to_ledger(dap_chain_cs_dag_t * a_dag, dap_ledger switch (l_datum->header.type_id) { case DAP_CHAIN_DATUM_TOKEN_DECL: { dap_chain_datum_token_t *l_token = (dap_chain_datum_token_t*) l_datum->data; - dap_chain_ledger_token_add(a_ledger, l_token, l_datum->header.data_size); + return dap_chain_ledger_token_add(a_ledger, l_token, l_datum->header.data_size); } break; case DAP_CHAIN_DATUM_TOKEN_EMISSION: { dap_chain_datum_token_emission_t *l_token_emission = (dap_chain_datum_token_emission_t*) l_datum->data; - dap_chain_ledger_token_emission_add(a_ledger, l_token_emission, l_datum->header.data_size); + return dap_chain_ledger_token_emission_add(a_ledger, l_token_emission, l_datum->header.data_size); } break; case DAP_CHAIN_DATUM_TX: { @@ -289,10 +289,10 @@ static int s_dap_chain_add_atom_to_events_table(dap_chain_cs_dag_t * a_dag, dap_ dap_chain_hash_fast_to_str(&a_event_item->hash,l_buf_hash,sizeof(l_buf_hash)-1); log_it(L_DEBUG,"Dag event %s checked, add it to ledger", l_buf_hash); res = s_dap_chain_add_atom_to_ledger(a_dag, a_ledger, a_event_item); - + //All correct, no matter for result HASH_ADD(hh, PVT(a_dag)->events,hash,sizeof (a_event_item->hash), a_event_item); s_dag_events_lasts_process_new_last_event(a_dag, a_event_item); - }else{ + } else { char l_buf_hash[128]; dap_chain_hash_fast_to_str(&a_event_item->hash,l_buf_hash,sizeof(l_buf_hash)-1); log_it(L_WARNING,"Dag event %s check failed: code %d", l_buf_hash, res ); @@ -693,7 +693,7 @@ int dap_chain_cs_dag_event_verify_hashes_with_treshold(dap_chain_cs_dag_t * a_da bool l_is_events_all_hashes = true; bool l_is_events_main_hashes = true; - if(a_event->header.hash_count == 0){ + if (a_event->header.hash_count == 0) { //looks like an alternative genesis event return DAP_THRESHOLD_CONFLICTING; } -- GitLab