diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..d70aec97a94165937137d16102c003b938a8bc17 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,13 @@ +stages: + - prepare + - build + - test + +variables: + GIT_SUBMODULE_STRATEGY: normal + +kelvin-node-schedule: + stage: build + tags: + - kelvin-node + script: ~/production/integration/gitlab-CI/build_all_handler.sh kelvin-node && ~/production/integration/gitlab-CI/travis_test.sh diff --git a/dist/share/configs/kelvin-node.cfg.tpl b/dist/share/configs/kelvin-node.cfg.tpl index ebc4f0fb263301f15c9be07021125f611dbcdf4f..a119d36edf748c91013d8b004942bf4f44f12e18 100644 --- a/dist/share/configs/kelvin-node.cfg.tpl +++ b/dist/share/configs/kelvin-node.cfg.tpl @@ -8,6 +8,8 @@ node_role=full #seed_mode=false auto_online=false +# Console + # Server part [server] # By default you don't need to open you to the world @@ -28,6 +30,14 @@ access_groups=expats,services,admins network_address=10.11.12.0 network_mask=255.255.255.0 +# Console interface server +[conserver] +enabled=true +#listen_tcp_port=12345 +listen_unix_socket_path=/opt/kelvin-node/var/run/node_cli +# Default permissions 770 +#listen_unix_socket_permissions=770 + # Application Resources [resources] # 0 means auto detect diff --git a/docs/CellFrame.dia b/docs/CellFrame.dia new file mode 100644 index 0000000000000000000000000000000000000000..2842fa389f882de944696171ce8ca9995c77a247 Binary files /dev/null and b/docs/CellFrame.dia differ diff --git a/docs/Cellframe.png b/docs/Cellframe.png new file mode 100644 index 0000000000000000000000000000000000000000..d271fdba2bdfdec9a6528852be4d17d0d9f2c5bd Binary files /dev/null and b/docs/Cellframe.png differ diff --git a/docs/ChainFrame.dia b/docs/ChainFrame.dia index 9ec80e6539df7d21bb18224210623a42fa5e3c89..2842fa389f882de944696171ce8ca9995c77a247 100644 Binary files a/docs/ChainFrame.dia and b/docs/ChainFrame.dia differ diff --git a/sources/dap_defines.h b/sources/dap_defines.h new file mode 100644 index 0000000000000000000000000000000000000000..c82859bfb0ded393029907080717b05ccdb4f84c --- /dev/null +++ b/sources/dap_defines.h @@ -0,0 +1,18 @@ +#pragma once +#define DAP_APP_NAME NODE_NETNAME "-node" +#ifdef _WIN32 + #define SYSTEM_PREFIX "opt/"DAP_APP_NAME +#else + #define SYSTEM_PREFIX "/opt/"DAP_APP_NAME +#endif + +#define LOCAL_PREFIX "~/."DAP_APP_NAME + +#define SYSTEM_CONFIGS_DIR SYSTEM_PREFIX"/etc" +#define LOCAL_CONFIGS_DIR LOCAL_PREFIX"/etc" + +#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" diff --git a/sources/main_node_cli.c b/sources/main_node_cli.c index 383c506bd6f9a7b3225c10c746930aa9b2eea98a..588aee1fda8717e8efef089b228d785c257aa811 100644 --- a/sources/main_node_cli.c +++ b/sources/main_node_cli.c @@ -34,6 +34,8 @@ #include "main_node_cli_net.h" #include "main_node_cli_shell.h" +#include "dap_defines.h" + static connect_param *cparam; /** @@ -179,6 +181,9 @@ int main(int argc, const char * argv[]) // set_default_locale(); // command_execution_string = shell_script_filename = (char *) NULL; + dap_common_init(DAP_APP_NAME " Console interface", NULL); + dap_log_level_set(L_CRITICAL ); + dap_config_init( SYSTEM_CONFIG_GLOBAL_FILENAME ); // connect to node cparam = node_cli_connect(); if(!cparam) diff --git a/sources/main_node_cli_net.c b/sources/main_node_cli_net.c index 1f989825268e77f098099b531de5cab1efb47e34..88d930458504fbc1cd9ed59517397be2611c2dba 100644 --- a/sources/main_node_cli_net.c +++ b/sources/main_node_cli_net.c @@ -68,7 +68,7 @@ */ static int add_mem_data(uint8_t **memory, size_t *memory_len, char *add_mem, size_t add_size) { - *memory = (char*) realloc(*memory, *memory_len + add_size + 1); + *memory = (uint8_t*) realloc(*memory, *memory_len + add_size + 1); //out of memory! if(*memory == NULL) { //printf("not enough memory (realloc returned NULL)\n"); @@ -124,9 +124,9 @@ connect_param* node_cli_connect(void) CURL *curl_handle = curl_easy_init(); #ifndef _WIN32 - int ret = curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, UNIX_SOCKET_FILE); // unix socket mode + int ret = curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, dap_config_get_item_str( g_config, "conserver", "listen_unix_socket_path") ); // unix socket mode #else - int ret = curl_easy_setopt(curl_handle, CURLOPT_PORT, 9999); // unix socket mode + int ret = curl_easy_setopt(curl_handle, CURLOPT_PORT, dap_config_get_item_uint16 ( g_config, "conserver", "listen_tcp_port")); // unix socket mode #endif curl_easy_setopt(curl_handle, CURLOPT_TIMEOUT, 60L); // complete within 60 seconds