From b2d5381763e13834166b06e0a208aafbf1bfa394 Mon Sep 17 00:00:00 2001 From: "pavel.uhanov" <pavel.uhanov@demlabs.net> Date: Thu, 2 Nov 2023 12:11:44 +0000 Subject: [PATCH] feature-9513_9640 --- CMakeLists.txt | 2 ++ dap-sdk | 2 +- modules/chain/dap_chain_ledger.c | 2 +- modules/consensus/block-pos/dap_chain_cs_block_pos.c | 2 +- modules/consensus/dag-poa/dap_chain_cs_dag_poa.c | 4 ++-- modules/consensus/dag-pos/dap_chain_cs_dag_pos.c | 2 +- modules/consensus/esbocs/dap_chain_cs_esbocs.c | 8 ++++---- modules/net/dap_chain_node_cli_cmd.c | 2 +- 8 files changed, 13 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f7200e25d..3d1db0661c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ set(CELLFRAME_SDK_NATIVE_VERSION "3.3-0") add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"") + set(DAPSDK_MODULES "") if(NOT DEFINED CELLFRAME_MODULES) @@ -42,6 +43,7 @@ endif(NOT DAP_INT128_SUPPORT) if (BUILD_CELLFRAME_SDK_TESTS) enable_testing() + set(SPHINCSPLUS_FLEX ON) add_definitions("-DDAP_CHAIN_LEDGER_TEST") set(CELLFRAME_MODULES ${CELLFRAME_MODULES} "test-framework") if (NOT OFF_CORE_CELLFRAME_SDK_TESTS_OFF MATCHES "all") diff --git a/dap-sdk b/dap-sdk index 365d039874..96ba735518 160000 --- a/dap-sdk +++ b/dap-sdk @@ -1 +1 @@ -Subproject commit 365d039874eae7f51510db294000f5f6b05537a2 +Subproject commit 96ba735518d1557f60dedbf46846b2fcd0834eb0 diff --git a/modules/chain/dap_chain_ledger.c b/modules/chain/dap_chain_ledger.c index 18ffdfc4dc..10253754e5 100644 --- a/modules/chain/dap_chain_ledger.c +++ b/modules/chain/dap_chain_ledger.c @@ -2630,7 +2630,7 @@ int dap_chain_ledger_token_emission_add_check(dap_ledger_t *a_ledger, byte_t *a_ for (uint16_t k=0; k< l_token_item->auth_signs_total; k++) { if (dap_hash_fast_compare(&l_sign_pkey_hash, &l_token_item->auth_pkeys_hash[k])) { // Verify if its token emission header signed - if (dap_sign_verify(l_sign, l_emi_ptr_check_size, l_sign_data_check_size) == 1) { + if (!dap_sign_verify(l_sign, l_emi_ptr_check_size, l_sign_data_check_size)) { l_aproves++; break; } diff --git a/modules/consensus/block-pos/dap_chain_cs_block_pos.c b/modules/consensus/block-pos/dap_chain_cs_block_pos.c index dc2e90d76b..b6e279d165 100644 --- a/modules/consensus/block-pos/dap_chain_cs_block_pos.c +++ b/modules/consensus/block-pos/dap_chain_cs_block_pos.c @@ -262,7 +262,7 @@ static int s_callback_block_verify(dap_chain_cs_blocks_t *a_blocks, dap_chain_bl } int l_sign_verified = dap_sign_verify(l_sign, a_block, l_block_data_size); - if (l_sign_verified != 1) { + if (l_sign_verified) { log_it(L_WARNING, "Block's sign is incorrect: code %d", l_sign_verified); return -41; } diff --git a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c index cf0749d941..70c4b64b26 100644 --- a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c +++ b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c @@ -908,8 +908,8 @@ static int s_callback_event_verify(dap_chain_cs_dag_t * a_dag, dap_chain_cs_dag_ // Compare signature with auth_certs a_event->header.signs_count = i; for (uint16_t j = 0; j < l_poa_pvt->auth_certs_count; j++) { - if (dap_cert_compare_with_sign( l_poa_pvt->auth_certs[j], l_sign) == 0 - && dap_sign_verify(l_sign, a_event, l_offset_from_beginning) == 1 ){ + if (!dap_cert_compare_with_sign( l_poa_pvt->auth_certs[j], l_sign) + && !dap_sign_verify(l_sign, a_event, l_offset_from_beginning)){ l_signs_verified_count++; break; } diff --git a/modules/consensus/dag-pos/dap_chain_cs_dag_pos.c b/modules/consensus/dag-pos/dap_chain_cs_dag_pos.c index 440b2fa978..0222e24928 100644 --- a/modules/consensus/dag-pos/dap_chain_cs_dag_pos.c +++ b/modules/consensus/dag-pos/dap_chain_cs_dag_pos.c @@ -269,7 +269,7 @@ static int s_callback_event_verify(dap_chain_cs_dag_t * a_dag, dap_chain_cs_dag_ size_t l_dag_event_size_without_sign = dap_chain_cs_dag_event_calc_size_excl_signs(a_dag_event,a_dag_event_size); int l_sign_verified = dap_sign_verify(l_sign, a_dag_event, l_dag_event_size_without_sign); a_dag_event->header.signs_count = l_signs_total; - if (l_sign_verified != 1) { + if (l_sign_verified) { log_it(L_WARNING, "Event's sign is incorrect: code %d", l_sign_verified); return -41; } diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c index 83a2d70ea5..abe85906fa 100644 --- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c +++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c @@ -2226,10 +2226,10 @@ static void s_session_packet_in(void *a_arg, dap_chain_node_addr_t *a_sender_nod } size_t l_offset = dap_chain_block_get_sign_offset(l_store->candidate, l_store->candidate_size); - bool l_sign_verified = dap_sign_verify(l_candidate_sign, l_store->candidate, - l_offset + sizeof(l_store->candidate->hdr)) == 1; + int l_sign_verified = dap_sign_verify(l_candidate_sign, l_store->candidate, + l_offset + sizeof(l_store->candidate->hdr)); // check candidate's sign - if (l_sign_verified) { + if (!l_sign_verified) { l_store->candidate_signs = dap_list_append(l_store->candidate_signs, DAP_DUP_SIZE(l_candidate_sign, l_candidate_sign_size)); if (dap_list_length(l_store->candidate_signs) == l_round->validators_synced_count) { @@ -2469,7 +2469,7 @@ static int s_callback_block_verify(dap_chain_cs_blocks_t *a_blocks, dap_chain_bl continue; } } - if (dap_sign_verify(l_sign, a_block, l_block_excl_sign_size) == 1) + if (!dap_sign_verify(l_sign, a_block, l_block_excl_sign_size)) l_signs_verified_count++; } DAP_DELETE(l_signs); diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index b48ae81e5d..0ae4f5cf7e 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -2473,7 +2473,7 @@ int com_token_decl_sign(int a_argc, char **a_argv, char ** a_str_reply) size_t l_signs_size = 0, i = 1; for (i = 1; i <= l_datum_token->signs_total; i++){ dap_sign_t *l_sign = (dap_sign_t *)(l_datum_token->data_n_tsd + l_tsd_size + l_signs_size); - if( dap_sign_verify(l_sign, l_datum_token, sizeof(*l_datum_token) - sizeof(uint16_t)) != 1) { + if(dap_sign_verify(l_sign, l_datum_token, sizeof(*l_datum_token) - sizeof(uint16_t))) { log_it(L_WARNING, "Wrong signature %zu for datum_token with key %s in mempool!", i, l_datum_hash_out_str); dap_cli_server_cmd_set_reply_text(a_str_reply, "Datum %s with datum token has wrong signature %zu, break process and exit", -- GitLab