From 8418fca21bb742ecfea2af9e3f4215366ca342c6 Mon Sep 17 00:00:00 2001 From: Dmitriy Gerasimov <dmitry.gerasimov@demlabs.net> Date: Thu, 19 Aug 2021 16:06:46 +0700 Subject: [PATCH] [*] Renamed '%llu' to DAP_UINT64_FORMAT_u for proper working on 32bit platforms [*] Renamed dap_events_socket_handler_t to dap_events_socket_uuid_w_data_t [*] Fixed possible memory corruption on timer works --- 3rdparty/wolfssl/wolfssl/test.h | 2 +- CMakeLists.txt | 2 +- dap-sdk/crypto/src/dap_cert_file.c | 9 +- dap-sdk/crypto/src/dap_enc_msrln.c | 3 + dap-sdk/net/client/dap_client_http.c | 33 +++--- dap-sdk/net/client/dap_client_pvt.c | 100 +++++++++++------- dap-sdk/net/core/dap_events_socket.c | 22 ++-- dap-sdk/net/core/dap_worker.c | 12 +-- dap-sdk/net/core/include/dap_events_socket.h | 4 +- .../http_server/http_client/dap_http_client.c | 6 +- dap-sdk/net/stream/stream/dap_stream.c | 6 +- modules/chain/dap_chain_ledger.c | 10 +- modules/channel/chain/dap_stream_ch_chain.c | 6 +- .../global-db/dap_chain_global_db_remote.c | 6 +- modules/mempool/dap_chain_mempool.c | 12 +-- modules/net/dap_chain_net.c | 6 +- modules/net/dap_chain_node_cli_cmd.c | 2 +- modules/net/dap_chain_node_cli_cmd_tx.c | 20 ++-- modules/net/dap_chain_node_client.c | 8 +- modules/net/dap_chain_node_dns_client.c | 15 +-- modules/net/include/dap_chain_node_client.h | 2 +- modules/net/srv/dap_chain_net_srv_order.c | 2 +- modules/net/srv/libmaxminddb/mmdblookup.c | 2 +- modules/service/vpn/dap_chain_net_srv_vpn.c | 10 +- 24 files changed, 172 insertions(+), 128 deletions(-) diff --git a/3rdparty/wolfssl/wolfssl/test.h b/3rdparty/wolfssl/wolfssl/test.h index 5da853e609..4ca5cc9771 100644 --- a/3rdparty/wolfssl/wolfssl/test.h +++ b/3rdparty/wolfssl/wolfssl/test.h @@ -2340,7 +2340,7 @@ static WC_INLINE void StackTrap(void) struct rlimit rl; if (getrlimit(RLIMIT_STACK, &rl) != 0) err_sys_with_errno("getrlimit failed"); - printf("rlim_cur = %llu\n", rl.rlim_cur); + printf("rlim_cur = %"DAP_UINT64_FORMAT_U"\n", rl.rlim_cur); rl.rlim_cur = 1024*21; /* adjust trap size here */ if (setrlimit(RLIMIT_STACK, &rl) != 0) err_sys_with_errno("setrlimit failed"); diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d88e6219d..aa5ba70818 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ project(cellframe-sdk C) cmake_minimum_required(VERSION 3.0) set(CMAKE_C_STANDARD 11) -set(CELLFRAME_SDK_NATIVE_VERSION "2.9-25") +set(CELLFRAME_SDK_NATIVE_VERSION "2.9-26") add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"") set(DAPSDK_MODULES "") message("Cellframe modules: ${CELLFRAME_MODULES}") diff --git a/dap-sdk/crypto/src/dap_cert_file.c b/dap-sdk/crypto/src/dap_cert_file.c index 7e292ddbea..f3ef309e65 100755 --- a/dap-sdk/crypto/src/dap_cert_file.c +++ b/dap-sdk/crypto/src/dap_cert_file.c @@ -356,7 +356,7 @@ dap_cert_t* dap_cert_mem_load(const void * a_data, size_t a_data_size) } if (l_hdr.version >= 1 ){ if ( (sizeof(l_hdr) + l_hdr.data_size+l_hdr.data_pvt_size +l_hdr.metadata_size) > a_data_size ){ - log_it(L_ERROR,"Corrupted cert data, data sections size is smaller than exists on the disk! (%llu expected, %llu on disk)", + log_it(L_ERROR,"Corrupted cert data, data sections size is smaller than exists on the disk! (%"DAP_UINT64_FORMAT_U" expected, %"DAP_UINT64_FORMAT_U" on disk)", sizeof(l_hdr)+l_hdr.data_pvt_size+l_hdr.data_size+l_hdr.metadata_size, a_data_size); goto l_exit; } @@ -368,6 +368,13 @@ dap_cert_t* dap_cert_mem_load(const void * a_data, size_t a_data_size) //l_ret = DAP_NEW_Z(dap_cert_t); l_ret = dap_cert_new(l_name); l_ret->enc_key = dap_enc_key_new( dap_sign_type_to_key_type( l_hdr.sign_type )); + if(l_ret->enc_key == NULL){ + log_it(L_ERROR,"Can't init new private key with sign type %s", dap_sign_type_to_str(l_hdr.sign_type)); + dap_cert_delete(l_ret); + l_ret = NULL; + goto l_exit; + } + l_ret->enc_key->last_used_timestamp = l_hdr.ts_last_used; if ( l_hdr.data_size > 0 ){ diff --git a/dap-sdk/crypto/src/dap_enc_msrln.c b/dap-sdk/crypto/src/dap_enc_msrln.c index b48008059a..c8ae5417b0 100755 --- a/dap-sdk/crypto/src/dap_enc_msrln.c +++ b/dap-sdk/crypto/src/dap_enc_msrln.c @@ -64,6 +64,9 @@ void dap_enc_msrln_key_generate(struct dap_enc_key * a_key, const void *kex_buf, } a_key->priv_key_data = malloc(MSRLN_PKA_BYTES * sizeof(uint32_t)); + if(a_key->priv_key_data == NULL){ + abort(); + } PLatticeCryptoStruct PLCS = LatticeCrypto_allocate(); LatticeCrypto_initialize(PLCS, (RandomBytes)randombytes, MSRLN_generate_a, MSRLN_get_error); diff --git a/dap-sdk/net/client/dap_client_http.c b/dap-sdk/net/client/dap_client_http.c index e7afb9f255..94c34ab001 100644 --- a/dap-sdk/net/client/dap_client_http.c +++ b/dap-sdk/net/client/dap_client_http.c @@ -96,7 +96,7 @@ static bool s_timer_timeout_after_connected_check(void * a_arg); static bool s_debug_more=false; static uint64_t s_client_timeout_ms = 20000; -static uint64_t s_client_timeout_read_after_connect_ms = 5; +static uint64_t s_client_timeout_read_after_connect_ms = 5000; static uint32_t s_max_attempts = 5; #ifndef DAP_NET_CLIENT_NO_SSL @@ -180,12 +180,12 @@ void dap_client_http_set_connect_timeout_ms(uint64_t a_timeout_ms) */ static bool s_timer_timeout_after_connected_check(void * a_arg) { - dap_events_socket_handle_t *l_es_handler = (dap_events_socket_handle_t*) a_arg; - assert(l_es_handler); + assert(a_arg); + dap_events_socket_uuid_t * l_es_uuid_ptr = (dap_events_socket_uuid_t *) a_arg; dap_worker_t * l_worker = dap_events_get_current_worker(dap_events_get_default()); // We're in own esocket context assert(l_worker); - dap_events_socket_t * l_es = dap_worker_esocket_find_uuid( l_worker, l_es_handler->esocket_uuid); + dap_events_socket_t * l_es = dap_worker_esocket_find_uuid( l_worker, *l_es_uuid_ptr); if(l_es){ dap_client_http_pvt_t * l_http_pvt = PVT(l_es); assert(l_http_pvt); @@ -204,9 +204,9 @@ static bool s_timer_timeout_after_connected_check(void * a_arg) } }else{ if(s_debug_more) - log_it(L_DEBUG,"Esocket %llu is finished, close check timer", l_es_handler->esocket_uuid); + log_it(L_DEBUG,"Esocket %"DAP_UINT64_FORMAT_U" is finished, close check timer", *l_es_uuid_ptr); } - DAP_DEL_Z(l_es_handler) + DAP_DEL_Z(l_es_uuid_ptr); return false; } @@ -242,7 +242,7 @@ static bool s_timer_timeout_check(void * a_arg) log_it(L_DEBUG,"Socket %d is connected, close check timer", l_es->socket); }else if(s_debug_more) - log_it(L_DEBUG,"Esocket %llu is finished, close check timer", *l_es_uuid); + log_it(L_DEBUG,"Esocket %"DAP_UINT64_FORMAT_U" is finished, close check timer", *l_es_uuid); DAP_DEL_Z(l_es_uuid); return false; @@ -634,9 +634,13 @@ void* dap_client_http_request_custom(dap_worker_t * a_worker, const char *a_upli log_it(L_DEBUG, "Connecting to %s:%u", a_uplink_addr, a_uplink_port); l_http_pvt->worker = a_worker?a_worker: dap_events_worker_get_auto(); dap_worker_add_events_socket(l_ev_socket,l_http_pvt->worker); - dap_events_socket_uuid_t * l_ev_uuid = DAP_NEW_Z(dap_events_socket_uuid_t); - *l_ev_uuid = l_ev_socket->uuid; - dap_timerfd_start_on_worker(l_http_pvt->worker,s_client_timeout_ms, s_timer_timeout_check,l_ev_uuid); + dap_events_socket_uuid_t * l_ev_uuid_ptr = DAP_NEW_Z(dap_events_socket_uuid_t); + *l_ev_uuid_ptr = l_ev_socket->uuid; + if(dap_timerfd_start_on_worker(l_http_pvt->worker,s_client_timeout_ms, s_timer_timeout_check,l_ev_uuid_ptr) == NULL){ + log_it(L_ERROR,"Can't run timer on worker %u for esocket uuid %"DAP_UINT64_FORMAT_u" for timeout check during connection attempt ", + l_http_pvt->worker->id, *l_ev_uuid_ptr); + DAP_DEL_Z(l_ev_uuid_ptr); + } return l_http_pvt; } else{ @@ -696,9 +700,12 @@ static void s_http_connected(dap_events_socket_t * a_esocket) // add to dap_worker //dap_client_pvt_t * l_client_pvt = (dap_client_pvt_t*) a_obj; //dap_events_new(); - dap_events_socket_handle_t * l_ev_socket_handler = DAP_NEW_Z(dap_events_socket_handle_t); - l_ev_socket_handler->esocket_uuid = a_esocket->uuid; - dap_timerfd_start_on_worker(l_http_pvt->worker, (unsigned long)s_client_timeout_read_after_connect_ms * 1000, s_timer_timeout_after_connected_check, l_ev_socket_handler); + dap_events_socket_uuid_t * l_es_uuid_ptr = DAP_NEW_Z(dap_events_socket_uuid_t); + *l_es_uuid_ptr = a_esocket->uuid; + if(dap_timerfd_start_on_worker(l_http_pvt->worker, (unsigned long)s_client_timeout_read_after_connect_ms, s_timer_timeout_after_connected_check, l_es_uuid_ptr) == NULL ){ + DAP_DELETE(l_es_uuid_ptr); + log_it(L_ERROR, "Can't run timerfo after connection check on worker id %u", l_http_pvt->worker->id); + } char l_request_headers[1024] = { [0]='\0' }; int l_offset = 0; diff --git a/dap-sdk/net/client/dap_client_pvt.c b/dap-sdk/net/client/dap_client_pvt.c index 14daedc7b6..323a66af10 100644 --- a/dap-sdk/net/client/dap_client_pvt.c +++ b/dap-sdk/net/client/dap_client_pvt.c @@ -82,7 +82,7 @@ static int s_max_attempts = 5; static int s_timeout = 20; static bool s_debug_more = false; -static time_t s_client_timeout_read_after_connect = 5; +static time_t s_client_timeout_read_after_connect_seconds = 5; static bool s_stage_status_after(dap_client_pvt_t * a_client_internal); @@ -90,6 +90,7 @@ static bool s_stage_status_after(dap_client_pvt_t * a_client_internal); // ENC stage callbacks static void s_enc_init_response(dap_client_t *, void *, size_t); static void s_enc_init_error(dap_client_t *, int); +static bool s_enc_init_delay_before_request_timer_callback(void*); // STREAM_CTL stage callbacks static void s_stream_ctl_response(dap_client_t *, void *, size_t); @@ -126,7 +127,7 @@ int dap_client_pvt_init() s_max_attempts = dap_config_get_item_int32_default(g_config,"dap_client","max_tries",5); s_timeout = dap_config_get_item_int32_default(g_config,"dap_client","timeout",10); s_debug_more = dap_config_get_item_bool_default(g_config,"dap_client","debug_more",false); - s_client_timeout_read_after_connect = (time_t) dap_config_get_item_uint32_default(g_config,"dap_client","timeout_read_after_connect",5); + s_client_timeout_read_after_connect_seconds = (time_t) dap_config_get_item_uint32_default(g_config,"dap_client","timeout_read_after_connect",5); return 0; } @@ -208,10 +209,13 @@ static void s_stream_connected(dap_client_pvt_t * a_client_pvt) a_client_pvt->uplink_port, a_client_pvt->stream_socket, a_client_pvt->stream_worker->worker->id); a_client_pvt->stage_status = STAGE_STATUS_DONE; s_stage_status_after(a_client_pvt); - dap_events_socket_handle_t * l_ev_socket_handler = DAP_NEW_Z(dap_events_socket_handle_t); + dap_events_socket_uuid_t * l_es_uuid_ptr = DAP_NEW_Z(dap_events_socket_uuid_t); assert(a_client_pvt->stream_es); - l_ev_socket_handler->esocket_uuid = a_client_pvt->stream_es->uuid; - dap_timerfd_start_on_worker(a_client_pvt->stream_es->worker, s_client_timeout_read_after_connect * 1000, s_stream_timer_timeout_after_connected_check ,l_ev_socket_handler); + *l_es_uuid_ptr = a_client_pvt->stream_es->uuid; + if( dap_timerfd_start_on_worker(a_client_pvt->stream_es->worker, s_client_timeout_read_after_connect_seconds * 1000, s_stream_timer_timeout_after_connected_check ,l_es_uuid_ptr) == NULL ){ + log_it(L_ERROR,"Can't run timer for stream after connect check for esocket uuid %"DAP_UINT64_FORMAT_u" "); + DAP_DEL_Z(l_es_uuid_ptr); + } } /** @@ -221,13 +225,12 @@ static void s_stream_connected(dap_client_pvt_t * a_client_pvt) */ static bool s_stream_timer_timeout_check(void * a_arg) { - dap_events_socket_handle_t *l_es_handler = (dap_events_socket_handle_t*) a_arg; - assert(l_es_handler); - + assert(a_arg); + dap_events_socket_uuid_t *l_es_uuid_ptr = (dap_events_socket_uuid_t*) a_arg; dap_worker_t *l_worker = dap_events_get_current_worker(dap_events_get_default()); assert(l_worker); - dap_events_socket_t * l_es = dap_worker_esocket_find_uuid(l_worker, l_es_handler->esocket_uuid); + dap_events_socket_t * l_es = dap_worker_esocket_find_uuid(l_worker, *l_es_uuid_ptr); if(l_es){ if (l_es->flags & DAP_SOCK_CONNECTING ){ dap_client_pvt_t * l_client_pvt =(dap_client_pvt_t *) l_es->_inheritor;//(l_client) ? DAP_CLIENT_PVT(l_client) : NULL; @@ -246,9 +249,9 @@ static bool s_stream_timer_timeout_check(void * a_arg) log_it(L_DEBUG,"Socket %d is connected, close check timer", l_es->socket); }else if(s_debug_more) - log_it(L_DEBUG,"Esocket %llu is finished, close check timer", l_es_handler->esocket_uuid); + log_it(L_DEBUG,"Esocket %"DAP_UINT64_FORMAT_u" is finished, close check timer", *l_es_uuid_ptr); - DAP_DEL_Z(l_es_handler) + DAP_DEL_Z(l_es_uuid_ptr) return false; } @@ -259,16 +262,16 @@ static bool s_stream_timer_timeout_check(void * a_arg) */ static bool s_stream_timer_timeout_after_connected_check(void * a_arg) { - dap_events_socket_handle_t *l_es_handler = (dap_events_socket_handle_t*) a_arg; - assert(l_es_handler); + assert(a_arg); + dap_events_socket_uuid_t *l_es_uuid_ptr = (dap_events_socket_uuid_t*) a_arg; dap_worker_t * l_worker = dap_events_get_current_worker(dap_events_get_default()); assert(l_worker); - dap_events_socket_t * l_es = dap_worker_esocket_find_uuid(l_worker, l_es_handler->esocket_uuid); + dap_events_socket_t * l_es = dap_worker_esocket_find_uuid(l_worker, *l_es_uuid_ptr); if( l_es ){ dap_client_pvt_t * l_client_pvt =(dap_client_pvt_t *) l_es->_inheritor;//(l_client) ? DAP_CLIENT_PVT(l_client) : NULL; - if ( time(NULL)- l_client_pvt->ts_last_read >= s_client_timeout_read_after_connect){ + if ( time(NULL)- l_client_pvt->ts_last_read >= s_client_timeout_read_after_connect_seconds){ log_it(L_WARNING,"Connecting timeout for streaming uplink http://%s:%u/, possible network problems or host is down", l_client_pvt->uplink_addr, l_client_pvt->uplink_port); @@ -284,9 +287,28 @@ static bool s_stream_timer_timeout_after_connected_check(void * a_arg) log_it(L_DEBUG,"Streaming socket %d is connected, close check timer", l_es->socket); }else if(s_debug_more) - log_it(L_DEBUG,"Streaming socket %llu is finished, close check timer", l_es_handler->esocket_uuid); + log_it(L_DEBUG,"Streaming socket %"DAP_UINT64_FORMAT_u" is finished, close check timer", *l_es_uuid_ptr); - DAP_DEL_Z(l_es_handler) + DAP_DEL_Z(l_es_uuid_ptr); + return false; +} + +/** + * @brief s_enc_init_delay_before_request_timer_callback + * @param a_arg + * @return + */ +static bool s_enc_init_delay_before_request_timer_callback(void * a_arg) +{ + assert (a_arg); + dap_events_socket_uuid_t* l_es_uuid_ptr = (dap_events_socket_uuid_t*) a_arg; + dap_worker_t * l_worker = dap_events_get_current_worker(dap_events_get_default()); + dap_events_socket_t * l_es = dap_worker_esocket_find_uuid(l_worker, *l_es_uuid_ptr); + if(l_es){ + dap_client_pvt_t * l_client_pvt =(dap_client_pvt_t*) l_es->_inheritor; + s_stage_status_after(l_client_pvt); + } + DAP_DEL_Z(l_es_uuid_ptr); return false; } @@ -486,11 +508,11 @@ static bool s_stage_status_after(dap_client_pvt_t * a_client_pvt) dap_worker_add_events_socket( a_client_pvt->stream_es, l_worker); // Add check timer - dap_events_socket_handle_t * l_stream_es_handler = DAP_NEW_Z(dap_events_socket_handle_t); assert(a_client_pvt->stream_es); - l_stream_es_handler->esocket_uuid = a_client_pvt->stream_es->uuid; - dap_timerfd_start_on_worker(a_client_pvt->worker, (unsigned long)s_client_timeout_read_after_connect * 1000, - s_stream_timer_timeout_check,l_stream_es_handler); + dap_events_socket_uuid_t * l_stream_es_uuid_ptr = DAP_NEW_Z(dap_events_socket_uuid_t); + *l_stream_es_uuid_ptr = a_client_pvt->stream_es->uuid; + dap_timerfd_start_on_worker(a_client_pvt->worker, (unsigned long)s_client_timeout_read_after_connect_seconds * 1000, + s_stream_timer_timeout_check,l_stream_es_uuid_ptr); } else if (l_err != EINPROGRESS && l_err != -1){ char l_errbuf[128]; @@ -514,12 +536,12 @@ static bool s_stage_status_after(dap_client_pvt_t * a_client_pvt) }else{ log_it(L_INFO,"Connecting stream to remote %s:%u",a_client_pvt->uplink_addr, a_client_pvt->uplink_port); // add to dap_worker - dap_worker_add_events_socket( a_client_pvt->stream_es, l_worker); - dap_events_socket_handle_t * l_stream_es_handler = DAP_NEW_Z(dap_events_socket_handle_t); assert (a_client_pvt->stream_es); - l_stream_es_handler->esocket_uuid = a_client_pvt->stream_es->uuid; - dap_timerfd_start_on_worker(a_client_pvt->worker, (unsigned long)s_client_timeout_read_after_connect * 1000, - s_stream_timer_timeout_check,l_stream_es_handler); + dap_worker_add_events_socket( a_client_pvt->stream_es, l_worker); + dap_events_socket_uuid_t * l_stream_es_uuid_ptr = DAP_NEW_Z(dap_events_socket_uuid_t); + *l_stream_es_uuid_ptr = a_client_pvt->stream_es->uuid; + dap_timerfd_start_on_worker(a_client_pvt->worker, (unsigned long)s_client_timeout_read_after_connect_seconds * 1000, + s_stream_timer_timeout_check,l_stream_es_uuid_ptr); } } } @@ -610,8 +632,10 @@ static bool s_stage_status_after(dap_client_pvt_t * a_client_pvt) log_it(L_INFO, "Reconnect attempt %d in 0.3 seconds with %s:%u", a_client_pvt->stage_errors, a_client_pvt->uplink_addr,a_client_pvt->uplink_port); // small delay before next request - dap_timerfd_start_on_worker(l_worker, 300, (dap_timerfd_callback_t)s_stage_status_after, - a_client_pvt); + if(dap_timerfd_start( 300,(dap_timerfd_callback_t) s_stage_status_after, + a_client_pvt) == NULL){ + log_it(L_ERROR,"Can't run timer for small delay before the next enc_init request"); + } } else { log_it(L_INFO, "Too many attempts, reconnect attempt in %d seconds with %s:%u",s_timeout*3, @@ -619,9 +643,11 @@ static bool s_stage_status_after(dap_client_pvt_t * a_client_pvt) a_client_pvt->stage_status = STAGE_STATUS_IN_PROGRESS; a_client_pvt->stage_errors = 0; - // small delay before next request - dap_timerfd_start_on_worker(l_worker, s_timeout*3000, (dap_timerfd_callback_t)s_stage_status_after, - a_client_pvt); + // bigger delay before next request + if(dap_timerfd_start( s_timeout*3000,(dap_timerfd_callback_t) s_stage_status_after, + a_client_pvt ) == NULL){ + log_it(L_ERROR,"Can't run timer for bigger delay before the next enc_init request"); + } } } } @@ -915,22 +941,22 @@ static void s_enc_init_response(dap_client_t * a_client, void * a_response, size json_object_object_foreach(jobj, key, val) { if(json_object_get_type(val) == json_type_string) { - char *str = (char *) json_object_get_string(val); + const char *l_str = json_object_get_string(val); if(!strcmp(key, "encrypt_id")) { DAP_DELETE (l_session_id_b64); - l_session_id_b64 = DAP_NEW_Z_SIZE(char, strlen(str) + 1); - strcpy(l_session_id_b64, str); + l_session_id_b64 = DAP_NEW_Z_SIZE(char, strlen(l_str) + 1); + strcpy(l_session_id_b64, l_str); json_parse_count++; } if(!strcmp(key, "encrypt_msg")) { DAP_DELETE(l_bob_message_b64); - l_bob_message_b64 = DAP_NEW_Z_SIZE(char, strlen(str) + 1); - strcpy(l_bob_message_b64, str); + l_bob_message_b64 = DAP_NEW_Z_SIZE(char, strlen(l_str) + 1); + strcpy(l_bob_message_b64, l_str); json_parse_count++; } } if(json_object_get_type(val) == json_type_int) { - int val_int = (uint32_t)json_object_get_int(val); + int val_int = json_object_get_int(val); if(!strcmp(key, "dap_protocol_version")) { l_client_pvt->remote_protocol_version = val_int; json_parse_count++; diff --git a/dap-sdk/net/core/dap_events_socket.c b/dap-sdk/net/core/dap_events_socket.c index f6aff2f4e1..741096c798 100644 --- a/dap-sdk/net/core/dap_events_socket.c +++ b/dap-sdk/net/core/dap_events_socket.c @@ -1421,13 +1421,13 @@ int dap_events_socket_event_signal( dap_events_socket_t * a_es, uint64_t a_value */ void dap_events_socket_queue_on_remove_and_delete(dap_events_socket_t* a_es) { - dap_events_socket_handle_t * l_es_handler= DAP_NEW_Z(dap_events_socket_handle_t); - l_es_handler->esocket_uuid = a_es->uuid; + dap_events_socket_uuid_t * l_es_uuid_ptr= DAP_NEW_Z(dap_events_socket_uuid_t); + *l_es_uuid_ptr = a_es->uuid; - int l_ret= dap_events_socket_queue_ptr_send( a_es->worker->queue_es_delete, l_es_handler ); + int l_ret= dap_events_socket_queue_ptr_send( a_es->worker->queue_es_delete, l_es_uuid_ptr ); if( l_ret != 0 ){ log_it(L_ERROR, "Queue send returned %d", l_ret); - DAP_DELETE(l_es_handler); + DAP_DELETE(l_es_uuid_ptr); } } @@ -1719,7 +1719,7 @@ void dap_events_socket_set_writable_unsafe( dap_events_socket_t *a_esocket, bool bool s_remove_and_delete_unsafe_delayed_delete_callback(void * a_arg) { dap_worker_t * l_worker = dap_events_get_current_worker(dap_events_get_default()); - dap_events_socket_handle_t * l_es_handler = (dap_events_socket_handle_t*) a_arg; + dap_events_socket_uuid_w_data_t * l_es_handler = (dap_events_socket_uuid_w_data_t*) a_arg; assert(l_es_handler); assert(l_worker); dap_events_socket_t * l_es; @@ -1738,7 +1738,7 @@ bool s_remove_and_delete_unsafe_delayed_delete_callback(void * a_arg) */ void dap_events_socket_remove_and_delete_unsafe_delayed( dap_events_socket_t *a_es, bool a_preserve_inheritor ) { - dap_events_socket_handle_t * l_es_handler = DAP_NEW_Z(dap_events_socket_handle_t); + dap_events_socket_uuid_w_data_t * l_es_handler = DAP_NEW_Z(dap_events_socket_uuid_w_data_t); l_es_handler->esocket_uuid = a_es->uuid; l_es_handler->value = a_preserve_inheritor ? 1 : 0; dap_events_socket_descriptor_close(a_es); @@ -1906,12 +1906,12 @@ void dap_events_socket_remove_from_worker_unsafe( dap_events_socket_t *a_es, dap void dap_events_socket_remove_and_delete_mt(dap_worker_t * a_w, dap_events_socket_uuid_t a_es_uuid ) { assert(a_w); - dap_events_socket_handle_t * l_es_handler= DAP_NEW_Z(dap_events_socket_handle_t); - l_es_handler->esocket_uuid = a_es_uuid; + dap_events_socket_uuid_t * l_es_uuid_ptr= DAP_NEW_Z(dap_events_socket_uuid_t); + *l_es_uuid_ptr = a_es_uuid; - if(dap_events_socket_queue_ptr_send( a_w->queue_es_delete, l_es_handler ) != 0 ){ - log_it(L_ERROR,"Can't send %llu fd in queue",a_es_uuid); - DAP_DELETE(l_es_handler); + if(dap_events_socket_queue_ptr_send( a_w->queue_es_delete, l_es_uuid_ptr ) != 0 ){ + log_it(L_ERROR,"Can't send %"DAP_UINT64_FORMAT_u" uuid in queue",a_es_uuid); + DAP_DELETE(l_es_uuid_ptr); } } diff --git a/dap-sdk/net/core/dap_worker.c b/dap-sdk/net/core/dap_worker.c index 7e8b62bbe3..02b096a5a2 100644 --- a/dap-sdk/net/core/dap_worker.c +++ b/dap-sdk/net/core/dap_worker.c @@ -975,15 +975,15 @@ static void s_queue_add_es_callback( dap_events_socket_t * a_es, void * a_arg) */ static void s_queue_delete_es_callback( dap_events_socket_t * a_es, void * a_arg) { - dap_events_socket_handle_t * l_es_handler = (dap_events_socket_handle_t*) a_arg; - assert(l_es_handler); + assert(a_arg); + dap_events_socket_uuid_t * l_es_uuid_ptr = (dap_events_socket_uuid_t*) a_arg; dap_events_socket_t * l_es; - if ( (l_es = dap_worker_esocket_find_uuid(a_es->worker,l_es_handler->esocket_uuid)) != NULL ){ + if ( (l_es = dap_worker_esocket_find_uuid(a_es->worker,*l_es_uuid_ptr)) != NULL ){ //l_es->flags |= DAP_SOCK_SIGNAL_CLOSE; // Send signal to socket to kill dap_events_socket_remove_and_delete_unsafe(l_es,false); }else - log_it(L_INFO, "While we were sending the delete() message, esocket %llu has been disconnected ", l_es_handler->esocket_uuid); - DAP_DELETE(l_es_handler); + log_it(L_INFO, "While we were sending the delete() message, esocket %"DAP_UINT64_FORMAT_u" has been disconnected ", l_es_uuid_ptr); + DAP_DELETE(l_es_uuid_ptr); } /** @@ -1054,7 +1054,7 @@ static void s_queue_es_io_callback( dap_events_socket_t * a_es, void * a_arg) // Check if it was removed from the list dap_events_socket_t *l_msg_es = dap_worker_esocket_find_uuid(l_worker, l_msg->esocket_uuid); if ( l_msg_es == NULL){ - log_it(L_INFO, "We got i/o message for esocket %llu thats now not in list. Lost %u data", l_msg->esocket_uuid, l_msg->data_size); + log_it(L_INFO, "We got i/o message for esocket %"DAP_UINT64_FORMAT_U" thats now not in list. Lost %u data", l_msg->esocket_uuid, l_msg->data_size); DAP_DELETE(l_msg); return; } diff --git a/dap-sdk/net/core/include/dap_events_socket.h b/dap-sdk/net/core/include/dap_events_socket.h index 434fcc22fc..b756ef1547 100644 --- a/dap-sdk/net/core/include/dap_events_socket.h +++ b/dap-sdk/net/core/include/dap_events_socket.h @@ -282,13 +282,13 @@ typedef struct dap_events_socket { #define SSL(a) (a ? (WOLFSSL *) (a)->_pvt : NULL) -typedef struct dap_events_socket_handler{ +typedef struct dap_events_socket_uuid_w_data{ dap_events_socket_uuid_t esocket_uuid; struct { uint64_t value; // some custom data void * ptr; }; -} dap_events_socket_handle_t; +} dap_events_socket_uuid_w_data_t; diff --git a/dap-sdk/net/server/http_server/http_client/dap_http_client.c b/dap-sdk/net/server/http_server/http_client/dap_http_client.c index f99a91552d..6a93998d27 100644 --- a/dap-sdk/net/server/http_server/http_client/dap_http_client.c +++ b/dap-sdk/net/server/http_server/http_client/dap_http_client.c @@ -352,7 +352,7 @@ void dap_http_client_read( dap_events_socket_t *a_esocket, void *a_arg ) } if ( eol + 3 >= sizeof(l_buf_line) ) { - log_it( L_WARNING,"Too big line in request, more than %llu symbols - thats very strange", sizeof(l_buf_line) - 3 ); + log_it( L_WARNING,"Too big line in request, more than %"DAP_UINT64_FORMAT_U" symbols - thats very strange", sizeof(l_buf_line) - 3 ); s_report_error_and_restart( a_esocket, l_http_client ); break; } @@ -647,9 +647,9 @@ void dap_http_client_out_header_generate(dap_http_client_t *a_http_client) log_it(L_DEBUG,"output: Content-Type = '%s'",a_http_client->out_content_type); } if ( a_http_client->out_content_length ) { - dap_snprintf(buf,sizeof(buf),"%llu",(unsigned long long)a_http_client->out_content_length); + dap_snprintf(buf,sizeof(buf),"%"DAP_UINT64_FORMAT_U"",(unsigned long long)a_http_client->out_content_length); dap_http_header_add(&a_http_client->out_headers,"Content-Length",buf); - log_it(L_DEBUG,"output: Content-Length = %llu",a_http_client->out_content_length); + log_it(L_DEBUG,"output: Content-Length = %"DAP_UINT64_FORMAT_U"",a_http_client->out_content_length); } }else if (s_debug_http) diff --git a/dap-sdk/net/stream/stream/dap_stream.c b/dap-sdk/net/stream/stream/dap_stream.c index bea02c2aef..9f19d041c5 100644 --- a/dap-sdk/net/stream/stream/dap_stream.c +++ b/dap-sdk/net/stream/stream/dap_stream.c @@ -414,7 +414,7 @@ static void s_http_client_headers_write(dap_http_client_t * a_http_client, void // Connection is established, setting up keepalive timer dap_events_socket_uuid_t * l_es_uuid= DAP_NEW_Z(dap_events_socket_uuid_t); *l_es_uuid = a_http_client->esocket->uuid; - dap_timerfd_start(STREAM_KEEPALIVE_TIMEOUT * 1000, (dap_timerfd_callback_t)s_callback_keepalive, l_es_uuid); + dap_timerfd_start_on_worker(a_http_client->esocket->worker, STREAM_KEEPALIVE_TIMEOUT * 1000, s_callback_keepalive, l_es_uuid); } } @@ -445,7 +445,7 @@ static void s_esocket_callback_worker_assign(dap_events_socket_t * a_esocket, da if(a_esocket->type == DESCRIPTOR_TYPE_SOCKET_UDP){ dap_events_socket_uuid_t * l_es_uuid= DAP_NEW_Z(dap_events_socket_uuid_t); *l_es_uuid = a_esocket->uuid; - dap_timerfd_start(STREAM_KEEPALIVE_TIMEOUT * 1000, (dap_timerfd_callback_t)s_callback_keepalive, l_es_uuid); + dap_timerfd_start_on_worker(a_worker,STREAM_KEEPALIVE_TIMEOUT * 1000, (dap_timerfd_callback_t)s_callback_keepalive, l_es_uuid); }else { dap_http_client_t *l_http_client = DAP_HTTP_CLIENT(a_esocket); assert(l_http_client); @@ -455,7 +455,7 @@ static void s_esocket_callback_worker_assign(dap_events_socket_t * a_esocket, da if(l_http_client->state_read == DAP_HTTP_CLIENT_STATE_DATA && l_http_client->state_write == DAP_HTTP_CLIENT_STATE_DATA ){ dap_events_socket_uuid_t * l_es_uuid= DAP_NEW_Z(dap_events_socket_uuid_t); *l_es_uuid = a_esocket->uuid; - dap_timerfd_start(STREAM_KEEPALIVE_TIMEOUT * 1000, (dap_timerfd_callback_t)s_callback_keepalive, l_es_uuid); + dap_timerfd_start_on_worker(a_worker, STREAM_KEEPALIVE_TIMEOUT * 1000, (dap_timerfd_callback_t)s_callback_keepalive, l_es_uuid); } } } diff --git a/modules/chain/dap_chain_ledger.c b/modules/chain/dap_chain_ledger.c index 6606f689db..6f47412d99 100644 --- a/modules/chain/dap_chain_ledger.c +++ b/modules/chain/dap_chain_ledger.c @@ -1083,7 +1083,7 @@ int dap_chain_ledger_token_emission_add_check(dap_ledger_t *a_ledger, const dap_ : &l_ledger_priv->treshold_emissions_rwlock); if(l_token_emission_item ) { if(s_debug_more) - log_it(L_ERROR, "Can't add token emission datum of %llu %s ( %s ): already present in cache", + log_it(L_ERROR, "Can't add token emission datum of %"DAP_UINT64_FORMAT_U" %s ( %s ): already present in cache", a_token_emission->hdr.value, c_token_ticker, l_hash_str); ret = -1; }else if ( (! l_token_item) && ( l_threshold_emissions_count >= s_treshold_emissions_max)) { @@ -1127,7 +1127,7 @@ int dap_chain_ledger_token_emission_add_check(dap_ledger_t *a_ledger, const dap_ if (l_aproves < l_aproves_valid ){ if(s_debug_more) - log_it(L_WARNING, "Emission of %llu datoshi of %s:%s is wrong: only %u valid aproves when %u need", + log_it(L_WARNING, "Emission of %"DAP_UINT64_FORMAT_U" datoshi of %s:%s is wrong: only %u valid aproves when %u need", a_token_emission->hdr.value, a_ledger->net_name, a_token_emission->hdr.ticker, l_aproves, l_aproves_valid ); ret = -1; } @@ -1222,7 +1222,7 @@ int dap_chain_ledger_token_emission_add(dap_ledger_t *a_ledger, } else { if (l_token_item) { if(s_debug_more) - log_it(L_ERROR, "Can't add token emission datum of %llu %s ( %s )", + log_it(L_ERROR, "Can't add token emission datum of %"DAP_UINT64_FORMAT_U" %s ( %s )", a_token_emission->hdr.value, c_token_ticker, l_hash_str); } ret = -1; @@ -1930,7 +1930,7 @@ int dap_chain_ledger_tx_cache_check(dap_ledger_t *a_ledger, dap_chain_datum_tx_t HASH_FIND_STR(l_values_from_cur_tx, l_value_cur->token_ticker, l_res); if (!l_res || l_res->sum != l_value_cur->sum) { if(s_debug_more) - log_it(L_ERROR, "Sum of values in out items of current tx (%llu) is not equal outs from previous tx (%llu) for token %s", + log_it(L_ERROR, "Sum of values in out items of current tx (%"DAP_UINT64_FORMAT_U") is not equal outs from previous tx (%"DAP_UINT64_FORMAT_U") for token %s", l_res ? l_res->sum : 0, l_value_cur->sum, l_value_cur->token_ticker); l_err_num = -12; break; @@ -2548,7 +2548,7 @@ uint128_t dap_chain_ledger_calc_balance(dap_ledger_t *a_ledger, const dap_chain_ HASH_FIND_STR(PVT(a_ledger)->balance_accounts, l_wallet_balance_key, l_balance_item); if (l_balance_item) { if(s_debug_more) - log_it (L_INFO,"Found address in cache with balance %llu", l_balance_item->balance); + log_it (L_INFO,"Found address in cache with balance %"DAP_UINT64_FORMAT_U"", l_balance_item->balance); l_ret = l_balance_item->balance; } DAP_DELETE(l_addr); diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c index 6b1120c6d0..6a8beefe1c 100644 --- a/modules/channel/chain/dap_stream_ch_chain.c +++ b/modules/channel/chain/dap_stream_ch_chain.c @@ -397,7 +397,7 @@ static bool s_sync_out_gdb_proc_callback(dap_proc_thread_t *a_thread, void *a_ar // Get log diff uint64_t l_local_last_id = dap_db_log_get_last_id(); if (s_debug_more) - log_it(L_DEBUG, "Sync out gdb proc, requested transactions %llu:%llu from address "NODE_ADDR_FP_STR, + log_it(L_DEBUG, "Sync out gdb proc, requested transactions %"DAP_UINT64_FORMAT_U":%"DAP_UINT64_FORMAT_U" from address "NODE_ADDR_FP_STR, l_sync_request->request.id_start, l_local_last_id, NODE_ADDR_FP_ARGS_S(l_sync_request->request.node_addr)); uint64_t l_start_item = l_sync_request->request.id_start; // If the current global_db has been truncated, but the remote node has not known this @@ -1372,7 +1372,7 @@ void s_stream_ch_packet_out(dap_stream_ch_t* a_ch, void* a_arg) // free log list dap_db_log_list_delete(l_ch_chain->request_global_db_trs); l_ch_chain->request_global_db_trs = NULL; - log_it( L_INFO,"Syncronized database: last id %llu, items syncronyzed %llu ", dap_db_log_get_last_id(), + log_it( L_INFO,"Syncronized database: last id %"DAP_UINT64_FORMAT_U", items syncronyzed %"DAP_UINT64_FORMAT_U" ", dap_db_log_get_last_id(), l_ch_chain->stats_request_gdb_processed ); // last message dap_stream_ch_chain_sync_request_t l_request = {}; @@ -1483,7 +1483,7 @@ void s_stream_ch_packet_out(dap_stream_ch_t* a_ch, void* a_arg) dap_stream_ch_chain_pkt_write_unsafe(a_ch, DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_CHAINS, l_ch_chain->request_hdr.net_id.uint64, l_ch_chain->request_hdr.chain_id.uint64, l_ch_chain->request_hdr.cell_id.uint64, &l_request, sizeof(l_request)); - log_it( L_INFO,"Synced: %llu atoms processed", l_ch_chain->stats_request_atoms_processed); + log_it( L_INFO,"Synced: %"DAP_UINT64_FORMAT_U" atoms processed", l_ch_chain->stats_request_atoms_processed); dap_stream_ch_chain_go_idle(l_ch_chain); if (l_ch_chain->callback_notify_packet_out) l_ch_chain->callback_notify_packet_out(l_ch_chain, DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_CHAINS, NULL, diff --git a/modules/global-db/dap_chain_global_db_remote.c b/modules/global-db/dap_chain_global_db_remote.c index 06a3df71f8..e0b3650be6 100644 --- a/modules/global-db/dap_chain_global_db_remote.c +++ b/modules/global-db/dap_chain_global_db_remote.c @@ -90,7 +90,7 @@ uint64_t dap_db_get_cur_node_addr(char *a_net_name) time_t l_dt = time(NULL) - l_node_time; //NODE_TIME_EXPIRED if(l_node_time && l_dt > addr_time_expired) { - //log_it(L_NOTICE, "Node 0x%016X set last synced timestamp %llu", a_id); + //log_it(L_NOTICE, "Node 0x%016X set last synced timestamp %"DAP_UINT64_FORMAT_U"", a_id); l_node_addr_ret = 0; } DAP_DELETE(l_key); @@ -105,7 +105,7 @@ uint64_t dap_db_get_cur_node_addr(char *a_net_name) */ bool dap_db_set_last_id_remote(uint64_t a_node_addr, uint64_t a_id) { - //log_it( L_DEBUG, "Node 0x%016X set last synced timestamp %llu", a_node_addr, a_id); + //log_it( L_DEBUG, "Node 0x%016X set last synced timestamp %"DAP_UINT64_FORMAT_U"", a_node_addr, a_id); uint64_t *l_id = DAP_NEW(uint64_t); *l_id = a_id; return dap_chain_global_db_gr_set(dap_strdup_printf("%ju", a_node_addr), @@ -135,7 +135,7 @@ uint64_t dap_db_get_last_id_remote(uint64_t a_node_addr) */ bool dap_db_set_last_hash_remote(uint64_t a_node_addr, dap_chain_t *a_chain, dap_chain_hash_fast_t *a_hash) { - //log_it( L_DEBUG, "Node 0x%016X set last synced timestamp %llu", a_id); + //log_it( L_DEBUG, "Node 0x%016X set last synced timestamp %"DAP_UINT64_FORMAT_U"", a_id); return dap_chain_global_db_gr_set(dap_strdup_printf("%ju%s%s", a_node_addr, a_chain->net_name, a_chain->name), a_hash, sizeof(*a_hash), GROUP_LOCAL_NODE_LAST_ID); } diff --git a/modules/mempool/dap_chain_mempool.c b/modules/mempool/dap_chain_mempool.c index 9d7c383479..b617fc9988 100644 --- a/modules/mempool/dap_chain_mempool.c +++ b/modules/mempool/dap_chain_mempool.c @@ -231,9 +231,9 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a if(dap_chain_datum_tx_add_in_item(&l_tx_new, &item->tx_hash_fast, (uint32_t) item->num_idx_out) == 1) { l_value_to_items += item->value; - log_it(L_DEBUG,"Added input %s with %llu datoshi",l_in_hash_str, item->value); + log_it(L_DEBUG,"Added input %s with %"DAP_UINT64_FORMAT_U" datoshi",l_in_hash_str, item->value); }else{ - log_it(L_WARNING,"Can't add input from %s with %llu datoshi",l_in_hash_str, item->value); + log_it(L_WARNING,"Can't add input from %s with %"DAP_UINT64_FORMAT_U" datoshi",l_in_hash_str, item->value); } l_list_used_out = l_list_tmp->next; DAP_DELETE(l_list_tmp->data); @@ -243,7 +243,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a break; } if ( l_value_to_items < (a_value + a_value_fee) ){ - log_it(L_ERROR,"Not enought values on output %llu to produce enought ins %llu when need %llu", + log_it(L_ERROR,"Not enought values on output %"DAP_UINT64_FORMAT_U" to produce enought ins %"DAP_UINT64_FORMAT_U" when need %"DAP_UINT64_FORMAT_U"", l_value_to_items, l_value_transfer, l_value_need); DAP_DELETE(l_objs); @@ -263,7 +263,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a // coin back l_value_back = l_value_transfer - l_value_pack; if(l_value_back) { - //log_it(L_DEBUG,"Change back %llu", l_value_back); + //log_it(L_DEBUG,"Change back %"DAP_UINT64_FORMAT_U"", l_value_back); if(dap_chain_datum_tx_add_out_item(&l_tx_new, a_addr_from, l_value_back) != 1) { dap_chain_datum_tx_delete(l_tx_new); return -3; @@ -282,7 +282,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a dap_hash_fast(l_tx_new, l_tx_size, &l_tx_new_hash); // If we have value back - update balance cache if(l_value_back) { - //log_it(L_DEBUG,"We have value back %llu now lets see how many outputs we have", l_value_back); + //log_it(L_DEBUG,"We have value back %"DAP_UINT64_FORMAT_U" now lets see how many outputs we have", l_value_back); int l_item_count = 0; dap_list_t *l_list_out_items = dap_chain_datum_tx_items_get( l_tx_new, TX_ITEM_TYPE_OUT, &l_item_count); @@ -323,7 +323,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a //continue; l_objs[i].value = (uint8_t*) l_datum; l_objs[i].value_len = l_tx_size + sizeof(l_datum->header); - log_it(L_DEBUG, "Prepared obj with key %s (value_len = %llu)", + log_it(L_DEBUG, "Prepared obj with key %s (value_len = %"DAP_UINT64_FORMAT_U")", l_objs[i].key? l_objs[i].key :"NULL" , l_objs[i].value_len ); } diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index 9ea827be42..8e9ee6717d 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -471,7 +471,7 @@ static void s_node_link_callback_connected(dap_chain_node_client_t * a_node_clie if (! (l_net_pvt->flags & F_DAP_CHAIN_NET_SYNC_FROM_ZERO) ) l_sync_gdb.id_start = (uint64_t) dap_db_get_last_id_remote(a_node_client->remote_node_addr.uint64); l_sync_gdb.node_addr.uint64 = dap_chain_net_get_cur_addr_int(l_net); - log_it(L_DEBUG, "Prepared request to gdb sync from %llu to %llu", l_sync_gdb.id_start, l_sync_gdb.id_end?l_sync_gdb.id_end:-1 ); + log_it(L_DEBUG, "Prepared request to gdb sync from %"DAP_UINT64_FORMAT_U" to %"DAP_UINT64_FORMAT_U"", l_sync_gdb.id_start, l_sync_gdb.id_end?l_sync_gdb.id_end:-1 ); // find dap_chain_id_t dap_chain_t *l_chain = l_net->pub.chains; dap_chain_id_t l_chain_id = l_chain ? l_chain->id : (dap_chain_id_t ) {0}; @@ -1348,7 +1348,7 @@ static int s_cli_net( int argc, char **argv, void *arg_func, char **a_str_reply) long double l_tps = l_to_ts == l_from_ts ? 0 : (long double) l_tx_count / (long double) ( l_to_ts - l_from_ts ); dap_string_append_printf( l_ret_str, "\tSpeed: %.3Lf TPS\n", l_tps ); - dap_string_append_printf( l_ret_str, "\tTotal: %llu\n", l_tx_count ); + dap_string_append_printf( l_ret_str, "\tTotal: %"DAP_UINT64_FORMAT_U"\n", l_tx_count ); dap_chain_node_cli_set_reply_text( a_str_reply, l_ret_str->str ); dap_string_free( l_ret_str, false ); } @@ -2856,7 +2856,7 @@ void dap_chain_net_dump_datum(dap_string_t * a_str_out, dap_chain_datum_t * a_da case SERV_UNIT_B : dap_string_append_printf(a_str_out,"\tunit: SERV_UNIT_B\n"); break; default: dap_string_append_printf(a_str_out,"\tunit: SERV_UNIT_UNKNOWN\n"); break; } - dap_string_append_printf(a_str_out,"\tunit_price_max: %llu\n", l_out->subtype.srv_pay.unit_price_max_datoshi); + dap_string_append_printf(a_str_out,"\tunit_price_max: %"DAP_UINT64_FORMAT_U"\n", l_out->subtype.srv_pay.unit_price_max_datoshi); char l_pkey_hash_str[70]={[0]='\0'}; dap_chain_hash_fast_to_str(&l_out->subtype.srv_pay.pkey_hash, l_pkey_hash_str, sizeof (l_pkey_hash_str)-1); dap_string_append_printf(a_str_out,"\tpkey_hash: %s\n", l_pkey_hash_str ); diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index c9e24f8a80..13a4da7ee3 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -1126,7 +1126,7 @@ int com_node(int a_argc, char ** a_argv, void *arg_func, char **a_str_reply) l_chain_id_null.uint64 = l_net->pub.id.uint64; l_chain_cell_id_null.uint64 = dap_chain_net_get_cur_cell(l_net) ? dap_chain_net_get_cur_cell(l_net)->uint64 : 0; - log_it(L_INFO, "Requested GLOBAL_DB syncronizatoin, %llu:%llu period", l_sync_request.id_start, + log_it(L_INFO, "Requested GLOBAL_DB syncronizatoin, %"DAP_UINT64_FORMAT_U":%"DAP_UINT64_FORMAT_U" period", l_sync_request.id_start, l_sync_request.id_end); // copy l_sync_request to current //dap_stream_ch_chain_t * l_s_ch_chain = DAP_STREAM_CH_CHAIN(l_ch_chain); diff --git a/modules/net/dap_chain_node_cli_cmd_tx.c b/modules/net/dap_chain_node_cli_cmd_tx.c index 6bf330abc8..ad8ed91925 100644 --- a/modules/net/dap_chain_node_cli_cmd_tx.c +++ b/modules/net/dap_chain_node_cli_cmd_tx.c @@ -1006,25 +1006,25 @@ static char* dap_db_history_token_list(dap_chain_t * a_chain, const char *a_toke switch (l_token->type) { // Simple private token decl case DAP_CHAIN_DATUM_TOKEN_TYPE_SIMPLE: - dap_string_append_printf(l_str_out, " total_supply: %.0llf(%llu), signs: valid/total %02d/%02d \n", + dap_string_append_printf(l_str_out, " total_supply: %.0llf(%"DAP_UINT64_FORMAT_U"), signs: valid/total %02d/%02d \n", l_token->header_private.total_supply / DATOSHI_LD, l_token->header_private.total_supply, l_token->header_private.signs_valid, l_token->header_private.signs_total); break; case DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL: - dap_string_append_printf(l_str_out, " tsd_total_size: %llu, flags: 0x%x \n", + dap_string_append_printf(l_str_out, " tsd_total_size: %"DAP_UINT64_FORMAT_U", flags: 0x%x \n", l_token->header_private_decl.tsd_total_size, l_token->header_private_decl.flags); break; case DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_UPDATE: - dap_string_append_printf(l_str_out, " tsd_total_size: %llu, padding: 0x%x \n", + dap_string_append_printf(l_str_out, " tsd_total_size: %"DAP_UINT64_FORMAT_U", padding: 0x%x \n", l_token->header_private_update.tsd_total_size, l_token->header_private_update.padding); break; case DAP_CHAIN_DATUM_TOKEN_TYPE_PUBLIC: { char *l_addr = dap_chain_addr_to_str(&l_token->header_public.premine_address); dap_string_append_printf(l_str_out, - " total_supply: %.0llf(%llu), flags: 0x%x\n, premine_supply: %llu, premine_address '%s'\n", + " total_supply: %.0llf(%"DAP_UINT64_FORMAT_U"), flags: 0x%x\n, premine_supply: %"DAP_UINT64_FORMAT_U", premine_address '%s'\n", l_token->header_public.total_supply / DATOSHI_LD, l_token->header_public.total_supply, l_token->header_public.flags, @@ -1130,25 +1130,25 @@ static char* dap_db_history_filter(dap_chain_t * a_chain, dap_ledger_t *a_ledger switch (l_token->type) { // Simple private token decl case DAP_CHAIN_DATUM_TOKEN_TYPE_SIMPLE: - dap_string_append_printf(l_str_out, " total_supply: %.0llf(%llu), signs: valid/total %02d/%02d \n", + dap_string_append_printf(l_str_out, " total_supply: %.0llf(%"DAP_UINT64_FORMAT_U"), signs: valid/total %02d/%02d \n", l_token->header_private.total_supply / DATOSHI_LD, l_token->header_private.total_supply, l_token->header_private.signs_valid, l_token->header_private.signs_total); break; case DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL: - dap_string_append_printf(l_str_out, " tsd_total_size: %llu, flags: 0x%x \n", + dap_string_append_printf(l_str_out, " tsd_total_size: %"DAP_UINT64_FORMAT_U", flags: 0x%x \n", l_token->header_private_decl.tsd_total_size, l_token->header_private_decl.flags); break; case DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_UPDATE: - dap_string_append_printf(l_str_out, " tsd_total_size: %llu, padding: 0x%x \n", + dap_string_append_printf(l_str_out, " tsd_total_size: %"DAP_UINT64_FORMAT_U", padding: 0x%x \n", l_token->header_private_update.tsd_total_size, l_token->header_private_update.padding); break; case DAP_CHAIN_DATUM_TOKEN_TYPE_PUBLIC: { char *l_addr = dap_chain_addr_to_str(&l_token->header_public.premine_address); dap_string_append_printf(l_str_out, - " total_supply: %.0llf(%llu), flags: 0x%x\n, premine_supply: %llu, premine_address '%s'\n", + " total_supply: %.0llf(%"DAP_UINT64_FORMAT_U"), flags: 0x%x\n, premine_supply: %"DAP_UINT64_FORMAT_U", premine_address '%s'\n", l_token->header_public.total_supply / DATOSHI_LD, l_token->header_public.total_supply, l_token->header_public.flags, @@ -1183,7 +1183,7 @@ static char* dap_db_history_filter(dap_chain_t * a_chain, dap_ledger_t *a_ledger break; } - dap_string_append_printf(l_str_out, "emission: %.0llf(%llu) %s, type: %s, version: %d\n", + dap_string_append_printf(l_str_out, "emission: %.0llf(%"DAP_UINT64_FORMAT_U") %s, type: %s, version: %d\n", l_token_em->hdr.value / DATOSHI_LD, l_token_em->hdr.value, l_token_em->hdr.ticker, c_dap_chain_datum_token_emission_type_str[l_token_em->hdr.type], l_token_em->hdr.version); @@ -1200,7 +1200,7 @@ static char* dap_db_history_filter(dap_chain_t * a_chain, dap_ledger_t *a_ledger dap_string_append_printf(l_str_out, " codename: %s\n", l_token_em->data.type_algo.codename); break; case DAP_CHAIN_DATUM_TOKEN_EMISSION_TYPE_ATOM_OWNER: - dap_string_append_printf(l_str_out, " value_start: %.0llf(%llu), codename: %s\n", + dap_string_append_printf(l_str_out, " value_start: %.0llf(%"DAP_UINT64_FORMAT_U"), codename: %s\n", l_token_em->data.type_atom_owner.value_start / DATOSHI_LD, l_token_em->data.type_atom_owner.value_start, l_token_em->data.type_atom_owner.value_change_algo_codename); diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c index a0df55ee08..e1c0cd0ae6 100644 --- a/modules/net/dap_chain_node_client.c +++ b/modules/net/dap_chain_node_client.c @@ -163,7 +163,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); - l_node_client->own_esh.esocket_uuid = 0; + l_node_client->esocket_uuid = 0; if (l_node_client->keep_connection) { uint128_t *l_uuid = DAP_NEW(uint128_t); @@ -199,7 +199,7 @@ static bool s_timer_update_states_callback(void * a_arg ) assert(l_worker); assert(l_me); dap_events_socket_t * l_es = NULL; - dap_events_socket_uuid_t l_es_uuid = l_me->own_esh.esocket_uuid; + dap_events_socket_uuid_t l_es_uuid = l_me->esocket_uuid; // check if esocket still in worker if( (l_es = dap_worker_esocket_find_uuid(l_worker, l_es_uuid)) != NULL ){ dap_client_t * l_client = dap_client_from_esocket(l_es); @@ -216,7 +216,7 @@ static bool s_timer_update_states_callback(void * a_arg ) dap_stream_ch_chain_sync_request_t l_sync_gdb = {}; l_sync_gdb.id_start = (uint64_t) dap_db_get_last_id_remote(l_node_client->remote_node_addr.uint64); l_sync_gdb.node_addr.uint64 = dap_chain_net_get_cur_addr_int(l_net); - log_it(L_DEBUG, "Prepared request to gdb sync from %llu to %llu", l_sync_gdb.id_start, + log_it(L_DEBUG, "Prepared request to gdb sync from %"DAP_UINT64_FORMAT_U" to %"DAP_UINT64_FORMAT_U"", l_sync_gdb.id_start, l_sync_gdb.id_end?l_sync_gdb.id_end:-1 ); // find dap_chain_id_t dap_chain_t *l_chain = l_net->pub.chains; @@ -270,7 +270,7 @@ static void s_stage_connected_callback(dap_client_t *a_client, void *a_arg) dap_stream_t * l_stream = dap_client_get_stream(a_client); if (l_stream) { - l_node_client->own_esh.esocket_uuid = l_stream->esocket->uuid; + l_node_client->esocket_uuid = l_stream->esocket->uuid; if (l_node_client->keep_connection) { dap_events_socket_uuid_t *l_uuid = DAP_NEW(dap_events_socket_uuid_t); memcpy(l_uuid, &l_node_client->uuid, sizeof(dap_events_socket_uuid_t)); diff --git a/modules/net/dap_chain_node_dns_client.c b/modules/net/dap_chain_node_dns_client.c index 231851f84f..d11d489468 100644 --- a/modules/net/dap_chain_node_dns_client.c +++ b/modules/net/dap_chain_node_dns_client.c @@ -128,8 +128,9 @@ static void s_dns_client_esocket_error_callback(dap_events_socket_t * a_esocket, */ static bool s_dns_client_esocket_timeout_callback(void * a_arg) { - dap_events_socket_handle_t * l_es_handler = (dap_events_socket_handle_t *) a_arg; - assert(l_es_handler); + assert(a_arg); + dap_events_socket_uuid_t * l_es_uuid_ptr = (dap_events_socket_uuid_t *) a_arg; + assert(l_es_uuid_ptr); dap_events_t * l_events = dap_events_get_default(); assert(l_events); @@ -138,7 +139,7 @@ static bool s_dns_client_esocket_timeout_callback(void * a_arg) assert(l_worker); dap_events_socket_t * l_es; - if((l_es = dap_worker_esocket_find_uuid(l_worker ,l_es_handler->esocket_uuid) ) != NULL){ // If we've not closed this esocket + if((l_es = dap_worker_esocket_find_uuid(l_worker ,*l_es_uuid_ptr) ) != NULL){ // If we've not closed this esocket struct dns_client * l_dns_client = (struct dns_client*) l_es->_inheritor; log_it(L_WARNING,"DNS request timeout, bad network?"); if(! l_dns_client->is_callbacks_called ){ @@ -148,7 +149,7 @@ static bool s_dns_client_esocket_timeout_callback(void * a_arg) dap_events_socket_remove_and_delete_unsafe( l_es, false); } - DAP_DELETE(l_es_handler); + DAP_DEL_Z(l_es_uuid_ptr); return false; } @@ -178,10 +179,10 @@ static void s_dns_client_esocket_worker_assign_callback(dap_events_socket_t * a_ struct dns_client * l_dns_client = (struct dns_client*) a_esocket->_inheritor; dap_events_socket_write_unsafe(a_esocket,l_dns_client->dns_request->data, l_dns_client->dns_request->size ); - dap_events_socket_handle_t * l_es_handler = DAP_NEW_Z(dap_events_socket_handle_t); - l_es_handler->esocket_uuid = a_esocket->uuid; + dap_events_socket_uuid_t * l_es_uuid_ptr = DAP_NEW_Z(dap_events_socket_uuid_t); + *l_es_uuid_ptr = a_esocket->uuid; dap_timerfd_start_on_worker(a_worker, dap_config_get_item_uint64_default(g_config,"dns_client","request_timeout",10)*1000, - s_dns_client_esocket_timeout_callback,l_es_handler); + s_dns_client_esocket_timeout_callback,l_es_uuid_ptr); } diff --git a/modules/net/include/dap_chain_node_client.h b/modules/net/include/dap_chain_node_client.h index be3891f6fa..ca18108812 100644 --- a/modules/net/include/dap_chain_node_client.h +++ b/modules/net/include/dap_chain_node_client.h @@ -95,7 +95,7 @@ typedef struct dap_chain_node_client { // Timer dap_events_socket_t * timer_update_states; - dap_events_socket_handle_t own_esh; + dap_events_socket_uuid_t esocket_uuid; #ifndef _WIN32 diff --git a/modules/net/srv/dap_chain_net_srv_order.c b/modules/net/srv/dap_chain_net_srv_order.c index 48f7fafa6d..1c06eaf7e8 100644 --- a/modules/net/srv/dap_chain_net_srv_order.c +++ b/modules/net/srv/dap_chain_net_srv_order.c @@ -475,7 +475,7 @@ void dap_chain_net_srv_order_dump_to_string(dap_chain_net_srv_order_t *a_order,d } dap_string_append_printf(a_str_out, " srv_uid: 0x%016llX\n", a_order->srv_uid.uint64 ); - dap_string_append_printf(a_str_out, " price: \xA0""%.7Lf (%llu)\n", dap_chain_datoshi_to_coins(a_order->price) , a_order->price); + dap_string_append_printf(a_str_out, " price: \xA0""%.7Lf (%"DAP_UINT64_FORMAT_U")\n", dap_chain_datoshi_to_coins(a_order->price) , a_order->price); if( a_order->price_unit.uint32 ) dap_string_append_printf(a_str_out, " price_unit: %s\n", dap_chain_net_srv_price_unit_uid_to_str(a_order->price_unit) ); if ( a_order->node_addr.uint64) diff --git a/modules/net/srv/libmaxminddb/mmdblookup.c b/modules/net/srv/libmaxminddb/mmdblookup.c index 4a3403c67e..66e9ef178e 100644 --- a/modules/net/srv/libmaxminddb/mmdblookup.c +++ b/modules/net/srv/libmaxminddb/mmdblookup.c @@ -687,7 +687,7 @@ static bool start_threaded_benchmark( fprintf( stdout, - "Looked up %llu addresses using %d threads in %.2Lf seconds. %.2Lf lookups per second.\n", + "Looked up %llub addresses using %d threads in %.2Lf seconds. %.2Lf lookups per second.\n", total_ips, thread_count, elapsed, rate); return true; diff --git a/modules/service/vpn/dap_chain_net_srv_vpn.c b/modules/service/vpn/dap_chain_net_srv_vpn.c index 47a9f44af2..5034adb19a 100644 --- a/modules/service/vpn/dap_chain_net_srv_vpn.c +++ b/modules/service/vpn/dap_chain_net_srv_vpn.c @@ -1126,11 +1126,11 @@ static void s_update_limits(dap_stream_ch_t * a_ch , switch( a_usage->receipt->receipt_info.units_type.enm){ case SERV_UNIT_DAY:{ a_srv_session->limits_ts = time(NULL) + (time_t) a_usage->receipt->receipt_info.units*24*3600; - log_it(L_INFO,"%llu days more for VPN usage", a_usage->receipt->receipt_info.units); + log_it(L_INFO,"%"DAP_UINT64_FORMAT_U" days more for VPN usage", a_usage->receipt->receipt_info.units); } break; case SERV_UNIT_SEC:{ a_srv_session->limits_ts = time(NULL) + (time_t) a_usage->receipt->receipt_info.units; - log_it(L_INFO,"%llu seconds more for VPN usage", a_usage->receipt->receipt_info.units); + log_it(L_INFO,"%"DAP_UINT64_FORMAT_U" seconds more for VPN usage", a_usage->receipt->receipt_info.units); } break; default: { log_it(L_WARNING, "VPN doesnt accept serv unit type 0x%08X for limits_ts", a_usage->receipt->receipt_info.units_type.uint32 ); @@ -1163,15 +1163,15 @@ static void s_update_limits(dap_stream_ch_t * a_ch , switch( a_usage->receipt->receipt_info.units_type.enm){ case SERV_UNIT_B:{ a_srv_session->limits_bytes += (uintmax_t) a_usage->receipt->receipt_info.units; - log_it(L_INFO,"%llu bytes more for VPN usage", a_usage->receipt->receipt_info.units); + log_it(L_INFO,"%"DAP_UINT64_FORMAT_U" bytes more for VPN usage", a_usage->receipt->receipt_info.units); } break; case SERV_UNIT_KB:{ a_srv_session->limits_bytes += 1000ull * ( (uintmax_t) a_usage->receipt->receipt_info.units); - log_it(L_INFO,"%llu bytes more for VPN usage", a_usage->receipt->receipt_info.units); + log_it(L_INFO,"%"DAP_UINT64_FORMAT_U" bytes more for VPN usage", a_usage->receipt->receipt_info.units); } break; case SERV_UNIT_MB:{ a_srv_session->limits_bytes += 1000000ull * ( (uintmax_t) a_usage->receipt->receipt_info.units); - log_it(L_INFO,"%llu bytes more for VPN usage", a_usage->receipt->receipt_info.units); + log_it(L_INFO,"%"DAP_UINT64_FORMAT_U" bytes more for VPN usage", a_usage->receipt->receipt_info.units); } break; default: { log_it(L_WARNING, "VPN doesnt accept serv unit type 0x%08X for limits_bytes", a_usage->receipt->receipt_info.units_type.uint32 ); -- GitLab