From 7ff3185dbc91a91b0b39c8ad65ff0f1074760c63 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 13 Apr 2023 10:34:20 +0200 Subject: [PATCH 001/150] add check for db --- helper/helper_embark_general.sh | 27 ++++++++++++++++++++++++++- installer.sh | 2 +- run-server.sh | 4 +++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 652e56cf3..b7b3d209f 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -85,4 +85,29 @@ check_docker_wsl() { # checks if service docker is running echo -e "$BLUE""$BOLD""checking docker""$NC\\n" service docker status -} \ No newline at end of file +} + +check_db() { + local PW_ENV + local USER_ENV + local HOST_ENV + PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//') + USER_ENV=$(grep DATABASE_USER ./.env | sed 's/DATABASE\_USER\=//') + HOST_ENV=$(grep DATABASE_HOST ./.env | sed 's/DATABASE\_HOST\=//') + echo -e "\\n$ORANGE""$BOLD""checking database""$NC\\n""$BOLD=================================================================$NC" + echo -e "$BLUE""$BOLD""1. checking startup""$NC\\n" + if docker-compose -f ./docker-compose.yml up -d ; then + echo -e "$GREEN""$BOLD""Finished setup mysql and redis docker images""$NC" + else + echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" + exit 1 + fi + echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" + if ! mysql -h "$HOST_ENV" -u "$USER_ENV" -p "$PW_ENV" -e"quit"; then # PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//')mysql -h 172.22.0.5 -u embark -p $PW_ENV -e "quit" + echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" + echo -e "---------------------------------------------------------------------------" + echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" + echo -e "$CYAN""You could try recoverying manually by overwriting your\".env\" file""$NC\\n" + exit 1 + fi +} diff --git a/installer.sh b/installer.sh index 95bc29852..256a79f75 100755 --- a/installer.sh +++ b/installer.sh @@ -363,7 +363,7 @@ install_embark_default(){ install_embark_dev(){ echo -e "\n$GREEN""$BOLD""Building Developent-Enviroment for EMBArk""$NC" # apt packages - apt-get install -y npm pycodestyle python3-pylint-django default-libmysqlclient-dev build-essential bandit yamllint + apt-get install -y npm pycodestyle python3-pylint-django default-libmysqlclient-dev build-essential bandit yamllint mysql-client-core-8.0 # npm packages npm install -g jshint # npm install -g dockerlinter diff --git a/run-server.sh b/run-server.sh index 0fde1eae1..d0eb456bb 100755 --- a/run-server.sh +++ b/run-server.sh @@ -67,7 +67,6 @@ cleaner() { exit 1 } - # main echo -e "\\n$ORANGE""$BOLD""EMBArk Startup""$NC\\n""$BOLD=================================================================$NC" @@ -148,6 +147,9 @@ if ! nc -zw1 google.com 443 &>/dev/null ; then (cd /var/www && pipenv check && pipenv verify) fi +# check db +check_db + # copy emba if [[ -d /var/www/emba ]]; then rm -Rf /var/www/emba From f811f6b1c5dda4783dfb3a68aa3c0cd7f3a52caa Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 13 Apr 2023 11:13:58 +0200 Subject: [PATCH 002/150] update env reader --- dev-tools/test.sh | 30 +++++++++++++++++++++--------- helper/helper_embark_general.sh | 13 ++++++++++++- installer.sh | 9 +++------ run-server.sh | 10 +--------- 4 files changed, 37 insertions(+), 25 deletions(-) diff --git a/dev-tools/test.sh b/dev-tools/test.sh index f13bac2e8..7bfe3b7a4 100755 --- a/dev-tools/test.sh +++ b/dev-tools/test.sh @@ -18,6 +18,7 @@ ORANGE='\033[0;33m' BOLD='\033[1m' NC='\033[0m' # no color +export HELP_DIR='helper' export DJANGO_SETTINGS_MODULE=embark.settings.dev export EMBARK_DEBUG=True export PIPENV_VENV_IN_PROJECT="True" @@ -37,25 +38,36 @@ cleaner() { exit 1 } +import_helper() +{ + local HELPERS=() + local HELPER_COUNT=0 + local HELPER_FILE="" + mapfile -d '' HELPERS < <(find "$HELP_DIR" -iname "helper_embark_*.sh" -print0 2> /dev/null) + for HELPER_FILE in "${HELPERS[@]}" ; do + if ( file "$HELPER_FILE" | grep -q "shell script" ) && ! [[ "$HELPER_FILE" =~ \ |\' ]] ; then + # https://github.com/koalaman/shellcheck/wiki/SC1090 + # shellcheck source=/dev/null + source "$HELPER_FILE" + (( HELPER_COUNT+=1 )) + fi + done + echo -e "\\n""==> ""$GREEN""Imported ""$HELPER_COUNT"" necessary files""$NC\\n" +} + set -a trap cleaner INT cd "$(dirname "$0")" || exit 1 cd .. || exit 1 - +import_helper echo -e "\n$GREEN""$BOLD""Configuring Embark""$NC" # shellcheck disable=SC1091 source ./.venv/bin/activate || exit 1 -echo -e "\n$GREEN""$BOLD""Setup mysql and redis docker images""$NC" -docker-compose -f ./docker-compose.yml up -d -DU_RETURN=$? -if [[ $DU_RETURN -eq 0 ]] ; then - echo -e "$GREEN""$BOLD""Finished setup mysql and redis docker images""$NC" -else - echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" -fi +#start and check db +check_db if ! [[ -d ./logs ]]; then mkdir ./logs diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index b7b3d209f..6d3d31aff 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -103,7 +103,7 @@ check_db() { exit 1 fi echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" - if ! mysql -h "$HOST_ENV" -u "$USER_ENV" -p "$PW_ENV" -e"quit"; then # PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//')mysql -h 172.22.0.5 -u embark -p $PW_ENV -e "quit" + if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit"; then # PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//')mysql -h 172.22.0.5 -u embark -p $PW_ENV -e "quit" echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" @@ -111,3 +111,14 @@ check_db() { exit 1 fi } + +check_safe() { + local ENV_FILES=() + if [[ -d safe ]] ; then + mapfile -d '' ENV_FILES < <(find ./safe -iname "*.env" -print0 2> /dev/null) + if [ ${#ENV_FILES[@]} -gt 0 ]; then + return 1 + fi + fi + return 0 +} diff --git a/installer.sh b/installer.sh index a32dbecb9..5d421157f 100755 --- a/installer.sh +++ b/installer.sh @@ -83,17 +83,14 @@ write_env(){ local SUPER_PW="embark" local SUPER_EMAIL="idk@lol.com" local SUPER_USER="superuser" - local RANDOM_PW="" local DJANGO_SECRET_KEY="" - if [[ $REFORCE -eq 1 ]] && [[ -d safe ]]; then - # install old pws - # from newest file + if check_safe; then DJANGO_SECRET_KEY="$(grep "SECRET_KEY=" "$(find ./safe -name "*.env" | head -1)" | sed -e "s/^SECRET_KEY=//" )" RANDOM_PW="$(grep "DATABASE_PASSWORD=" "$(find ./safe -name "*.env" | head -1)" | sed -e "s/^DATABASE_PASSWORD=//" )" else - echo -e "$ORANGE""$BOLD""Couldn't find safed passwords""$NC" + echo -e "$ORANGE""$BOLD""Did not find safed passwords""$NC" DJANGO_SECRET_KEY=$(python3.10 -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())') RANDOM_PW=$(openssl rand -base64 12) fi @@ -426,7 +423,6 @@ install_embark_dev(){ uninstall (){ echo -e "[+]$CYAN""$BOLD""Uninstalling EMBArk""$NC" - # check for changes if [[ $(git status --porcelain --untracked-files=no --ignore-submodules=all) ]]; then # Changes @@ -609,6 +605,7 @@ if [[ $REFORCE -eq 1 ]] && [[ $UNINSTALL -eq 1 ]]; then save_old_env uninstall elif [[ $UNINSTALL -eq 1 ]]; then + save_old_env uninstall exit 0 fi diff --git a/run-server.sh b/run-server.sh index d0eb456bb..ac4f1fd87 100755 --- a/run-server.sh +++ b/run-server.sh @@ -147,7 +147,7 @@ if ! nc -zw1 google.com 443 &>/dev/null ; then (cd /var/www && pipenv check && pipenv verify) fi -# check db +# check db and start container check_db # copy emba @@ -156,14 +156,6 @@ if [[ -d /var/www/emba ]]; then fi cp -Ru ./emba/ /var/www/emba/ -# Start container -echo -e "\n$GREEN""$BOLD""Setup mysql and redis docker images""$NC" -if docker-compose -f ./docker-compose.yml up -d ; then - echo -e "$GREEN""$BOLD""Finished setup mysql and redis docker images""$NC" -else - echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" -fi - # logs if ! [[ -d ./docker_logs ]]; then mkdir docker_logs From e4db01b63d3ff16749c0f9adfbe42916605b2ddd Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 13 Apr 2023 12:17:45 +0200 Subject: [PATCH 003/150] update --- dev-tools/debug-server-start.sh | 8 +------- helper/helper_embark_general.sh | 1 + 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/dev-tools/debug-server-start.sh b/dev-tools/debug-server-start.sh index c0cd45a29..51c468601 100755 --- a/dev-tools/debug-server-start.sh +++ b/dev-tools/debug-server-start.sh @@ -95,13 +95,7 @@ if ! (cd ./emba && ./emba -d 1) ; then exit 1 fi -echo -e "\n$GREEN""$BOLD""Setup mysql and redis docker images""$NC" -if docker-compose -f ./docker-compose.yml up -d ; then - echo -e "$GREEN""$BOLD""Finished setup mysql and redis docker images""$NC" -else - echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" - exit 1 -fi +check_db if ! [[ -d "$PWD"/logs ]]; then mkdir logs diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 6d3d31aff..2c7cdaf05 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -102,6 +102,7 @@ check_db() { echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" exit 1 fi + sleep 5s echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit"; then # PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//')mysql -h 172.22.0.5 -u embark -p $PW_ENV -e "quit" echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" From ca2e423c1922cb385ef3be04dabdc1bd4cedbd3a Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 13 Apr 2023 14:48:39 +0200 Subject: [PATCH 004/150] add check_db --- installer.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 5d421157f..859c57ce2 100755 --- a/installer.sh +++ b/installer.sh @@ -626,5 +626,6 @@ if [[ $DEFAULT -eq 1 ]]; then elif [[ $DEV -eq 1 ]]; then install_embark_dev fi - +check_db +docker-compose stop exit 0 From a3ea2b0e7fd5776b52d6ab56373f50bd31ca7c75 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 13 Apr 2023 14:51:09 +0200 Subject: [PATCH 005/150] add tests --- dev-tools/test.sh | 2 +- embark/porter/tests.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/dev-tools/test.sh b/dev-tools/test.sh index f13bac2e8..a49440013 100755 --- a/dev-tools/test.sh +++ b/dev-tools/test.sh @@ -79,5 +79,5 @@ echo -e "\n[""$BLUE JOB""$NC""] Testing""$NC" pipenv run ./embark/manage.py test embark.test_logreader pipenv run ./embark/manage.py test users.tests.SeleniumTests.test_register pipenv run ./embark/manage.py test users.tests.SeleniumTests.test_login - +pipenv run ./embark/manage.py test porter.tests.TestImport echo -e "\n$ORANGE""$BOLD""Done. To clean-up use the clean-setup script""$NC" \ No newline at end of file diff --git a/embark/porter/tests.py b/embark/porter/tests.py index 0520b3193..3b3427c08 100644 --- a/embark/porter/tests.py +++ b/embark/porter/tests.py @@ -1,10 +1,13 @@ import json import logging import os +from urllib.parse import urlencode from django.conf import settings from django.forms import model_to_dict from django.test import TestCase +from embark.porter.forms import FirmwareAnalysisImportForm +from embark.porter.models import LogZipFile from uploader.models import FirmwareAnalysis from porter.importer import result_read_in @@ -39,3 +42,17 @@ def test_importer(self): result_dict = dict(model_to_dict(result_obj)) # check self.assertDictEqual(d1=self.test_result_dict, d2=result_dict) + + def test_zip_import(self): + # first upload + with open(file=self.test_log_zip_file, mode='rb') as data_file: + response = self.client.post(path='/import/save', data=data_file, content_type='application/zip',follow=True) + self.assertRedirects(response, '/import/') + # then read + zip_log_file = LogZipFile.objects.all().first() + response = self.client.post(path='/import/read', data={'zip_log_file': zip_log_file}) + messages = list(response.context['messages']) + self.assertRedirects(response, '/import/') + self.assertEqual(len(messages), 1) + self.assertNotEqual(str(messages[0]), 'import failed') + self.assertNotEqual(str(messages[0]), 'form invalid') From c1db406e622f57ad334b827fea14e5b3b272f4fb Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 13 Apr 2023 15:04:18 +0200 Subject: [PATCH 006/150] fix worflow --- .github/workflows/default-install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/default-install.yml b/.github/workflows/default-install.yml index 606c33807..81e176b5c 100644 --- a/.github/workflows/default-install.yml +++ b/.github/workflows/default-install.yml @@ -27,7 +27,7 @@ jobs: android: true dotnet: true haskell: true - large-packages: true + large-packages: false swap-storage: true - name: EMBArk default install uses: Wandalen/wretry.action@master From 65b8ddda547a9e4cc1ce72a7d0c031794ce04a06 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 13 Apr 2023 15:08:10 +0200 Subject: [PATCH 007/150] fix workflow --- .github/workflows/default-install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/default-install.yml b/.github/workflows/default-install.yml index 606c33807..81e176b5c 100644 --- a/.github/workflows/default-install.yml +++ b/.github/workflows/default-install.yml @@ -27,7 +27,7 @@ jobs: android: true dotnet: true haskell: true - large-packages: true + large-packages: false swap-storage: true - name: EMBArk default install uses: Wandalen/wretry.action@master From a72396973c107d1611eaeb7e0c888d4b6a62e696 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Sat, 15 Apr 2023 10:48:59 +0200 Subject: [PATCH 008/150] fix main-dashboard issue --- embark/static/scripts/accumulatedReports.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/embark/static/scripts/accumulatedReports.js b/embark/static/scripts/accumulatedReports.js index 578b66906..f970b1140 100644 --- a/embark/static/scripts/accumulatedReports.js +++ b/embark/static/scripts/accumulatedReports.js @@ -19,7 +19,7 @@ var totalDirectories = document.getElementById('totalDirectories'); var totalBinaries = document.getElementById('totalBinaries'); var totalCve = document.getElementById('totalCve'); var totalIssues = document.getElementById('totalIssues'); -var topEntropies = document.getElementById('topEntropies').getContext('2d'); +// var topEntropies = document.getElementById('topEntropies').getContext('2d'); var entropyMeterLabel = document.getElementById('entropyMeterLabel'); var topBinaryTypes = document.getElementById('topBinaryTypes').getContext('2d'); From 8139c34dfedd08e6b0a53831f60e678999e0169d Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 17 Apr 2023 14:43:58 +0200 Subject: [PATCH 009/150] update test db setup --- dev-tools/test.sh | 22 ++++++++++++++++++++++ embark/embark/settings/dev.py | 1 + embark/embark/test_logreader.py | 4 ++-- helper/helper_embark_general.sh | 16 ++++++++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) diff --git a/dev-tools/test.sh b/dev-tools/test.sh index a49440013..dc80feb73 100755 --- a/dev-tools/test.sh +++ b/dev-tools/test.sh @@ -17,6 +17,7 @@ ORANGE='\033[0;33m' # BLUE='\033[0;34m' BOLD='\033[1m' NC='\033[0m' # no color +HELP_DIR=./helper export DJANGO_SETTINGS_MODULE=embark.settings.dev export EMBARK_DEBUG=True @@ -37,11 +38,28 @@ cleaner() { exit 1 } +import_helper(){ + local HELPERS=() + local HELPER_COUNT=0 + local HELPER_FILE="" + mapfile -d '' HELPERS < <(find "$HELP_DIR" -iname "helper_embark_*.sh" -print0 2> /dev/null) + for HELPER_FILE in "${HELPERS[@]}" ; do + if ( file "$HELPER_FILE" | grep -q "shell script" ) && ! [[ "$HELPER_FILE" =~ \ |\' ]] ; then + # https://github.com/koalaman/shellcheck/wiki/SC1090 + # shellcheck source=/dev/null + source "$HELPER_FILE" + (( HELPER_COUNT+=1 )) + fi + done + echo -e "\\n""==> ""$GREEN""Imported ""$HELPER_COUNT"" necessary files""$NC\\n" +} + set -a trap cleaner INT cd "$(dirname "$0")" || exit 1 cd .. || exit 1 +import_helper echo -e "\n$GREEN""$BOLD""Configuring Embark""$NC" @@ -55,6 +73,7 @@ if [[ $DU_RETURN -eq 0 ]] ; then echo -e "$GREEN""$BOLD""Finished setup mysql and redis docker images""$NC" else echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" + exit 1 fi if ! [[ -d ./logs ]]; then @@ -74,6 +93,9 @@ docker container logs embark_redis -f > ./logs/redis.log & echo -e "\n[""$BLUE JOB""$NC""] DB logs are copied to ./embark/logs/mysql.log""$NC" docker container logs embark_db -f > ./logs/mysql.log & +# give create rights +run_mysql_cmd "GRANT ALL PRIVILEGES ON *.* TO 'embark'@'%';" + ## echo -e "\n[""$BLUE JOB""$NC""] Testing""$NC" pipenv run ./embark/manage.py test embark.test_logreader diff --git a/embark/embark/settings/dev.py b/embark/embark/settings/dev.py index e5abf9b20..0c05458e1 100644 --- a/embark/embark/settings/dev.py +++ b/embark/embark/settings/dev.py @@ -82,6 +82,7 @@ 'HOST': os.environ.get('DATABASE_HOST'), 'PORT': os.environ.get('DATABASE_PORT'), 'CONN_MAX_AGE': 300, + 'TEST': {'NAME': 'test_db'}, }, } diff --git a/embark/embark/test_logreader.py b/embark/embark/test_logreader.py index ddbd6f27d..f68271b4d 100644 --- a/embark/embark/test_logreader.py +++ b/embark/embark/test_logreader.py @@ -22,8 +22,8 @@ class LogreaderException(Exception): class TestLogreader(TestCase): - def __init__(self): - super().__init__() + def setUp(self): + super().setUp() analysis = FirmwareAnalysis.objects.create() analysis.failed = False analysis.save() # args?? diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 652e56cf3..ebcac04a4 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -85,4 +85,20 @@ check_docker_wsl() { # checks if service docker is running echo -e "$BLUE""$BOLD""checking docker""$NC\\n" service docker status +} + +run_mysql_cmd() { + # executes command in mysql db + local SQL_COMMAND="${1:-}" + local PW_ENV="" + local USER_ENV="" + local HOST_ENV="" + if ! [ -f ./.env ]; then + echo -e "ERROR - NO .env file in directory - ERROR" + exit 1 + fi + PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//') + USER_ENV=$(grep DATABASE_USER ./.env | sed 's/DATABASE\_USER\=//') + HOST_ENV=$(grep DATABASE_HOST ./.env | sed 's/DATABASE\_HOST\=//') + mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"$SQL_COMMAND" } \ No newline at end of file From 04972c4ab959b5698efc618fad243ce18bd0b17b Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 17 Apr 2023 16:21:36 +0200 Subject: [PATCH 010/150] get rid of install.log from subdir --- installer.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/installer.sh b/installer.sh index 859c57ce2..2e2fcc59b 100755 --- a/installer.sh +++ b/installer.sh @@ -487,6 +487,9 @@ uninstall (){ echo -e "$ORANGE""$BOLD""Consider running " "$CYAN""\$docker system prune""$NC" # delete/uninstall EMBA + if ! [ -f ./emba/install.log ]; then + rm ./emba/install.log + fi if [[ $(sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git status --porcelain --untracked-files=no) ]]; then echo -e "[!!]$RED""$BOLD""EMBA changes detected - please commit them...otherwise they will be lost""$NC" read -p "If you know what you are doing you can press any key to continue ..." -n1 -s -r From 092d458c573d89b7eed82dc93a84dda66f1743c0 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Fri, 21 Apr 2023 13:15:25 +0200 Subject: [PATCH 011/150] fix main dashboard --- embark/static/scripts/accumulatedReports.js | 122 ++++++++++---------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/embark/static/scripts/accumulatedReports.js b/embark/static/scripts/accumulatedReports.js index f970b1140..30075c2b7 100644 --- a/embark/static/scripts/accumulatedReports.js +++ b/embark/static/scripts/accumulatedReports.js @@ -19,7 +19,7 @@ var totalDirectories = document.getElementById('totalDirectories'); var totalBinaries = document.getElementById('totalBinaries'); var totalCve = document.getElementById('totalCve'); var totalIssues = document.getElementById('totalIssues'); -// var topEntropies = document.getElementById('topEntropies').getContext('2d'); +var topEntropies = document.getElementById('topEntropies').getContext('2d'); var entropyMeterLabel = document.getElementById('entropyMeterLabel'); var topBinaryTypes = document.getElementById('topBinaryTypes').getContext('2d'); @@ -555,66 +555,66 @@ function makeCharts(returnData) { }); - //var topEntropyLabels = []; - //var topEntropyValues = []; -// - //for (var i = 0; i < returnData.top_entropies.length; i++) { - // topEntropyLabels.push(returnData.top_entropies[i].name); - // topEntropyValues.push(returnData.top_entropies[i].entropy_value); - //} -// - //let topEntropyBar = new Chart(topEntropies, { - // type: 'doughnut', - // data: { - // labels: topEntropyLabels, - // datasets: [{ - // label: 'Firmware entropie values', - // labels: topEntropyLabels, - // data: topEntropyValues, - // borderWidth: 1, - // backgroundColor: getRandomColors(topEntropyLabels.length) - // }] - // }, - // options: { - // responsive: true, - // maintainAspectRatio: false, - // plugins: { - // title: { - // display: true, - // text: 'Firmware entropie values', - // position: 'top', - // color: 666, - // padding: { - // top: 15, - // bottom: 10 - // }, - // font: { - // size: 24 - // } - // }, - // legend: { - // display: true, - // position: 'bottom', - // labels: { - // fontColor: '#000' - // } - // }, - // layout: { - // padding: { - // left: 0, - // right: 0, - // bottom: 0, - // top: 0 - // } - // }, - // tooltips: { - // enabled: true - // }, - // }, - // } - // } -// - //); + var topEntropyLabels = []; + var topEntropyValues = []; + + for (var i = 0; i < returnData.top_entropies.length; i++) { + topEntropyLabels.push(returnData.top_entropies[i].name); + topEntropyValues.push(returnData.top_entropies[i].entropy_value); + } + + let topEntropyBar = new Chart(topEntropies, { + type: 'doughnut', + data: { + labels: topEntropyLabels, + datasets: [{ + label: 'Firmware entropie values', + labels: topEntropyLabels, + data: topEntropyValues, + borderWidth: 1, + backgroundColor: getRandomColors(topEntropyLabels.length) + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + title: { + display: true, + text: 'Firmware entropie values', + position: 'top', + color: 666, + padding: { + top: 15, + bottom: 10 + }, + font: { + size: 24 + } + }, + legend: { + display: true, + position: 'bottom', + labels: { + fontColor: '#000' + } + }, + layout: { + padding: { + left: 0, + right: 0, + bottom: 0, + top: 0 + } + }, + tooltips: { + enabled: true + }, + }, + } + } + + ); } From c9758dcddbb207e0b5ce4f3d4d948e55d15f7ffd Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Fri, 21 Apr 2023 13:20:49 +0200 Subject: [PATCH 012/150] fix main dashboard --- embark/static/scripts/accumulatedReports.js | 106 ++++++++++---------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/embark/static/scripts/accumulatedReports.js b/embark/static/scripts/accumulatedReports.js index 30075c2b7..84f5f2347 100644 --- a/embark/static/scripts/accumulatedReports.js +++ b/embark/static/scripts/accumulatedReports.js @@ -19,7 +19,7 @@ var totalDirectories = document.getElementById('totalDirectories'); var totalBinaries = document.getElementById('totalBinaries'); var totalCve = document.getElementById('totalCve'); var totalIssues = document.getElementById('totalIssues'); -var topEntropies = document.getElementById('topEntropies').getContext('2d'); +// var topEntropies = document.getElementById('topEntropies').getContext('2d'); var entropyMeterLabel = document.getElementById('entropyMeterLabel'); var topBinaryTypes = document.getElementById('topBinaryTypes').getContext('2d'); @@ -563,58 +563,58 @@ function makeCharts(returnData) { topEntropyValues.push(returnData.top_entropies[i].entropy_value); } - let topEntropyBar = new Chart(topEntropies, { - type: 'doughnut', - data: { - labels: topEntropyLabels, - datasets: [{ - label: 'Firmware entropie values', - labels: topEntropyLabels, - data: topEntropyValues, - borderWidth: 1, - backgroundColor: getRandomColors(topEntropyLabels.length) - }] - }, - options: { - responsive: true, - maintainAspectRatio: false, - plugins: { - title: { - display: true, - text: 'Firmware entropie values', - position: 'top', - color: 666, - padding: { - top: 15, - bottom: 10 - }, - font: { - size: 24 - } - }, - legend: { - display: true, - position: 'bottom', - labels: { - fontColor: '#000' - } - }, - layout: { - padding: { - left: 0, - right: 0, - bottom: 0, - top: 0 - } - }, - tooltips: { - enabled: true - }, - }, - } - } - - ); + //let topEntropyBar = new Chart(topEntropies, { + // type: 'doughnut', + // data: { + // labels: topEntropyLabels, + // datasets: [{ + // label: 'Firmware entropie values', + // labels: topEntropyLabels, + // data: topEntropyValues, + // borderWidth: 1, + // backgroundColor: getRandomColors(topEntropyLabels.length) + // }] + // }, + // options: { + // responsive: true, + // maintainAspectRatio: false, + // plugins: { + // title: { + // display: true, + // text: 'Firmware entropie values', + // position: 'top', + // color: 666, + // padding: { + // top: 15, + // bottom: 10 + // }, + // font: { + // size: 24 + // } + // }, + // legend: { + // display: true, + // position: 'bottom', + // labels: { + // fontColor: '#000' + // } + // }, + // layout: { + // padding: { + // left: 0, + // right: 0, + // bottom: 0, + // top: 0 + // } + // }, + // tooltips: { + // enabled: true + // }, + // }, + // } + // } +// + //); } From 84781c9519485498af299cd13edd10fa4102b289 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Fri, 21 Apr 2023 13:29:24 +0200 Subject: [PATCH 013/150] update main dashboard logic --- embark/dashboard/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/embark/dashboard/views.py b/embark/dashboard/views.py index 345892d36..479138ec6 100644 --- a/embark/dashboard/views.py +++ b/embark/dashboard/views.py @@ -22,7 +22,7 @@ @login_required(login_url='/' + settings.LOGIN_URL) def main_dashboard(request): if request.user.is_authenticated: - if Result.objects.all().count() > 0: + if FirmwareAnalysis.objects.filter(finished=True, failed=False).count() > 0 and Result.objects.all().count() > 0: return render(request, 'dashboard/mainDashboard.html', {'nav_switch': True, 'username': request.user.username}) return HttpResponseRedirect('../../uploader/') return HttpResponseForbidden From 7d267ee1a6316cbfca668b3804963848ce5434bf Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 4 May 2023 12:22:04 +0200 Subject: [PATCH 014/150] update db-test and save state --- docker-compose.yml | 7 +++++++ helper/helper_embark_general.sh | 1 + 2 files changed, 8 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 9a9e08b56..3d324d697 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -46,6 +46,13 @@ services: logging: driver: "local" + backend-setup: + image: mysql:latest + depends_on: + - embark_db + restart: "no" + entrypoint: [ "bash", "-c", "sleep 10 && printf '%s \n' '$(sha256sum $MYSQL_PASSWORD)' >> /var/lib/mysql/state.cnf"] + networks: embark_backend: diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 2c7cdaf05..0bfbb05e9 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -109,6 +109,7 @@ check_db() { echo -e "---------------------------------------------------------------------------" echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" echo -e "$CYAN""You could try recoverying manually by overwriting your\".env\" file""$NC\\n" + echo -e "$CYAN""The mysql-db was first started if the password(sha256sum): $(head -n1 ./embark_db/state.cnf) ""$NC\\n" exit 1 fi } From ad583916d06274d0ab4c90c79b971d73f1dcc328 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 4 May 2023 15:14:58 +0200 Subject: [PATCH 015/150] fix compose file --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3d324d697..a1996786b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -51,7 +51,7 @@ services: depends_on: - embark_db restart: "no" - entrypoint: [ "bash", "-c", "sleep 10 && printf '%s \n' '$(sha256sum $MYSQL_PASSWORD)' >> /var/lib/mysql/state.cnf"] + entrypoint: [ "bash", "-c", "sleep 10 && printf '%s \n'", "$(sha256sum $MYSQL_PASSWORD)", " >> /var/lib/mysql/state.cnf"] networks: From c495c0597b65d4173b8b8253001e324520a94f81 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 4 May 2023 16:20:43 +0200 Subject: [PATCH 016/150] add history function to track container startup --- docker-compose.yml | 7 ------- helper/helper_embark_general.sh | 10 ++++++++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index a1996786b..9a9e08b56 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -46,13 +46,6 @@ services: logging: driver: "local" - backend-setup: - image: mysql:latest - depends_on: - - embark_db - restart: "no" - entrypoint: [ "bash", "-c", "sleep 10 && printf '%s \n'", "$(sha256sum $MYSQL_PASSWORD)", " >> /var/lib/mysql/state.cnf"] - networks: embark_backend: diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 0bfbb05e9..67ba62923 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -98,6 +98,7 @@ check_db() { echo -e "$BLUE""$BOLD""1. checking startup""$NC\\n" if docker-compose -f ./docker-compose.yml up -d ; then echo -e "$GREEN""$BOLD""Finished setup mysql and redis docker images""$NC" + add_to_env_history "$PW_ENV" "$(docker-compose ps -q embark_db)" else echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" exit 1 @@ -124,3 +125,12 @@ check_safe() { fi return 0 } + +add_to_env_history(){ + local PASSWORD_="${1:}" + local CONTAINER_HASH_="${2:}" + if [[ -d safe ]]; then + printf '%s;%s;\n' "$(echo "$PASSWORD_" | sha256sum)" "$CONTAINER_HASH_" >> ./safe/history.env + fi + +} \ No newline at end of file From ec06ec744854067b8294e276f27c49a3cc43eb5c Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 4 May 2023 16:46:26 +0200 Subject: [PATCH 017/150] add history function to track container startup --- helper/helper_embark_general.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 67ba62923..a2746bed9 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -127,8 +127,8 @@ check_safe() { } add_to_env_history(){ - local PASSWORD_="${1:}" - local CONTAINER_HASH_="${2:}" + local PASSWORD_="${1:-}" + local CONTAINER_HASH_="${2:-}" if [[ -d safe ]]; then printf '%s;%s;\n' "$(echo "$PASSWORD_" | sha256sum)" "$CONTAINER_HASH_" >> ./safe/history.env fi From 12eb01dd38ebb9aac73d0268ebf5158f83c9e875 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Thu, 4 May 2023 17:10:44 +0200 Subject: [PATCH 018/150] fix help thing --- helper/helper_embark_general.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index a2746bed9..714f69d60 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -110,7 +110,9 @@ check_db() { echo -e "---------------------------------------------------------------------------" echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" echo -e "$CYAN""You could try recoverying manually by overwriting your\".env\" file""$NC\\n" - echo -e "$CYAN""The mysql-db was first started if the password(sha256sum): $(head -n1 ./embark_db/state.cnf) ""$NC\\n" + if [[ -f safe/history.env ]]; then + echo -e "$CYAN""The mysql-db was first started if the password(sha256sum): $(head -n1 ./safe/history.env | cut -d";" -f1) ""$NC\\n" + fi exit 1 fi } From c0cef7a6273b99e64bb68561a03ddf6adb1b7146 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 May 2023 08:44:05 +0000 Subject: [PATCH 019/150] Bump sqlparse from 0.4.3 to 0.4.4 Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.4.3 to 0.4.4. - [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG) - [Commits](https://github.com/andialbrecht/sqlparse/compare/0.4.3...0.4.4) --- updated-dependencies: - dependency-name: sqlparse dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Pipfile.lock | 138 ++++++++++++++++++++++----------------------------- 1 file changed, 59 insertions(+), 79 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index 63d7f9255..39e1e6a5d 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -42,11 +42,11 @@ }, "attrs": { "hashes": [ - "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", - "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" + "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04", + "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" ], - "markers": "python_version >= '3.6'", - "version": "==22.2.0" + "markers": "python_version >= '3.7'", + "version": "==23.1.0" }, "autobahn": { "hashes": [ @@ -233,7 +233,7 @@ "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df", "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab" ], - "markers": "python_full_version >= '3.7.0'", + "markers": "python_version >= '3.7'", "version": "==3.1.0" }, "constantly": { @@ -245,28 +245,28 @@ }, "cryptography": { "hashes": [ - "sha256:0a4e3406cfed6b1f6d6e87ed243363652b2586b2d917b0609ca4f97072994405", - "sha256:1e0af458515d5e4028aad75f3bb3fe7a31e46ad920648cd59b64d3da842e4356", - "sha256:2803f2f8b1e95f614419926c7e6f55d828afc614ca5ed61543877ae668cc3472", - "sha256:28d63d75bf7ae4045b10de5413fb1d6338616e79015999ad9cf6fc538f772d41", - "sha256:32057d3d0ab7d4453778367ca43e99ddb711770477c4f072a51b3ca69602780a", - "sha256:3a4805a4ca729d65570a1b7cac84eac1e431085d40387b7d3bbaa47e39890b88", - "sha256:63dac2d25c47f12a7b8aa60e528bfb3c51c5a6c5a9f7c86987909c6c79765554", - "sha256:650883cc064297ef3676b1db1b7b1df6081794c4ada96fa457253c4cc40f97db", - "sha256:6f2bbd72f717ce33100e6467572abaedc61f1acb87b8d546001328d7f466b778", - "sha256:7c872413353c70e0263a9368c4993710070e70ab3e5318d85510cc91cce77e7c", - "sha256:918cb89086c7d98b1b86b9fdb70c712e5a9325ba6f7d7cfb509e784e0cfc6917", - "sha256:9618a87212cb5200500e304e43691111570e1f10ec3f35569fdfcd17e28fd797", - "sha256:a805a7bce4a77d51696410005b3e85ae2839bad9aa38894afc0aa99d8e0c3160", - "sha256:cc3a621076d824d75ab1e1e530e66e7e8564e357dd723f2533225d40fe35c60c", - "sha256:cd033d74067d8928ef00a6b1327c8ea0452523967ca4463666eeba65ca350d4c", - "sha256:cf91e428c51ef692b82ce786583e214f58392399cf65c341bc7301d096fa3ba2", - "sha256:d36bbeb99704aabefdca5aee4eba04455d7a27ceabd16f3b3ba9bdcc31da86c4", - "sha256:d8aa3609d337ad85e4eb9bb0f8bcf6e4409bfb86e706efa9a027912169e89122", - "sha256:f5d7b79fa56bc29580faafc2ff736ce05ba31feaa9d4735048b0de7d9ceb2b94" + "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440", + "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288", + "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b", + "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958", + "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b", + "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d", + "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a", + "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404", + "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b", + "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e", + "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2", + "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c", + "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b", + "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9", + "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b", + "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636", + "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99", + "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e", + "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9" ], "markers": "python_version >= '3.6'", - "version": "==40.0.1" + "version": "==40.0.2" }, "daphne": { "hashes": [ @@ -478,39 +478,19 @@ }, "pyasn1": { "hashes": [ - "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359", - "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576", - "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf", - "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7", - "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d", - "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00", - "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8", - "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86", - "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12", - "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776", - "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba", - "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2", - "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3" - ], - "version": "==0.4.8" + "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57", + "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==0.5.0" }, "pyasn1-modules": { "hashes": [ - "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8", - "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199", - "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811", - "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed", - "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4", - "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e", - "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74", - "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb", - "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45", - "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd", - "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0", - "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d", - "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405" - ], - "version": "==0.2.8" + "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c", + "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==0.3.0" }, "pycparser": { "hashes": [ @@ -582,11 +562,11 @@ }, "setuptools": { "hashes": [ - "sha256:257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a", - "sha256:e728ca814a823bf7bf60162daf9db95b93d532948c4c0bea762ce62f60189078" + "sha256:23aaf86b85ca52ceb801d32703f12d77517b2556af839621c641fca11287952b", + "sha256:f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990" ], "markers": "python_version >= '3.7'", - "version": "==67.6.1" + "version": "==67.7.2" }, "six": { "hashes": [ @@ -598,11 +578,11 @@ }, "sqlparse": { "hashes": [ - "sha256:0323c0ec29cd52bceabc1b4d9d579e311f3e4961b98d174201d5622a23b85e34", - "sha256:69ca804846bb114d2ec380e4360a8a340db83f0ccf3afceeb1404df028f57268" + "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3", + "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c" ], - "markers": "python_version >= '3.5'", - "version": "==0.4.3" + "index": "pypi", + "version": "==0.4.4" }, "twisted": { "extras": [ @@ -695,11 +675,11 @@ "develop": { "astroid": { "hashes": [ - "sha256:6e61b85c891ec53b07471aec5878f4ac6446a41e590ede0f2ce095f39f7d49dd", - "sha256:dea89d9f99f491c66ac9c04ebddf91e4acf8bd711722175fe6245c0725cc19bb" + "sha256:a1b8543ef9d36ea777194bc9b17f5f8678d2c56ee6a45b2c2f17eec96f242347", + "sha256:c81e1c7fbac615037744d067a9bb5f9aeb655edf59b63ee8b59585475d6f80d8" ], "markers": "python_full_version >= '3.7.2'", - "version": "==2.15.2" + "version": "==2.15.4" }, "async-generator": { "hashes": [ @@ -711,11 +691,11 @@ }, "attrs": { "hashes": [ - "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", - "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" + "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04", + "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" ], - "markers": "python_version >= '3.6'", - "version": "==22.2.0" + "markers": "python_version >= '3.7'", + "version": "==23.1.0" }, "certifi": { "hashes": [ @@ -892,11 +872,11 @@ }, "platformdirs": { "hashes": [ - "sha256:d5b638ca397f25f979350ff789db335903d7ea010ab28903f57b27e1b16c2b08", - "sha256:ebe11c0d7a805086e99506aa331612429a72ca7cd52a1f0d277dc4adc20cb10e" + "sha256:47692bc24c1958e8b0f13dd727307cff1db103fca36399f457da8e05f222fdc4", + "sha256:7954a68d0ba23558d753f73437c55f89027cf8f5108c19844d4b82e5af396335" ], "markers": "python_version >= '3.7'", - "version": "==3.2.0" + "version": "==3.5.0" }, "pycodestyle": { "hashes": [ @@ -908,11 +888,11 @@ }, "pylint": { "hashes": [ - "sha256:8660a54e3f696243d644fca98f79013a959c03f979992c1ab59c24d3f4ec2700", - "sha256:d4d009b0116e16845533bc2163493d6681846ac725eab8ca8014afb520178ddd" + "sha256:761907349e699f8afdcd56c4fe02f3021ab5b3a0fc26d19a9bfdc66c7d0d5cd5", + "sha256:a6cbb4c6e96eab4a3c7de7c6383c512478f58f88d95764507d84c899d656a89a" ], "markers": "python_full_version >= '3.7.2'", - "version": "==2.17.1" + "version": "==2.17.3" }, "pylint-django": { "hashes": [ @@ -1119,11 +1099,11 @@ }, "tomlkit": { "hashes": [ - "sha256:5325463a7da2ef0c6bbfefb62a3dc883aebe679984709aee32a317907d0a8d3c", - "sha256:f392ef70ad87a672f02519f99967d28a4d3047133e2d1df936511465fbb3791d" + "sha256:8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171", + "sha256:9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3" ], "markers": "python_version >= '3.7'", - "version": "==0.11.7" + "version": "==0.11.8" }, "tqdm": { "hashes": [ @@ -1251,7 +1231,7 @@ "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065", "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736" ], - "markers": "python_full_version >= '3.7.0'", + "markers": "python_version >= '3.7'", "version": "==1.2.0" } } From f3a91065d4ef670da1cd543ef479b072934bac8d Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 8 May 2023 11:22:41 +0200 Subject: [PATCH 020/150] remove all entropy stuff --- embark/static/scripts/accumulatedReports.js | 73 +------------------ embark/templates/dashboard/mainDashboard.html | 13 +--- 2 files changed, 5 insertions(+), 81 deletions(-) diff --git a/embark/static/scripts/accumulatedReports.js b/embark/static/scripts/accumulatedReports.js index 84f5f2347..63bdb400a 100644 --- a/embark/static/scripts/accumulatedReports.js +++ b/embark/static/scripts/accumulatedReports.js @@ -8,10 +8,10 @@ var canarypie = document.getElementById('canarypie').getContext('2d'); var strippedpie = document.getElementById('strippedpie').getContext('2d'); var accumulatedCvePie = document.getElementById('accumulatedCvePie').getContext('2d'); -var accumulatedEntropy = document.getElementById('accumulatedEntropy'); var accumulatedArchitecture = document.getElementById('accumulatedArchitecture').getContext('2d'); var accumulatedOs = document.getElementById('accumulatedOs').getContext('2d'); +// TODO put system emulation stuff here var firmwareAnalysed = document.getElementById('firmwareAnalysed'); var totalFiles = document.getElementById('totalFiles'); @@ -19,12 +19,13 @@ var totalDirectories = document.getElementById('totalDirectories'); var totalBinaries = document.getElementById('totalBinaries'); var totalCve = document.getElementById('totalCve'); var totalIssues = document.getElementById('totalIssues'); -// var topEntropies = document.getElementById('topEntropies').getContext('2d'); -var entropyMeterLabel = document.getElementById('entropyMeterLabel'); + + var topBinaryTypes = document.getElementById('topBinaryTypes').getContext('2d'); + /** * Get Random Colors for the Charts . * @param {*} num Number of Colors required for the chart @@ -57,8 +58,6 @@ function makeCharts(returnData) { "use strict"; if (returnData.total_firmwares !== 0) { firmwareAnalysed.textContent = returnData.total_firmwares; - accumulatedEntropy.setAttribute('value', returnData.entropy_value.mean); - entropyMeterLabel.textContent = 'Average Entropy Value: ' + returnData.entropy_value.sum.toFixed(2); totalFiles.textContent = returnData.files.sum; totalDirectories.textContent = returnData.directories.sum; totalBinaries.textContent = returnData.bins_checked.sum; @@ -66,8 +65,6 @@ function makeCharts(returnData) { totalIssues.textContent = returnData.exploits.sum; } else { firmwareAnalysed.textContent = "no data"; - accumulatedEntropy.setAttribute('value', 0); - entropyMeterLabel.textContent = 'Average Entropy Value: no data'; totalFiles.textContent = "no data"; totalDirectories.textContent = "no data"; totalBinaries.textContent = "no data"; @@ -554,68 +551,6 @@ function makeCharts(returnData) { }); - - var topEntropyLabels = []; - var topEntropyValues = []; - - for (var i = 0; i < returnData.top_entropies.length; i++) { - topEntropyLabels.push(returnData.top_entropies[i].name); - topEntropyValues.push(returnData.top_entropies[i].entropy_value); - } - - //let topEntropyBar = new Chart(topEntropies, { - // type: 'doughnut', - // data: { - // labels: topEntropyLabels, - // datasets: [{ - // label: 'Firmware entropie values', - // labels: topEntropyLabels, - // data: topEntropyValues, - // borderWidth: 1, - // backgroundColor: getRandomColors(topEntropyLabels.length) - // }] - // }, - // options: { - // responsive: true, - // maintainAspectRatio: false, - // plugins: { - // title: { - // display: true, - // text: 'Firmware entropie values', - // position: 'top', - // color: 666, - // padding: { - // top: 15, - // bottom: 10 - // }, - // font: { - // size: 24 - // } - // }, - // legend: { - // display: true, - // position: 'bottom', - // labels: { - // fontColor: '#000' - // } - // }, - // layout: { - // padding: { - // left: 0, - // right: 0, - // bottom: 0, - // top: 0 - // } - // }, - // tooltips: { - // enabled: true - // }, - // }, - // } - // } -// - //); - } /** diff --git a/embark/templates/dashboard/mainDashboard.html b/embark/templates/dashboard/mainDashboard.html index 94039abd6..7c7966e3b 100644 --- a/embark/templates/dashboard/mainDashboard.html +++ b/embark/templates/dashboard/mainDashboard.html @@ -85,18 +85,7 @@
From 13f120c231559d12375397d344578cdb898c5479 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 8 May 2023 12:38:54 +0200 Subject: [PATCH 021/150] add system_bins to main-dash --- embark/reporter/views.py | 15 +++-- embark/static/scripts/accumulatedReports.js | 55 +++++++++++++++++++ embark/templates/dashboard/mainDashboard.html | 5 ++ 3 files changed, 71 insertions(+), 4 deletions(-) diff --git a/embark/reporter/views.py b/embark/reporter/views.py index 890d04b56..e9fa72ac4 100644 --- a/embark/reporter/views.py +++ b/embark/reporter/views.py @@ -164,10 +164,10 @@ def get_accumulated_reports(request): } """ results = Result.objects.all() - # top_5_entropies = results.order_by('-entropy_value')[:5] charfields = ['architecture_verified', 'os_verified'] data = {} strcpy_bins = {} + system_bin_dict = {} for result in results: result = model_to_dict(result) # Pop firmware object_id @@ -175,12 +175,17 @@ def get_accumulated_reports(request): result.pop('firmware', None) result.pop('emba_command', None) - # Get counts for all strcpy_bin values + # Get counts for all strcpy_bin ans system_bin values + system_bin = json.loads(result.pop('system_bin', '{}')) strcpy_bin = json.loads(result.pop('strcpy_bin', '{}')) for key in strcpy_bin: if key not in strcpy_bins: strcpy_bins[key] = 0 strcpy_bins[key] += int(strcpy_bin[key]) + for key in system_bin: + if key not in system_bin_dict: + system_bin_dict[key] = 0 + system_bin_dict[key] += int(strcpy_bin[key]) for charfield in charfields: # clean-up for linux extensive os-descriptions @@ -213,13 +218,15 @@ def get_accumulated_reports(request): if field not in charfields: data[field]['mean'] = data[field]['sum'] / data[field]['count'] data['total_firmwares'] = len(results) - # data['top_entropies'] = [{'name': r.firmware_analysis.firmware_name, 'entropy_value': r.entropy_value} for r in - # top_5_entropies] # Taking top 10 most commonly occurring strcpy_bin values strcpy_bins = dict(sorted(strcpy_bins.items(), key=itemgetter(1), reverse=True)[:10]) data['top_strcpy_bins'] = strcpy_bins + # Taking top 10 occurring system binaries + system_bin_dict = dict(sorted(system_bin_dict.items(), key=itemgetter(1), reverse=True)[:10]) + data['top_system_bins'] = system_bin_dict + return JsonResponse(data=data, status=HTTPStatus.OK) diff --git a/embark/static/scripts/accumulatedReports.js b/embark/static/scripts/accumulatedReports.js index 63bdb400a..3f2dc6f3f 100644 --- a/embark/static/scripts/accumulatedReports.js +++ b/embark/static/scripts/accumulatedReports.js @@ -551,6 +551,61 @@ function makeCharts(returnData) { }); + + var topSystemBinsLabels = Object.keys(returnData.top_system_bins); + var topSystemBinsCounts = Object.values(returnData.top_system_bins); + let topSystemBinsBar = new Chart(topSystemBinsTypes, { + type: 'bar', + data: { + labels: topSystemBinsLabels, + datasets: [{ + label: 'Used in X files', + labels: topSystemBinsLabels, + data: topSystemBinsCounts, + borderWidth: 1, + backgroundColor: getRandomColors(topSystemBinsLabels.length) + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + title: { + display: true, + text: 'System Binaries', + position: 'top', + color: 666, + padding: { + top: 15, + bottom: 10 + }, + font: { + size: 24 + } + }, + legend: { + display: true, + position: 'bottom', + labels: { + fontColor: '#000' + } + }, + layout: { + padding: { + left: 0, + right: 0, + bottom: 0, + top: 0 + } + }, + tooltips: { + enabled: true + } + } + }, + + }); + } /** diff --git a/embark/templates/dashboard/mainDashboard.html b/embark/templates/dashboard/mainDashboard.html index 7c7966e3b..f2cb3b801 100644 --- a/embark/templates/dashboard/mainDashboard.html +++ b/embark/templates/dashboard/mainDashboard.html @@ -93,6 +93,11 @@
+
+
+ +
+
+ + + + @@ -43,6 +48,7 @@ + {% block js %}{% endblock js %} diff --git a/installer.sh b/installer.sh index 632c76fbb..e8b6971fb 100755 --- a/installer.sh +++ b/installer.sh @@ -329,11 +329,11 @@ install_embark_default(){ mkdir -p ./embark/static/external/{scripts,css} wget -O ./embark/static/external/scripts/jquery.js https://code.jquery.com/jquery-3.6.0.min.js wget -O ./embark/static/external/scripts/confirm.js https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.js - wget -O ./embark/static/external/scripts/bootstrap.js https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.bundle.min.js + wget -O ./embark/static/external/scripts/bootstrap.js https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js wget -O ./embark/static/external/scripts/datatable.js https://cdn.datatables.net/v/bs5/dt-1.11.2/datatables.min.js wget -O ./embark/static/external/scripts/charts.js https://cdn.jsdelivr.net/npm/chart.js@3.5.1/dist/chart.min.js wget -O ./embark/static/external/css/confirm.css https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.css - wget -O ./embark/static/external/css/bootstrap.css https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css + wget -O ./embark/static/external/css/bootstrap.css https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css wget -O ./embark/static/external/css/datatable.css https://cdn.datatables.net/v/bs5/dt-1.11.2/datatables.min.css find ./embark/static/external/ -type f -exec sed -i '/sourceMappingURL/d' {} \; fi @@ -404,11 +404,11 @@ install_embark_dev(){ mkdir -p ./embark/static/external/{scripts,css} wget -O ./embark/static/external/scripts/jquery.js https://code.jquery.com/jquery-3.6.0.min.js wget -O ./embark/static/external/scripts/confirm.js https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.js - wget -O ./embark/static/external/scripts/bootstrap.js https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.bundle.min.js + wget -O ./embark/static/external/scripts/bootstrap.js https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js wget -O ./embark/static/external/scripts/datatable.js https://cdn.datatables.net/v/bs5/dt-1.11.2/datatables.min.js wget -O ./embark/static/external/scripts/charts.js https://cdn.jsdelivr.net/npm/chart.js@3.5.1/dist/chart.min.js wget -O ./embark/static/external/css/confirm.css https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.css - wget -O ./embark/static/external/css/bootstrap.css https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css + wget -O ./embark/static/external/css/bootstrap.css https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css wget -O ./embark/static/external/css/datatable.css https://cdn.datatables.net/v/bs5/dt-1.11.2/datatables.min.css find ./embark/static/external/ -type f -exec sed -i '/sourceMappingURL/d' {} \; fi From 59f4ad5c5907551d2d33b34ce0bb36ce49138452 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Thu, 6 Jul 2023 16:18:25 +0200 Subject: [PATCH 108/150] rm safe on uninstall get rid of mysql warning --- helper/helper_embark_general.sh | 2 +- installer.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 04b20dc30..9230987d9 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -105,7 +105,7 @@ check_db() { fi sleep 5s echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" - if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit"; then # PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//')mysql -h 172.22.0.5 -u embark -p $PW_ENV -e "quit" + if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" diff --git a/installer.sh b/installer.sh index e8b6971fb..d9415f962 100755 --- a/installer.sh +++ b/installer.sh @@ -525,6 +525,7 @@ uninstall (){ # final if [[ "$REFORCE" -eq 0 ]]; then sudo -u "${SUDO_USER:-${USER}}" git reset + rm -r ./safe/* fi echo -e "$ORANGE""$BOLD""Consider""$CYAN""\$git pull""$NC" } From d76dbc196e5948e29a7cfe05c26149b63e5034ff Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Thu, 6 Jul 2023 16:28:18 +0200 Subject: [PATCH 109/150] typo --- embark/templates/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/embark/templates/base.html b/embark/templates/base.html index 111459d2b..b565003ac 100644 --- a/embark/templates/base.html +++ b/embark/templates/base.html @@ -20,7 +20,7 @@ {% bootstrap_javascript %}--> - + From 27bc7cf7432a7143c00e3e3aea1d097ef2f8d6fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jul 2023 14:54:57 +0000 Subject: [PATCH 110/150] Bump django from 4.2.1 to 4.2.3 Bumps [django](https://github.com/django/django) from 4.2.1 to 4.2.3. - [Commits](https://github.com/django/django/compare/4.2.1...4.2.3) --- updated-dependencies: - dependency-name: django dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Pipfile.lock | 110 ++++++++++++++++++++++++--------------------------- 1 file changed, 51 insertions(+), 59 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index e2e0ae021..683e0bb22 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -21,7 +21,7 @@ "sha256:0293937d8f6051a0f493359440c1a1b93e882c57daf0197afeff0e727777b96e", "sha256:e813ad5ada7aff36fb08cdda746b520531eaac7757832abc204868ba78e0c8f6" ], - "markers": "python_full_version >= '3.6.0'", + "markers": "python_version >= '3.6'", "version": "==3.10.1" }, "asgiref": { @@ -67,7 +67,7 @@ "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7", "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716" ], - "markers": "python_full_version >= '3.6.0'", + "markers": "python_version >= '3.6'", "version": "==2023.5.7" }, "cffi": { @@ -245,28 +245,28 @@ }, "cryptography": { "hashes": [ - "sha256:0ddaee209d1cf1f180f1efa338a68c4621154de0afaef92b89486f5f96047c55", - "sha256:14754bcdae909d66ff24b7b5f166d69340ccc6cb15731670435efd5719294895", - "sha256:344c6de9f8bda3c425b3a41b319522ba3208551b70c2ae00099c205f0d9fd3be", - "sha256:34d405ea69a8b34566ba3dfb0521379b210ea5d560fafedf9f800a9a94a41928", - "sha256:3680248309d340fda9611498a5319b0193a8dbdb73586a1acf8109d06f25b92d", - "sha256:3c5ef25d060c80d6d9f7f9892e1d41bb1c79b78ce74805b8cb4aa373cb7d5ec8", - "sha256:4ab14d567f7bbe7f1cdff1c53d5324ed4d3fc8bd17c481b395db224fb405c237", - "sha256:5c1f7293c31ebc72163a9a0df246f890d65f66b4a40d9ec80081969ba8c78cc9", - "sha256:6b71f64beeea341c9b4f963b48ee3b62d62d57ba93eb120e1196b31dc1025e78", - "sha256:7d92f0248d38faa411d17f4107fc0bce0c42cae0b0ba5415505df72d751bf62d", - "sha256:8362565b3835ceacf4dc8f3b56471a2289cf51ac80946f9087e66dc283a810e0", - "sha256:84a165379cb9d411d58ed739e4af3396e544eac190805a54ba2e0322feb55c46", - "sha256:88ff107f211ea696455ea8d911389f6d2b276aabf3231bf72c8853d22db755c5", - "sha256:9f65e842cb02550fac96536edb1d17f24c0a338fd84eaf582be25926e993dde4", - "sha256:a4fc68d1c5b951cfb72dfd54702afdbbf0fb7acdc9b7dc4301bbf2225a27714d", - "sha256:b7f2f5c525a642cecad24ee8670443ba27ac1fab81bba4cc24c7b6b41f2d0c75", - "sha256:b846d59a8d5a9ba87e2c3d757ca019fa576793e8758174d3868aecb88d6fc8eb", - "sha256:bf8fc66012ca857d62f6a347007e166ed59c0bc150cefa49f28376ebe7d992a2", - "sha256:f5d0bf9b252f30a31664b6f64432b4730bb7038339bd18b1fafe129cfc2be9be" + "sha256:059e348f9a3c1950937e1b5d7ba1f8e968508ab181e75fc32b879452f08356db", + "sha256:1a5472d40c8f8e91ff7a3d8ac6dfa363d8e3138b961529c996f3e2df0c7a411a", + "sha256:1a8e6c2de6fbbcc5e14fd27fb24414507cb3333198ea9ab1258d916f00bc3039", + "sha256:1fee5aacc7367487b4e22484d3c7e547992ed726d14864ee33c0176ae43b0d7c", + "sha256:5d092fdfedaec4cbbffbf98cddc915ba145313a6fdaab83c6e67f4e6c218e6f3", + "sha256:5f0ff6e18d13a3de56f609dd1fd11470918f770c6bd5d00d632076c727d35485", + "sha256:7bfc55a5eae8b86a287747053140ba221afc65eb06207bedf6e019b8934b477c", + "sha256:7fa01527046ca5facdf973eef2535a27fec4cb651e4daec4d043ef63f6ecd4ca", + "sha256:8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5", + "sha256:8f4ab7021127a9b4323537300a2acfb450124b2def3756f64dc3a3d2160ee4b5", + "sha256:948224d76c4b6457349d47c0c98657557f429b4e93057cf5a2f71d603e2fc3a3", + "sha256:9a6c7a3c87d595608a39980ebaa04d5a37f94024c9f24eb7d10262b92f739ddb", + "sha256:b46e37db3cc267b4dea1f56da7346c9727e1209aa98487179ee8ebed09d21e43", + "sha256:b4ceb5324b998ce2003bc17d519080b4ec8d5b7b70794cbd2836101406a9be31", + "sha256:cb33ccf15e89f7ed89b235cff9d49e2e62c6c981a6061c9c8bb47ed7951190bc", + "sha256:d198820aba55660b4d74f7b5fd1f17db3aa5eb3e6893b0a41b75e84e4f9e0e4b", + "sha256:d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006", + "sha256:eb8163f5e549a22888c18b0d53d6bb62a20510060a22fd5a995ec8a05268df8a", + "sha256:f73bff05db2a3e5974a6fd248af2566134d8981fd7ab012e5dd4ddb1d9a70699" ], - "index": "pypi", - "version": "==41.0.0" + "markers": "python_version >= '3.7'", + "version": "==41.0.1" }, "daphne": { "hashes": [ @@ -278,11 +278,11 @@ }, "django": { "hashes": [ - "sha256:066b6debb5ac335458d2a713ed995570536c8b59a580005acb0732378d5eb1ee", - "sha256:7efa6b1f781a6119a10ac94b4794ded90db8accbe7802281cd26f8664ffed59c" + "sha256:45a747e1c5b3d6df1b141b1481e193b033fd1fdbda3ff52677dc81afdaacbaed", + "sha256:f7c7852a5ac5a3da5a8d5b35cc6168f31b605971441798dac845f17ca8028039" ], "index": "pypi", - "version": "==4.2.1" + "version": "==4.2.3" }, "django-apscheduler": { "hashes": [ @@ -523,11 +523,11 @@ }, "redis": { "hashes": [ - "sha256:77929bc7f5dab9adf3acba2d3bb7d7658f1e0c2f1cafe7eb36434e751c471119", - "sha256:dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880" + "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d", + "sha256:e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c" ], "markers": "python_version >= '3.7'", - "version": "==4.5.5" + "version": "==4.6.0" }, "requests": { "hashes": [ @@ -554,11 +554,11 @@ }, "setuptools": { "hashes": [ - "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f", - "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102" + "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f", + "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235" ], "markers": "python_version >= '3.7'", - "version": "==67.8.0" + "version": "==68.0.0" }, "six": { "hashes": [ @@ -597,11 +597,11 @@ }, "typing-extensions": { "hashes": [ - "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26", - "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5" + "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36", + "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2" ], "markers": "python_version < '3.11'", - "version": "==4.6.3" + "version": "==4.7.1" }, "tzlocal": { "hashes": [ @@ -665,14 +665,6 @@ "markers": "python_full_version >= '3.7.2'", "version": "==2.15.5" }, - "async-generator": { - "hashes": [ - "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b", - "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144" - ], - "markers": "python_version >= '3.5'", - "version": "==1.10" - }, "attrs": { "hashes": [ "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04", @@ -686,7 +678,7 @@ "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7", "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716" ], - "markers": "python_full_version >= '3.6.0'", + "markers": "python_version >= '3.6'", "version": "==2023.5.7" }, "click": { @@ -736,11 +728,11 @@ }, "exceptiongroup": { "hashes": [ - "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e", - "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785" + "sha256:12c3e887d6485d16943a309616de20ae5582633e0a2eda17f4e10fd61c1e8af5", + "sha256:e346e69d186172ca7cf029c8c1d16235aa0e04035e5750b4b95039e65204328f" ], "markers": "python_version < '3.11'", - "version": "==1.1.1" + "version": "==1.1.2" }, "h11": { "hashes": [ @@ -755,7 +747,7 @@ "sha256:04924aca48770f36b5a41c27e4d917062507be05118acb0ba869c97389084297", "sha256:eeb69ef21078486b615241f0393a72b41352c5219ee648e7c61f5632d26f0420" ], - "markers": "python_version >= '3.7' and python_full_version < '4.0.0'", + "markers": "python_version >= '3.7' and python_version < '4.0'", "version": "==0.1.2" }, "html-void-elements": { @@ -763,7 +755,7 @@ "sha256:784cf39db03cdeb017320d9301009f8f3480f9d7b254d0974272e80e0cb5e0d2", "sha256:931b88f84cd606fee0b582c28fcd00e41d7149421fb673e1e1abd2f0c4f231f0" ], - "markers": "python_version >= '3.7' and python_full_version < '4.0.0'", + "markers": "python_version >= '3.7' and python_version < '4.0'", "version": "==0.1.0" }, "idna": { @@ -856,11 +848,11 @@ }, "platformdirs": { "hashes": [ - "sha256:57e28820ca8094678b807ff529196506d7a21e17156cb1cddb3e74cebce54640", - "sha256:ffa199e3fbab8365778c4a10e1fbf1b9cd50707de826eb304b50e57ec0cc8d38" + "sha256:b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc", + "sha256:ca9ed98ce73076ba72e092b23d3c93ea6c4e186b3f1c3dad6edd98ff6ffcca2e" ], "markers": "python_version >= '3.7'", - "version": "==3.6.0" + "version": "==3.8.0" }, "pycodestyle": { "hashes": [ @@ -891,7 +883,7 @@ "sha256:ae11664737aa2effbf26f973a9e0b6779ab7106ec0adc5fe104b0907ca04e507", "sha256:d3cebf68a38ba3fba23a873809155562571386d4c1b03e5b4c4cc26c3eee93e4" ], - "markers": "python_version >= '3.7' and python_full_version < '4.0.0'", + "markers": "python_version >= '3.7' and python_version < '4.0'", "version": "==0.8.2" }, "pysocks": { @@ -1099,11 +1091,11 @@ }, "trio": { "hashes": [ - "sha256:ce68f1c5400a47b137c5a4de72c7c901bd4e7a24fbdebfe9b41de8c6c04eaacf", - "sha256:f1dd0780a89bfc880c7c7994519cb53f62aacb2c25ff487001c0052bd721cdf0" + "sha256:1270da4a4a33caf33f85c6a255f2ef5f71629a3ec9aea31a052062b673ae58d3", + "sha256:eb5f641b313eb502a16de176d84cecd9ccf2394a7c8655d2297398376bb15eca" ], "markers": "python_version >= '3.7'", - "version": "==0.22.0" + "version": "==0.22.1" }, "trio-websocket": { "hashes": [ @@ -1115,11 +1107,11 @@ }, "typing-extensions": { "hashes": [ - "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26", - "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5" + "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36", + "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2" ], "markers": "python_version < '3.11'", - "version": "==4.6.3" + "version": "==4.7.1" }, "urllib3": { "hashes": [ From 871fb8413bef56fcf641dd10a57069c830bcebc6 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Tue, 18 Jul 2023 08:10:41 +0200 Subject: [PATCH 111/150] change to pull for docker images --- installer.sh | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/installer.sh b/installer.sh index e8b6971fb..6283351c1 100755 --- a/installer.sh +++ b/installer.sh @@ -346,11 +346,7 @@ install_embark_default(){ fi # download images for container - docker-compose -f ./docker-compose.yml up --no-start - docker-compose -f ./docker-compose.yml up &>/dev/null & - sleep 30 - kill %1 - docker-compose -f ./docker-compose.yml stop + docker-compose -f ./docker-compose.yml pull # activate daemon systemctl start embark.service @@ -418,11 +414,7 @@ install_embark_dev(){ chmod 644 .env # download images for container - docker-compose -f ./docker-compose.yml up --no-start - docker-compose -f ./docker-compose.yml up &>/dev/null & - sleep 30 - kill %1 - docker-compose -f ./docker-compose.yml stop + docker-compose -f ./docker-compose.yml pull check_db docker-compose stop From 40503b4c47cdd8f251615e44612f0d93786d9080 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Tue, 18 Jul 2023 08:44:39 +0200 Subject: [PATCH 112/150] update docker-compose on wsl --- installer.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 6283351c1..e24512345 100755 --- a/installer.sh +++ b/installer.sh @@ -412,9 +412,13 @@ install_embark_dev(){ # write env-vars into ./.env write_env chmod 644 .env + if [[ "$WSL" -eq 1 ]]; then + check_docker_wsl + fi + # download images for container - docker-compose -f ./docker-compose.yml pull + docker-compose pull check_db docker-compose stop From 567a5fd9fd513c3150da2d9dbb846fec63d8c2ab Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Tue, 18 Jul 2023 10:39:58 +0200 Subject: [PATCH 113/150] add TODO --- embark/templates/dashboard/reportDashboard.html | 4 ++++ installer.sh | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/embark/templates/dashboard/reportDashboard.html b/embark/templates/dashboard/reportDashboard.html index 2b90d218c..1fc9bb31d 100644 --- a/embark/templates/dashboard/reportDashboard.html +++ b/embark/templates/dashboard/reportDashboard.html @@ -59,6 +59,10 @@ + +
+ +
{% else %} {% if firmware.zip_file is not None %}
diff --git a/installer.sh b/installer.sh index e24512345..11dd583c4 100755 --- a/installer.sh +++ b/installer.sh @@ -412,10 +412,6 @@ install_embark_dev(){ # write env-vars into ./.env write_env chmod 644 .env - if [[ "$WSL" -eq 1 ]]; then - check_docker_wsl - fi - # download images for container docker-compose pull From 96b6b20144fa5b367303b10233a4489cdeeccbc8 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Tue, 18 Jul 2023 15:26:52 +0200 Subject: [PATCH 114/150] add simple run.log view function --- embark/dashboard/urls.py | 3 ++- embark/dashboard/views.py | 22 ++++++++++++++++++- .../templates/dashboard/reportDashboard.html | 7 +++--- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/embark/dashboard/urls.py b/embark/dashboard/urls.py index 0fcb5b18d..aa1204e15 100644 --- a/embark/dashboard/urls.py +++ b/embark/dashboard/urls.py @@ -10,5 +10,6 @@ path('dashboard/service/', views.service_dashboard, name='embark-dashboard-service'), path('dashboard/report/', views.report_dashboard, name='embark-ReportDashboard'), path('dashboard/individualReport/', views.individual_report_dashboard, name='embark-IndividualReportDashboard'), - path('dashboard/stop/', views.stop_analysis, name='embark-stop-analysis') + path('dashboard/stop/', views.stop_analysis, name='embark-stop-analysis'), + path('dashboard/log/', views.show_log, name='embark-show-log') ] diff --git a/embark/dashboard/views.py b/embark/dashboard/views.py index 479138ec6..2b14d446b 100644 --- a/embark/dashboard/views.py +++ b/embark/dashboard/views.py @@ -1,11 +1,12 @@ import builtins import logging import os +from pathlib import Path import signal from django.conf import settings from django.shortcuts import render -from django.http import HttpResponseBadRequest, HttpResponseForbidden, HttpResponseRedirect, HttpResponseServerError +from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseForbidden, HttpResponseRedirect, HttpResponseServerError from django.contrib.auth.decorators import login_required from django.views.decorators.http import require_http_methods from tracker.forms import AssociateForm @@ -101,3 +102,22 @@ def individual_report_dashboard(request, analysis_id): logger.info("individual_dashboard - analyze_id: %s", analysis_id) form = AssociateForm() return render(request, 'dashboard/individualReportDashboard.html', {'username': request.user.username, 'analysis_id': analysis_id, 'form': form}) + + +@require_http_methods(["GET"]) +@login_required(login_url='/' + settings.LOGIN_URL) +def show_log(request, analysis_id): + """ + renders emba_run.log + + :params request: HTTP request + + :return: rendered emba_run.log + """ + logger.info("showing log for analyze_id: %s", analysis_id) + firmware = FirmwareAnalysis.objects.get(id=analysis_id) + # get the file path + log_file_path_ = f"{Path(firmware.path_to_logs).parent}/emba_run.log" + logger.debug("Taking file at %s and render it", log_file_path_) + with open(log_file_path_, 'r', encoding='utf-8') as log_file_: + return HttpResponse(content=log_file_, content_type="text/plain") \ No newline at end of file diff --git a/embark/templates/dashboard/reportDashboard.html b/embark/templates/dashboard/reportDashboard.html index 1fc9bb31d..9b1164292 100644 --- a/embark/templates/dashboard/reportDashboard.html +++ b/embark/templates/dashboard/reportDashboard.html @@ -59,10 +59,6 @@ - - - - {% else %} {% if firmware.zip_file is not None %}
@@ -83,6 +79,9 @@
{% endif %} +
+ +
{% endif %} From c75c1e074f011145e361065272bb3f771fbf3a01 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Tue, 18 Jul 2023 15:50:20 +0200 Subject: [PATCH 115/150] make module counts dynamic --- embark/embark/logreader.py | 9 ++++----- embark/embark/settings/deploy.py | 24 +++++++++++++++++++++++- embark/embark/settings/dev.py | 21 +++++++++++++++++++++ 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/embark/embark/logreader.py b/embark/embark/logreader.py index 80dc64401..4d2040511 100644 --- a/embark/embark/logreader.py +++ b/embark/embark/logreader.py @@ -22,11 +22,10 @@ logger = logging.getLogger(__name__) # EMBAs module count -# TODO make this a settings var that gets set by counting on startup! -EMBA_S_MOD_CNT = 44 -EMBA_P_MOD_CNT = 18 -EMBA_F_MOD_CNT = 4 -EMBA_L_MOD_CNT = 8 +EMBA_S_MOD_CNT = settings.EMBA_S_MOD_CNT +EMBA_P_MOD_CNT = settings.EMBA_P_MOD_CNT +EMBA_F_MOD_CNT = settings.EMBA_F_MOD_CNT +EMBA_L_MOD_CNT = settings.EMBA_L_MOD_CNT EMBA_MODULE_CNT = EMBA_S_MOD_CNT + EMBA_P_MOD_CNT + EMBA_F_MOD_CNT + EMBA_L_MOD_CNT EMBA_PHASE_CNT = 4 # P, S, L, F modules diff --git a/embark/embark/settings/deploy.py b/embark/embark/settings/deploy.py index e8a8e2ca7..ed93cd395 100644 --- a/embark/embark/settings/deploy.py +++ b/embark/embark/settings/deploy.py @@ -33,6 +33,28 @@ EMBA_LOG_ROOT = os.path.join(BASE_DIR.parent, 'emba_logs') EMBA_LOG_URL = 'emba_logs/' +s_module_cnt = 0 +p_module_cnt = 0 +f_module_cnt = 0 +l_module_cnt = 0 +q_module_cnt = 0 +for mod_file_ in os.listdir(f"{EMBA_ROOT}/modules"): + if mod_file_.startswith('S'): + s_module_cnt+=1 + elif mod_file_.startswith('P'): + p_module_cnt+=1 + elif mod_file_.startswith('F'): + f_module_cnt+=1 + elif mod_file_.startswith('L'): + l_module_cnt+=1 + elif mod_file_.startswith('Q'): + q_module_cnt+=1 +EMBA_S_MOD_CNT = s_module_cnt +EMBA_P_MOD_CNT = p_module_cnt +EMBA_F_MOD_CNT = f_module_cnt +EMBA_L_MOD_CNT = l_module_cnt +EMBA_Q_MOD_CNT = q_module_cnt + # Application definition - defines what apps gets migrated INSTALLED_APPS = [ 'django.contrib.admin', @@ -166,7 +188,7 @@ }, 'uploader': { 'handlers': ['debug_handler', 'info_handler', 'console_handler'], - 'level': 'DEBUG', # TODO change to INFO + 'level': 'INFO', }, 'dashboard': { 'handlers': ['debug_handler', 'info_handler', 'console_handler'], diff --git a/embark/embark/settings/dev.py b/embark/embark/settings/dev.py index 0c05458e1..17bc2cf52 100644 --- a/embark/embark/settings/dev.py +++ b/embark/embark/settings/dev.py @@ -12,6 +12,27 @@ EMBA_ROOT = os.path.join(BASE_DIR.parent, 'emba') EMBA_LOG_ROOT = os.path.join(BASE_DIR.parent, 'emba_logs') EMBA_LOG_URL = 'emba_logs/' +s_module_cnt = 0 +p_module_cnt = 0 +f_module_cnt = 0 +l_module_cnt = 0 +q_module_cnt = 0 +for mod_file_ in os.listdir(f"{EMBA_ROOT}/modules"): + if mod_file_.startswith('S'): + s_module_cnt+=1 + elif mod_file_.startswith('P'): + p_module_cnt+=1 + elif mod_file_.startswith('F'): + f_module_cnt+=1 + elif mod_file_.startswith('L'): + l_module_cnt+=1 + elif mod_file_.startswith('Q'): + q_module_cnt+=1 +EMBA_S_MOD_CNT = s_module_cnt +EMBA_P_MOD_CNT = p_module_cnt +EMBA_F_MOD_CNT = f_module_cnt +EMBA_L_MOD_CNT = l_module_cnt +EMBA_Q_MOD_CNT = q_module_cnt DEBUG = True From 30a07e8c2d508a0429730cfd4aa7aa26c16013b2 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Tue, 18 Jul 2023 15:50:34 +0200 Subject: [PATCH 116/150] cleanup --- embark/dashboard/urls.py | 1 - embark/dashboard/views.py | 2 -- installer.sh | 8 +------- run-server.sh | 3 --- 4 files changed, 1 insertion(+), 13 deletions(-) diff --git a/embark/dashboard/urls.py b/embark/dashboard/urls.py index aa1204e15..e2cbd14fa 100644 --- a/embark/dashboard/urls.py +++ b/embark/dashboard/urls.py @@ -6,7 +6,6 @@ # view routing urlpatterns = [ path('dashboard/main/', views.main_dashboard, name='embark-MainDashboard'), - # TODO add un-auth view for main dashboard path('dashboard/service/', views.service_dashboard, name='embark-dashboard-service'), path('dashboard/report/', views.report_dashboard, name='embark-ReportDashboard'), path('dashboard/individualReport/', views.individual_report_dashboard, name='embark-IndividualReportDashboard'), diff --git a/embark/dashboard/views.py b/embark/dashboard/views.py index 2b14d446b..050d2693b 100644 --- a/embark/dashboard/views.py +++ b/embark/dashboard/views.py @@ -69,8 +69,6 @@ def service_dashboard(request): :params request: req :return httpresp: html servicedashboard """ - # TODO send logreader update on refresh!!! - # if FirmwareAnalysis.objects.all().count() > 0: form = StopAnalysisForm() form.fields['analysis'].queryset = FirmwareAnalysis.objects.filter(finished=False) return render(request, 'dashboard/serviceDashboard.html', {'username': request.user.username, 'form': form, 'success_message': False}) diff --git a/installer.sh b/installer.sh index 5f81cff3b..91b1b3b4d 100755 --- a/installer.sh +++ b/installer.sh @@ -125,11 +125,6 @@ install_emba(){ cd emba ./installer.sh -d | tee install.log || ( echo "Could not install EMBA" && exit 1 ) cd .. - # TODO costom crom updater for only cve stuff - # if ! [[ -f /etc/cron.daily/emba_updater ]]; then - # cp ./config/emba_updater /etc/cron.daily/ - # fi - # check emba if ! (cd emba && ./emba -d 1); then echo -e "\n$RED""$BOLD""EMBA installation failed""$NC" tail emba/install.log @@ -140,7 +135,7 @@ install_emba(){ } create_ca (){ - # TODO could use some work + # FIXME could use some work echo -e "\n$GREEN""$BOLD""Creating SSL Cert""$NC" if ! [[ -d cert ]]; then sudo -u "${SUDO_USER:-${USER}}" git checkout -- cert @@ -518,7 +513,6 @@ uninstall (){ sudo -u "${SUDO_USER:-${USER}}" git checkout HEAD -- embark.service # reset ownership etc - # TODO delete the dns resolve # reset server-certs sudo -u "${SUDO_USER:-${USER}}" git checkout HEAD -- cert diff --git a/run-server.sh b/run-server.sh index ac4f1fd87..69db4338e 100755 --- a/run-server.sh +++ b/run-server.sh @@ -206,8 +206,6 @@ cd /var/www/embark/ || exit 1 # shellcheck disable=SC1091 source /var/www/.venv/bin/activate || exit 1 export PIPENV_VERBOSITY=-1 - -# TODO move to parent # logs if ! [[ -d /var/www/logs ]]; then mkdir /var/www/logs @@ -223,7 +221,6 @@ echo -e "\n[""$BLUE JOB""$NC""] Collecting static files" pipenv run ./manage.py collectstatic --no-input chown www-embark /var/www/ -R chmod 760 /var/www/media/ -R -# TODO other fileperms echo -e "\n[""$BLUE JOB""$NC""] Starting runapscheduler" pipenv run ./manage.py runapscheduler | tee -a /var/www/logs/scheduler.log & From e04a0ea4ed33942ab90cd40542d29ceef56070d8 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Wed, 19 Jul 2023 08:43:03 +0200 Subject: [PATCH 117/150] mv emba module counting --- embark/dashboard/views.py | 2 +- embark/embark/logreader.py | 26 ++++++++++++++++++++++---- embark/embark/settings/deploy.py | 22 ---------------------- embark/embark/settings/dev.py | 21 --------------------- embark/porter/importer.py | 16 +++++++++------- 5 files changed, 32 insertions(+), 55 deletions(-) diff --git a/embark/dashboard/views.py b/embark/dashboard/views.py index 050d2693b..98c063337 100644 --- a/embark/dashboard/views.py +++ b/embark/dashboard/views.py @@ -118,4 +118,4 @@ def show_log(request, analysis_id): log_file_path_ = f"{Path(firmware.path_to_logs).parent}/emba_run.log" logger.debug("Taking file at %s and render it", log_file_path_) with open(log_file_path_, 'r', encoding='utf-8') as log_file_: - return HttpResponse(content=log_file_, content_type="text/plain") \ No newline at end of file + return HttpResponse(content=log_file_, content_type="text/plain") diff --git a/embark/embark/logreader.py b/embark/embark/logreader.py index 4d2040511..aa12bcab0 100644 --- a/embark/embark/logreader.py +++ b/embark/embark/logreader.py @@ -3,6 +3,7 @@ import builtins import datetime import difflib +import os import pathlib import re import time @@ -22,10 +23,27 @@ logger = logging.getLogger(__name__) # EMBAs module count -EMBA_S_MOD_CNT = settings.EMBA_S_MOD_CNT -EMBA_P_MOD_CNT = settings.EMBA_P_MOD_CNT -EMBA_F_MOD_CNT = settings.EMBA_F_MOD_CNT -EMBA_L_MOD_CNT = settings.EMBA_L_MOD_CNT +s_module_cnt = 0 +p_module_cnt = 0 +f_module_cnt = 0 +l_module_cnt = 0 +q_module_cnt = 0 +for mod_file_ in os.listdir(f"{settings.EMBA_ROOT}/modules"): + if mod_file_.startswith('S'): + s_module_cnt += 1 + elif mod_file_.startswith('P'): + p_module_cnt += 1 + elif mod_file_.startswith('F'): + f_module_cnt += 1 + elif mod_file_.startswith('L'): + l_module_cnt += 1 + elif mod_file_.startswith('Q'): + q_module_cnt += 1 +EMBA_S_MOD_CNT = s_module_cnt +EMBA_P_MOD_CNT = p_module_cnt +EMBA_F_MOD_CNT = f_module_cnt +EMBA_L_MOD_CNT = l_module_cnt +EMBA_Q_MOD_CNT = q_module_cnt EMBA_MODULE_CNT = EMBA_S_MOD_CNT + EMBA_P_MOD_CNT + EMBA_F_MOD_CNT + EMBA_L_MOD_CNT EMBA_PHASE_CNT = 4 # P, S, L, F modules diff --git a/embark/embark/settings/deploy.py b/embark/embark/settings/deploy.py index ed93cd395..fb069c78f 100644 --- a/embark/embark/settings/deploy.py +++ b/embark/embark/settings/deploy.py @@ -33,28 +33,6 @@ EMBA_LOG_ROOT = os.path.join(BASE_DIR.parent, 'emba_logs') EMBA_LOG_URL = 'emba_logs/' -s_module_cnt = 0 -p_module_cnt = 0 -f_module_cnt = 0 -l_module_cnt = 0 -q_module_cnt = 0 -for mod_file_ in os.listdir(f"{EMBA_ROOT}/modules"): - if mod_file_.startswith('S'): - s_module_cnt+=1 - elif mod_file_.startswith('P'): - p_module_cnt+=1 - elif mod_file_.startswith('F'): - f_module_cnt+=1 - elif mod_file_.startswith('L'): - l_module_cnt+=1 - elif mod_file_.startswith('Q'): - q_module_cnt+=1 -EMBA_S_MOD_CNT = s_module_cnt -EMBA_P_MOD_CNT = p_module_cnt -EMBA_F_MOD_CNT = f_module_cnt -EMBA_L_MOD_CNT = l_module_cnt -EMBA_Q_MOD_CNT = q_module_cnt - # Application definition - defines what apps gets migrated INSTALLED_APPS = [ 'django.contrib.admin', diff --git a/embark/embark/settings/dev.py b/embark/embark/settings/dev.py index 17bc2cf52..0c05458e1 100644 --- a/embark/embark/settings/dev.py +++ b/embark/embark/settings/dev.py @@ -12,27 +12,6 @@ EMBA_ROOT = os.path.join(BASE_DIR.parent, 'emba') EMBA_LOG_ROOT = os.path.join(BASE_DIR.parent, 'emba_logs') EMBA_LOG_URL = 'emba_logs/' -s_module_cnt = 0 -p_module_cnt = 0 -f_module_cnt = 0 -l_module_cnt = 0 -q_module_cnt = 0 -for mod_file_ in os.listdir(f"{EMBA_ROOT}/modules"): - if mod_file_.startswith('S'): - s_module_cnt+=1 - elif mod_file_.startswith('P'): - p_module_cnt+=1 - elif mod_file_.startswith('F'): - f_module_cnt+=1 - elif mod_file_.startswith('L'): - l_module_cnt+=1 - elif mod_file_.startswith('Q'): - q_module_cnt+=1 -EMBA_S_MOD_CNT = s_module_cnt -EMBA_P_MOD_CNT = p_module_cnt -EMBA_F_MOD_CNT = f_module_cnt -EMBA_L_MOD_CNT = l_module_cnt -EMBA_Q_MOD_CNT = q_module_cnt DEBUG = True diff --git a/embark/porter/importer.py b/embark/porter/importer.py index 6c0441eb3..a56ba2e12 100644 --- a/embark/porter/importer.py +++ b/embark/porter/importer.py @@ -194,10 +194,12 @@ def f10_csv(_file_path, _analysis_id): # test print f50 with open(os.path.join(TEST_DIR, 'f50_test.json'), 'w', encoding='utf-8') as json_file: json_file.write(json.dumps(read_csv(os.path.join(TEST_DIR, 'f50_test.csv')), indent=4)) - - # test print f20 - # with open(os.path.join(TEST_DIR, 'f20_test.json'), 'w', encoding='utf-8') as json_file: - # json_file.write(json.dumps( - # f20_csv(os.path.join(TEST_DIR, 'f20_test.csv')), - # indent=4 - # )) + + """ + test print f20 + with open(os.path.join(TEST_DIR, 'f20_test.json'), 'w', encoding='utf-8') as json_file: + json_file.write(json.dumps( + f20_csv(os.path.join(TEST_DIR, 'f20_test.csv')), + indent=4 + )) + """ From f42cc6d28ee2791021fd896e7c67ae130c38ea24 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Wed, 19 Jul 2023 10:51:19 +0200 Subject: [PATCH 118/150] fixfix --- embark/embark/logreader.py | 26 ++++---------------------- embark/embark/settings/deploy.py | 19 +++++++++++++++++++ embark/embark/settings/dev.py | 19 +++++++++++++++++++ embark/porter/importer.py | 15 ++++++--------- 4 files changed, 48 insertions(+), 31 deletions(-) diff --git a/embark/embark/logreader.py b/embark/embark/logreader.py index aa12bcab0..4d2040511 100644 --- a/embark/embark/logreader.py +++ b/embark/embark/logreader.py @@ -3,7 +3,6 @@ import builtins import datetime import difflib -import os import pathlib import re import time @@ -23,27 +22,10 @@ logger = logging.getLogger(__name__) # EMBAs module count -s_module_cnt = 0 -p_module_cnt = 0 -f_module_cnt = 0 -l_module_cnt = 0 -q_module_cnt = 0 -for mod_file_ in os.listdir(f"{settings.EMBA_ROOT}/modules"): - if mod_file_.startswith('S'): - s_module_cnt += 1 - elif mod_file_.startswith('P'): - p_module_cnt += 1 - elif mod_file_.startswith('F'): - f_module_cnt += 1 - elif mod_file_.startswith('L'): - l_module_cnt += 1 - elif mod_file_.startswith('Q'): - q_module_cnt += 1 -EMBA_S_MOD_CNT = s_module_cnt -EMBA_P_MOD_CNT = p_module_cnt -EMBA_F_MOD_CNT = f_module_cnt -EMBA_L_MOD_CNT = l_module_cnt -EMBA_Q_MOD_CNT = q_module_cnt +EMBA_S_MOD_CNT = settings.EMBA_S_MOD_CNT +EMBA_P_MOD_CNT = settings.EMBA_P_MOD_CNT +EMBA_F_MOD_CNT = settings.EMBA_F_MOD_CNT +EMBA_L_MOD_CNT = settings.EMBA_L_MOD_CNT EMBA_MODULE_CNT = EMBA_S_MOD_CNT + EMBA_P_MOD_CNT + EMBA_F_MOD_CNT + EMBA_L_MOD_CNT EMBA_PHASE_CNT = 4 # P, S, L, F modules diff --git a/embark/embark/settings/deploy.py b/embark/embark/settings/deploy.py index fb069c78f..f97739ce7 100644 --- a/embark/embark/settings/deploy.py +++ b/embark/embark/settings/deploy.py @@ -292,3 +292,22 @@ # SSL stuff SECURE_HSTS_SECONDS = 0 SECURE_SSL_REDIRECT = False + + +def count_emba_modules(emba_dir_path): + s_module_cnt, p_module_cnt, q_module_cnt, l_module_cnt, f_module_cnt= 0, 0, 0, 0, 0 + for mod_file_ in os.listdir(f"{emba_dir_path}/modules"): + if mod_file_.startswith('S'): + s_module_cnt += 1 + elif mod_file_.startswith('P'): + p_module_cnt += 1 + elif mod_file_.startswith('F'): + f_module_cnt += 1 + elif mod_file_.startswith('L'): + l_module_cnt += 1 + elif mod_file_.startswith('Q'): + q_module_cnt += 1 + return s_module_cnt, p_module_cnt, f_module_cnt, l_module_cnt, q_module_cnt + + +EMBA_S_MOD_CNT, EMBA_P_MOD_CNT, EMBA_F_MOD_CNT, EMBA_L_MOD_CNT, EMBA_Q_MOD_CNT = count_emba_modules(EMBA_ROOT) diff --git a/embark/embark/settings/dev.py b/embark/embark/settings/dev.py index 0c05458e1..bea0d608e 100644 --- a/embark/embark/settings/dev.py +++ b/embark/embark/settings/dev.py @@ -255,3 +255,22 @@ }, } TEMP_DIR = Path("/tmp/") + + +def count_emba_modules(emba_dir_path): + s_module_cnt, p_module_cnt, q_module_cnt, l_module_cnt, f_module_cnt = 0, 0, 0, 0, 0 + for mod_file_ in os.listdir(f"{emba_dir_path}/modules"): + if mod_file_.startswith('S'): + s_module_cnt += 1 + elif mod_file_.startswith('P'): + p_module_cnt += 1 + elif mod_file_.startswith('F'): + f_module_cnt += 1 + elif mod_file_.startswith('L'): + l_module_cnt += 1 + elif mod_file_.startswith('Q'): + q_module_cnt += 1 + return s_module_cnt, p_module_cnt, f_module_cnt, l_module_cnt, q_module_cnt + + +EMBA_S_MOD_CNT, EMBA_P_MOD_CNT, EMBA_F_MOD_CNT, EMBA_L_MOD_CNT, EMBA_Q_MOD_CNT = count_emba_modules(EMBA_ROOT) diff --git a/embark/porter/importer.py b/embark/porter/importer.py index a56ba2e12..1a6184c88 100644 --- a/embark/porter/importer.py +++ b/embark/porter/importer.py @@ -194,12 +194,9 @@ def f10_csv(_file_path, _analysis_id): # test print f50 with open(os.path.join(TEST_DIR, 'f50_test.json'), 'w', encoding='utf-8') as json_file: json_file.write(json.dumps(read_csv(os.path.join(TEST_DIR, 'f50_test.csv')), indent=4)) - - """ - test print f20 - with open(os.path.join(TEST_DIR, 'f20_test.json'), 'w', encoding='utf-8') as json_file: - json_file.write(json.dumps( - f20_csv(os.path.join(TEST_DIR, 'f20_test.csv')), - indent=4 - )) - """ + + # with open(os.path.join(TEST_DIR, 'f20_test.json'), 'w', encoding='utf-8') as json_file: + # json_file.write(json.dumps( + # f20_csv(os.path.join(TEST_DIR, 'f20_test.csv')), + # indent=4 + # )) From 6fc2a274689ba7fe04e2b17712b59d3c40c7b190 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Wed, 19 Jul 2023 11:19:36 +0200 Subject: [PATCH 119/150] fix --- embark/embark/settings/deploy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/embark/embark/settings/deploy.py b/embark/embark/settings/deploy.py index f97739ce7..b93e23755 100644 --- a/embark/embark/settings/deploy.py +++ b/embark/embark/settings/deploy.py @@ -295,7 +295,7 @@ def count_emba_modules(emba_dir_path): - s_module_cnt, p_module_cnt, q_module_cnt, l_module_cnt, f_module_cnt= 0, 0, 0, 0, 0 + s_module_cnt, p_module_cnt, q_module_cnt, l_module_cnt, f_module_cnt = 0, 0, 0, 0, 0 for mod_file_ in os.listdir(f"{emba_dir_path}/modules"): if mod_file_.startswith('S'): s_module_cnt += 1 From bb4e34d6da321983d74752caecd069b96127c67d Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Wed, 19 Jul 2023 13:00:48 +0200 Subject: [PATCH 120/150] add double try --- helper/helper_embark_general.sh | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 2ab766e82..d544e99b8 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -123,14 +123,17 @@ check_db() { sleep 5s echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then - echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" - echo -e "---------------------------------------------------------------------------" - echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" - echo -e "$CYAN""You could try recoverying manually by overwriting your\".env\" file""$NC\\n" - if [[ -f safe/history.env ]]; then - echo -e "$CYAN""The mysql-db was first started with the password(sha256sum): $(head -n1 ./safe/history.env | cut -d";" -f1) ""$NC\\n" + sleep 5 + if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then + echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" + echo -e "---------------------------------------------------------------------------" + echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" + echo -e "$CYAN""You could try recoverying manually by overwriting your\".env\" file""$NC\\n" + if [[ -f safe/history.env ]]; then + echo -e "$CYAN""The mysql-db was first started with the password(sha256sum): $(head -n1 ./safe/history.env | cut -d";" -f1) ""$NC\\n" + fi + exit 1 fi - exit 1 fi } From 9df3c94ef9158b9d2b8ba2e1b0bad79c18103563 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Thu, 20 Jul 2023 09:23:07 +0200 Subject: [PATCH 121/150] add catch for -s option --- embark/embark/settings/deploy.py | 5 ++++- embark/embark/settings/dev.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/embark/embark/settings/deploy.py b/embark/embark/settings/deploy.py index b93e23755..76ec2a4c8 100644 --- a/embark/embark/settings/deploy.py +++ b/embark/embark/settings/deploy.py @@ -310,4 +310,7 @@ def count_emba_modules(emba_dir_path): return s_module_cnt, p_module_cnt, f_module_cnt, l_module_cnt, q_module_cnt -EMBA_S_MOD_CNT, EMBA_P_MOD_CNT, EMBA_F_MOD_CNT, EMBA_L_MOD_CNT, EMBA_Q_MOD_CNT = count_emba_modules(EMBA_ROOT) +try: + EMBA_S_MOD_CNT, EMBA_P_MOD_CNT, EMBA_F_MOD_CNT, EMBA_L_MOD_CNT, EMBA_Q_MOD_CNT = count_emba_modules(EMBA_ROOT) +except FileNotFoundError as file_error: + print("[Warning] Installation is missing the EMBA submodule") diff --git a/embark/embark/settings/dev.py b/embark/embark/settings/dev.py index bea0d608e..ab5c39ca0 100644 --- a/embark/embark/settings/dev.py +++ b/embark/embark/settings/dev.py @@ -273,4 +273,7 @@ def count_emba_modules(emba_dir_path): return s_module_cnt, p_module_cnt, f_module_cnt, l_module_cnt, q_module_cnt -EMBA_S_MOD_CNT, EMBA_P_MOD_CNT, EMBA_F_MOD_CNT, EMBA_L_MOD_CNT, EMBA_Q_MOD_CNT = count_emba_modules(EMBA_ROOT) +try: + EMBA_S_MOD_CNT, EMBA_P_MOD_CNT, EMBA_F_MOD_CNT, EMBA_L_MOD_CNT, EMBA_Q_MOD_CNT = count_emba_modules(EMBA_ROOT) +except FileNotFoundError as file_error: + print("[Warning] Installation is missing the EMBA submodule") From 26cf46898d7aca65a9bd12e0ff4787d4e468f2aa Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Thu, 20 Jul 2023 09:53:56 +0200 Subject: [PATCH 122/150] fix lint --- embark/embark/settings/deploy.py | 4 ++++ embark/embark/settings/dev.py | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/embark/embark/settings/deploy.py b/embark/embark/settings/deploy.py index 76ec2a4c8..5979fcd71 100644 --- a/embark/embark/settings/deploy.py +++ b/embark/embark/settings/deploy.py @@ -314,3 +314,7 @@ def count_emba_modules(emba_dir_path): EMBA_S_MOD_CNT, EMBA_P_MOD_CNT, EMBA_F_MOD_CNT, EMBA_L_MOD_CNT, EMBA_Q_MOD_CNT = count_emba_modules(EMBA_ROOT) except FileNotFoundError as file_error: print("[Warning] Installation is missing the EMBA submodule") + EMBA_S_MOD_CNT = 44 + EMBA_P_MOD_CNT = 18 + EMBA_F_MOD_CNT = 4 + EMBA_L_MOD_CNT = 8 diff --git a/embark/embark/settings/dev.py b/embark/embark/settings/dev.py index ab5c39ca0..783b32825 100644 --- a/embark/embark/settings/dev.py +++ b/embark/embark/settings/dev.py @@ -276,4 +276,7 @@ def count_emba_modules(emba_dir_path): try: EMBA_S_MOD_CNT, EMBA_P_MOD_CNT, EMBA_F_MOD_CNT, EMBA_L_MOD_CNT, EMBA_Q_MOD_CNT = count_emba_modules(EMBA_ROOT) except FileNotFoundError as file_error: - print("[Warning] Installation is missing the EMBA submodule") + EMBA_S_MOD_CNT = 44 + EMBA_P_MOD_CNT = 18 + EMBA_F_MOD_CNT = 4 + EMBA_L_MOD_CNT = 8 From 3567c11c3329f0a9b949caae8ad00b4f04f89922 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Thu, 20 Jul 2023 10:58:00 +0200 Subject: [PATCH 123/150] update workflow --- .github/workflows/{build.yml => install-test-onpush.yml} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{build.yml => install-test-onpush.yml} (93%) diff --git a/.github/workflows/build.yml b/.github/workflows/install-test-onpush.yml similarity index 93% rename from .github/workflows/build.yml rename to .github/workflows/install-test-onpush.yml index ecffe99dd..d78e8a67d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/install-test-onpush.yml @@ -1,6 +1,6 @@ # This workflow will run build EMBArk in dev-mode -name: Build-EMBArk-DEV +name: Build-EMBArk-DEV-test on: [push] @@ -20,7 +20,7 @@ jobs: android: true dotnet: true haskell: true - large-packages: true + large-packages: false swap-storage: true - name: EMBArk dev install uses: Wandalen/wretry.action@master From 578ecf94ab924f75ec28345ce2c73951db664bd9 Mon Sep 17 00:00:00 2001 From: BenediktMKuehne Date: Thu, 20 Jul 2023 11:04:51 +0200 Subject: [PATCH 124/150] disable large pks --- .github/workflows/server-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/server-tests.yml b/.github/workflows/server-tests.yml index 412033fa7..daef31084 100644 --- a/.github/workflows/server-tests.yml +++ b/.github/workflows/server-tests.yml @@ -20,7 +20,7 @@ jobs: android: true dotnet: true haskell: true - large-packages: true + large-packages: false swap-storage: true - name: EMBArk default install uses: Wandalen/wretry.action@master From 38a06ce68b98691eac196d0f595c40a8add1813f Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Fri, 21 Jul 2023 11:57:40 +0200 Subject: [PATCH 125/150] make log available for all analysis --- embark/dashboard/views.py | 7 +++++-- embark/templates/dashboard/reportDashboard.html | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/embark/dashboard/views.py b/embark/dashboard/views.py index 98c063337..f72e942a8 100644 --- a/embark/dashboard/views.py +++ b/embark/dashboard/views.py @@ -117,5 +117,8 @@ def show_log(request, analysis_id): # get the file path log_file_path_ = f"{Path(firmware.path_to_logs).parent}/emba_run.log" logger.debug("Taking file at %s and render it", log_file_path_) - with open(log_file_path_, 'r', encoding='utf-8') as log_file_: - return HttpResponse(content=log_file_, content_type="text/plain") + try: + with open(log_file_path_, 'r', encoding='utf-8') as log_file_: + return HttpResponse(content=log_file_, content_type="text/plain") + except FileNotFoundError as file_error: + return HttpResponseServerError(content="File is not yet available") \ No newline at end of file diff --git a/embark/templates/dashboard/reportDashboard.html b/embark/templates/dashboard/reportDashboard.html index 9b1164292..5268538ab 100644 --- a/embark/templates/dashboard/reportDashboard.html +++ b/embark/templates/dashboard/reportDashboard.html @@ -79,10 +79,10 @@ {% endif %} -
- -
{% endif %} +
+ +
From 1fe10fa5f5cdccabd6515637b297efd9b865cb52 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Fri, 21 Jul 2023 14:28:44 +0200 Subject: [PATCH 126/150] fix --- embark/dashboard/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/embark/dashboard/views.py b/embark/dashboard/views.py index f72e942a8..79fb45d90 100644 --- a/embark/dashboard/views.py +++ b/embark/dashboard/views.py @@ -120,5 +120,5 @@ def show_log(request, analysis_id): try: with open(log_file_path_, 'r', encoding='utf-8') as log_file_: return HttpResponse(content=log_file_, content_type="text/plain") - except FileNotFoundError as file_error: - return HttpResponseServerError(content="File is not yet available") \ No newline at end of file + except FileNotFoundError: + return HttpResponseServerError(content="File is not yet available") From 922563d850938574e2c938585e59ae25921cb216 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 10:05:15 +0200 Subject: [PATCH 127/150] less interaction --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 91b1b3b4d..263ce8ceb 100755 --- a/installer.sh +++ b/installer.sh @@ -456,7 +456,7 @@ uninstall (){ # user-files if [[ -d ./emba_logs ]]; then echo -e "$RED""$BOLD""Do you wish to remove the EMBA-Logs (and backups)""$NC" - rm -Riv ./emba_logs + rm -RIv ./emba_logs fi if [[ -d ./embark_db ]]; then echo -e "$RED""$BOLD""Do you wish to remove the database(and backups)""$NC" From b40ef7cc773024b73e101d136ed94233c1aec292 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 10:15:22 +0200 Subject: [PATCH 128/150] add suggestion --- installer.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer.sh b/installer.sh index 263ce8ceb..9fb26fc1a 100755 --- a/installer.sh +++ b/installer.sh @@ -520,9 +520,9 @@ uninstall (){ # final if [[ "$REFORCE" -eq 0 ]]; then sudo -u "${SUDO_USER:-${USER}}" git reset - rm -r ./safe/* + rm -r ./safe fi - echo -e "$ORANGE""$BOLD""Consider""$CYAN""\$git pull""$NC" + echo -e "$ORANGE""$BOLD""Consider""$CYAN""\$git pull""$NC"" and ""$CYAN""\$git clean""$NC" } echo -e "\\n$ORANGE""$BOLD""EMBArk Installer""$NC\\n""$BOLD=================================================================$NC" From 66259ed4ce9504641861c3cb88d7af33734c6d3f Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 10:22:38 +0200 Subject: [PATCH 129/150] update --- dev-tools/prepare.sh | 8 +------- run-server.sh | 3 +++ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/dev-tools/prepare.sh b/dev-tools/prepare.sh index 2a83db634..136471cff 100755 --- a/dev-tools/prepare.sh +++ b/dev-tools/prepare.sh @@ -83,13 +83,7 @@ if grep -q -i wsl /proc/version; then WSL=1 fi -echo -e "\n$GREEN""$BOLD""Setup mysql and redis docker images""$NC" -if docker-compose -f ./docker-compose.yml up -d ; then - echo -e "$GREEN""$BOLD""Finished setup mysql and redis docker images""$NC" -else - echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" - exit 1 -fi +check_db if ! [[ -d "$PWD"/logs ]]; then mkdir logs diff --git a/run-server.sh b/run-server.sh index 69db4338e..902876f84 100755 --- a/run-server.sh +++ b/run-server.sh @@ -120,6 +120,9 @@ fi # check emba echo -e "$BLUE""$BOLD""checking EMBA""$NC" +if [[ -d ./emba ]]; then + echo -e "$RED""$BOLD""You are using the wrong installation and missing the EMBA subdirectory""$NC" +fi git submodule update if ! (cd "$PWD"/emba && ./emba -d 1); then echo -e "$BLUE""Trying auto-maintain""$NC" From 98777f44c0a645b45a1a5599bca225cd040f57f3 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 10:24:43 +0200 Subject: [PATCH 130/150] update --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 9fb26fc1a..52150d44d 100755 --- a/installer.sh +++ b/installer.sh @@ -522,7 +522,7 @@ uninstall (){ sudo -u "${SUDO_USER:-${USER}}" git reset rm -r ./safe fi - echo -e "$ORANGE""$BOLD""Consider""$CYAN""\$git pull""$NC"" and ""$CYAN""\$git clean""$NC" + echo -e "$ORANGE""$BOLD""Consider ""$CYAN""\$git pull""$ORANGE""$BOLD"" and ""$CYAN""\$git clean""$NC" } echo -e "\\n$ORANGE""$BOLD""EMBArk Installer""$NC\\n""$BOLD=================================================================$NC" From d4466d24106a8405fddd567be5f7538ed995c0f4 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 10:43:37 +0200 Subject: [PATCH 131/150] update retesting db --- helper/helper_embark_general.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index d544e99b8..8d9efaf8b 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -123,7 +123,8 @@ check_db() { sleep 5s echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then - sleep 5 + echo -e "$ORANGE""$BOLD"" Testing again""$NC" + sleep 5s if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" @@ -155,4 +156,4 @@ add_to_env_history(){ printf '%s;%s;\n' "$(echo "$PASSWORD_" | sha256sum)" "$CONTAINER_HASH_" >> ./safe/history.env fi -} \ No newline at end of file +} From 90549a46300c41541636025028ac8a96477ebf78 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 10:51:26 +0200 Subject: [PATCH 132/150] add start conatiner to installer --- installer.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/installer.sh b/installer.sh index 52150d44d..8752437ec 100755 --- a/installer.sh +++ b/installer.sh @@ -342,6 +342,8 @@ install_embark_default(){ # download images for container docker-compose -f ./docker-compose.yml pull + docker-compose up -d + sleep 10s # activate daemon systemctl start embark.service @@ -415,6 +417,8 @@ install_embark_dev(){ # download images for container docker-compose pull + docker-compose up -d + sleep 10s check_db docker-compose stop From a79d308b9e8cfb484885e9e9577361d0390bbd42 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 11:05:29 +0200 Subject: [PATCH 133/150] add debug --- helper/helper_embark_general.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 8d9efaf8b..7fa6e02aa 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -123,7 +123,8 @@ check_db() { sleep 5s echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then - echo -e "$ORANGE""$BOLD"" Testing again""$NC" + echo -e "$ORANGE""$BOLD"" Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" + sleep 5s if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" From d907afb134d603e9f6a726720751767361fdfdb9 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 12:53:58 +0200 Subject: [PATCH 134/150] update mkdir --- helper/helper_embark_general.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 7fa6e02aa..adbfaad16 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -111,6 +111,9 @@ check_db() { PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//') USER_ENV=$(grep DATABASE_USER ./.env | sed 's/DATABASE\_USER\=//') HOST_ENV=$(grep DATABASE_HOST ./.env | sed 's/DATABASE\_HOST\=//') + if ! [[ -d ./embark_db ]]; then + mkdir ./embark_db + fi echo -e "\\n$ORANGE""$BOLD""checking database""$NC\\n""$BOLD=================================================================$NC" echo -e "$BLUE""$BOLD""1. checking startup""$NC\\n" if docker-compose -f ./docker-compose.yml up -d ; then From 581acc7b375db28c37c5f3788be4952a873a0121 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 13:03:47 +0200 Subject: [PATCH 135/150] update ch print --- helper/helper_embark_general.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index adbfaad16..5dd378240 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -126,10 +126,9 @@ check_db() { sleep 5s echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then - echo -e "$ORANGE""$BOLD"" Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" - + echo -e "$ORANGE""$BOLD""[*] Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" sleep 5s - if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then + if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" | grep -v "Warning: Using a password"; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" From f5a54f2f6e9afefb796b066ba3fc831b43393b1b Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 13:40:48 +0200 Subject: [PATCH 136/150] adjust db check --- helper/helper_embark_general.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 5dd378240..3a8436022 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -123,11 +123,10 @@ check_db() { echo -e "$ORANGE""$BOLD""Failed setup mysql and redis docker images""$NC" exit 1 fi - sleep 5s echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then echo -e "$ORANGE""$BOLD""[*] Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" - sleep 5s + sleep 25s if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" | grep -v "Warning: Using a password"; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" From eb339fe7ed5b806e6783a29ad533e2e0047ef1b2 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 14:43:34 +0200 Subject: [PATCH 137/150] set emba version --- emba | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emba b/emba index f5f9a31cd..02fd6ab80 160000 --- a/emba +++ b/emba @@ -1 +1 @@ -Subproject commit f5f9a31cd72186268296927804102cf2f10d6113 +Subproject commit 02fd6ab80c87e8280c7c77040b349bfd32635691 From 1c83bddbfa4d17a0f5f0046af93e0ffa089321de Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 14:47:18 +0200 Subject: [PATCH 138/150] don't show finished default --- embark/templates/dashboard/serviceDashboard.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/embark/templates/dashboard/serviceDashboard.html b/embark/templates/dashboard/serviceDashboard.html index 531614ca4..6ac59678d 100644 --- a/embark/templates/dashboard/serviceDashboard.html +++ b/embark/templates/dashboard/serviceDashboard.html @@ -35,7 +35,7 @@ Toggle show finished

-
+
{% endblock maincontent %} From 1692ddd6090422d965c456d0e4b2b916855814dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jul 2023 12:48:58 +0000 Subject: [PATCH 139/150] Bump cryptography from 41.0.1 to 41.0.2 Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.1 to 41.0.2. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/41.0.1...41.0.2) --- updated-dependencies: - dependency-name: cryptography dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Pipfile.lock | 348 ++++++++++++++++++++++++++------------------------- 1 file changed, 176 insertions(+), 172 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index 683e0bb22..7d48620eb 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -21,7 +21,7 @@ "sha256:0293937d8f6051a0f493359440c1a1b93e882c57daf0197afeff0e727777b96e", "sha256:e813ad5ada7aff36fb08cdda746b520531eaac7757832abc204868ba78e0c8f6" ], - "markers": "python_version >= '3.6'", + "markers": "python_full_version >= '3.6.0'", "version": "==3.10.1" }, "asgiref": { @@ -64,11 +64,11 @@ }, "certifi": { "hashes": [ - "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7", - "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716" + "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", + "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9" ], - "markers": "python_version >= '3.6'", - "version": "==2023.5.7" + "markers": "python_full_version >= '3.6.0'", + "version": "==2023.7.22" }, "cffi": { "hashes": [ @@ -157,84 +157,84 @@ }, "charset-normalizer": { "hashes": [ - "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6", - "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1", - "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e", - "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373", - "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62", - "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230", - "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be", - "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c", - "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0", - "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448", - "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f", - "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649", - "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d", - "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0", - "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706", - "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a", - "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59", - "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23", - "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5", - "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb", - "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e", - "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e", - "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c", - "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28", - "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d", - "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41", - "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974", - "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce", - "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f", - "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1", - "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d", - "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8", - "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017", - "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31", - "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7", - "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8", - "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e", - "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14", - "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd", - "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d", - "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795", - "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b", - "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b", - "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b", - "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203", - "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f", - "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19", - "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1", - "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a", - "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac", - "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9", - "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0", - "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137", - "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f", - "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6", - "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5", - "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909", - "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f", - "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0", - "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324", - "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755", - "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb", - "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854", - "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c", - "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60", - "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84", - "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0", - "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b", - "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1", - "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531", - "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1", - "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11", - "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326", - "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df", - "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab" + "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96", + "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c", + "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710", + "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706", + "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020", + "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252", + "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad", + "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329", + "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a", + "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f", + "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6", + "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4", + "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a", + "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46", + "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2", + "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23", + "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace", + "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd", + "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982", + "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10", + "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2", + "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea", + "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09", + "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5", + "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149", + "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489", + "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9", + "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80", + "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592", + "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3", + "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6", + "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed", + "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c", + "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200", + "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a", + "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e", + "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d", + "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6", + "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623", + "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669", + "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3", + "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa", + "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9", + "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2", + "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f", + "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1", + "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4", + "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a", + "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8", + "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3", + "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029", + "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f", + "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959", + "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22", + "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7", + "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952", + "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346", + "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e", + "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d", + "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299", + "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd", + "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a", + "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3", + "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037", + "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94", + "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c", + "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858", + "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a", + "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449", + "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c", + "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918", + "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1", + "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c", + "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac", + "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa" ], "markers": "python_version >= '3.7'", - "version": "==3.1.0" + "version": "==3.2.0" }, "constantly": { "hashes": [ @@ -245,28 +245,32 @@ }, "cryptography": { "hashes": [ - "sha256:059e348f9a3c1950937e1b5d7ba1f8e968508ab181e75fc32b879452f08356db", - "sha256:1a5472d40c8f8e91ff7a3d8ac6dfa363d8e3138b961529c996f3e2df0c7a411a", - "sha256:1a8e6c2de6fbbcc5e14fd27fb24414507cb3333198ea9ab1258d916f00bc3039", - "sha256:1fee5aacc7367487b4e22484d3c7e547992ed726d14864ee33c0176ae43b0d7c", - "sha256:5d092fdfedaec4cbbffbf98cddc915ba145313a6fdaab83c6e67f4e6c218e6f3", - "sha256:5f0ff6e18d13a3de56f609dd1fd11470918f770c6bd5d00d632076c727d35485", - "sha256:7bfc55a5eae8b86a287747053140ba221afc65eb06207bedf6e019b8934b477c", - "sha256:7fa01527046ca5facdf973eef2535a27fec4cb651e4daec4d043ef63f6ecd4ca", - "sha256:8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5", - "sha256:8f4ab7021127a9b4323537300a2acfb450124b2def3756f64dc3a3d2160ee4b5", - "sha256:948224d76c4b6457349d47c0c98657557f429b4e93057cf5a2f71d603e2fc3a3", - "sha256:9a6c7a3c87d595608a39980ebaa04d5a37f94024c9f24eb7d10262b92f739ddb", - "sha256:b46e37db3cc267b4dea1f56da7346c9727e1209aa98487179ee8ebed09d21e43", - "sha256:b4ceb5324b998ce2003bc17d519080b4ec8d5b7b70794cbd2836101406a9be31", - "sha256:cb33ccf15e89f7ed89b235cff9d49e2e62c6c981a6061c9c8bb47ed7951190bc", - "sha256:d198820aba55660b4d74f7b5fd1f17db3aa5eb3e6893b0a41b75e84e4f9e0e4b", - "sha256:d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006", - "sha256:eb8163f5e549a22888c18b0d53d6bb62a20510060a22fd5a995ec8a05268df8a", - "sha256:f73bff05db2a3e5974a6fd248af2566134d8981fd7ab012e5dd4ddb1d9a70699" + "sha256:01f1d9e537f9a15b037d5d9ee442b8c22e3ae11ce65ea1f3316a41c78756b711", + "sha256:079347de771f9282fbfe0e0236c716686950c19dee1b76240ab09ce1624d76d7", + "sha256:182be4171f9332b6741ee818ec27daff9fb00349f706629f5cbf417bd50e66fd", + "sha256:192255f539d7a89f2102d07d7375b1e0a81f7478925b3bc2e0549ebf739dae0e", + "sha256:2a034bf7d9ca894720f2ec1d8b7b5832d7e363571828037f9e0c4f18c1b58a58", + "sha256:342f3767e25876751e14f8459ad85e77e660537ca0a066e10e75df9c9e9099f0", + "sha256:439c3cc4c0d42fa999b83ded80a9a1fb54d53c58d6e59234cfe97f241e6c781d", + "sha256:49c3222bb8f8e800aead2e376cbef687bc9e3cb9b58b29a261210456a7783d83", + "sha256:674b669d5daa64206c38e507808aae49904c988fa0a71c935e7006a3e1e83831", + "sha256:7a9a3bced53b7f09da251685224d6a260c3cb291768f54954e28f03ef14e3766", + "sha256:7af244b012711a26196450d34f483357e42aeddb04128885d95a69bd8b14b69b", + "sha256:7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c", + "sha256:84609ade00a6ec59a89729e87a503c6e36af98ddcd566d5f3be52e29ba993182", + "sha256:9a6673c1828db6270b76b22cc696f40cde9043eb90373da5c2f8f2158957f42f", + "sha256:9b6d717393dbae53d4e52684ef4f022444fc1cce3c48c38cb74fca29e1f08eaa", + "sha256:9c3fe6534d59d071ee82081ca3d71eed3210f76ebd0361798c74abc2bcf347d4", + "sha256:a719399b99377b218dac6cf547b6ec54e6ef20207b6165126a280b0ce97e0d2a", + "sha256:b332cba64d99a70c1e0836902720887fb4529ea49ea7f5462cf6640e095e11d2", + "sha256:d124682c7a23c9764e54ca9ab5b308b14b18eba02722b8659fb238546de83a76", + "sha256:d73f419a56d74fef257955f51b18d046f3506270a5fd2ac5febbfa259d6c0fa5", + "sha256:f0dc40e6f7aa37af01aba07277d3d64d5a03dc66d682097541ec4da03cc140ee", + "sha256:f14ad275364c8b4e525d018f6716537ae7b6d369c094805cae45300847e0894f", + "sha256:f772610fe364372de33d76edcd313636a25684edb94cee53fd790195f5989d14" ], - "markers": "python_version >= '3.7'", - "version": "==41.0.1" + "index": "pypi", + "version": "==41.0.2" }, "daphne": { "hashes": [ @@ -613,11 +617,11 @@ }, "urllib3": { "hashes": [ - "sha256:48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1", - "sha256:bee28b5e56addb8226c96f7f13ac28cb4c301dd5ea8a6ca179c0b9835e032825" + "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11", + "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4" ], "markers": "python_version >= '3.7'", - "version": "==2.0.3" + "version": "==2.0.4" }, "zope.interface": { "hashes": [ @@ -659,11 +663,11 @@ "develop": { "astroid": { "hashes": [ - "sha256:078e5212f9885fa85fbb0cf0101978a336190aadea6e13305409d099f71b2324", - "sha256:1039262575027b441137ab4a62a793a9b43defb42c32d5670f38686207cd780f" + "sha256:389656ca57b6108f939cf5d2f9a2a825a3be50ba9d589670f393236e0a03b91c", + "sha256:903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd" ], "markers": "python_full_version >= '3.7.2'", - "version": "==2.15.5" + "version": "==2.15.6" }, "attrs": { "hashes": [ @@ -675,19 +679,19 @@ }, "certifi": { "hashes": [ - "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7", - "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716" + "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", + "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9" ], - "markers": "python_version >= '3.6'", - "version": "==2023.5.7" + "markers": "python_full_version >= '3.6.0'", + "version": "==2023.7.22" }, "click": { "hashes": [ - "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", - "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" + "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd", + "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5" ], "markers": "python_version >= '3.7'", - "version": "==8.1.3" + "version": "==8.1.6" }, "colorama": { "hashes": [ @@ -699,17 +703,17 @@ }, "cssbeautifier": { "hashes": [ - "sha256:9ad4c5b2ffe0b439a4bed278bc440b6a89c40823c3f19db38f808d256216a592" + "sha256:2da432472f68170eb854aff97b16a24721f5090ee36af2e31199590a89e7f71f" ], - "version": "==1.14.8" + "version": "==1.14.9" }, "dill": { "hashes": [ - "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0", - "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373" + "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e", + "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03" ], "markers": "python_version < '3.11'", - "version": "==0.3.6" + "version": "==0.3.7" }, "djlint": { "hashes": [ @@ -776,9 +780,9 @@ }, "jsbeautifier": { "hashes": [ - "sha256:d4c4e263a42dd6194afb9dbe54710be3c5604492cbec3e89c92dd98513f98b9f" + "sha256:c738ebc36b47bd94e4ca6dd17a9004c3cc74edad582ca1d60e0e5d5945a63cb9" ], - "version": "==1.14.8" + "version": "==1.14.9" }, "lazy-object-proxy": { "hashes": [ @@ -848,11 +852,11 @@ }, "platformdirs": { "hashes": [ - "sha256:b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc", - "sha256:ca9ed98ce73076ba72e092b23d3c93ea6c4e186b3f1c3dad6edd98ff6ffcca2e" + "sha256:1b42b450ad933e981d56e59f1b97495428c9bd60698baab9f3eb3d00d5822421", + "sha256:ad8291ae0ae5072f66c16945166cb11c63394c7a3ad1b1bc9828ca3162da8c2f" ], "markers": "python_version >= '3.7'", - "version": "==3.8.0" + "version": "==3.9.1" }, "pycodestyle": { "hashes": [ @@ -896,49 +900,49 @@ }, "pyyaml": { "hashes": [ - "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf", - "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", - "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", - "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", - "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", - "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", - "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", - "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", - "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", - "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", - "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", - "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", - "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782", - "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", - "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", - "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", - "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", - "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", - "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1", - "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", - "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", - "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", - "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", - "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", - "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", - "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d", - "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", - "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", - "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7", - "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", - "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", - "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", - "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358", - "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", - "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", - "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", - "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", - "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f", - "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", - "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" + "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc", + "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741", + "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206", + "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27", + "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595", + "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62", + "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98", + "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696", + "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d", + "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867", + "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47", + "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486", + "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6", + "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3", + "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007", + "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938", + "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c", + "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735", + "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d", + "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba", + "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8", + "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5", + "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd", + "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3", + "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0", + "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515", + "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c", + "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c", + "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924", + "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34", + "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43", + "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859", + "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673", + "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a", + "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab", + "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa", + "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c", + "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585", + "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d", + "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f" ], "markers": "python_version >= '3.6'", - "version": "==6.0" + "version": "==6.0.1" }, "regex": { "hashes": [ @@ -1091,11 +1095,11 @@ }, "trio": { "hashes": [ - "sha256:1270da4a4a33caf33f85c6a255f2ef5f71629a3ec9aea31a052062b673ae58d3", - "sha256:eb5f641b313eb502a16de176d84cecd9ccf2394a7c8655d2297398376bb15eca" + "sha256:3887cf18c8bcc894433420305468388dac76932e9668afa1c49aa3806b6accb3", + "sha256:f43da357620e5872b3d940a2e3589aa251fd3f881b65a608d742e00809b1ec38" ], "markers": "python_version >= '3.7'", - "version": "==0.22.1" + "version": "==0.22.2" }, "trio-websocket": { "hashes": [ @@ -1115,11 +1119,11 @@ }, "urllib3": { "hashes": [ - "sha256:48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1", - "sha256:bee28b5e56addb8226c96f7f13ac28cb4c301dd5ea8a6ca179c0b9835e032825" + "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11", + "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4" ], "markers": "python_version >= '3.7'", - "version": "==2.0.3" + "version": "==2.0.4" }, "wrapt": { "hashes": [ From 9f4f8f1986e45dde17315ae79475c0d753a9fab3 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 15:45:38 +0200 Subject: [PATCH 140/150] update emba --- emba | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emba b/emba index 02fd6ab80..4f82ad652 160000 --- a/emba +++ b/emba @@ -1 +1 @@ -Subproject commit 02fd6ab80c87e8280c7c77040b349bfd32635691 +Subproject commit 4f82ad6522406a31ebde1478fc5bf87b65181a69 From cc5eb1820bf241955ce47cdab938e53f6fb76475 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 15:49:07 +0200 Subject: [PATCH 141/150] update reforce func --- installer.sh | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/installer.sh b/installer.sh index 8752437ec..b9ee18275 100755 --- a/installer.sh +++ b/installer.sh @@ -496,19 +496,23 @@ uninstall (){ echo -e "$ORANGE""$BOLD""Consider running " "$CYAN""\$docker system prune""$NC" # delete/uninstall EMBA - if [ -f ./emba/install.log ]; then - rm ./emba/install.log - fi - if [[ $(sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git status --porcelain --untracked-files=no) ]]; then - echo -e "[!!]$RED""$BOLD""EMBA changes detected - please commit them...otherwise they will be lost""$NC" - read -p "If you know what you are doing you can press any key to continue ..." -n1 -s -r - fi - if [[ -d ./emba/external ]]; then - rm -r ./emba/external/ + if [[ $REFORCE -eq 1 ]]; then + sudo -u "${SUDO_USER:-${USER}}" git submodule update + else + if [ -f ./emba/install.log ]; then + rm ./emba/install.log + fi + if [[ $(sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git status --porcelain --untracked-files=no) ]]; then + echo -e "[!!]$RED""$BOLD""EMBA changes detected - please commit them...otherwise they will be lost""$NC" + read -p "If you know what you are doing you can press any key to continue ..." -n1 -s -r + fi + if [[ -d ./emba/external ]]; then + rm -r ./emba/external/ + fi + sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git reset --hard + sudo -u "${SUDO_USER:-${USER}}" git submodule deinit --all -f fi - sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git reset --hard - sudo -u "${SUDO_USER:-${USER}}" git submodule deinit --all -f - + # stop&reset daemon if [[ "$WSL" -ne 1 ]]; then uninstall_daemon From 56a294a6d50312fd4a286f58bf33ce7e6a7c1aa6 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 16:08:40 +0200 Subject: [PATCH 142/150] update reforce strat for submodules --- installer.sh | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/installer.sh b/installer.sh index b9ee18275..d2a19f2c8 100755 --- a/installer.sh +++ b/installer.sh @@ -119,8 +119,10 @@ write_env(){ install_emba(){ echo -e "\n$GREEN""$BOLD""Installation of the firmware scanner EMBA on host""$NC" - sudo -u "${SUDO_USER:-${USER}}" git submodule init - sudo -u "${SUDO_USER:-${USER}}" git submodule update + if git submodule status emba | grep --quiet '^-'; then + sudo -u "${SUDO_USER:-${USER}}" git submodule init emba + fi + sudo -u "${SUDO_USER:-${USER}}" git submodule update emba sudo -u "${SUDO_USER:-${USER}}" git config --global --add safe.directory "$PWD"/emba cd emba ./installer.sh -d | tee install.log || ( echo "Could not install EMBA" && exit 1 ) @@ -495,24 +497,27 @@ uninstall (){ reset_docker echo -e "$ORANGE""$BOLD""Consider running " "$CYAN""\$docker system prune""$NC" - # delete/uninstall EMBA + # delete/uninstall submodules + # emba + if [ -f ./emba/install.log ]; then + rm ./emba/install.log + fi + if [[ -d ./emba/external ]]; then + rm -r ./emba/external/ + fi if [[ $REFORCE -eq 1 ]]; then - sudo -u "${SUDO_USER:-${USER}}" git submodule update + sudo -u "${SUDO_USER:-${USER}}" git submodule status emba else - if [ -f ./emba/install.log ]; then - rm ./emba/install.log - fi + # all submodules if [[ $(sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git status --porcelain --untracked-files=no) ]]; then - echo -e "[!!]$RED""$BOLD""EMBA changes detected - please commit them...otherwise they will be lost""$NC" + echo -e "[!!]$RED""$BOLD""Submodule changes detected - please commit them...otherwise they will be lost""$NC" read -p "If you know what you are doing you can press any key to continue ..." -n1 -s -r fi - if [[ -d ./emba/external ]]; then - rm -r ./emba/external/ - fi sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git reset --hard + sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git clean -f -x sudo -u "${SUDO_USER:-${USER}}" git submodule deinit --all -f fi - + # stop&reset daemon if [[ "$WSL" -ne 1 ]]; then uninstall_daemon From 32db8f96c010990206f091dee46e4c9dc246d1e8 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Mon, 24 Jul 2023 16:14:47 +0200 Subject: [PATCH 143/150] update reforce for container --- installer.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/installer.sh b/installer.sh index d2a19f2c8..ad3b6c8de 100755 --- a/installer.sh +++ b/installer.sh @@ -173,16 +173,16 @@ dns_resolve(){ reset_docker(){ echo -e "\\n$GREEN""$BOLD""Reset EMBArk docker images""$NC\\n" - # images + # EMBArk docker_image_rm "mysql" "latest" docker_image_rm "redis" "5" - docker_image_rm "embeddedanalyzer/emba" "latest" - - #networks - docker_network_rm "embark_dev" - # docker_network_rm "embark_frontend" docker_network_rm "embark_backend" - docker_network_rm "emba_runs" + + # EMBA + if [[ "${REFORCE}" -eq 0 ]]; then + docker_image_rm "embeddedanalyzer/emba" "latest" + docker_network_rm "emba_runs" + fi docker container prune -f --filter "label=flag" || true @@ -505,10 +505,10 @@ uninstall (){ if [[ -d ./emba/external ]]; then rm -r ./emba/external/ fi + # all submodules if [[ $REFORCE -eq 1 ]]; then - sudo -u "${SUDO_USER:-${USER}}" git submodule status emba + sudo -u "${SUDO_USER:-${USER}}" git submodule status else - # all submodules if [[ $(sudo -u "${SUDO_USER:-${USER}}" git submodule foreach git status --porcelain --untracked-files=no) ]]; then echo -e "[!!]$RED""$BOLD""Submodule changes detected - please commit them...otherwise they will be lost""$NC" read -p "If you know what you are doing you can press any key to continue ..." -n1 -s -r From c547a03476f83520956878ad3fa7d7175f6230c0 Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Tue, 25 Jul 2023 18:03:07 +0200 Subject: [PATCH 144/150] adjust --- helper/helper_embark_general.sh | 15 +++++++-------- installer.sh | 8 +++++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 3a8436022..ccdbe94b9 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -111,9 +111,6 @@ check_db() { PW_ENV=$(grep DATABASE_PASSWORD ./.env | sed 's/DATABASE\_PASSWORD\=//') USER_ENV=$(grep DATABASE_USER ./.env | sed 's/DATABASE\_USER\=//') HOST_ENV=$(grep DATABASE_HOST ./.env | sed 's/DATABASE\_HOST\=//') - if ! [[ -d ./embark_db ]]; then - mkdir ./embark_db - fi echo -e "\\n$ORANGE""$BOLD""checking database""$NC\\n""$BOLD=================================================================$NC" echo -e "$BLUE""$BOLD""1. checking startup""$NC\\n" if docker-compose -f ./docker-compose.yml up -d ; then @@ -126,14 +123,14 @@ check_db() { echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then echo -e "$ORANGE""$BOLD""[*] Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" - sleep 25s - if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" | grep -v "Warning: Using a password"; then + sleep 40s + if ! mysql --host="${HOST_ENV}" --user="${USER_ENV}" --password="${PW_ENV}" -e"quit" | grep -v "Warning: Using a password"; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" echo -e "$CYAN""You could try recoverying manually by overwriting your\".env\" file""$NC\\n" if [[ -f safe/history.env ]]; then - echo -e "$CYAN""The mysql-db was first started with the password(sha256sum): $(head -n1 ./safe/history.env | cut -d";" -f1) ""$NC\\n" + echo -e "$CYAN""The mysql-db was first started with the password(sha256sum): $(head -n1 ./safe/history.env | cut -d";" -f1) ""$NC\\n" fi exit 1 fi @@ -154,8 +151,10 @@ check_safe() { add_to_env_history(){ local PASSWORD_="${1:-}" local CONTAINER_HASH_="${2:-}" - if [[ -d safe ]]; then - printf '%s;%s;\n' "$(echo "$PASSWORD_" | sha256sum)" "$CONTAINER_HASH_" >> ./safe/history.env + + if ! [[ -d safe ]]; then + mkdir safe fi + printf '%s;%s;\n' "$(echo "$PASSWORD_" | sha256sum)" "$CONTAINER_HASH_" >> ./safe/history.env } diff --git a/installer.sh b/installer.sh index ad3b6c8de..f9f3925f2 100755 --- a/installer.sh +++ b/installer.sh @@ -343,9 +343,10 @@ install_embark_default(){ fi # download images for container - docker-compose -f ./docker-compose.yml pull + docker-compose pull docker-compose up -d - sleep 10s + sleep 25s + docker-compose stop # activate daemon systemctl start embark.service @@ -420,7 +421,8 @@ install_embark_dev(){ # download images for container docker-compose pull docker-compose up -d - sleep 10s + sleep 25s + docker-compose stop check_db docker-compose stop From 51a0a6150b084188702d4a52453efbc727fc9cbd Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Tue, 25 Jul 2023 18:08:58 +0200 Subject: [PATCH 145/150] update --- helper/helper_embark_general.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index ccdbe94b9..db037e1f4 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -121,9 +121,9 @@ check_db() { exit 1 fi echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" - if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" &>/dev/null; then + if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" | grep -v "Warning: Using a password"; then echo -e "$ORANGE""$BOLD""[*] Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" - sleep 40s + sleep 35s if ! mysql --host="${HOST_ENV}" --user="${USER_ENV}" --password="${PW_ENV}" -e"quit" | grep -v "Warning: Using a password"; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" From e7df14a96435d1e509a4b8c1b3fa01031262af0a Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Tue, 25 Jul 2023 18:17:46 +0200 Subject: [PATCH 146/150] update --- helper/helper_embark_general.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index db037e1f4..605bf25a5 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -121,10 +121,10 @@ check_db() { exit 1 fi echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" - if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit" | grep -v "Warning: Using a password"; then + if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit"; then echo -e "$ORANGE""$BOLD""[*] Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" - sleep 35s - if ! mysql --host="${HOST_ENV}" --user="${USER_ENV}" --password="${PW_ENV}" -e"quit" | grep -v "Warning: Using a password"; then + sleep 25s + if ! mysql --host="${HOST_ENV}" --user="${USER_ENV}" --password="${PW_ENV}" -e"quit"; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" echo -e "$CYAN""Old passwords are stored in the \"safe\" folder when uninstalling EMBArk""$NC\\n" From c7596f1ea0ed80ae3b43e482e29c8b9a97f1964a Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Tue, 25 Jul 2023 18:22:07 +0200 Subject: [PATCH 147/150] update --- helper/helper_embark_general.sh | 2 +- installer.sh | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index 605bf25a5..cf3f5f8ba 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -123,7 +123,7 @@ check_db() { echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit"; then echo -e "$ORANGE""$BOLD""[*] Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" - sleep 25s + sleep 35s if ! mysql --host="${HOST_ENV}" --user="${USER_ENV}" --password="${PW_ENV}" -e"quit"; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" echo -e "---------------------------------------------------------------------------" diff --git a/installer.sh b/installer.sh index f9f3925f2..8995744e4 100755 --- a/installer.sh +++ b/installer.sh @@ -345,8 +345,6 @@ install_embark_default(){ # download images for container docker-compose pull docker-compose up -d - sleep 25s - docker-compose stop # activate daemon systemctl start embark.service @@ -421,8 +419,6 @@ install_embark_dev(){ # download images for container docker-compose pull docker-compose up -d - sleep 25s - docker-compose stop check_db docker-compose stop From 8aab290b4445fbd5a85f753385c62170fafa08dc Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Tue, 25 Jul 2023 18:48:53 +0200 Subject: [PATCH 148/150] change retest output --- emba | 2 +- helper/helper_embark_general.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/emba b/emba index 4f82ad652..8bcb67131 160000 --- a/emba +++ b/emba @@ -1 +1 @@ -Subproject commit 4f82ad6522406a31ebde1478fc5bf87b65181a69 +Subproject commit 8bcb67131868be32cb4b55d198d9ea645d267310 diff --git a/helper/helper_embark_general.sh b/helper/helper_embark_general.sh index cf3f5f8ba..bb4955e5a 100644 --- a/helper/helper_embark_general.sh +++ b/helper/helper_embark_general.sh @@ -122,7 +122,7 @@ check_db() { fi echo -e "$BLUE""$BOLD""2. checking password""$NC\\n" if ! mysql --host="$HOST_ENV" --user="$USER_ENV" --password="$PW_ENV" -e"quit"; then - echo -e "$ORANGE""$BOLD""[*] Testing again with user=$USER_ENV host=$HOST_ENV pw=$PW_ENV""$NC" + echo -e "$ORANGE""$BOLD""[*] Retesting the mysql connection""$NC" sleep 35s if ! mysql --host="${HOST_ENV}" --user="${USER_ENV}" --password="${PW_ENV}" -e"quit"; then echo -e "$ORANGE""$BOLD""Failed logging into database with password""$NC" @@ -135,6 +135,7 @@ check_db() { exit 1 fi fi + echo -e "$GREEN""$BOLD""[+] Everything checks out""$NC\\n" } check_safe() { From 4f55bb085e34df758d861bd4eab14e6898883bda Mon Sep 17 00:00:00 2001 From: Benedikt Kuehne Date: Tue, 25 Jul 2023 19:24:43 +0200 Subject: [PATCH 149/150] fix emba check --- run-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run-server.sh b/run-server.sh index 902876f84..7d3dcc488 100755 --- a/run-server.sh +++ b/run-server.sh @@ -120,7 +120,7 @@ fi # check emba echo -e "$BLUE""$BOLD""checking EMBA""$NC" -if [[ -d ./emba ]]; then +if ! [[ -d ./emba ]]; then echo -e "$RED""$BOLD""You are using the wrong installation and missing the EMBA subdirectory""$NC" fi git submodule update From bf165366848ceed959c6a67b591796e389cf8b4f Mon Sep 17 00:00:00 2001 From: Falcnix <83296245+falcnix@users.noreply.github.com> Date: Mon, 31 Jul 2023 11:39:32 +0530 Subject: [PATCH 150/150] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a8bbeee5..98c78e0d1 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ *EMBArk* is a tool for centralized firmware analyzing. Scan, Identify, Track, Report. Built to be simple but powerful. -It's the web-based enterprise interface for the firmware security scanner *EMBA*. It is developed to provide the firmware security analyzer *[EMBA](https://github.com/e-m-b-a/emba)* as a service with feature-packed UI and to imporove accessibility to the firmware scanning backend *EMBA* regardless of the system and operating system. +It's the web-based enterprise interface for the firmware security scanner *EMBA*. It is developed to provide the firmware security analyzer *[EMBA](https://github.com/e-m-b-a/emba)* as a service with feature-packed UI and to improve accessibility to the firmware scanning backend *EMBA* regardless of the system and operating system. Furthermore, *EMBArk* improves the data provision by aggregating the various scanning results in an [aggregated management dashboard](https://github.com/e-m-b-a/embark/wiki/Web-interface#main-dashboard). [![Watch EMBArk](https://raw.githubusercontent.com/wiki/e-m-b-a/embark/static/images/EMBArk-YouTube.png)](https://youtu.be/qSHuPWbfhmI "Watch EMBArk")