diff --git a/CMakeLists.txt b/CMakeLists.txt index e22be7b351336734d7e3e2fd507e7c1e65544672..42cb11e407d0e516b12461fb0d8acf82c21cc911 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ set(CMAKE_C_STANDARD 11) SET( CPACK_PACKAGE_NAME "${PROJECT_NAME}") SET( CPACK_PACKAGE_VERSION_MAJOR 3) SET( CPACK_PACKAGE_VERSION_MINOR 5) -SET( CPACK_PACKAGE_VERSION_PATCH 3) +SET( CPACK_PACKAGE_VERSION_PATCH 9) # init CellFrame SDK add_definitions("-DDAP_VERSION=\"${CPACK_PACKAGE_VERSION_MAJOR}\"") @@ -16,9 +16,9 @@ set(SUBMODULES_NO_BUILD ON) set(SUPPORT_PYTHON_PLUGINS ON) if (NOT WIN32) - set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-xchange srv-stake srv-vpn") + set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-xchange srv-stake modules-dynamic srv-vpn") else() - set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-xchange srv-stake") + set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-xchange srv-stake modules-dynamic") endif() include (cellframe-sdk/cmake/OS_Detection.cmake) diff --git a/cellframe-sdk b/cellframe-sdk index 1ceb8c139980da85fbd17f9a95abcbba9c7aa9ec..45967b7fa82676fb220060ff7e18195d813eff84 160000 --- a/cellframe-sdk +++ b/cellframe-sdk @@ -1 +1 @@ -Subproject commit 1ceb8c139980da85fbd17f9a95abcbba9c7aa9ec +Subproject commit 45967b7fa82676fb220060ff7e18195d813eff84 diff --git a/dist/share/configs/network/kelvin-testnet.cfg.tpl b/dist/share/configs/network/kelvin-testnet.cfg.tpl index aa25832b6681408fccb0286f2df866827d29bb69..99bd0f9dd34a2c5a9933036fbeffc8d0b54a5446 100644 --- a/dist/share/configs/network/kelvin-testnet.cfg.tpl +++ b/dist/share/configs/network/kelvin-testnet.cfg.tpl @@ -1,22 +1,30 @@ -# Kelvin Testnet -# General section -[general] -id=0x0000000000000001 -name=kelvin-testnet -# Possible values: light, full, archive, master, root -node-role={NODE_TYPE} - -seed_nodes_hostnames=[0.root.testnet.klvn.io,1.root.testnet.klvn.io,2.root.testnet.klvn.io,3.root.testnet.klvn.io,4.root.testnet.klvn.io] -seed_nodes_aliases=[kelvin.testnet.root.0,kelvin.testnet.root.1,kelvin.testnet.root.2,kelvin.testnet.root.3,kelvin.testnet.root.4] -seed_nodes_addrs=[ffff::0000::0000::0001,ffff::0000::0000::0002,ffff::0000::0000::0003,ffff::0000::0000::0004,ffff::0000::0000::0005] -seed_nodes_port=[8079,8079,8079,8079,8079] - -#[role-master] -#proc_chains=[0x00000001] - -#[dag-poa] -#events-sign-cert=mycert - -#[dag-pos] -#events-sign-wallet=mywallet - +# Kelvin Testnet +# General section +[general] +id=0x0000000000000001 +name=kelvin-testnet +# Possible values: light, full, archive, master, root +node-role={NODE_TYPE} + +seed_nodes_hostnames=[0.root.testnet.klvn.io,1.root.testnet.klvn.io,2.root.testnet.klvn.io,3.root.testnet.klvn.io,4.root.testnet.klvn.io] +seed_nodes_aliases=[kelvin.testnet.root.0,kelvin.testnet.root.1,kelvin.testnet.root.2,kelvin.testnet.root.3,kelvin.testnet.root.4] +seed_nodes_addrs=[ffff::0000::0000::0001,ffff::0000::0000::0002,ffff::0000::0000::0003,ffff::0000::0000::0004,ffff::0000::0000::0005] +seed_nodes_port=[8079,8079,8079,8079,8079] + +private=false + +#[auth] +#type=ca +#acl_accept_ca_list=[] +#acl_accept_ca_gdb= +#acl_accept_ca_chains=all + +#[role-master] +#proc_chains=[0x00000001] + +#[dag-poa] +#events-sign-cert=mycert + +#[dag-pos] +#events-sign-wallet=mywallet + diff --git a/prod_build/linux/debian/conf/dependencies b/prod_build/linux/debian/conf/dependencies index 115dad27d858640f1d619067e40834e87de625b3..710b2f25342a25ce8a8f26ef4414ec5a3c0d05b5 100644 --- a/prod_build/linux/debian/conf/dependencies +++ b/prod_build/linux/debian/conf/dependencies @@ -1 +1 @@ -PKG_DEPS="libjson-c-dev libsqlite3-dev libmemcached-dev libev-dev libmagic-dev libcurl4-gnutls-dev libldb-dev libtalloc-dev libtevent-dev traceroute libpython3-dev" +PKG_DEPS="cmake libjson-c-dev libsqlite3-dev libmemcached-dev libev-dev libmagic-dev libcurl4-gnutls-dev libldb-dev libtalloc-dev libtevent-dev traceroute libpython3-dev" diff --git a/sources/main.c b/sources/main.c index d3c3e58862e0ca00c3154e9b3d0c90b3c701313f..2fe6e2113436b4ab28ffa609a64b2d80dc4b1a4a 100755 --- a/sources/main.c +++ b/sources/main.c @@ -59,6 +59,7 @@ #include "dap_http.h" #include "dap_http_folder.h" #include "dap_dns_server.h" +#include "dap_modules_dynamic_cdb.h" #include "dap_events.h" @@ -79,8 +80,6 @@ #include "dap_chain_net_srv_app.h" #include "dap_chain_net_srv_app_db.h" #include "dap_chain_net_srv_datum.h" -#include "dap_chain_net_bugreport.h" -#include "dap_chain_net_news.h" #include "dap_chain_net_srv_geoip.h" #ifdef DAP_OS_LINUX @@ -164,6 +163,7 @@ int main( int argc, const char **argv ) #elif DAP_OS_UNIX g_sys_dir_path = dap_strdup_printf("/opt/%s", dap_get_appname()); #endif + { char l_log_path[MAX_PATH] = {'\0'}; int l_pos = dap_sprintf(l_log_path, "%s/var/log", g_sys_dir_path); @@ -410,6 +410,15 @@ int main( int argc, const char **argv ) // Init HTTP-specific values dap_http_new( l_server, dap_get_appname() ); + if( dap_config_get_item_bool_default(g_config,"cdb","enabled",false) ) { + if(dap_modules_dynamic_load_cdb(DAP_HTTP( l_server ))){ + log_it(L_CRITICAL,"Can't init CDB module"); + return -3; + }else{ + log_it(L_NOTICE, "Central DataBase (CDB) is initialized"); + } + } + // Handshake URL enc_http_add_proc( DAP_HTTP(l_server), ENC_HTTP_URL ); @@ -417,18 +426,6 @@ int main( int argc, const char **argv ) dap_stream_add_proc_http( DAP_HTTP(l_server), STREAM_URL ); dap_stream_ctl_add_proc( DAP_HTTP(l_server), STREAM_CTL_URL ); - // BugReport URLs - bool l_bugreport_url_enabled = dap_config_get_item_bool_default(g_config, "server", "bugreport_url_enabled", false); - if(l_bugreport_url_enabled) { - dap_chain_net_bugreport_add_proc(DAP_HTTP(l_server)); - } - - // News URLs - bool l_news_url_enabled = dap_config_get_item_bool_default(g_config, "server", "news_url_enabled", false); - if(l_news_url_enabled) { - dap_chain_net_news_add_proc(DAP_HTTP(l_server)); - } - const char *str_start_mempool = dap_config_get_item_str( g_config, "mempool", "accept" ); if ( str_start_mempool && !strcmp(str_start_mempool, "true")) { dap_chain_mempool_add_proc(DAP_HTTP(l_server), MEMPOOL_URL); @@ -474,19 +471,7 @@ int main( int argc, const char **argv ) //dap_chain_net_load_all(); -#ifdef DAP_OS_LINUX -#ifndef __ANDROID__ - // If CDB module switched on - if( dap_config_get_item_bool_default(g_config,"cdb","enabled",false) ) { - if ( (rc=dap_chain_net_srv_vpn_cdb_init(DAP_HTTP( l_server ))) != 0 ){ - log_it(L_CRITICAL,"Can't init CDB module, return code %d",rc); - return -3; - } - log_it(L_NOTICE, "Central DataBase (CDB) is initialized"); - } -#endif -#endif //Init python plugins #ifdef DAP_SUPPORT_PYTHON_PLUGINS