diff --git a/sources/main.c b/sources/main.c index 97e1adae760c69d98e882c697ebe4118f80de328..a2e8450523140b77242f67bbec7242683ea85aa1 100644 --- a/sources/main.c +++ b/sources/main.c @@ -114,10 +114,6 @@ #define MEMPOOL_URL "/mempool" #define MAIN_URL "/" -#ifndef MAX_PATH -#define MAX_PATH 120 -#endif - void parse_args( int argc, const char **argv ); void exit_if_server_already_running( void ); diff --git a/sources/main_node_tool.c b/sources/main_node_tool.c index cb2f1b663c6ca22a3ee153364e982807065d0a40..b4daca59a50517fd8763e60a3b0eb9f098598cf0 100644 --- a/sources/main_node_tool.c +++ b/sources/main_node_tool.c @@ -85,33 +85,11 @@ #include "dap_client.h" #include "dap_http_simple.h" #include "dap_process_manager.h" +#include "dap_defines.h" #ifdef _WIN32 #include "registry.h" #endif #define DAP_APP_NAME NODE_NETNAME "-node" -#ifdef _WIN32 - #define SYSTEM_PREFIX "opt/"DAP_APP_NAME -#else - #define SYSTEM_PREFIX "/opt/"DAP_APP_NAME -#define MAX_PATH 260 -#endif - -#define LOCAL_PREFIX "~/."DAP_APP_NAME - -#define SYSTEM_CONFIGS_DIR SYSTEM_PREFIX"/etc" -#define LOCAL_CONFIGS_DIR LOCAL_PREFIX"/etc" - -#define SYSTEM_CA_DIR SYSTEM_PREFIX"/var/lib/ca" -#define LOCAL_CA_DIR LOCAL_PREFIX"/ca" - -#define SYSTEM_WALLET_DIR SYSTEM_PREFIX"/var/lib/wallet" -#define LOCAL_WALLET_DIR LOCAL_PREFIX"/wallet" - -#define SYSTEM_CONFIG_GLOBAL_FILENAME SYSTEM_PREFIX"/etc/"DAP_APP_NAME".cfg" -#define LOCAL_CONFIG_GLOBAL LOCAL_PREFIX"/etc/"DAP_APP_NAME".cfg" - -#define SYSTEM_PID_FILE_PATH SYSTEM_PREFIX"/run/"DAP_APP_NAME".pid" -#define LOCAL_PID_FILE_PATH SYSTEM_PREFIX"/run/"DAP_APP_NAME".pid" #define ENC_HTTP_URL "/enc_init" #define STREAM_CTL_URL "/stream_ctl" @@ -124,11 +102,9 @@ static int s_init( int argc, const char * argv[] ); static void s_help( ); static char s_system_ca_dir[MAX_PATH]; -static const char *s_appname = "kelvin-node-tool"; +static const char *s_appname = "cellframe-node-tool"; -int main( int argc, const char **argv ) -{ - uint8_t *buff = (uint8_t *)malloc( 8192 ); +int main(int argc, const char **argv) { int ret = s_init( argc, argv ); if ( ret ) { @@ -175,12 +151,11 @@ int main( int argc, const char **argv ) s_help( ); exit( -2004 ); } - char l_wallets_path[MAX_PATH]; + char l_wallets_path[MAX_PATH] = {'\0'}; #ifdef _WIN32 - dap_sprintf(l_wallets_path, "%s\\%s\\%s", regGetUsrPath(), DAP_APP_NAME, SYSTEM_WALLET_DIR); -#else - dap_stpcpy(l_wallets_path, SYSTEM_WALLET_DIR); + dap_stpcpy(l_wallets_path, s_sys_dir_path); #endif + dap_sprintf(l_wallets_path + l_sys_dir_path_len, "%s", dap_config_get_item_str(g_config, "resources", "wallets_path")); l_wallet = dap_chain_wallet_create( l_wallet_name, l_wallets_path, l_network_id, l_sig_type ); } else if ( strcmp( argv[2],"sign_file") == 0 ) { @@ -191,12 +166,11 @@ int main( int argc, const char **argv ) s_help(); exit(-3000); } - char l_wallets_path[MAX_PATH]; + char l_wallets_path[MAX_PATH] = {'\0'}; #ifdef _WIN32 - dap_sprintf(l_wallets_path, "%s\\%s\\%s", regGetUsrPath(), DAP_APP_NAME, SYSTEM_WALLET_DIR); -#else - dap_stpcpy(l_wallets_path, SYSTEM_WALLET_DIR); + dap_stpcpy(l_wallets_path, s_sys_dir_path); #endif + dap_sprintf(l_wallets_path + l_sys_dir_path_len, "%s", dap_config_get_item_str(g_config, "resources", "wallets_path")); dap_chain_wallet_t *l_wallet = dap_chain_wallet_open( argv[3], l_wallets_path); if ( !l_wallet ) { log_it(L_ERROR,"Can't open wallet \"%s\"",argv[3]); @@ -385,19 +359,28 @@ int main( int argc, const char **argv ) */ static int s_init( int argc, const char **argv ) { - if ( dap_common_init( DAP_APP_NAME, DAP_APP_NAME"_logs.txt") != 0 ) { - printf( "Fatal Error: Can't init common functions module" ); - return -2; - } + char l_log_file_path[MAX_PATH]; + l_sys_dir_path_len = 0; #ifdef _WIN32 - dap_sprintf(s_sys_dir_path, "%s/%s", regGetUsrPath(), DAP_APP_NAME); - l_sys_dir_path_len = strlen(s_sys_dir_path); - memcpy(s_system_ca_dir, s_sys_dir_path, l_sys_dir_path_len); + dap_sprintf(s_sys_dir_path, "%s/%s", regGetUsrPath(), DAP_APP_NAME); + l_sys_dir_path_len = strlen(s_sys_dir_path); + memcpy(s_system_ca_dir, s_sys_dir_path, l_sys_dir_path_len); + memcpy(l_log_file_path, s_sys_dir_path, l_sys_dir_path_len); #endif - memcpy( s_sys_dir_path + l_sys_dir_path_len, SYSTEM_CONFIGS_DIR, sizeof(SYSTEM_CONFIGS_DIR) ); + memcpy(l_log_file_path + l_sys_dir_path_len, SYSTEM_LOGS_DIR, sizeof(SYSTEM_LOGS_DIR)); + dap_sprintf(l_log_file_path + l_sys_dir_path_len + sizeof(SYSTEM_LOGS_DIR) - 1, "/%s_tool_logs.txt", DAP_APP_NAME); + + if (dap_common_init(DAP_APP_NAME, l_log_file_path) != 0) { + printf("Fatal Error: Can't init common functions module"); + return -2; + } + + memcpy(s_sys_dir_path + l_sys_dir_path_len, SYSTEM_CONFIGS_DIR, sizeof(SYSTEM_CONFIGS_DIR)); dap_config_init( s_sys_dir_path ); memset(s_sys_dir_path + l_sys_dir_path_len, '\0', MAX_PATH - l_sys_dir_path_len); - dap_sprintf(s_system_ca_dir + l_sys_dir_path_len, "%s", SYSTEM_CA_DIR); + + //dap_sprintf(s_system_ca_dir + l_sys_dir_path_len, "%s", l_ca_folders[i]); + if ( (g_config = dap_config_open(DAP_APP_NAME)) == NULL ) { log_it( L_ERROR, "Can't init general configurations" ); return -1; @@ -418,7 +401,7 @@ static int s_init( int argc, const char **argv ) return -5; } - if ( dap_server_init(0) != 0 ) { + /* if ( dap_server_init(0) != 0 ) { log_it( L_ERROR, "Can't server module" ); return -6; } @@ -451,9 +434,12 @@ static int s_init( int argc, const char **argv ) if ( dap_client_init() != 0 ) { log_it( L_ERROR, "Can't chain wallet storage module" ); return -12; - } + } */ - return 0; + uint16_t l_ca_folders_size = 0; + char **l_ca_folders = dap_config_get_array_str(g_config, "resources", "ca_folders", &l_ca_folders_size); + memcpy(s_system_ca_dir + l_sys_dir_path_len, l_ca_folders[0], strlen(l_ca_folders[0])); + return 0; } /**