diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f7200e25dc48b873229d15a3d3e58ec5eb5f0eb..3d1db0661cede5ed300a2b12b2e47493d5af8d0a 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 365d039874eae7f51510db294000f5f6b05537a2..96ba735518d1557f60dedbf46846b2fcd0834eb0 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 18ffdfc4dca7fbdcfa139a19dabb27b35cfbcd4d..10253754e525e87ceec09f3579294af93e8cd357 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 dc2e90d76bb1c0fc541609cdd2b57e1aea011f59..b6e279d1656c3ad73b5e2f8884c6198748873719 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 cf0749d941f285435b5a84b5617083755074253d..70c4b64b2610b70a66a0881720abebdd1624583e 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 440b2fa97863a04dd16cd869702d4cfb9e0bcfda..0222e24928e7c98553983b1083e6b287f20d6cdf 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 83a2d70ea5ff40e69f1ae4ee4cf6b07f60ef7715..abe85906fa54f48572d2c24e121c2206e12bde44 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 b48ae81e5d1f988a987341f5be09902fcf10c392..0ae4f5cf7eed65389bfe3f818f22eb6f49cc7416 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",