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/CMakeLists.txt b/CMakeLists.txt index a8a8bc865def159983987d299d9cd05fcc10dd70..30fab3b03210d31f7f4dd3951431f4ef0cafb469 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,8 +37,8 @@ SET(DESTDIR "/opt/${PROJECT_NAME}") SET( CPACK_GENERATOR "DEB") SET( CPACK_PACKAGE_NAME "${PROJECT_NAME}") SET( CPACK_PACKAGE_VERSION_MAJOR 1) -SET( CPACK_PACKAGE_VERSION_MINOR 1) -SET( CPACK_PACKAGE_VERSION_PATCH 15) +SET( CPACK_PACKAGE_VERSION_MINOR 2) +SET( CPACK_PACKAGE_VERSION_PATCH 1) SET( CPACK_SYSTEM_NAME "debian-9.7-amd64") SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}-${CPACK_PACKAGE_VERSION_PATCH}") diff --git a/README.md b/README.md index 69fb3acc68ae696217e8efcb58839a92c4d3abb4..663d4417613e934eaf2d3fcefa5f663e2eeb9f4f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # kelvin-node Kelvin Blockchain node -[](https://travis-ci.com/cellframe/kelvin-node) +[](https://travis-ci.com/osetrovich/kelvin-node-ci) [Kelvin node manual](https://github.com/cellframe/kelvin-node/wiki/Kelvin-Node) 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/libdap b/libdap index 2cafdb986c3f27998060421e257deac0eb4e315d..85933c820be2c81416848447b82bb8af15a34a5c 160000 --- a/libdap +++ b/libdap @@ -1 +1 @@ -Subproject commit 2cafdb986c3f27998060421e257deac0eb4e315d +Subproject commit 85933c820be2c81416848447b82bb8af15a34a5c diff --git a/libdap-chain b/libdap-chain index b94cdd0d9ea3e10b5ade8a5f8073d34521a2783a..1d4a2b526f78ad87bb83d8c4f7004f0e73c76a59 160000 --- a/libdap-chain +++ b/libdap-chain @@ -1 +1 @@ -Subproject commit b94cdd0d9ea3e10b5ade8a5f8073d34521a2783a +Subproject commit 1d4a2b526f78ad87bb83d8c4f7004f0e73c76a59 diff --git a/libdap-chain-net b/libdap-chain-net index 16835fd4f6414416616433c01116ebbc7b922e6c..e2037726c32fda74dabfa000c7844a3a23ace5f2 160000 --- a/libdap-chain-net +++ b/libdap-chain-net @@ -1 +1 @@ -Subproject commit 16835fd4f6414416616433c01116ebbc7b922e6c +Subproject commit e2037726c32fda74dabfa000c7844a3a23ace5f2 diff --git a/libdap-crypto b/libdap-crypto index 6249887fdd5c9ed88eb26c1e10f853ea9f7001b6..1acfbdd8f5f3caef4c2e584ae2c20ab584b22b4e 160000 --- a/libdap-crypto +++ b/libdap-crypto @@ -1 +1 @@ -Subproject commit 6249887fdd5c9ed88eb26c1e10f853ea9f7001b6 +Subproject commit 1acfbdd8f5f3caef4c2e584ae2c20ab584b22b4e diff --git a/libdap-server-core b/libdap-server-core index d442b1fafaf6f8eddd339b3429c74b5325cef5f0..de9b4c77a021af36148515e3dbc56403ab45490f 160000 --- a/libdap-server-core +++ b/libdap-server-core @@ -1 +1 @@ -Subproject commit d442b1fafaf6f8eddd339b3429c74b5325cef5f0 +Subproject commit de9b4c77a021af36148515e3dbc56403ab45490f diff --git a/libdap-stream-ch b/libdap-stream-ch index 9bead7765fba0a633098bf2279547c4dbf62cc4f..f2eabb784a6286356359e69cb50a2957a57aa0b0 160000 --- a/libdap-stream-ch +++ b/libdap-stream-ch @@ -1 +1 @@ -Subproject commit 9bead7765fba0a633098bf2279547c4dbf62cc4f +Subproject commit f2eabb784a6286356359e69cb50a2957a57aa0b0 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.c b/sources/main.c index 8aa8c76cef312165164893df34f0831b29158a25..e516da04d0a57cea6f5c43025a3f51b70ba6b355 100644 --- a/sources/main.c +++ b/sources/main.c @@ -102,23 +102,7 @@ #include "dap_process_manager.h" #include "dap_traffic_track.h" -#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" +#include "dap_defines.h" #define ENC_HTTP_URL "/enc_init" #define STREAM_CTL_URL "/stream_ctl" 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