diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cea2a824e3757b1ca8538c8409d23ed23c49e9fa..e5633da0d0ee3a554bef50729b1f88a18f355c40 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ variables: GIT_SUBMODULE_STRATEGY: recursive GIT_SUBMODULE_UPDATE_FLAGS: --force + workflow: rules: @@ -11,7 +12,7 @@ workflow: stages: - test_build - - test_proceed + - diagnostic_builds - build - post_build - publish @@ -39,15 +40,6 @@ stages: PATCH_NUM_MAIN: "${master_PATCH_NUM}" rules: - - if: $CI_COMMIT_REF_NAME =~ /-asan$/ - variables: - DAP_ASAN: "1" - - if: $CI_COMMIT_REF_NAME =~ /-ubsan$/ - variables: - DAP_UBSAN: "1" - - if: $CI_COMMIT_REF_NAME =~ /-tsan$/ - variables: - DAP_TSAN: "1" - if: $CI_COMMIT_REF_NAME =~ /.*$/ variables: DUMMY_VAR_FOR_ALLOW_JOB: "1" @@ -73,7 +65,7 @@ stages: allow_failure: true .fill_version_mk: &fill_version_mk - - PATCH_NUM_VAR_NAME=$(echo "${CI_COMMIT_REF_SLUG}" | tr "-" _)_PATCH_NUM + - PATCH_NUM_VAR_NAME=P_$(echo "${CI_COMMIT_REF_SLUG}" | tr "-" _)_PATCH_NUM - echo ${PATCH_NUM_VAR_NAME} - 'PATCH_NUM=$(curl -s --header "PRIVATE-TOKEN: ${ACCESS_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/variables/${PATCH_NUM_VAR_NAME}" | jq -r ".value // empty")' - echo "Gitlab var patch number for ${PATCH_NUM_VAR_NAME} is ${PATCH_NUM}." @@ -101,21 +93,19 @@ amd64:linux.rwd.bld: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON - ./prod_build/pack.sh --target linux rwd autotests: extends: .ci-test interruptible: true - - stage: test_proceed + stage: diagnostic_builds rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH when: always - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH when: manual allow_failure: true - variables: GIT_STRATEGY: none dependencies: @@ -123,6 +113,64 @@ autotests: script: - /opt/tests-in-docker/artifacts.sh build_*/*.deb +asan_build: + extends: .build + stage: diagnostic_builds + variables: + DAP_ASAN: "1" + dependencies: + - amd64:linux.rwd.bld + image: demlabs/debian/amd64:qt5 + rules: + - when: manual + allow_failure: true + before_script: + - /opt/buildtools/prepare_environment.sh arm64-linux + - *fill_version_mk + script: + - ./prod_build/build.sh --target linux rwd + - ./prod_build/pack.sh --target linux rwd + - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb + +ubsan_build: + extends: .build + stage: diagnostic_builds + variables: + DAP_UBSAN: "1" + dependencies: + - amd64:linux.rwd.bld + image: demlabs/debian/amd64:qt5 + rules: + - when: manual + allow_failure: true + before_script: + - /opt/buildtools/prepare_environment.sh arm64-linux + - *fill_version_mk + script: + - ./prod_build/build.sh --target linux rwd + - ./prod_build/pack.sh --target linux rwd + - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb + +tsan_build: + extends: .build + stage: diagnostic_builds + variables: + DAP_TSAN: "1" + dependencies: + - amd64:linux.rwd.bld + image: demlabs/debian/amd64:qt5 + rules: + - when: manual + allow_failure: true + before_script: + - /opt/buildtools/prepare_environment.sh arm64-linux + - *fill_version_mk + script: + - ./prod_build/build.sh --target linux rwd + - ./prod_build/pack.sh --target linux rwd + - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb + + amd64:linux.rwd: extends: .build stage: build @@ -138,6 +186,7 @@ amd64:linux.rwd: - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect + amd64:linux.release: extends: .build image: demlabs/debian/amd64:qt5 @@ -146,7 +195,7 @@ amd64:linux.release: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb @@ -158,12 +207,10 @@ amd64:windows.rwd: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target windows rwd -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target windows rwd - ./prod_build/pack.sh --target windows rwd - /opt/buildtools/deploy_files.sh pub_cellframe windows/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.exe - /opt/buildtools/deploy_files.sh pub_cellframe windows/cellframe-node/$CI_COMMIT_REF_NAME/ build_windows_rwd/*.exe --redirect-with-link windows/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect - - amd64:macos.release: extends: .build image: demlabs/macos/amd64:qt5 @@ -172,15 +219,12 @@ amd64:macos.release: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target osx release #-DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target osx release - ./prod_build/pack.sh --target osx release --sign /opt/buildtools/sign/macos/demlabs.sh - - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.pkg - - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*-signed.pkg --redirect-with-link macos/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 --just-redirect # symlink - + - /opt/buildtools/deploy_files.sh pub_cellframe macos/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*-signed.pkg --redirect-with-link macos/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 artifacts: paths: - build_*/*.pkg - amd64:linux.debug: extends: .build image: demlabs/debian/amd64:qt5 @@ -189,11 +233,9 @@ amd64:linux.debug: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux debug -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target linux debug -DBUILD_WITH_PYTHON_ENV=ON - ./prod_build/pack.sh --target linux debug - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - - amd64:linux.rwd.opt: extends: .build image: demlabs/debian/amd64:qt5 @@ -202,11 +244,10 @@ amd64:linux.rwd.opt: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON -DCELLFRAME_NO_OPTIMIZATION=OFF + - ./prod_build/build.sh --target linux rwd -DBUILD_WITH_PYTHON_ENV=ON -DCELLFRAME_NO_OPTIMIZATION=OFF - ./prod_build/pack.sh --target linux rwd - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64.opt --just-redirect - amd64:linux.tps: extends: .build image: demlabs/debian/amd64:qt5 @@ -214,21 +255,25 @@ amd64:linux.tps: - /opt/buildtools/prepare_environment.sh amd64-linux - *fill_version_mk when: manual - script: - ./prod_build/build.sh --target linux release -DBUILD_WITH_TPS_TEST=ON - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb -.amd64:linux.updtr: +amd64:linux.updtr: extends: .build + stage: build image: demlabs/debian/amd64:qt5 + rules: + - when: manual + allow_failure: true + before_script: - /opt/buildtools/prepare_environment.sh amd64-linux - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON -DADD_UPDATER=ON + - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DADD_UPDATER=ON - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb @@ -240,7 +285,7 @@ amd64:linux.tps: - *fill_version_mk script: - echo "Do hard work" - - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON -DBUILD_DIAGTOOL=ON + - ./prod_build/build.sh --target linux release -DBUILD_WITH_PYTHON_ENV=ON - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_linux_release/*-amd64.deb --redirect-from linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-amd64 @@ -250,35 +295,32 @@ amd64:linux.tps: armhf:linux.release: extends: .build image: demlabs/debian/arm32:qt5 - before_script: - /opt/buildtools/prepare_environment.sh armhf-linux - *fill_version_mk - script: + script: - echo "Do hard work" - ./prod_build/build.sh --target linux release - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*armhf*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-armhf --just-redirect - arm64:linux.release: extends: .build image: demlabs/debian/arm64:qt5 - before_script: + before_script: - /opt/buildtools/prepare_environment.sh arm64-linux - *fill_version_mk - script: + script: - echo "Do hard work" - ./prod_build/build.sh --target linux release - ./prod_build/pack.sh --target linux release - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*arm64*.deb --redirect-with-link linux/cellframe-node/$CI_COMMIT_REF_NAME/latest-arm64 --just-redirect - any:android.release: extends: .build image: demlabs/android/any:qt5 - before_script: + before_script: - /opt/buildtools/prepare_environment.sh arm64-linux - 'apt install -y openjdk-17-jdk' - 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/' diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d1fa7294b708769c95344139fb894fd3de027f2..9483a1570896f656d20673747dedaaea92a7c747 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ set(CMAKE_ENABLE_EXPORTS ON) set(CMAKE_VERBOSE_MAKEFILE ON) set(CMAKE_COLOR_MAKEFILE ON) set(CMAKE_C_STANDARD 11) - + # Predefine project SET( CPACK_PACKAGE_NAME "${PROJECT_NAME}") ReadVariables(version.mk) @@ -181,13 +181,22 @@ if(UNIX) endif() endif() + if (DEFINED ENV{DAP_ASAN}) + SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-asan" ) + endif() + if (DEFINED ENV{DAP_UBSAN}) + SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-ubsan" ) + endif() + if (DEFINED ENV{DAP_TSAN}) + SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-tsan" ) + endif() + SET( CPACK_DEBIAN_PACKAGE_MAINTAINER "Dmitriy Gerasimov <naeper@demlabs.net>" ) SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION_SUMMARY "CellFrame Node software https://cellframe.net" ) SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION "CellFrame Node" ) SET( CPACK_DEBIAN_PACKAGE_SECTION "extra") - SET( CPACK_DEBIAN_PACKAGE_DEPENDS "dpkg (>=1.17), bash (>=4), less, pv, psmisc, logrotate, irqbalance, xz-utils") - + SET( CPACK_DEBIAN_PACKAGE_DEPENDS "dpkg (>=1.17), bash (>=4), less, pv, psmisc, logrotate, irqbalance, xz-utils") #have to figure out how to use it properly with custom RPATH for python plugins... if (NOT SUPPORT_PYTHON_PLUGINS) SET( CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) @@ -304,6 +313,15 @@ if(UNIX AND NOT WIN32) add_definitions("-DPYTHON_VERSION=\"python3.10\"") endif() + if (DARWIN) + if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm") + set(PYTHON_URL "https://pub.cellframe.net/3rdparty/python/cpython-3.10.16+20250212-aarch64-apple-darwin-install_only.tar.gz") + else () + set(PYTHON_URL "https://pub.cellframe.net/3rdparty/python/cpython-3.10.16%2B20250205-x86_64-apple-darwin-install_only.tar.gz") + endif() + add_definitions("-DPYTHON_VERSION=\"python3.10\"") + endif() + message("[+] Build with python environment") message(" Downloading static prebuild cpython ${PYTHON_URL}") #this python was build by compiling and installing static python distrip to /opt/cellframe-node/ and @@ -327,9 +345,9 @@ if(UNIX AND NOT WIN32) list(APPEND CMAKE_PREFIX_PATH ${cpythonstatic_SOURCE_DIR}) if ( CPACK_DEBIAN_PACKAGE_ARCHITECTURE MATCHES "arm") - find_package(Python EXACT 3.11 COMPONENTS Interpreter Development REQUIRED) + find_package(Python EXACT 3.11 COMPONENTS Development REQUIRED) else() - find_package(Python EXACT 3.10 COMPONENTS Interpreter Development REQUIRED) + find_package(Python EXACT 3.10 COMPONENTS Development REQUIRED) endif() target_link_options(${NODE_TARGET} PUBLIC "-Wl,-rpath,${CMAKE_INSTALL_PREFIX}/python/lib/") @@ -359,8 +377,15 @@ if(UNIX AND NOT WIN32) include_directories(${Python_INCLUDE_DIRS} include/) add_subdirectory(python-cellframe) - + #this helps + #install_name_tool -change /install/lib/libpython3.10.dylib @executable_path/../../python/lib/libpython3.10.dylib ./build_osx_rwd/dist/Applications/CellframeNode.app/Contents/MacOS/cellframe-node list(APPEND NODE_LIBRARIES dap_plugins_python ${Python_LIBRARIES}) + if (DARWIN) + add_custom_command(TARGET ${NODE_TARGET} + POST_BUILD COMMAND + ${CMAKE_INSTALL_NAME_TOOL} -change /install/lib/libpython3.10.dylib @executable_path/../Frameworks/python/lib/libpython3.10.dylib + ${NODE_TARGET}) + endif() endif() if(ANDROID ) @@ -394,6 +419,25 @@ if(DARWIN) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/os/macos/com.demlabs.cellframe-diagtool.plist DESTINATION ${SHAREDIR} ) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/os/macos/Info.plist DESTINATION ${CONTENTSDIR} ) + if (BUILD_WITH_PYTHON_ENV) + set(PYTHON_PIP "${cpythonstatic_SOURCE_DIR}/bin/pip3") + set(PYTHON_BIN "${cpythonstatic_SOURCE_DIR}/bin/python3.10") + set(PYTHON_LIB "${cpythonstatic_SOURCE_DIR}/lib/libpython3.10.dylib") + set(PYTHON_LIB_DIR "${cpythonstatic_SOURCE_DIR}/lib/python3.10") + set(PYTHON_LIB_DIR_PRFX "python3.10") + + INSTALL(FILES ${PYTHON_PIP} DESTINATION ${RLIBDIR}/python/bin/ ) + INSTALL(FILES ${PYTHON_BIN} DESTINATION ${RLIBDIR}/python/bin/ ) + INSTALL(FILES ${PYTHON_LIB} DESTINATION ${RLIBDIR}/python/lib/ ) + + INSTALL(DIRECTORY ${PYTHON_LIB_DIR} DESTINATION ${RLIBDIR}/python/lib/ USE_SOURCE_PERMISSIONS) + + #install python-modules + INSTALL(DIRECTORY python-cellframe/dists/python-modules/pycfhelpers DESTINATION ${RLIBDIR}/python/lib/${PYTHON_LIB_DIR_PRFX}/site-packages USE_SOURCE_PERMISSIONS) + INSTALL(DIRECTORY python-cellframe/dists/python-modules/pycftools DESTINATION ${RLIBDIR}/python/lib/${PYTHON_LIB_DIR_PRFX}/site-packages USE_SOURCE_PERMISSIONS) + INSTALL(DIRECTORY python-cellframe/dists/interfaces DESTINATION ${RLIBDIR}/python/lib/ USE_SOURCE_PERMISSIONS) + endif() + else() INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dist/ DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*" PATTERN "*") diff --git a/conftool/main.cpp b/conftool/main.cpp index 6e56531bcf28a6231254736f8513e9dc68c4feae..1d5c098c4ab37dfd08423fd6c6f93ad3df24ad99 100644 --- a/conftool/main.cpp +++ b/conftool/main.cpp @@ -114,11 +114,11 @@ std::string getNodeConfigPath(std::string basepath){ #endif #ifdef __linux__ - return "/opt/cellframe-node/"; + return "/opt/cellframe-node"; #endif #ifdef __APPLE__ - return "/Library/Application Support/CellframeNode/"; + return "/Library/Application Support/CellframeNode"; #endif @@ -130,7 +130,7 @@ std::string getNodeConfigPath(std::string basepath){ std::wstring path; GetStringRegKey(hKey, L"Common Documents", path, L""); std::string stdpath(path.begin(),path.end()); - return (std::filesystem::path{stdpath}/"cellframe-node/").string(); + return (std::filesystem::path{stdpath}/"cellframe-node").string(); #endif } diff --git a/dist.linux/share/update.sh b/dist.linux/share/update.sh index e15f4fe875fceba530b78e1e5c276c77b84967f1..43710d3001bab27292376256df75370803225f1d 100755 --- a/dist.linux/share/update.sh +++ b/dist.linux/share/update.sh @@ -1,6 +1,7 @@ - #! /bin/bash +#! /bin/bash set -e -STORAGE_URL=https://pub.cellframe.net/linux/cellframe-node/master/updates +STORAGE_URL=https://pub.cellframe.net/linux/cellframe-node/master + MACHINE=$(uname -m) @@ -45,13 +46,22 @@ CURRENT_REBUILD=$(echo $INSTALLED_VERSION | grep -Po "[0-9]([0-9]+)") echo "Available patch: $MAX_REBUILD | Current patch: $CURRENT_REBUILD" if (( MAX_REBUILD > CURRENT_REBUILD )); then - echo "Need update cellframe-node to 5.2-$MAX_REBUILD..." + # Determine the full version (e.g. 5.3-354) from AVAILABLE_VERSIONS by the patch we found + for ver in "${AVAILABLE_VERSIONS[@]}" + do + patch=$(echo $ver | cut -d'-' -f2) + if [ "$patch" = "$MAX_REBUILD" ]; then + NEW_VERSION=$ver + break + fi + done + echo "Need update cellframe-node to $NEW_VERSION..." else echo "No need to update cellframe-node" exit 0 fi -PACKAGE_NAME="cellframe-node-5.2-$MAX_REBUILD-updtr-amd64.deb" +PACKAGE_NAME="cellframe-node-$NEW_VERSION-updtr-${POSTFIX}.deb" echo "wget" mkdir -p /tmp/cfupd/ wget $STORAGE_URL/$PACKAGE_NAME -O /tmp/cfupd/$PACKAGE_NAME @@ -73,4 +83,4 @@ fi dpkg -i /tmp/cfupd/$PACKAGE_NAME -service cellframe-node restart \ No newline at end of file +service cellframe-node restart diff --git a/dist/share/configs/cellframe-node.cfg b/dist/share/configs/cellframe-node.cfg index 6de66576974e1d76b1bca9edc22fd30ff280dafc..0a0fe0fd2c73e0047f393250ef9893fd354840aa 100644 --- a/dist/share/configs/cellframe-node.cfg +++ b/dist/share/configs/cellframe-node.cfg @@ -188,7 +188,7 @@ driver= #pgsql conninfo array # pg_conninfo=[dbname=postgres] -# Plugins +# Plugins [plugins] enabled=true # Load Python-based plugins diff --git a/dist/share/configs/network/Backbone.cfg b/dist/share/configs/network/Backbone.cfg index fb67e61e3cb8cfe5b25890d0ecff3ed46d18fc4d..bb8094485c5340d6cd74bd3d08d6527ae5325473 100755 --- a/dist/share/configs/network/Backbone.cfg +++ b/dist/share/configs/network/Backbone.cfg @@ -30,3 +30,6 @@ seed_nodes_hosts=[0.root.scorpion.cellframe.net:8079,1.root.scorpion.cellframe.n #collecting_level=10.0 #fee_addr=myaddr +# [policy] +# activate=1 +# deactivate=[0,1] diff --git a/dist/share/configs/network/KelVPN.cfg b/dist/share/configs/network/KelVPN.cfg index 0df7436192412fe331b12c9a753b5e34ff9a9fb8..6063a0fb708d6370078b5073ef10dae495939131 100644 --- a/dist/share/configs/network/KelVPN.cfg +++ b/dist/share/configs/network/KelVPN.cfg @@ -25,3 +25,7 @@ seed_nodes_hosts=[0.root.kelvpn.com:8079,1.root.kelvpn.com:8079,2.root.kelvpn.co #blocks-sign-cert=mycert #collecting_level=10.0 #fee_addr=myaddr + +# [policy] +# activate=1 +# deactivate=[0,1] diff --git a/dist/share/configs/network/mileena.cfg b/dist/share/configs/network/mileena.cfg index 0de09143a4011e077cd7c3da8c02b2d59a834b64..8dc101fbcb3711233ab696f80b50e0845f4531ea 100755 --- a/dist/share/configs/network/mileena.cfg +++ b/dist/share/configs/network/mileena.cfg @@ -33,3 +33,7 @@ seed_nodes_addrs=[CCCC::0000::0000::0000,CCCC::0000::0000::0001,CCCC::0000::0000 #[block-poa] #blocks-sign-cert=mycert + +# [policy] +# activate=1 +# deactivate=[0,1] diff --git a/dist/share/configs/network/raiden.cfg b/dist/share/configs/network/raiden.cfg index 07bc8d3b0bd827d6d5b08312861c00247b2174ed..0aa8df938ea193159a040a51578cf35281e1f256 100644 --- a/dist/share/configs/network/raiden.cfg +++ b/dist/share/configs/network/raiden.cfg @@ -34,3 +34,7 @@ seed_nodes_hosts=[0.root.raiden.cellframe.net:8079, 1.root.raiden.cellframe.net: #blocks-sign-cert=mycert #collecting_level=10.0 #fee_addr=myaddr + +# [policy] +# activate=1 +# deactivate=[0,1] diff --git a/dist/share/configs/network/riemann.cfg b/dist/share/configs/network/riemann.cfg index 0264e674c13ef6d71be2ba1aa45222c06050c296..8c437d313b125ad658bb835816a3f7be0749bbf9 100644 --- a/dist/share/configs/network/riemann.cfg +++ b/dist/share/configs/network/riemann.cfg @@ -32,3 +32,7 @@ seed_nodes_hosts=[0.root.riemann.cellframe.net:8079, 1.root.riemann.cellframe.ne #blocks-sign-cert=mycert #collecting_level=10.0 #fee_addr=myaddr + +# [policy] +# activate=1 +# deactivate=[0,1] diff --git a/dist/share/configs/network/subzero.cfg b/dist/share/configs/network/subzero.cfg index 298158d715dea5952f133a616a0f343a649a1393..c8fe9e2c997199211d01cc8272d836a323e3e9e0 100755 --- a/dist/share/configs/network/subzero.cfg +++ b/dist/share/configs/network/subzero.cfg @@ -32,3 +32,7 @@ seed_nodes_hosts=[0.root.subzero.cellframe.net:8190, 1.root.subzero.cellframe.ne #blocks-sign-cert=mycert #collecting_level=10.0 #fee_addr=myaddr + +# [policy] +# activate=1 +# deactivate=[0,1] diff --git a/dist/share/default.setup b/dist/share/default.setup index dd929b4c15068327fe443b27c32410418be96e6b..c0de7be100ad4969c2560b8f97ed3fe126e461b2 100644 --- a/dist/share/default.setup +++ b/dist/share/default.setup @@ -7,7 +7,7 @@ # Predefined variables: # ${HOST_OS} -> Linux | Windows | Macos # ${HOSTNAME} -> hostname of a machine -# ${CONFIGS_PATH} -> /opt/cellframe-node/ for linux, +# ${CONFIGS_PATH} -> /opt/cellframe-node for linux, # Common Documents (usually C:\Users\Public\Documents\cellframe-node\) for Windows # # fromtemplate: create and populate config from "share/configs" templates @@ -90,7 +90,7 @@ if Linux != ${HOST_OS} config cellframe-node plugins enabled ensure false endif -config cellframe-node plugins py_path ensure ${CONFIGS_PATH}/var/lib/plugins +config cellframe-node plugins py_path ensure ../var/lib/plugins config Backbone general node-role default full config KelVPN general node-role default full diff --git a/os/windows/cellframe-node.nsis b/os/windows/cellframe-node.nsis index 4b3c08066f7402cf68dbc75acd4fb57e9c0e90ab..c45f43e565c70b5cf3d53f84ffd21147737daa9a 100644 --- a/os/windows/cellframe-node.nsis +++ b/os/windows/cellframe-node.nsis @@ -138,15 +138,13 @@ Var NetBackboneCb Var NetKelVPNCb Var NetRiemannCb Var NetRaidenCb -Var NetMileenaCb -Var NetSubzeroCb + Var NetBackboneState Var NetKelVPNState Var NetRiemannState Var NetRaidenState -Var NetMileenaState -Var NetSubzeroState + ${StrTrimNewLines} @@ -176,18 +174,6 @@ Function getNetworksStates ${WordFind} $1 " " "-01" $NetRaidenState ${StrTrimNewLines} $NetRaidenState $NetRaidenState - nsExec::ExecToStack /OEM "$INSTDIR\${NODE_NAME}-config.exe -e network mileena check" - Pop $0 ; Exit code / error - Pop $1 ; stdout output - ${WordFind} $1 " " "-01" $NetMileenaState - ${StrTrimNewLines} $NetMileenaState $NetMileenaState - - nsExec::ExecToStack /OEM "$INSTDIR\${NODE_NAME}-config.exe -e network subzero check" - Pop $0 ; Exit code / error - Pop $1 ; stdout output - ${WordFind} $1 " " "-01" $NetSubzeroState - ${StrTrimNewLines} $NetSubzeroState $NetSubzeroState - FunctionEnd ${UnStrTrimNewLines} @@ -272,14 +258,6 @@ Function checkEnabledNets ${NSD_Check} $NetRaidenCb ${EndIf} - ${If} $NetMileenaState == "on" - ${NSD_Check} $NetMileenaCb - ${EndIf} - - ${If} $NetSubzeroState == "on" - ${NSD_Check} $NetSubzeroCb - ${EndIf} - FunctionEnd Function pgNetSelectCreate @@ -311,12 +289,6 @@ Function pgNetSelectCreate ${NSD_CreateCheckbox} 20% 68u 20% 10u "Raiden" Pop $NetRaidenCb - ${NSD_CreateCheckbox} 20% 82u 20% 10u "Mileena" - Pop $NetMileenaCb - - ${NSD_CreateCheckbox} 20% 96u 20% 10u "Subzero" - Pop $NetSubzeroCb - Call checkEnabledNets nsDialogs::Show @@ -336,16 +308,11 @@ Function pgNetSelectLeave ${NSD_GetState} $NetKelVPNCb $NetKelVPNState ${NSD_GetState} $NetRiemannCb $NetRiemannState ${NSD_GetState} $NetRaidenCb $NetRaidenState - ${NSD_GetState} $NetMileenaCb $NetMileenaState - ${NSD_GetState} $NetSubzeroCb $NetSubzeroState - - + !insertmacro ensureNetworkState "Backbone" $NetBackboneState !insertmacro ensureNetworkState "KelVPN" $NetKelVPNState !insertmacro ensureNetworkState "riemann" $NetRiemannState !insertmacro ensureNetworkState "raiden" $NetRaidenState - !insertmacro ensureNetworkState "mileena" $NetMileenaState - !insertmacro ensureNetworkState "subzero" $NetSubzeroState Delete "$INSTDIR\${NODE_NAME}.exe" Rename "$INSTDIR\cellframe-node.tmp" "$INSTDIR\cellframe-node.exe" diff --git a/sources/cellframe-node.c b/sources/cellframe-node.c index 921960e89173ff983c875ac30b6ded88495bae00..4255a192bdd3568febcef43daf06f7fab41efbc3 100755 --- a/sources/cellframe-node.c +++ b/sources/cellframe-node.c @@ -114,6 +114,7 @@ #include "dap_chain_net_srv_emit_delegate.h" #include "dap_chain_wallet_cache.h" +#include "dap_chain_policy.h" #include "dap_events_socket.h" #include "dap_client.h" @@ -365,6 +366,11 @@ int main( int argc, const char **argv ) return -65; } + if( dap_chain_policy_init() ){ + log_it(L_CRITICAL,"Can't init dap chain policy module"); + return -66; + } + if( dap_chain_wallet_init() ) { log_it(L_CRITICAL,"Can't init dap chain wallet module"); return -61;