diff --git a/core/include/dap_common.h b/core/include/dap_common.h index 10c79eefe8902a109e483acefa7fe1a6dc6b9af7..539423e0f47a2136f6f601c37fbec23e8a199e89 100755 --- a/core/include/dap_common.h +++ b/core/include/dap_common.h @@ -859,6 +859,10 @@ static const uint16_t s_ascii_table_data[256] = { #define dap_ascii_isprint(c) (s_ascii_table_data[(unsigned char) (c)] & DAP_ASCII_PRINT) #define dap_ascii_isxdigit(c) (s_ascii_table_data[(unsigned char) (c)] & DAP_ASCII_XDIGIT) +#define DAP_FLAG_ADD(a, flag) ((a) | (flag)) +#define DAP_FLAG_REMOVE(a, flag) ((a) & ~(flag)) +#define DAP_FLAG_CHECK(a, flag) ((a) & (flag)) + static void * ( *const volatile memset_safe ) (void*, int, size_t) = memset; DAP_STATIC_INLINE void DAP_AtomicLock( dap_spinlock_t *lock ) diff --git a/crypto/include/dap_enc_ecdsa.h b/crypto/include/dap_enc_ecdsa.h index 0d32bce6fad839a7b286326ce0af9f1056c70831..438d67be187c159a17b156a8bc02f6593473e301 100755 --- a/crypto/include/dap_enc_ecdsa.h +++ b/crypto/include/dap_enc_ecdsa.h @@ -25,7 +25,7 @@ uint8_t *dap_enc_sig_ecdsa_write_signature(const void* a_sign, size_t *a_sign_ou uint8_t *dap_enc_sig_ecdsa_write_public_key(const void *a_public_key, size_t *a_buflen_out); void* dap_enc_sig_ecdsa_read_signature(const uint8_t *a_buf, size_t a_buflen); void* dap_enc_sig_ecdsa_read_public_key(const uint8_t *a_buf, size_t a_buflen); -int dap_enc_sig_ecdsa_hash_fast(const unsigned char *a_data, size_t a_data_size, dap_hash_fast_t *a_out); +bool dap_enc_sig_ecdsa_hash_fast(const unsigned char *a_data, size_t a_data_size, dap_hash_fast_t *a_out); DAP_STATIC_INLINE uint64_t dap_enc_sig_ecdsa_ser_key_size(UNUSED_ARG const void *a_in) { return ECDSA_PRIVATE_KEY_SIZE; diff --git a/crypto/include/dap_enc_key.h b/crypto/include/dap_enc_key.h index f70d6c1d13627d4214c1c8981630546a753660a5..4a177d9c099e486de3467e175bd98c38fb4d8cbd 100755 --- a/crypto/include/dap_enc_key.h +++ b/crypto/include/dap_enc_key.h @@ -340,7 +340,7 @@ int dap_enc_key_get_pkey_hash(dap_enc_key_t *a_key, dap_hash_fast_t *a_hash_out) * @param a_type checked enc_key type * @return true if this enc_key type hashing signing data, false if not */ -DAP_INLINE bool dap_enc_key_is_insign_hashing(dap_enc_key_type_t a_type) +DAP_STATIC_INLINE bool dap_enc_key_is_insign_hashing(dap_enc_key_type_t a_type) { return a_type == DAP_ENC_KEY_TYPE_SIG_ECDSA; } diff --git a/crypto/src/dap_enc_ecdsa.c b/crypto/src/dap_enc_ecdsa.c index d7e619a921d2ddf689abb75ffd473dedf1460326..3122b5a7bb35ed36d1d6e3e56b013c7aa35bb847 100644 --- a/crypto/src/dap_enc_ecdsa.c +++ b/crypto/src/dap_enc_ecdsa.c @@ -46,13 +46,13 @@ static ecdsa_context_t *s_context_create() return s_context; } -int dap_enc_sig_ecdsa_hash_fast(const unsigned char *a_data, size_t a_data_size, dap_hash_fast_t *a_out) +bool dap_enc_sig_ecdsa_hash_fast(const unsigned char *a_data, size_t a_data_size, dap_hash_fast_t *a_out) { secp256k1_sha256 l_hasher; secp256k1_sha256_initialize(&l_hasher); secp256k1_sha256_write(&l_hasher, a_data, a_data_size); secp256k1_sha256_finalize(&l_hasher, (unsigned char *)a_out); - return 0; + return true; } void dap_enc_sig_ecdsa_key_new(dap_enc_key_t *a_key) { diff --git a/crypto/src/dap_enc_key.c b/crypto/src/dap_enc_key.c index 98d474aa45cd17861ff961eef0119f73235e4bbd..f1f5fd7989db4fb0f8cfda1f1b901f4e786aabaa 100755 --- a/crypto/src/dap_enc_key.c +++ b/crypto/src/dap_enc_key.c @@ -1259,14 +1259,14 @@ int dap_enc_key_get_pkey_hash(dap_enc_key_t *a_key, dap_hash_fast_t *a_hash_out) { dap_return_val_if_fail(a_key && a_key->pub_key_data && a_key->pub_key_data_size && a_hash_out, -1); size_t l_pub_key_size = 0; + int l_ret = -2; uint8_t *l_pub_key = dap_enc_key_serialize_pub_key(a_key, &l_pub_key_size); - int l_ret = -3; if (!l_pub_key) - return -2; + return l_ret; switch (a_key->type) { case DAP_ENC_KEY_TYPE_SIG_ECDSA: #ifdef DAP_ECDSA - l_ret = dap_enc_sig_ecdsa_hash_fast((const unsigned char *)l_pub_key, l_pub_key_size, a_hash_out); + l_ret = !dap_enc_sig_ecdsa_hash_fast((const unsigned char *)l_pub_key, l_pub_key_size, a_hash_out); break; #else log_it(L_ERROR, "Using DAP_ENC_KEY_TYPE_SIG_ECDSA hash without DAP_ECDSA defining"); diff --git a/net/server/cli_server/dap_cli_server.c b/net/server/cli_server/dap_cli_server.c index d748efda11eec1e3493dc591e4d68b54eeb884aa..33c4947030726a7cd3ae2ce3590ae3f07948902c 100644 --- a/net/server/cli_server/dap_cli_server.c +++ b/net/server/cli_server/dap_cli_server.c @@ -248,7 +248,8 @@ int json_commands(const char * a_name) { "stake_lock", "exec_cmd", "srv_xchange", - "file" + "file", + "policy" }; for (size_t i = 0; i < sizeof(long_cmd)/sizeof(long_cmd[0]); i++) { if (!strcmp(a_name, long_cmd[i])) {