From fda9e3f445b44b74a800bef4223273ccad6cdf8d Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 25 Jul 2005 11:02:47 +0000 Subject: [PATCH] moved validation from cbox to the host logging greatly improved background problem of initialization solved umount_crypto cleaned automatic style importing for validation --- cbox-build.sh | 5 +- cryptobox.conf.d/etc/cryptobox/cryptobox.conf | 4 - .../etc/init.d/cb-devel-features.sh | 7 +- .../etc/init.d/cb-mount-config.sh | 1 + cryptobox.conf.d/etc/init.d/cb-network.sh | 1 + cryptobox.conf.d/etc/init.d/cb-services.sh | 1 + .../usr/lib/cryptobox/cbox-manage.sh | 101 ++++++++++++------ .../usr/share/cryptobox/templates/header.cs | 2 + cryptobox.conf.d/var/www/cgi-bin/cryptobox.pl | 15 ++- dfs.cbox.conf | 1 + .../www => validation}/cgi-bin/validate.sh | 0 .../templates}/README | 0 .../templates}/footer | 0 .../templates}/header | 0 .../templates}/result-error | 0 .../templates}/result-ok | 0 .../templates}/single_footer | 0 .../templates}/single_header | 0 .../test-cases/1-init/000-main/description | 0 .../test-cases/1-init/000-main/input.curl | 0 .../test-cases/1-init/000-main/output | 0 .../test-cases/1-init/003-no_ssl/description | 0 .../test-cases/1-init/003-no_ssl/input.curl | 0 .../test-cases/1-init/003-no_ssl/output | 0 .../1-init/005-file_not_found_404/description | 0 .../1-init/005-file_not_found_404/input.curl | 0 .../1-init/005-file_not_found_404/output | 0 .../1-init/007-index_url/description | 0 .../1-init/007-index_url/input.curl | 0 .../test-cases/1-init/007-index_url/output | 0 .../1-init/010-init_ask/description | 0 .../test-cases/1-init/010-init_ask/input.curl | 0 .../test-cases/1-init/010-init_ask/output | 0 .../1-init/020-init_empty_pw/description | 0 .../1-init/020-init_empty_pw/input.curl | 0 .../1-init/020-init_empty_pw/output | 0 .../1-init/030-init_different_pw/description | 0 .../1-init/030-init_different_pw/input.curl | 0 .../1-init/030-init_different_pw/output | 0 .../040-init_wrong_confirmation/description | 0 .../040-init_wrong_confirmation/input.curl | 0 .../1-init/040-init_wrong_confirmation/output | 0 .../050-mount_ask_before_init/description | 0 .../050-mount_ask_before_init/input.curl | 0 .../1-init/050-mount_ask_before_init/output | 0 .../060-mount_do_before_init/description | 0 .../060-mount_do_before_init/input.curl | 0 .../1-init/060-mount_do_before_init/output | 0 .../070-umount_ask_before_init/description | 0 .../070-umount_ask_before_init/input.curl | 0 .../1-init/070-umount_ask_before_init/output | 0 .../080-umount_do_before_init/description | 0 .../080-umount_do_before_init/input.curl | 0 .../1-init/080-umount_do_before_init/output | 0 .../090-config_ask_before_init/description | 0 .../090-config_ask_before_init/input.curl | 0 .../1-init/090-config_ask_before_init/output | 0 .../100-config_do_before_init/description | 0 .../100-config_do_before_init/input.curl | 0 .../1-init/100-config_do_before_init/output | 0 .../1-init/110-init_valid/description | 0 .../1-init/110-init_valid/input.curl | 0 .../test-cases/1-init/110-init_valid/output | 0 .../120-mount_ask_during_init/description | 0 .../120-mount_ask_during_init/input.curl | 0 .../1-init/120-mount_ask_during_init/output | 0 .../130-mount_do_during_init/description | 0 .../130-mount_do_during_init/input.curl | 0 .../1-init/130-mount_do_during_init/output | 0 .../140-umount_ask_during_init/description | 0 .../140-umount_ask_during_init/input.curl | 0 .../1-init/140-umount_ask_during_init/output | 0 .../150-umount_do_during_init/description | 0 .../150-umount_do_during_init/input.curl | 0 .../1-init/150-umount_do_during_init/output | 0 .../160-config_ask_during_init/description | 0 .../160-config_ask_during_init/input.curl | 0 .../1-init/160-config_ask_during_init/output | 0 .../170-config_do_during_init/description | 0 .../170-config_do_during_init/input.curl | 0 .../1-init/170-config_do_during_init/output | 0 .../180-init_ask_during_init/description | 0 .../180-init_ask_during_init/input.curl | 0 .../1-init/180-init_ask_during_init/output | 0 .../190-init_do_during_init/description | 0 .../1-init/190-init_do_during_init/input.curl | 0 .../1-init/190-init_do_during_init/output | 0 .../2-mount/010-mount_ask/description | 0 .../2-mount/010-mount_ask/input.curl | 0 .../test-cases/2-mount/010-mount_ask/output | 0 .../2-mount/020-mount_empty_pw/description | 0 .../2-mount/020-mount_empty_pw/input.curl | 0 .../2-mount/020-mount_empty_pw/output | 0 .../2-mount/025-mount_no_pw/description | 0 .../2-mount/025-mount_no_pw/input.curl | 0 .../test-cases/2-mount/025-mount_no_pw/output | 0 .../030-mount_do_invalid_pw/description | 0 .../030-mount_do_invalid_pw/input.curl | 0 .../2-mount/030-mount_do_invalid_pw/output | 0 .../2-mount/040-mount_do_valid/description | 0 .../2-mount/040-mount_do_valid/input.curl | 0 .../2-mount/040-mount_do_valid/output | 0 .../050-mount_ask_while_mounted/description | 0 .../050-mount_ask_while_mounted/input.curl | 0 .../050-mount_ask_while_mounted/output | 0 .../060-mount_do_while_mounted/description | 0 .../060-mount_do_while_mounted/input.curl | 0 .../2-mount/060-mount_do_while_mounted/output | 0 .../2-mount/070-umount_ask/description | 0 .../2-mount/070-umount_ask/input.curl | 0 .../test-cases/2-mount/070-umount_ask/output | 0 .../2-mount/080-umount_do/description | 0 .../2-mount/080-umount_do/input.curl | 0 .../test-cases/2-mount/080-umount_do/output | 0 .../100-config_invalid_lang/description | 0 .../100-config_invalid_lang/input.curl | 0 .../3-config/100-config_invalid_lang/output | 0 .../110-config_invalid_ip/description | 0 .../3-config/110-config_invalid_ip/input.curl | 0 .../3-config/110-config_invalid_ip/output | 0 .../120-config_invalid_timeout/description | 0 .../120-config_invalid_timeout/input.curl | 0 .../120-config_invalid_timeout/output | 0 .../3-config/500-config_valid/description | 0 .../3-config/500-config_valid/input.curl | 0 .../3-config/500-config_valid/output | 0 .../test-cases/README | 0 .../lib/cryptobox => validation}/validate.sh | 41 +++++-- 128 files changed, 125 insertions(+), 54 deletions(-) rename {cryptobox.conf.d/var/www => validation}/cgi-bin/validate.sh (100%) rename {cryptobox.conf.d/usr/share/cryptobox/templates/test-summary => validation/templates}/README (100%) rename {cryptobox.conf.d/usr/share/cryptobox/templates/test-summary => validation/templates}/footer (100%) rename {cryptobox.conf.d/usr/share/cryptobox/templates/test-summary => validation/templates}/header (100%) rename {cryptobox.conf.d/usr/share/cryptobox/templates/test-summary => validation/templates}/result-error (100%) rename {cryptobox.conf.d/usr/share/cryptobox/templates/test-summary => validation/templates}/result-ok (100%) rename {cryptobox.conf.d/usr/share/cryptobox/templates/test-summary => validation/templates}/single_footer (100%) rename {cryptobox.conf.d/usr/share/cryptobox/templates/test-summary => validation/templates}/single_header (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/000-main/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/000-main/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/000-main/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/003-no_ssl/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/003-no_ssl/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/003-no_ssl/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/005-file_not_found_404/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/005-file_not_found_404/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/005-file_not_found_404/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/007-index_url/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/007-index_url/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/007-index_url/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/010-init_ask/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/010-init_ask/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/010-init_ask/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/020-init_empty_pw/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/020-init_empty_pw/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/020-init_empty_pw/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/030-init_different_pw/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/030-init_different_pw/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/030-init_different_pw/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/040-init_wrong_confirmation/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/040-init_wrong_confirmation/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/040-init_wrong_confirmation/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/050-mount_ask_before_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/050-mount_ask_before_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/050-mount_ask_before_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/060-mount_do_before_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/060-mount_do_before_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/060-mount_do_before_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/070-umount_ask_before_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/070-umount_ask_before_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/070-umount_ask_before_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/080-umount_do_before_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/080-umount_do_before_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/080-umount_do_before_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/090-config_ask_before_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/090-config_ask_before_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/090-config_ask_before_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/100-config_do_before_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/100-config_do_before_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/100-config_do_before_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/110-init_valid/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/110-init_valid/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/110-init_valid/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/120-mount_ask_during_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/120-mount_ask_during_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/120-mount_ask_during_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/130-mount_do_during_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/130-mount_do_during_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/130-mount_do_during_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/140-umount_ask_during_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/140-umount_ask_during_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/140-umount_ask_during_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/150-umount_do_during_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/150-umount_do_during_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/150-umount_do_during_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/160-config_ask_during_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/160-config_ask_during_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/160-config_ask_during_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/170-config_do_during_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/170-config_do_during_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/170-config_do_during_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/180-init_ask_during_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/180-init_ask_during_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/180-init_ask_during_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/190-init_do_during_init/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/190-init_do_during_init/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/1-init/190-init_do_during_init/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/010-mount_ask/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/010-mount_ask/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/010-mount_ask/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/020-mount_empty_pw/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/020-mount_empty_pw/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/020-mount_empty_pw/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/025-mount_no_pw/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/025-mount_no_pw/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/025-mount_no_pw/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/030-mount_do_invalid_pw/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/030-mount_do_invalid_pw/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/030-mount_do_invalid_pw/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/040-mount_do_valid/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/040-mount_do_valid/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/040-mount_do_valid/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/050-mount_ask_while_mounted/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/050-mount_ask_while_mounted/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/050-mount_ask_while_mounted/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/060-mount_do_while_mounted/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/060-mount_do_while_mounted/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/060-mount_do_while_mounted/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/070-umount_ask/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/070-umount_ask/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/070-umount_ask/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/080-umount_do/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/080-umount_do/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/2-mount/080-umount_do/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/100-config_invalid_lang/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/100-config_invalid_lang/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/100-config_invalid_lang/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/110-config_invalid_ip/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/110-config_invalid_ip/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/110-config_invalid_ip/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/120-config_invalid_timeout/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/120-config_invalid_timeout/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/120-config_invalid_timeout/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/500-config_valid/description (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/500-config_valid/input.curl (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/3-config/500-config_valid/output (100%) rename {cryptobox.conf.d/usr/share/cryptobox => validation}/test-cases/README (100%) rename {cryptobox.conf.d/usr/lib/cryptobox => validation}/validate.sh (71%) diff --git a/cbox-build.sh b/cbox-build.sh index 83237eb..f63cf44 100755 --- a/cbox-build.sh +++ b/cbox-build.sh @@ -67,6 +67,9 @@ function run_dfsbuild() { [ ! -e "$BUILDDIR" ] && mkdir -p "$BUILDDIR" && echo "das BuildDir ($BUILDDIR) wurde angelegt ..." dfsbuild -c "$CONFIG" -w "$BUILDDIR" + + # remove iso image of dfsbuild - it is not necessary + [ -e "$BUILDDIR/image.iso" ] && rm "$BUILDDIR/image.iso" } @@ -90,7 +93,7 @@ function qemu_boot() cp "misc/qemu-ifup.default" "$LOCALCONF_DIR/qemu-ifup" fi echo "Starting qemu ..." - qemu -cdrom "$IMAGE_FILE" -m 64 -hda "$IMAGE_FILE" -boot d -n "$LOCALCONF_DIR/qemu-ifup" || true + qemu -cdrom "$IMAGE_FILE" -m 96 -hda "$IMAGE_FILE" -boot d -n "$LOCALCONF_DIR/qemu-ifup" || true # remove iptables rules "$LOCALCONF_DIR/qemu-ifup" stop } diff --git a/cryptobox.conf.d/etc/cryptobox/cryptobox.conf b/cryptobox.conf.d/etc/cryptobox/cryptobox.conf index 8a85ec1..4af039f 100644 --- a/cryptobox.conf.d/etc/cryptobox/cryptobox.conf +++ b/cryptobox.conf.d/etc/cryptobox/cryptobox.conf @@ -11,15 +11,11 @@ LANGUAGE_DIR=/usr/share/cryptobox/lang TEMPLATE_DIR=/usr/share/cryptobox/templates DOC_DIR=/usr/share/doc/cryptobox/html CONFIG_DEFAULTS_DIR=/usr/share/cryptobox/defaults -REPORT_DIR=/var/www/report CONFIG_DIR=/mnt/cb-etc CRYPTO_DIR=/mnt/crypto -TEST_CASES_DIR=/usr/share/cryptobox/test-cases -SUMMARY_TEMPLATE_DIR=/usr/share/cryptobox/templates/test-summary # some files CB_SCRIPT=/usr/lib/cryptobox/cbox-manage.sh -VALIDATE_SCRIPT=/usr/lib/cryptobox/validate.sh DEV_FEATURES_SCRIPT=/usr/lib/cryptobox/devel-features.sh FIREWALL_SCRIPT=/usr/lib/cryptobox/firewall.sh MAKE_CERT_SCRIPT=/usr/lib/cryptobox/make_stunnel_cert.sh diff --git a/cryptobox.conf.d/etc/init.d/cb-devel-features.sh b/cryptobox.conf.d/etc/init.d/cb-devel-features.sh index b6a5b84..04140fd 100755 --- a/cryptobox.conf.d/etc/init.d/cb-devel-features.sh +++ b/cryptobox.conf.d/etc/init.d/cb-devel-features.sh @@ -1,13 +1,14 @@ #!/bin/sh # -# this script looks for the file /DEVELOPMENT_CRYPTOBOX -# if it exists, the script $DEVEL_SCRIPT be executed - this is +# this script looks for the devel-features.sh script +# if it exists, it will be executed - this is # ONLY FOR DEVELOPMENT CDs! -# for production CD the file /DEVELOPMENT_CRYPTOBOX should never exist! +# for release CDs the file devel-features.sh script should never exist! # set -eu +# parse config file . /etc/cryptobox/cryptobox.conf # return, if it does not exist diff --git a/cryptobox.conf.d/etc/init.d/cb-mount-config.sh b/cryptobox.conf.d/etc/init.d/cb-mount-config.sh index 7d018aa..d7a6136 100755 --- a/cryptobox.conf.d/etc/init.d/cb-mount-config.sh +++ b/cryptobox.conf.d/etc/init.d/cb-mount-config.sh @@ -2,6 +2,7 @@ set -eu +# parse config file . /etc/cryptobox/cryptobox.conf ACTION=help diff --git a/cryptobox.conf.d/etc/init.d/cb-network.sh b/cryptobox.conf.d/etc/init.d/cb-network.sh index eac818a..2673374 100755 --- a/cryptobox.conf.d/etc/init.d/cb-network.sh +++ b/cryptobox.conf.d/etc/init.d/cb-network.sh @@ -2,6 +2,7 @@ set -eu +# parse config file . /etc/cryptobox/cryptobox.conf ACTION=help diff --git a/cryptobox.conf.d/etc/init.d/cb-services.sh b/cryptobox.conf.d/etc/init.d/cb-services.sh index 67ba5c2..9ddd1ad 100755 --- a/cryptobox.conf.d/etc/init.d/cb-services.sh +++ b/cryptobox.conf.d/etc/init.d/cb-services.sh @@ -2,6 +2,7 @@ set -eu +# parse config file . /etc/cryptobox/cryptobox.conf ACTION=help diff --git a/cryptobox.conf.d/usr/lib/cryptobox/cbox-manage.sh b/cryptobox.conf.d/usr/lib/cryptobox/cbox-manage.sh index 7c1fc18..865a477 100755 --- a/cryptobox.conf.d/usr/lib/cryptobox/cbox-manage.sh +++ b/cryptobox.conf.d/usr/lib/cryptobox/cbox-manage.sh @@ -19,6 +19,16 @@ CERT_TEMP=/tmp/stunnel.pem ##### +log_msg() +{ + # the log file is not writable during boot - try before writing ... + [ -w "$LOG_FILE" ] || return 0 + echo >>"$LOG_FILE" + echo "################ `date` ####################" >>"$LOG_FILE" + echo "$1" >>"$LOG_FILE" +} + + function error_msg() # parameters: ExitCode ErrorMessage { @@ -33,17 +43,17 @@ function initial_checks() # Parameter: device { local device="$1" - [ ! -b "$device" ] && echo "blockdevice $device does not exist" && return 1 + [ ! -b "$device" ] && log_msg "blockdevice $device does not exist" && return 1 ## check if we have an existing configpartition ## TODO: why this config_mount_test? # config_mount_test "$device" - [ ! -x "$WIPE" ] && echo "$WIPE not found" && return 1 - [ ! -x "$SFDISK" ] && echo "$SFDISK not found" && return 1 + [ ! -x "$WIPE" ] && log_msg "$WIPE not found" && return 1 + [ ! -x "$SFDISK" ] && log_msg "$SFDISK not found" && return 1 for a in $ALGO $HASH do grep -q "^name *: $a$" /proc/crypto || modprobe "$a" - grep -q "^name *: $a$" /proc/crypto || { echo "$a is not supported by kernel" && return 1; } + grep -q "^name *: $a$" /proc/crypto || { log_msg "$a is not supported by kernel" && return 1; } done - mount | grep -q "^$device[ 1-9] " && echo "$device is mounted" && return 1 + log_msg "inital checks successful" return 0 } @@ -86,24 +96,29 @@ function create_config() # Parameter: device { local device="${1}1" + log_msg "Creating config filesystem ..." $MKFS_CONFIG "$device" # mount the config partition rw + log_msg "Mounting config partition ..." mount "$device" "$CONFIG_DIR" # create a marker to recognize a cryptobox partition date -I >"$CONFIG_MARKER" - ## write (network) interfaces + log_msg "Copying configuration defaults ..." cp -a "$CONFIG_DEFAULTS_DIR/." "$CONFIG_DIR" - # copy stunnel cert + log_msg "Copying temporary cerificate file to config filesystem ..." cp -p "$CERT_TEMP" "$CERT_FILE" + log_msg "Setting inital values ..." # beware: config_set_value remounts the config partition read-only config_set_value "device" "$1" config_set_value "ip" "$(get_current_ip)" # reinitialise configuration + log_msg "Unmounting config partition ..." umount "$CONFIG_DIR" + log_msg "Reload configuration ..." mount_config } @@ -164,6 +179,8 @@ function is_crypto_mounted() function is_init_running() { ps -e | grep -q -E "$MKFS_DATA|$WIPE" + # this line is good for the "at" stuff - see cryptobox.pl + [ -n "`at -l`" ] } @@ -177,7 +194,7 @@ function find_harddisk() do grep -q " `basename $a`$" /proc/partitions && echo "$a" && break done fi ) - [ -z "$dev" ] && echo "no valid partition for initialisation found!" >>"$ERROR_LOG" + [ -z "$dev" ] && echo "no valid partition for initialisation found!" >>"$LOG_FILE" echo -n "$dev" } @@ -187,14 +204,14 @@ function mount_config() is_config_mounted && error_msg 3 "configuration directory ($CONFIG_DIR) is already mounted!" local device=$( for a in $SCAN_DEVICES - do echo "Trying to load configuration from $a ..." >&2 + do log_msg "Trying to load configuration from $a ..." config_mount_test "$a" && echo "$a" && break done ) if [ -n "$device" ] && mount "${device}1" "$CONFIG_DIR" - then echo "configuraton found on $device" >&2 + then log_msg "configuraton found on $device" config_set_value "device" "$device" return 0 - else echo "failed to locate harddisk" >&2 + else log_msg "failed to locate harddisk" return 1 fi } @@ -206,10 +223,13 @@ function mount_crypto() local device=`find_harddisk` [ -z "$device" ] && error_msg 4 'no valid harddisk found!' # passphrase is read from stdin + log_msg "Mounting crypto partition ..." $CRYPTSETUP -h "$HASH" -c "$ALGO" create "`basename $CRYPTMAPPER_DEV`" "${device}2" if mount "$CRYPTMAPPER_DEV" "$CRYPTO_DIR" - then /etc/init.d/samba start - else dmsetup remove $(basename $CRYPTMAPPER_DEV) + then log_msg "Mount succeded - now starting samba ..." + /etc/init.d/samba start + else log_msg "Mount failed - removing dev-mapper ..." + dmsetup remove $(basename $CRYPTMAPPER_DEV) return 1 fi } @@ -219,13 +239,22 @@ function umount_crypto() { # do not break on error set +e - /etc/init.d/samba stop - ps -e | grep -q " smbd$" && killall smbd - ps -e | grep -q " nmbd$" && killall nmbd - ps -e | grep -q " smbd$" && killall -9 smbd - ps -e | grep -q " nmbd$" && killall -9 nmbd - umount "$CRYPTO_DIR" - $CRYPTSETUP remove $(basename $CRYPTMAPPER_DEV) + if ps -e | grep -q " [sn]mbd$" + then log_msg "Stopping samba ..." + /etc/init.d/samba stop + ps -e | grep -q " smbd$" && killall smbd + ps -e | grep -q " nmbd$" && killall nmbd + ps -e | grep -q " smbd$" && killall -9 smbd + ps -e | grep -q " nmbd$" && killall -9 nmbd + fi + if mount | grep -q " $CRYPTO_DIR " + then log_msg "Unmounting crypto partition ..." + umount "$CRYPTO_DIR" + fi + if [ -e "$CRYPTMAPPER_DEV" ] + then log_msg "Removing dev-mapper ..." + $CRYPTSETUP remove $(basename $CRYPTMAPPER_DEV) + fi set -e } @@ -233,13 +262,19 @@ function umount_crypto() function init_cryptobox_part1() # this is only the first part of initialisation that takes no time - good for a smooth web interface { - umount_crypto || true - umount "$CONFIG_DIR" || true local device=`find_harddisk` - [ -z "$device" ] && error_msg 4 'no valid harddisk found!' - initial_checks "$device" || error_msg 5 "Failure during initialisation - bye, bye" - create_partitions "$device" - create_config "$device" + [ -z "$device" ] && log_msg 'no valid harddisk found!' && return 1 + ( + log_msg "Initializing crypto partition on $device ..." + umount_crypto || true + mount | grep -q " $CONFIG_DIR " && umount "$CONFIG_DIR" || true + initial_checks "$device" || return 1 + create_partitions "$device" + create_config "$device" + ) >>"$LOG_FILE" 2>&1 + # the output of create_crypto may NOT be redirected - this would prevent cryptsetup from + # reading the passphrase from stdin + log_msg "Creating the crypto partition ..." create_crypto "$device" } @@ -282,13 +317,15 @@ case "$ACTION" in fi ;; config-down ) - umount "$CONFIG_DIR" + mount | grep -q " $CONFIG_DIR" && umount "$CONFIG_DIR" ;; network-up ) kudzu -s -q --class network conf_ip=$(config_get_value "ip") ifconfig $NET_IFACE "$conf_ip" + log_msg "Configured $NET_IFACE for $conf_ip ..." echo "Configured network interface for $NET_IFACE: $conf_ip" + log_msg "Starting the firewall ..." $FIREWALL_SCRIPT start # start stunnel if [ -f "$CERT_FILE" ] @@ -296,6 +333,7 @@ case "$ACTION" in else USE_CERT=$CERT_TEMP $MAKE_CERT_SCRIPT "$CERT_TEMP" >>"$LOG_FILE" 2>&1 fi + log_msg "Starting stunnel ..." stunnel -p "$USE_CERT" -r localhost:80 -d 443 \ || echo "$USE_CERT not found - not starting stunnel" # this ping allows other hosts to get the IP of @@ -303,8 +341,11 @@ case "$ACTION" in ping -b -c 1 $(ifconfig $NET_IFACE | grep Bcast | cut -d ":" -f 3 | cut -d " " -f 1) &>/dev/null ;; network-down ) + log_msg "Stopping the firewall ..." $FIREWALL_SCRIPT stop + log_msg "Stopping stunnel ..." killall stunnel + log_msg "Shutting the network interface down ..." ifconfig $NET_IFACE down ;; services-up ) @@ -323,14 +364,12 @@ case "$ACTION" in # this is nice for the web interface, as it is fast # output redirection does not work, as it prevents cryptsetup from asking # for a password - init_cryptobox_part1 >>"$LOG_FILE" 2>&1 + init_cryptobox_part1 ;; box-init-bg ) # do it in the background to provide a smoother web interface # messages and errors get written to $LOG_FILE - # the 'exec' output redirection does not work, if called by a cgi, so - # redirect it as usual - init_cryptobox_part2 >"$LOG_FILE" 2>&1 & + init_cryptobox_part2 >"$LOG_FILE" 2>&1 ;; is_crypto_mounted ) is_crypto_mounted diff --git a/cryptobox.conf.d/usr/share/cryptobox/templates/header.cs b/cryptobox.conf.d/usr/share/cryptobox/templates/header.cs index 74c43c7..24afec2 100644 --- a/cryptobox.conf.d/usr/share/cryptobox/templates/header.cs +++ b/cryptobox.conf.d/usr/share/cryptobox/templates/header.cs @@ -25,8 +25,10 @@
+ +
diff --git a/cryptobox.conf.d/var/www/cgi-bin/cryptobox.pl b/cryptobox.conf.d/var/www/cgi-bin/cryptobox.pl index 726b480..d600fee 100755 --- a/cryptobox.conf.d/var/www/cgi-bin/cryptobox.pl +++ b/cryptobox.conf.d/var/www/cgi-bin/cryptobox.pl @@ -85,6 +85,14 @@ sub get_available_languages() } +sub log_msg() +{ + my $text = shift; + # TODO: improve or remove! + system("echo $text >>$LOG_FILE"); +} + + sub check_ssl { # BEWARE: dirty trick - is there a better way? @@ -179,11 +187,8 @@ sub box_init print PW_INPUT $pw; close(PW_INPUT); - # wipe and mkfs takes some time - my $output = `$CB_SCRIPT box-init-bg`; - - # TODO: "output" has to get filtered through something like "s/$/
/" - in perl, please! - $pagedata->setValue('Data.ProgOutput',"$output") if ($output); + # wipe and mkfs takes some time - it will be done in background + system("echo $CB_SCRIPT box-init-bg | at now + 1 minutes >>$LOG_FILE 2>&1"); } diff --git a/dfs.cbox.conf b/dfs.cbox.conf index d0bd86f..29ff192 100644 --- a/dfs.cbox.conf +++ b/dfs.cbox.conf @@ -145,6 +145,7 @@ ramdisk_files = /etc/resolv.conf /var/lib/misc /var/lib/urandom /etc/hotpug + /var/spool/cron # Directories to create on live fs makedirs = /root/.elinks diff --git a/cryptobox.conf.d/var/www/cgi-bin/validate.sh b/validation/cgi-bin/validate.sh similarity index 100% rename from cryptobox.conf.d/var/www/cgi-bin/validate.sh rename to validation/cgi-bin/validate.sh diff --git a/cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/README b/validation/templates/README similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/README rename to validation/templates/README diff --git a/cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/footer b/validation/templates/footer similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/footer rename to validation/templates/footer diff --git a/cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/header b/validation/templates/header similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/header rename to validation/templates/header diff --git a/cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/result-error b/validation/templates/result-error similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/result-error rename to validation/templates/result-error diff --git a/cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/result-ok b/validation/templates/result-ok similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/result-ok rename to validation/templates/result-ok diff --git a/cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/single_footer b/validation/templates/single_footer similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/single_footer rename to validation/templates/single_footer diff --git a/cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/single_header b/validation/templates/single_header similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/templates/test-summary/single_header rename to validation/templates/single_header diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/000-main/description b/validation/test-cases/1-init/000-main/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/000-main/description rename to validation/test-cases/1-init/000-main/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/000-main/input.curl b/validation/test-cases/1-init/000-main/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/000-main/input.curl rename to validation/test-cases/1-init/000-main/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/000-main/output b/validation/test-cases/1-init/000-main/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/000-main/output rename to validation/test-cases/1-init/000-main/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/003-no_ssl/description b/validation/test-cases/1-init/003-no_ssl/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/003-no_ssl/description rename to validation/test-cases/1-init/003-no_ssl/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/003-no_ssl/input.curl b/validation/test-cases/1-init/003-no_ssl/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/003-no_ssl/input.curl rename to validation/test-cases/1-init/003-no_ssl/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/003-no_ssl/output b/validation/test-cases/1-init/003-no_ssl/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/003-no_ssl/output rename to validation/test-cases/1-init/003-no_ssl/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/005-file_not_found_404/description b/validation/test-cases/1-init/005-file_not_found_404/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/005-file_not_found_404/description rename to validation/test-cases/1-init/005-file_not_found_404/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/005-file_not_found_404/input.curl b/validation/test-cases/1-init/005-file_not_found_404/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/005-file_not_found_404/input.curl rename to validation/test-cases/1-init/005-file_not_found_404/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/005-file_not_found_404/output b/validation/test-cases/1-init/005-file_not_found_404/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/005-file_not_found_404/output rename to validation/test-cases/1-init/005-file_not_found_404/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/007-index_url/description b/validation/test-cases/1-init/007-index_url/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/007-index_url/description rename to validation/test-cases/1-init/007-index_url/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/007-index_url/input.curl b/validation/test-cases/1-init/007-index_url/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/007-index_url/input.curl rename to validation/test-cases/1-init/007-index_url/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/007-index_url/output b/validation/test-cases/1-init/007-index_url/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/007-index_url/output rename to validation/test-cases/1-init/007-index_url/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/010-init_ask/description b/validation/test-cases/1-init/010-init_ask/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/010-init_ask/description rename to validation/test-cases/1-init/010-init_ask/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/010-init_ask/input.curl b/validation/test-cases/1-init/010-init_ask/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/010-init_ask/input.curl rename to validation/test-cases/1-init/010-init_ask/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/010-init_ask/output b/validation/test-cases/1-init/010-init_ask/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/010-init_ask/output rename to validation/test-cases/1-init/010-init_ask/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/020-init_empty_pw/description b/validation/test-cases/1-init/020-init_empty_pw/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/020-init_empty_pw/description rename to validation/test-cases/1-init/020-init_empty_pw/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/020-init_empty_pw/input.curl b/validation/test-cases/1-init/020-init_empty_pw/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/020-init_empty_pw/input.curl rename to validation/test-cases/1-init/020-init_empty_pw/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/020-init_empty_pw/output b/validation/test-cases/1-init/020-init_empty_pw/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/020-init_empty_pw/output rename to validation/test-cases/1-init/020-init_empty_pw/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/030-init_different_pw/description b/validation/test-cases/1-init/030-init_different_pw/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/030-init_different_pw/description rename to validation/test-cases/1-init/030-init_different_pw/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/030-init_different_pw/input.curl b/validation/test-cases/1-init/030-init_different_pw/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/030-init_different_pw/input.curl rename to validation/test-cases/1-init/030-init_different_pw/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/030-init_different_pw/output b/validation/test-cases/1-init/030-init_different_pw/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/030-init_different_pw/output rename to validation/test-cases/1-init/030-init_different_pw/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/040-init_wrong_confirmation/description b/validation/test-cases/1-init/040-init_wrong_confirmation/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/040-init_wrong_confirmation/description rename to validation/test-cases/1-init/040-init_wrong_confirmation/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/040-init_wrong_confirmation/input.curl b/validation/test-cases/1-init/040-init_wrong_confirmation/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/040-init_wrong_confirmation/input.curl rename to validation/test-cases/1-init/040-init_wrong_confirmation/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/040-init_wrong_confirmation/output b/validation/test-cases/1-init/040-init_wrong_confirmation/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/040-init_wrong_confirmation/output rename to validation/test-cases/1-init/040-init_wrong_confirmation/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/050-mount_ask_before_init/description b/validation/test-cases/1-init/050-mount_ask_before_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/050-mount_ask_before_init/description rename to validation/test-cases/1-init/050-mount_ask_before_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/050-mount_ask_before_init/input.curl b/validation/test-cases/1-init/050-mount_ask_before_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/050-mount_ask_before_init/input.curl rename to validation/test-cases/1-init/050-mount_ask_before_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/050-mount_ask_before_init/output b/validation/test-cases/1-init/050-mount_ask_before_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/050-mount_ask_before_init/output rename to validation/test-cases/1-init/050-mount_ask_before_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/060-mount_do_before_init/description b/validation/test-cases/1-init/060-mount_do_before_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/060-mount_do_before_init/description rename to validation/test-cases/1-init/060-mount_do_before_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/060-mount_do_before_init/input.curl b/validation/test-cases/1-init/060-mount_do_before_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/060-mount_do_before_init/input.curl rename to validation/test-cases/1-init/060-mount_do_before_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/060-mount_do_before_init/output b/validation/test-cases/1-init/060-mount_do_before_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/060-mount_do_before_init/output rename to validation/test-cases/1-init/060-mount_do_before_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/070-umount_ask_before_init/description b/validation/test-cases/1-init/070-umount_ask_before_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/070-umount_ask_before_init/description rename to validation/test-cases/1-init/070-umount_ask_before_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/070-umount_ask_before_init/input.curl b/validation/test-cases/1-init/070-umount_ask_before_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/070-umount_ask_before_init/input.curl rename to validation/test-cases/1-init/070-umount_ask_before_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/070-umount_ask_before_init/output b/validation/test-cases/1-init/070-umount_ask_before_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/070-umount_ask_before_init/output rename to validation/test-cases/1-init/070-umount_ask_before_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/080-umount_do_before_init/description b/validation/test-cases/1-init/080-umount_do_before_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/080-umount_do_before_init/description rename to validation/test-cases/1-init/080-umount_do_before_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/080-umount_do_before_init/input.curl b/validation/test-cases/1-init/080-umount_do_before_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/080-umount_do_before_init/input.curl rename to validation/test-cases/1-init/080-umount_do_before_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/080-umount_do_before_init/output b/validation/test-cases/1-init/080-umount_do_before_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/080-umount_do_before_init/output rename to validation/test-cases/1-init/080-umount_do_before_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/090-config_ask_before_init/description b/validation/test-cases/1-init/090-config_ask_before_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/090-config_ask_before_init/description rename to validation/test-cases/1-init/090-config_ask_before_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/090-config_ask_before_init/input.curl b/validation/test-cases/1-init/090-config_ask_before_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/090-config_ask_before_init/input.curl rename to validation/test-cases/1-init/090-config_ask_before_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/090-config_ask_before_init/output b/validation/test-cases/1-init/090-config_ask_before_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/090-config_ask_before_init/output rename to validation/test-cases/1-init/090-config_ask_before_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/100-config_do_before_init/description b/validation/test-cases/1-init/100-config_do_before_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/100-config_do_before_init/description rename to validation/test-cases/1-init/100-config_do_before_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/100-config_do_before_init/input.curl b/validation/test-cases/1-init/100-config_do_before_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/100-config_do_before_init/input.curl rename to validation/test-cases/1-init/100-config_do_before_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/100-config_do_before_init/output b/validation/test-cases/1-init/100-config_do_before_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/100-config_do_before_init/output rename to validation/test-cases/1-init/100-config_do_before_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/110-init_valid/description b/validation/test-cases/1-init/110-init_valid/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/110-init_valid/description rename to validation/test-cases/1-init/110-init_valid/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/110-init_valid/input.curl b/validation/test-cases/1-init/110-init_valid/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/110-init_valid/input.curl rename to validation/test-cases/1-init/110-init_valid/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/110-init_valid/output b/validation/test-cases/1-init/110-init_valid/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/110-init_valid/output rename to validation/test-cases/1-init/110-init_valid/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/120-mount_ask_during_init/description b/validation/test-cases/1-init/120-mount_ask_during_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/120-mount_ask_during_init/description rename to validation/test-cases/1-init/120-mount_ask_during_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/120-mount_ask_during_init/input.curl b/validation/test-cases/1-init/120-mount_ask_during_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/120-mount_ask_during_init/input.curl rename to validation/test-cases/1-init/120-mount_ask_during_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/120-mount_ask_during_init/output b/validation/test-cases/1-init/120-mount_ask_during_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/120-mount_ask_during_init/output rename to validation/test-cases/1-init/120-mount_ask_during_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/130-mount_do_during_init/description b/validation/test-cases/1-init/130-mount_do_during_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/130-mount_do_during_init/description rename to validation/test-cases/1-init/130-mount_do_during_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/130-mount_do_during_init/input.curl b/validation/test-cases/1-init/130-mount_do_during_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/130-mount_do_during_init/input.curl rename to validation/test-cases/1-init/130-mount_do_during_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/130-mount_do_during_init/output b/validation/test-cases/1-init/130-mount_do_during_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/130-mount_do_during_init/output rename to validation/test-cases/1-init/130-mount_do_during_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/140-umount_ask_during_init/description b/validation/test-cases/1-init/140-umount_ask_during_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/140-umount_ask_during_init/description rename to validation/test-cases/1-init/140-umount_ask_during_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/140-umount_ask_during_init/input.curl b/validation/test-cases/1-init/140-umount_ask_during_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/140-umount_ask_during_init/input.curl rename to validation/test-cases/1-init/140-umount_ask_during_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/140-umount_ask_during_init/output b/validation/test-cases/1-init/140-umount_ask_during_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/140-umount_ask_during_init/output rename to validation/test-cases/1-init/140-umount_ask_during_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/150-umount_do_during_init/description b/validation/test-cases/1-init/150-umount_do_during_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/150-umount_do_during_init/description rename to validation/test-cases/1-init/150-umount_do_during_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/150-umount_do_during_init/input.curl b/validation/test-cases/1-init/150-umount_do_during_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/150-umount_do_during_init/input.curl rename to validation/test-cases/1-init/150-umount_do_during_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/150-umount_do_during_init/output b/validation/test-cases/1-init/150-umount_do_during_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/150-umount_do_during_init/output rename to validation/test-cases/1-init/150-umount_do_during_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/160-config_ask_during_init/description b/validation/test-cases/1-init/160-config_ask_during_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/160-config_ask_during_init/description rename to validation/test-cases/1-init/160-config_ask_during_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/160-config_ask_during_init/input.curl b/validation/test-cases/1-init/160-config_ask_during_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/160-config_ask_during_init/input.curl rename to validation/test-cases/1-init/160-config_ask_during_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/160-config_ask_during_init/output b/validation/test-cases/1-init/160-config_ask_during_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/160-config_ask_during_init/output rename to validation/test-cases/1-init/160-config_ask_during_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/170-config_do_during_init/description b/validation/test-cases/1-init/170-config_do_during_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/170-config_do_during_init/description rename to validation/test-cases/1-init/170-config_do_during_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/170-config_do_during_init/input.curl b/validation/test-cases/1-init/170-config_do_during_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/170-config_do_during_init/input.curl rename to validation/test-cases/1-init/170-config_do_during_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/170-config_do_during_init/output b/validation/test-cases/1-init/170-config_do_during_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/170-config_do_during_init/output rename to validation/test-cases/1-init/170-config_do_during_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/180-init_ask_during_init/description b/validation/test-cases/1-init/180-init_ask_during_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/180-init_ask_during_init/description rename to validation/test-cases/1-init/180-init_ask_during_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/180-init_ask_during_init/input.curl b/validation/test-cases/1-init/180-init_ask_during_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/180-init_ask_during_init/input.curl rename to validation/test-cases/1-init/180-init_ask_during_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/180-init_ask_during_init/output b/validation/test-cases/1-init/180-init_ask_during_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/180-init_ask_during_init/output rename to validation/test-cases/1-init/180-init_ask_during_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/190-init_do_during_init/description b/validation/test-cases/1-init/190-init_do_during_init/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/190-init_do_during_init/description rename to validation/test-cases/1-init/190-init_do_during_init/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/190-init_do_during_init/input.curl b/validation/test-cases/1-init/190-init_do_during_init/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/190-init_do_during_init/input.curl rename to validation/test-cases/1-init/190-init_do_during_init/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/190-init_do_during_init/output b/validation/test-cases/1-init/190-init_do_during_init/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/1-init/190-init_do_during_init/output rename to validation/test-cases/1-init/190-init_do_during_init/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/010-mount_ask/description b/validation/test-cases/2-mount/010-mount_ask/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/010-mount_ask/description rename to validation/test-cases/2-mount/010-mount_ask/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/010-mount_ask/input.curl b/validation/test-cases/2-mount/010-mount_ask/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/010-mount_ask/input.curl rename to validation/test-cases/2-mount/010-mount_ask/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/010-mount_ask/output b/validation/test-cases/2-mount/010-mount_ask/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/010-mount_ask/output rename to validation/test-cases/2-mount/010-mount_ask/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/020-mount_empty_pw/description b/validation/test-cases/2-mount/020-mount_empty_pw/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/020-mount_empty_pw/description rename to validation/test-cases/2-mount/020-mount_empty_pw/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/020-mount_empty_pw/input.curl b/validation/test-cases/2-mount/020-mount_empty_pw/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/020-mount_empty_pw/input.curl rename to validation/test-cases/2-mount/020-mount_empty_pw/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/020-mount_empty_pw/output b/validation/test-cases/2-mount/020-mount_empty_pw/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/020-mount_empty_pw/output rename to validation/test-cases/2-mount/020-mount_empty_pw/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/025-mount_no_pw/description b/validation/test-cases/2-mount/025-mount_no_pw/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/025-mount_no_pw/description rename to validation/test-cases/2-mount/025-mount_no_pw/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/025-mount_no_pw/input.curl b/validation/test-cases/2-mount/025-mount_no_pw/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/025-mount_no_pw/input.curl rename to validation/test-cases/2-mount/025-mount_no_pw/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/025-mount_no_pw/output b/validation/test-cases/2-mount/025-mount_no_pw/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/025-mount_no_pw/output rename to validation/test-cases/2-mount/025-mount_no_pw/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/030-mount_do_invalid_pw/description b/validation/test-cases/2-mount/030-mount_do_invalid_pw/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/030-mount_do_invalid_pw/description rename to validation/test-cases/2-mount/030-mount_do_invalid_pw/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/030-mount_do_invalid_pw/input.curl b/validation/test-cases/2-mount/030-mount_do_invalid_pw/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/030-mount_do_invalid_pw/input.curl rename to validation/test-cases/2-mount/030-mount_do_invalid_pw/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/030-mount_do_invalid_pw/output b/validation/test-cases/2-mount/030-mount_do_invalid_pw/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/030-mount_do_invalid_pw/output rename to validation/test-cases/2-mount/030-mount_do_invalid_pw/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/040-mount_do_valid/description b/validation/test-cases/2-mount/040-mount_do_valid/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/040-mount_do_valid/description rename to validation/test-cases/2-mount/040-mount_do_valid/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/040-mount_do_valid/input.curl b/validation/test-cases/2-mount/040-mount_do_valid/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/040-mount_do_valid/input.curl rename to validation/test-cases/2-mount/040-mount_do_valid/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/040-mount_do_valid/output b/validation/test-cases/2-mount/040-mount_do_valid/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/040-mount_do_valid/output rename to validation/test-cases/2-mount/040-mount_do_valid/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/050-mount_ask_while_mounted/description b/validation/test-cases/2-mount/050-mount_ask_while_mounted/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/050-mount_ask_while_mounted/description rename to validation/test-cases/2-mount/050-mount_ask_while_mounted/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/050-mount_ask_while_mounted/input.curl b/validation/test-cases/2-mount/050-mount_ask_while_mounted/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/050-mount_ask_while_mounted/input.curl rename to validation/test-cases/2-mount/050-mount_ask_while_mounted/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/050-mount_ask_while_mounted/output b/validation/test-cases/2-mount/050-mount_ask_while_mounted/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/050-mount_ask_while_mounted/output rename to validation/test-cases/2-mount/050-mount_ask_while_mounted/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/060-mount_do_while_mounted/description b/validation/test-cases/2-mount/060-mount_do_while_mounted/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/060-mount_do_while_mounted/description rename to validation/test-cases/2-mount/060-mount_do_while_mounted/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/060-mount_do_while_mounted/input.curl b/validation/test-cases/2-mount/060-mount_do_while_mounted/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/060-mount_do_while_mounted/input.curl rename to validation/test-cases/2-mount/060-mount_do_while_mounted/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/060-mount_do_while_mounted/output b/validation/test-cases/2-mount/060-mount_do_while_mounted/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/060-mount_do_while_mounted/output rename to validation/test-cases/2-mount/060-mount_do_while_mounted/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/070-umount_ask/description b/validation/test-cases/2-mount/070-umount_ask/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/070-umount_ask/description rename to validation/test-cases/2-mount/070-umount_ask/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/070-umount_ask/input.curl b/validation/test-cases/2-mount/070-umount_ask/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/070-umount_ask/input.curl rename to validation/test-cases/2-mount/070-umount_ask/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/070-umount_ask/output b/validation/test-cases/2-mount/070-umount_ask/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/070-umount_ask/output rename to validation/test-cases/2-mount/070-umount_ask/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/080-umount_do/description b/validation/test-cases/2-mount/080-umount_do/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/080-umount_do/description rename to validation/test-cases/2-mount/080-umount_do/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/080-umount_do/input.curl b/validation/test-cases/2-mount/080-umount_do/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/080-umount_do/input.curl rename to validation/test-cases/2-mount/080-umount_do/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/080-umount_do/output b/validation/test-cases/2-mount/080-umount_do/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/2-mount/080-umount_do/output rename to validation/test-cases/2-mount/080-umount_do/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/100-config_invalid_lang/description b/validation/test-cases/3-config/100-config_invalid_lang/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/100-config_invalid_lang/description rename to validation/test-cases/3-config/100-config_invalid_lang/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/100-config_invalid_lang/input.curl b/validation/test-cases/3-config/100-config_invalid_lang/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/100-config_invalid_lang/input.curl rename to validation/test-cases/3-config/100-config_invalid_lang/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/100-config_invalid_lang/output b/validation/test-cases/3-config/100-config_invalid_lang/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/100-config_invalid_lang/output rename to validation/test-cases/3-config/100-config_invalid_lang/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/110-config_invalid_ip/description b/validation/test-cases/3-config/110-config_invalid_ip/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/110-config_invalid_ip/description rename to validation/test-cases/3-config/110-config_invalid_ip/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/110-config_invalid_ip/input.curl b/validation/test-cases/3-config/110-config_invalid_ip/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/110-config_invalid_ip/input.curl rename to validation/test-cases/3-config/110-config_invalid_ip/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/110-config_invalid_ip/output b/validation/test-cases/3-config/110-config_invalid_ip/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/110-config_invalid_ip/output rename to validation/test-cases/3-config/110-config_invalid_ip/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/120-config_invalid_timeout/description b/validation/test-cases/3-config/120-config_invalid_timeout/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/120-config_invalid_timeout/description rename to validation/test-cases/3-config/120-config_invalid_timeout/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/120-config_invalid_timeout/input.curl b/validation/test-cases/3-config/120-config_invalid_timeout/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/120-config_invalid_timeout/input.curl rename to validation/test-cases/3-config/120-config_invalid_timeout/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/120-config_invalid_timeout/output b/validation/test-cases/3-config/120-config_invalid_timeout/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/120-config_invalid_timeout/output rename to validation/test-cases/3-config/120-config_invalid_timeout/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/500-config_valid/description b/validation/test-cases/3-config/500-config_valid/description similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/500-config_valid/description rename to validation/test-cases/3-config/500-config_valid/description diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/500-config_valid/input.curl b/validation/test-cases/3-config/500-config_valid/input.curl similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/500-config_valid/input.curl rename to validation/test-cases/3-config/500-config_valid/input.curl diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/500-config_valid/output b/validation/test-cases/3-config/500-config_valid/output similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/3-config/500-config_valid/output rename to validation/test-cases/3-config/500-config_valid/output diff --git a/cryptobox.conf.d/usr/share/cryptobox/test-cases/README b/validation/test-cases/README similarity index 100% rename from cryptobox.conf.d/usr/share/cryptobox/test-cases/README rename to validation/test-cases/README diff --git a/cryptobox.conf.d/usr/lib/cryptobox/validate.sh b/validation/validate.sh similarity index 71% rename from cryptobox.conf.d/usr/lib/cryptobox/validate.sh rename to validation/validate.sh index f5a2053..b5eb84e 100755 --- a/cryptobox.conf.d/usr/lib/cryptobox/validate.sh +++ b/validation/validate.sh @@ -1,19 +1,19 @@ #!/bin/sh # -# do a validation - ONLY FOR DEVELOPMENT! -# -# it will not work, if /var/www/report is read-only (as for a production cd) +# do a validation # # use "--help" for a list of possible actions # -# called by: -# - /var/www/cgi-bin/validate.sh for conducting validation tests -# set -eu -# parse config file -. /etc/cryptobox/cryptobox.conf +CB_ROOT_DIR=$(dirname $0)/.. +TEST_CASES_DIR=$CB_ROOT_DIR/validation/test-cases +# TODO: take care, that this file exists! (it is created during "upload", "diff" or "merge") +HOST_IP=192.168.0.23 +REPORT_DIR=/tmp/cryptobox-validation-$$ +REPORT_DIR=$CB_ROOT_DIR/validation/report +SUMMARY_TEMPLATE_DIR=$CB_ROOT_DIR/validation/templates function error_die() @@ -45,7 +45,7 @@ function do_series() { [ -d "$REPORT_DIR/$1" ] && rm -r "$REPORT_DIR/$1" mkdir -p "$REPORT_DIR/$1" - find "$TEST_CASES_DIR/$1" -type d -maxdepth 1 -mindepth 1 | grep -v "/\.\.*$" | sort | while read a + find "$TEST_CASES_DIR/$1" -type d -maxdepth 1 -mindepth 1 | grep -v "/\.[^/]*$" | sort | while read a do do_single "$a" "$REPORT_DIR/$1" done create_summary "$REPORT_DIR/$1" >"$REPORT_DIR/$1/summary.html" @@ -79,12 +79,32 @@ create_summary() } +import_style() +# get the stylesheet file and images +# change the stylesheet link +{ + [ -d "REPORT_DIR/img" ] && rm -r "$REPORT_DIR/img" + mkdir -p "$REPORT_DIR/img" + [ -e "$REPORT_DIR/cryptobox.css" ] && rm "$REPORT_DIR/cryptobox.css" + wget -q -O "$REPORT_DIR/cryptobox.css" http://$HOST_IP/cryptobox.css + # extract image file names + grep "url(img/" "$REPORT_DIR/cryptobox.css" | sed 's#^.*url(img/\(.*\)).*$#\1#' | while read a + do wget -q -O "$REPORT_DIR/img/$a" "http://$HOST_IP/img/$a" + done + + # change the stylesheet link in every html file in REPORT_DIR + find "$REPORT_DIR" -type f -name \*.html | while read a + do sed -i '#link rel="stylesheet"#s#href="/cryptobox.css"#href="../cryptobox.css"#g' "$a" + done +} + + ACTION="--help" [ $# -gt 0 ] && ACTION=$1 case "$ACTION" in list ) - find "$TEST_CASES_DIR" -type d -maxdepth 1 -mindepth 1 | grep -v "/\.\.*$" | sort | while read a + find "$TEST_CASES_DIR" -type d -maxdepth 1 -mindepth 1 | grep -v "/\.[^/]*$" | sort | while read a do echo $(basename "$a") done ;; @@ -93,6 +113,7 @@ case "$ACTION" in CASE_DIR="$TEST_CASES_DIR/$2" [ ! -d "$CASE_DIR" ] && error_die 2 "the test case was not found ($CASE_DIR)!" do_series "$2" + import_style ;; check_all ) "$0" list | sort | while read a