From 414492483141ac5a8a23817ced5e34ced5032b3b Mon Sep 17 00:00:00 2001 From: lars Date: Wed, 5 Oct 2005 00:51:03 +0000 Subject: [PATCH] first release: version 0.2 --- v0.2/README | 21 + .../_offline/doc/de/CryptoBox.html | 180 + .../_offline/doc/de/CryptoBoxDev.html | 92 + .../doc/de/CryptoBoxDevBackground.html | 109 + .../doc/de/CryptoBoxDevCustomBuild.html | 141 + .../doc/de/CryptoBoxDevCustomConfigure.html | 103 + .../doc/de/CryptoBoxDevKnownProblems.html | 79 + .../doc/de/CryptoBoxDevPreparation.html | 129 + .../doc/de/CryptoBoxDevValidation.html | 100 + .../_offline/doc/de/CryptoBoxDevWorkFlow.html | 188 ++ .../_offline/doc/de/CryptoBoxIntro.html | 62 + .../_offline/doc/de/CryptoBoxUser.html | 79 + .../doc/de/CryptoBoxUserConfiguration.html | 167 + .../doc/de/CryptoBoxUserDailyUse.html | 106 + .../doc/de/CryptoBoxUserGettingStarted.html | 116 + .../_offline/doc/de/doc_footer.inc | 6 + .../_offline/doc/de/doc_header.inc | 13 + v0.2/cbox-tree.d/_offline/doc/doc_footer.inc | 7 + v0.2/cbox-tree.d/_offline/doc/doc_header.inc | 17 + .../_offline/doc/en/CryptoBox.html | 180 + .../_offline/doc/en/CryptoBoxDev.html | 92 + .../doc/en/CryptoBoxDevBackground.html | 109 + .../doc/en/CryptoBoxDevCustomBuild.html | 141 + .../doc/en/CryptoBoxDevCustomConfigure.html | 103 + .../doc/en/CryptoBoxDevKnownProblems.html | 79 + .../doc/en/CryptoBoxDevPreparation.html | 129 + .../doc/en/CryptoBoxDevValidation.html | 100 + .../_offline/doc/en/CryptoBoxDevWorkFlow.html | 188 ++ .../_offline/doc/en/CryptoBoxIntro.html | 62 + .../_offline/doc/en/CryptoBoxUser.html | 79 + .../doc/en/CryptoBoxUserConfiguration.html | 165 + .../doc/en/CryptoBoxUserDailyUse.html | 105 + .../doc/en/CryptoBoxUserGettingStarted.html | 116 + .../_offline/doc/en/doc_footer.inc | 6 + .../_offline/doc/en/doc_header.inc | 13 + v0.2/cbox-tree.d/_offline/shellopn.exe | Bin 0 -> 23552 bytes v0.2/cbox-tree.d/_offline/shellopn.zip | Bin 0 -> 18785 bytes v0.2/cbox-tree.d/autorun.inf | 2 + v0.2/cbox-tree.d/etc/cron.d/cryptobox | 1 + v0.2/cbox-tree.d/etc/cryptobox/cryptobox.conf | 45 + v0.2/cbox-tree.d/etc/cryptobox/openssl.cnf | 65 + .../etc/init.d/cb-devel-features.sh | 26 + .../cbox-tree.d/etc/init.d/cb-mount-config.sh | 26 + v0.2/cbox-tree.d/etc/init.d/cb-network.sh | 26 + v0.2/cbox-tree.d/etc/init.d/cb-services.sh | 25 + .../etc/rc0.d/K10cb-devel-features | 1 + v0.2/cbox-tree.d/etc/rc0.d/K22cb-services | 1 + v0.2/cbox-tree.d/etc/rc0.d/K34cb-network | 1 + v0.2/cbox-tree.d/etc/rc0.d/K39cb-mount-config | 1 + v0.2/cbox-tree.d/etc/rc3.d/S98cb-services | 1 + .../etc/rc3.d/S99cb-devel-features | 1 + .../etc/rc6.d/K10cb-devel-features | 1 + v0.2/cbox-tree.d/etc/rc6.d/K22cb-services | 1 + v0.2/cbox-tree.d/etc/rc6.d/K34cb-network | 1 + v0.2/cbox-tree.d/etc/rc6.d/K39cb-mount-config | 1 + v0.2/cbox-tree.d/etc/rcS.d/S37cb-mount-config | 1 + v0.2/cbox-tree.d/etc/rcS.d/S38cb-network | 1 + v0.2/cbox-tree.d/etc/samba/smb.conf | 237 ++ v0.2/cbox-tree.d/mnt/crypto/info.txt | 1 + v0.2/cbox-tree.d/start.html | 11 + .../usr/lib/cryptobox/cbox-manage.sh | 481 +++ .../usr/lib/cryptobox/check_smb_idle.sh | 77 + .../usr/lib/cryptobox/chroot-start.sh | 47 + .../usr/lib/cryptobox/configure-cryptobox.sh | 120 + .../usr/lib/cryptobox/devel-features.sh | 70 + .../cbox-tree.d/usr/lib/cryptobox/firewall.sh | 55 + .../usr/lib/cryptobox/make_stunnel_cert.sh | 35 + v0.2/cbox-tree.d/usr/lib/perl5/ClearSilver.pm | 68 + .../usr/lib/perl5/auto/ClearSilver/.packlist | 4 + .../lib/perl5/auto/ClearSilver/ClearSilver.bs | 0 .../lib/perl5/auto/ClearSilver/ClearSilver.so | Bin 0 -> 394590 bytes .../usr/share/cryptobox/defaults/admin_pw | 0 .../usr/share/cryptobox/defaults/ip | 1 + .../usr/share/cryptobox/defaults/language | 1 + .../usr/share/cryptobox/defaults/timeout | 1 + .../cbox-tree.d/usr/share/cryptobox/lang/TODO | 2 + .../usr/share/cryptobox/lang/de.hdf | 213 ++ .../usr/share/cryptobox/lang/en.hdf | 213 ++ .../usr/share/cryptobox/lang/si.hdf | 213 ++ .../share/cryptobox/templates/config_form.cs | 29 + .../usr/share/cryptobox/templates/doc.cs | 5 + .../usr/share/cryptobox/templates/empty.cs | 1 + .../usr/share/cryptobox/templates/error.cs | 1 + .../usr/share/cryptobox/templates/footer.cs | 27 + .../usr/share/cryptobox/templates/header.cs | 41 + .../share/cryptobox/templates/init_form.cs | 32 + .../usr/share/cryptobox/templates/macros.cs | 91 + .../usr/share/cryptobox/templates/main.cs | 14 + .../share/cryptobox/templates/mount_form.cs | 13 + .../usr/share/cryptobox/templates/nav.cs | 20 + .../usr/share/cryptobox/templates/show_log.cs | 11 + .../cryptobox/templates/shutdown_form.cs | 17 + .../usr/share/cryptobox/templates/status.cs | 3 + .../share/cryptobox/templates/umount_form.cs | 10 + .../doc/cryptobox/html/de/CryptoBox.html | 137 + .../doc/cryptobox/html/de/CryptoBoxDev.html | 49 + .../html/de/CryptoBoxDevBackground.html | 66 + .../html/de/CryptoBoxDevCustomBuild.html | 98 + .../html/de/CryptoBoxDevCustomConfigure.html | 60 + .../html/de/CryptoBoxDevKnownProblems.html | 36 + .../html/de/CryptoBoxDevPreparation.html | 86 + .../html/de/CryptoBoxDevValidation.html | 57 + .../html/de/CryptoBoxDevWorkFlow.html | 145 + .../doc/cryptobox/html/de/CryptoBoxIntro.html | 19 + .../doc/cryptobox/html/de/CryptoBoxUser.html | 36 + .../html/de/CryptoBoxUserConfiguration.html | 124 + .../html/de/CryptoBoxUserDailyUse.html | 63 + .../html/de/CryptoBoxUserGettingStarted.html | 73 + .../doc/cryptobox/html/en/CryptoBox.html | 137 + .../doc/cryptobox/html/en/CryptoBoxDev.html | 49 + .../html/en/CryptoBoxDevBackground.html | 66 + .../html/en/CryptoBoxDevCustomBuild.html | 98 + .../html/en/CryptoBoxDevCustomConfigure.html | 60 + .../html/en/CryptoBoxDevKnownProblems.html | 36 + .../html/en/CryptoBoxDevPreparation.html | 86 + .../html/en/CryptoBoxDevValidation.html | 57 + .../html/en/CryptoBoxDevWorkFlow.html | 145 + .../doc/cryptobox/html/en/CryptoBoxIntro.html | 19 + .../doc/cryptobox/html/en/CryptoBoxUser.html | 36 + .../html/en/CryptoBoxUserConfiguration.html | 122 + .../html/en/CryptoBoxUserDailyUse.html | 62 + .../html/en/CryptoBoxUserGettingStarted.html | 73 + .../cryptobox/html/en/hints/confirm_text.html | 2 + .../cryptobox/html/en/hints/crypto_pw.html | 10 + .../html/en/hints/crypto_pw_repeat.html | 2 + .../cryptobox/html/en/hints/new_admin_pw.html | 5 + .../html/en/hints/new_admin_pw_repeat.html | 3 + .../html/en/hints/prove_admin_pw.html | 3 + .../html/en/hints/set_ip_address.html | 2 + .../cryptobox/html/en/hints/set_language.html | 3 + .../cryptobox/html/en/hints/set_timeout.html | 3 + v0.2/cbox-tree.d/var/www/cgi-bin/cryptobox.pl | 599 ++++ v0.2/cbox-tree.d/var/www/cryptobox | 1 + .../var/www/cryptobox-img/antlogo100px.png | Bin 0 -> 9478 bytes .../var/www/cryptobox-img/backg.gif | Bin 0 -> 13018 bytes .../var/www/cryptobox-img/list.gif | Bin 0 -> 51 bytes .../var/www/cryptobox-img/smile.png | Bin 0 -> 356 bytes .../var/www/cryptobox-img/smile4.png | Bin 0 -> 275 bytes .../var/www/cryptobox-img/somerights20.gif | Bin 0 -> 1835 bytes v0.2/cbox-tree.d/var/www/cryptobox.css | 364 +++ v0.2/cbox-tree.d/var/www/errors/err404.html | 27 + v0.2/cbox-tree.d/var/www/favicon.ico | Bin 0 -> 3638 bytes v0.2/cbox-tree.d/var/www/index.html | 1 + v0.2/configure-examples.d/README | 35 + .../import_authorized_keys | 19 + v0.2/configure-examples.d/set_default_ip | 3 + .../configure-examples.d/set_default_language | 3 + v0.2/configure-examples.d/set_default_timeout | 5 + v0.2/configure-examples.d/set_hostname | 3 + v0.2/configure-examples.d/set_root_pw | 10 + v0.2/configure-examples.d/set_scan_devices | 3 + v0.2/cover/antlogo-big.png | Bin 0 -> 53154 bytes v0.2/cover/antlogo-small.png | Bin 0 -> 7190 bytes v0.2/cover/cover.pdf | Bin 0 -> 110839 bytes v0.2/cover/cover.sxw | Bin 0 -> 132352 bytes v0.2/etc-defaults.d/README | 4 + v0.2/etc-defaults.d/cbox-dev.conf | 50 + v0.2/etc-defaults.d/dfs-cbox.conf | 240 ++ v0.2/etc-defaults.d/qemu-ifup | 57 + v0.2/etc-defaults.d/qemu-ifup.default | 55 + v0.2/etc-defaults.d/ssh-options.default | 17 + v0.2/etc-defaults.d/ssh_config | 17 + v0.2/etc-defaults.d/userdocexport.sh | 22 + v0.2/hints/dev-requirements | 5 + v0.2/hints/install_clearsilver.txt | 26 + v0.2/hints/release-policy.txt | 16 + v0.2/hints/starting_uml.txt | 7 + v0.2/kernel/config-2.6.11 | 1246 +++++++ v0.2/kernel/info.txt | 3 + .../kernel-image-2.6.11_cryptobox.1_i386.deb | Bin 0 -> 2374300 bytes v0.2/kernel/uml-kernel-2.6.12.3-cryptobox | Bin 0 -> 3239616 bytes v0.2/logo/ameisenkopp.svg | 2883 +++++++++++++++++ v0.2/logo/antlogo100px.png | Bin 0 -> 7318 bytes v0.2/logo/boesetest.svg | 392 +++ v0.2/logo/bubblebutton.svg | 774 +++++ v0.2/logo/entwurf.svg | 945 ++++++ v0.2/logo/evil_stick.png | Bin 0 -> 18297 bytes v0.2/logo/evil_stick.svg | 811 +++++ v0.2/logo/evil_stick2.png | Bin 0 -> 17008 bytes v0.2/logo/evil_stick2.svg | 820 +++++ v0.2/logo/evil_stick3.png | Bin 0 -> 17744 bytes v0.2/logo/evil_stick3.svg | 909 ++++++ v0.2/logo/vault_pingu_gross.png | Bin 0 -> 93838 bytes v0.2/logo/vault_pingu_uncut.png | Bin 0 -> 121097 bytes v0.2/scripts/cbox-build.sh | 181 ++ v0.2/scripts/cbox-dev.sh | 158 + v0.2/scripts/common.sh.inc | 61 + v0.2/scripts/show_TODO.sh | 3 + v0.2/scripts/userdocexport.sh | 115 + v0.2/scripts/validate.sh | 141 + v0.2/validation/templates/README | 17 + v0.2/validation/templates/footer | 12 + v0.2/validation/templates/header | 25 + v0.2/validation/templates/result-error | 1 + v0.2/validation/templates/result-ok | 1 + v0.2/validation/templates/single_footer | 2 + v0.2/validation/templates/single_header | 5 + .../test-cases/1-init/000-main/description | 1 + .../test-cases/1-init/000-main/input.curl | 2 + .../test-cases/1-init/000-main/output | 7 + .../test-cases/1-init/003-no_ssl/description | 1 + .../test-cases/1-init/003-no_ssl/input.curl | 2 + .../test-cases/1-init/003-no_ssl/output | 7 + .../1-init/005-file_not_found_404/description | 1 + .../1-init/005-file_not_found_404/input.curl | 2 + .../1-init/005-file_not_found_404/output | 0 .../1-init/007-index_url/description | 1 + .../1-init/007-index_url/input.curl | 2 + .../test-cases/1-init/007-index_url/output | 7 + .../1-init/010-init_ask/description | 1 + .../test-cases/1-init/010-init_ask/input.curl | 3 + .../test-cases/1-init/010-init_ask/output | 7 + .../1-init/020-init_empty_pw/description | 1 + .../1-init/020-init_empty_pw/input.curl | 6 + .../1-init/020-init_empty_pw/output | 7 + .../1-init/030-init_different_pw/description | 1 + .../1-init/030-init_different_pw/input.curl | 6 + .../1-init/030-init_different_pw/output | 7 + .../040-init_wrong_confirmation/description | 1 + .../040-init_wrong_confirmation/input.curl | 6 + .../1-init/040-init_wrong_confirmation/output | 7 + .../050-mount_ask_before_init/description | 1 + .../050-mount_ask_before_init/input.curl | 3 + .../1-init/050-mount_ask_before_init/output | 7 + .../060-mount_do_before_init/description | 1 + .../060-mount_do_before_init/input.curl | 4 + .../1-init/060-mount_do_before_init/output | 7 + .../070-umount_ask_before_init/description | 1 + .../070-umount_ask_before_init/input.curl | 3 + .../1-init/070-umount_ask_before_init/output | 7 + .../080-umount_do_before_init/description | 1 + .../080-umount_do_before_init/input.curl | 3 + .../1-init/080-umount_do_before_init/output | 7 + .../090-config_ask_before_init/description | 1 + .../090-config_ask_before_init/input.curl | 3 + .../1-init/090-config_ask_before_init/output | 7 + .../100-config_do_before_init/description | 1 + .../100-config_do_before_init/input.curl | 6 + .../1-init/100-config_do_before_init/output | 7 + .../1-init/105-status_before_init/description | 1 + .../1-init/105-status_before_init/input.curl | 3 + .../1-init/105-status_before_init/output | 7 + .../1-init/110-init_valid/description | 1 + .../1-init/110-init_valid/input.curl | 6 + .../test-cases/1-init/110-init_valid/output | 7 + .../120-mount_ask_during_init/description | 1 + .../120-mount_ask_during_init/input.curl | 3 + .../1-init/120-mount_ask_during_init/output | 7 + .../130-mount_do_during_init/description | 1 + .../130-mount_do_during_init/input.curl | 4 + .../1-init/130-mount_do_during_init/output | 7 + .../140-umount_ask_during_init/description | 1 + .../140-umount_ask_during_init/input.curl | 3 + .../1-init/140-umount_ask_during_init/output | 7 + .../150-umount_do_during_init/description | 1 + .../150-umount_do_during_init/input.curl | 3 + .../1-init/150-umount_do_during_init/output | 7 + .../160-config_ask_during_init/description | 1 + .../160-config_ask_during_init/input.curl | 3 + .../1-init/160-config_ask_during_init/output | 7 + .../170-config_do_during_init/description | 1 + .../170-config_do_during_init/input.curl | 6 + .../1-init/170-config_do_during_init/output | 7 + .../180-init_ask_during_init/description | 1 + .../180-init_ask_during_init/input.curl | 3 + .../1-init/180-init_ask_during_init/output | 7 + .../1-init/190-init_do_during_init/delay | 1 + .../190-init_do_during_init/description | 1 + .../1-init/190-init_do_during_init/input.curl | 6 + .../1-init/190-init_do_during_init/output | 7 + .../1-init/200-status_during_init/description | 1 + .../1-init/200-status_during_init/input.curl | 3 + .../1-init/200-status_during_init/output | 7 + .../900-reset_configuration/description | 1 + .../1-init/900-reset_configuration/input.curl | 6 + .../1-init/900-reset_configuration/output | 7 + .../2-mount/010-mount_ask/description | 1 + .../2-mount/010-mount_ask/input.curl | 3 + .../test-cases/2-mount/010-mount_ask/output | 7 + .../2-mount/020-mount_empty_pw/description | 1 + .../2-mount/020-mount_empty_pw/input.curl | 4 + .../2-mount/020-mount_empty_pw/output | 7 + .../2-mount/025-mount_no_pw/description | 1 + .../2-mount/025-mount_no_pw/input.curl | 3 + .../test-cases/2-mount/025-mount_no_pw/output | 7 + .../030-mount_do_invalid_pw/description | 1 + .../030-mount_do_invalid_pw/input.curl | 4 + .../2-mount/030-mount_do_invalid_pw/output | 7 + .../2-mount/040-mount_do_valid/description | 1 + .../2-mount/040-mount_do_valid/input.curl | 4 + .../2-mount/040-mount_do_valid/output | 7 + .../050-mount_ask_while_mounted/description | 1 + .../050-mount_ask_while_mounted/input.curl | 3 + .../050-mount_ask_while_mounted/output | 7 + .../060-mount_do_while_mounted/description | 1 + .../060-mount_do_while_mounted/input.curl | 4 + .../2-mount/060-mount_do_while_mounted/output | 7 + .../2-mount/070-umount_ask/description | 1 + .../2-mount/070-umount_ask/input.curl | 3 + .../test-cases/2-mount/070-umount_ask/output | 7 + .../2-mount/080-umount_do/description | 1 + .../2-mount/080-umount_do/input.curl | 3 + .../test-cases/2-mount/080-umount_do/output | 7 + .../100-config_invalid_lang/description | 1 + .../100-config_invalid_lang/input.curl | 6 + .../3-config/100-config_invalid_lang/output | 7 + .../110-config_invalid_ip/description | 1 + .../3-config/110-config_invalid_ip/input.curl | 6 + .../3-config/110-config_invalid_ip/output | 7 + .../120-config_invalid_timeout/description | 1 + .../120-config_invalid_timeout/input.curl | 6 + .../120-config_invalid_timeout/output | 7 + .../3-config/500-config_valid/delay | 1 + .../3-config/500-config_valid/description | 1 + .../3-config/500-config_valid/input.curl | 6 + .../3-config/500-config_valid/output | 7 + .../3-config/510-config-restore/delay | 1 + .../3-config/510-config-restore/description | 1 + .../3-config/510-config-restore/input.curl | 6 + .../3-config/510-config-restore/output | 7 + .../010-init_different_admin_pw/description | 1 + .../010-init_different_admin_pw/input.curl | 8 + .../010-init_different_admin_pw/output | 7 + .../4-admin_pw/020-init_with_admin_pw/delay | 1 + .../020-init_with_admin_pw/description | 1 + .../020-init_with_admin_pw/input.curl | 8 + .../4-admin_pw/020-init_with_admin_pw/output | 7 + .../050-config_wrong_admin_pw/description | 1 + .../050-config_wrong_admin_pw/input.curl | 8 + .../050-config_wrong_admin_pw/output | 7 + .../060-config_right_admin_pw/delay | 1 + .../060-config_right_admin_pw/description | 1 + .../060-config_right_admin_pw/input.curl | 7 + .../060-config_right_admin_pw/output | 7 + .../070-init_wrong_admin_pw/description | 1 + .../070-init_wrong_admin_pw/input.curl | 9 + .../4-admin_pw/070-init_wrong_admin_pw/output | 7 + .../4-admin_pw/200-init_remove_admin_pw/delay | 1 + .../200-init_remove_admin_pw/description | 1 + .../200-init_remove_admin_pw/input.curl | 7 + .../200-init_remove_admin_pw/output | 7 + .../test-cases/5-misc/010-logfile/description | 1 + .../test-cases/5-misc/010-logfile/input.curl | 3 + .../test-cases/5-misc/010-logfile/output | 7 + .../5-misc/020-docpage-first/description | 1 + .../5-misc/020-docpage-first/input.curl | 3 + .../5-misc/020-docpage-first/output | 7 + .../5-misc/030-docpage-another/description | 1 + .../5-misc/030-docpage-another/input.curl | 4 + .../5-misc/030-docpage-another/output | 7 + v0.2/validation/test-cases/README | 8 + 351 files changed, 19614 insertions(+) create mode 100644 v0.2/README create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBox.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDev.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevBackground.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomBuild.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomConfigure.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevKnownProblems.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevPreparation.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevValidation.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevWorkFlow.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxIntro.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUser.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserConfiguration.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserDailyUse.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserGettingStarted.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/doc_footer.inc create mode 100644 v0.2/cbox-tree.d/_offline/doc/de/doc_header.inc create mode 100644 v0.2/cbox-tree.d/_offline/doc/doc_footer.inc create mode 100644 v0.2/cbox-tree.d/_offline/doc/doc_header.inc create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBox.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDev.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevBackground.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomBuild.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomConfigure.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevKnownProblems.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevPreparation.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevValidation.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevWorkFlow.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxIntro.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUser.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserConfiguration.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserDailyUse.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserGettingStarted.html create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/doc_footer.inc create mode 100644 v0.2/cbox-tree.d/_offline/doc/en/doc_header.inc create mode 100644 v0.2/cbox-tree.d/_offline/shellopn.exe create mode 100644 v0.2/cbox-tree.d/_offline/shellopn.zip create mode 100644 v0.2/cbox-tree.d/autorun.inf create mode 100644 v0.2/cbox-tree.d/etc/cron.d/cryptobox create mode 100644 v0.2/cbox-tree.d/etc/cryptobox/cryptobox.conf create mode 100644 v0.2/cbox-tree.d/etc/cryptobox/openssl.cnf create mode 100755 v0.2/cbox-tree.d/etc/init.d/cb-devel-features.sh create mode 100755 v0.2/cbox-tree.d/etc/init.d/cb-mount-config.sh create mode 100755 v0.2/cbox-tree.d/etc/init.d/cb-network.sh create mode 100755 v0.2/cbox-tree.d/etc/init.d/cb-services.sh create mode 120000 v0.2/cbox-tree.d/etc/rc0.d/K10cb-devel-features create mode 120000 v0.2/cbox-tree.d/etc/rc0.d/K22cb-services create mode 120000 v0.2/cbox-tree.d/etc/rc0.d/K34cb-network create mode 120000 v0.2/cbox-tree.d/etc/rc0.d/K39cb-mount-config create mode 120000 v0.2/cbox-tree.d/etc/rc3.d/S98cb-services create mode 120000 v0.2/cbox-tree.d/etc/rc3.d/S99cb-devel-features create mode 120000 v0.2/cbox-tree.d/etc/rc6.d/K10cb-devel-features create mode 120000 v0.2/cbox-tree.d/etc/rc6.d/K22cb-services create mode 120000 v0.2/cbox-tree.d/etc/rc6.d/K34cb-network create mode 120000 v0.2/cbox-tree.d/etc/rc6.d/K39cb-mount-config create mode 120000 v0.2/cbox-tree.d/etc/rcS.d/S37cb-mount-config create mode 120000 v0.2/cbox-tree.d/etc/rcS.d/S38cb-network create mode 100644 v0.2/cbox-tree.d/etc/samba/smb.conf create mode 100644 v0.2/cbox-tree.d/mnt/crypto/info.txt create mode 100644 v0.2/cbox-tree.d/start.html create mode 100755 v0.2/cbox-tree.d/usr/lib/cryptobox/cbox-manage.sh create mode 100755 v0.2/cbox-tree.d/usr/lib/cryptobox/check_smb_idle.sh create mode 100755 v0.2/cbox-tree.d/usr/lib/cryptobox/chroot-start.sh create mode 100755 v0.2/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh create mode 100755 v0.2/cbox-tree.d/usr/lib/cryptobox/devel-features.sh create mode 100755 v0.2/cbox-tree.d/usr/lib/cryptobox/firewall.sh create mode 100755 v0.2/cbox-tree.d/usr/lib/cryptobox/make_stunnel_cert.sh create mode 100644 v0.2/cbox-tree.d/usr/lib/perl5/ClearSilver.pm create mode 100644 v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/.packlist create mode 100644 v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.bs create mode 100755 v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.so create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/defaults/admin_pw create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/defaults/ip create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/defaults/language create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/defaults/timeout create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/lang/TODO create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/lang/de.hdf create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/lang/en.hdf create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/lang/si.hdf create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/config_form.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/doc.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/empty.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/error.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/footer.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/header.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/init_form.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/macros.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/main.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/mount_form.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/nav.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/show_log.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/shutdown_form.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/status.cs create mode 100644 v0.2/cbox-tree.d/usr/share/cryptobox/templates/umount_form.cs create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBox.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDev.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevBackground.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomBuild.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomConfigure.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevKnownProblems.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevPreparation.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevValidation.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevWorkFlow.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxIntro.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUser.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserConfiguration.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserDailyUse.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserGettingStarted.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBox.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDev.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevBackground.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomBuild.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomConfigure.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevKnownProblems.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevPreparation.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevValidation.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevWorkFlow.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxIntro.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUser.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserConfiguration.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserDailyUse.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserGettingStarted.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/confirm_text.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw_repeat.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw_repeat.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/prove_admin_pw.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_ip_address.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_language.html create mode 100644 v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_timeout.html create mode 100755 v0.2/cbox-tree.d/var/www/cgi-bin/cryptobox.pl create mode 120000 v0.2/cbox-tree.d/var/www/cryptobox create mode 100644 v0.2/cbox-tree.d/var/www/cryptobox-img/antlogo100px.png create mode 100644 v0.2/cbox-tree.d/var/www/cryptobox-img/backg.gif create mode 100644 v0.2/cbox-tree.d/var/www/cryptobox-img/list.gif create mode 100644 v0.2/cbox-tree.d/var/www/cryptobox-img/smile.png create mode 100644 v0.2/cbox-tree.d/var/www/cryptobox-img/smile4.png create mode 100644 v0.2/cbox-tree.d/var/www/cryptobox-img/somerights20.gif create mode 100644 v0.2/cbox-tree.d/var/www/cryptobox.css create mode 100644 v0.2/cbox-tree.d/var/www/errors/err404.html create mode 100644 v0.2/cbox-tree.d/var/www/favicon.ico create mode 120000 v0.2/cbox-tree.d/var/www/index.html create mode 100644 v0.2/configure-examples.d/README create mode 100644 v0.2/configure-examples.d/import_authorized_keys create mode 100644 v0.2/configure-examples.d/set_default_ip create mode 100644 v0.2/configure-examples.d/set_default_language create mode 100644 v0.2/configure-examples.d/set_default_timeout create mode 100644 v0.2/configure-examples.d/set_hostname create mode 100644 v0.2/configure-examples.d/set_root_pw create mode 100644 v0.2/configure-examples.d/set_scan_devices create mode 100644 v0.2/cover/antlogo-big.png create mode 100644 v0.2/cover/antlogo-small.png create mode 100644 v0.2/cover/cover.pdf create mode 100644 v0.2/cover/cover.sxw create mode 100644 v0.2/etc-defaults.d/README create mode 100644 v0.2/etc-defaults.d/cbox-dev.conf create mode 100644 v0.2/etc-defaults.d/dfs-cbox.conf create mode 100755 v0.2/etc-defaults.d/qemu-ifup create mode 100755 v0.2/etc-defaults.d/qemu-ifup.default create mode 100644 v0.2/etc-defaults.d/ssh-options.default create mode 100644 v0.2/etc-defaults.d/ssh_config create mode 100755 v0.2/etc-defaults.d/userdocexport.sh create mode 100644 v0.2/hints/dev-requirements create mode 100644 v0.2/hints/install_clearsilver.txt create mode 100644 v0.2/hints/release-policy.txt create mode 100644 v0.2/hints/starting_uml.txt create mode 100644 v0.2/kernel/config-2.6.11 create mode 100644 v0.2/kernel/info.txt create mode 100644 v0.2/kernel/kernel-image-2.6.11_cryptobox.1_i386.deb create mode 100755 v0.2/kernel/uml-kernel-2.6.12.3-cryptobox create mode 100644 v0.2/logo/ameisenkopp.svg create mode 100644 v0.2/logo/antlogo100px.png create mode 100644 v0.2/logo/boesetest.svg create mode 100644 v0.2/logo/bubblebutton.svg create mode 100644 v0.2/logo/entwurf.svg create mode 100644 v0.2/logo/evil_stick.png create mode 100644 v0.2/logo/evil_stick.svg create mode 100644 v0.2/logo/evil_stick2.png create mode 100644 v0.2/logo/evil_stick2.svg create mode 100644 v0.2/logo/evil_stick3.png create mode 100644 v0.2/logo/evil_stick3.svg create mode 100644 v0.2/logo/vault_pingu_gross.png create mode 100644 v0.2/logo/vault_pingu_uncut.png create mode 100755 v0.2/scripts/cbox-build.sh create mode 100755 v0.2/scripts/cbox-dev.sh create mode 100644 v0.2/scripts/common.sh.inc create mode 100755 v0.2/scripts/show_TODO.sh create mode 100755 v0.2/scripts/userdocexport.sh create mode 100755 v0.2/scripts/validate.sh create mode 100644 v0.2/validation/templates/README create mode 100644 v0.2/validation/templates/footer create mode 100644 v0.2/validation/templates/header create mode 100644 v0.2/validation/templates/result-error create mode 100644 v0.2/validation/templates/result-ok create mode 100644 v0.2/validation/templates/single_footer create mode 100644 v0.2/validation/templates/single_header create mode 100644 v0.2/validation/test-cases/1-init/000-main/description create mode 100644 v0.2/validation/test-cases/1-init/000-main/input.curl create mode 100644 v0.2/validation/test-cases/1-init/000-main/output create mode 100644 v0.2/validation/test-cases/1-init/003-no_ssl/description create mode 100644 v0.2/validation/test-cases/1-init/003-no_ssl/input.curl create mode 100644 v0.2/validation/test-cases/1-init/003-no_ssl/output create mode 100644 v0.2/validation/test-cases/1-init/005-file_not_found_404/description create mode 100644 v0.2/validation/test-cases/1-init/005-file_not_found_404/input.curl create mode 100644 v0.2/validation/test-cases/1-init/005-file_not_found_404/output create mode 100644 v0.2/validation/test-cases/1-init/007-index_url/description create mode 100644 v0.2/validation/test-cases/1-init/007-index_url/input.curl create mode 100644 v0.2/validation/test-cases/1-init/007-index_url/output create mode 100644 v0.2/validation/test-cases/1-init/010-init_ask/description create mode 100644 v0.2/validation/test-cases/1-init/010-init_ask/input.curl create mode 100644 v0.2/validation/test-cases/1-init/010-init_ask/output create mode 100644 v0.2/validation/test-cases/1-init/020-init_empty_pw/description create mode 100644 v0.2/validation/test-cases/1-init/020-init_empty_pw/input.curl create mode 100644 v0.2/validation/test-cases/1-init/020-init_empty_pw/output create mode 100644 v0.2/validation/test-cases/1-init/030-init_different_pw/description create mode 100644 v0.2/validation/test-cases/1-init/030-init_different_pw/input.curl create mode 100644 v0.2/validation/test-cases/1-init/030-init_different_pw/output create mode 100644 v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/description create mode 100644 v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/input.curl create mode 100644 v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/output create mode 100644 v0.2/validation/test-cases/1-init/050-mount_ask_before_init/description create mode 100644 v0.2/validation/test-cases/1-init/050-mount_ask_before_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/050-mount_ask_before_init/output create mode 100644 v0.2/validation/test-cases/1-init/060-mount_do_before_init/description create mode 100644 v0.2/validation/test-cases/1-init/060-mount_do_before_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/060-mount_do_before_init/output create mode 100644 v0.2/validation/test-cases/1-init/070-umount_ask_before_init/description create mode 100644 v0.2/validation/test-cases/1-init/070-umount_ask_before_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/070-umount_ask_before_init/output create mode 100644 v0.2/validation/test-cases/1-init/080-umount_do_before_init/description create mode 100644 v0.2/validation/test-cases/1-init/080-umount_do_before_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/080-umount_do_before_init/output create mode 100644 v0.2/validation/test-cases/1-init/090-config_ask_before_init/description create mode 100644 v0.2/validation/test-cases/1-init/090-config_ask_before_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/090-config_ask_before_init/output create mode 100644 v0.2/validation/test-cases/1-init/100-config_do_before_init/description create mode 100644 v0.2/validation/test-cases/1-init/100-config_do_before_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/100-config_do_before_init/output create mode 100644 v0.2/validation/test-cases/1-init/105-status_before_init/description create mode 100644 v0.2/validation/test-cases/1-init/105-status_before_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/105-status_before_init/output create mode 100644 v0.2/validation/test-cases/1-init/110-init_valid/description create mode 100644 v0.2/validation/test-cases/1-init/110-init_valid/input.curl create mode 100644 v0.2/validation/test-cases/1-init/110-init_valid/output create mode 100644 v0.2/validation/test-cases/1-init/120-mount_ask_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/120-mount_ask_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/120-mount_ask_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/130-mount_do_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/130-mount_do_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/130-mount_do_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/140-umount_ask_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/140-umount_ask_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/140-umount_ask_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/150-umount_do_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/150-umount_do_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/150-umount_do_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/160-config_ask_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/160-config_ask_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/160-config_ask_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/170-config_do_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/170-config_do_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/170-config_do_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/180-init_ask_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/180-init_ask_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/180-init_ask_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/190-init_do_during_init/delay create mode 100644 v0.2/validation/test-cases/1-init/190-init_do_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/190-init_do_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/190-init_do_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/200-status_during_init/description create mode 100644 v0.2/validation/test-cases/1-init/200-status_during_init/input.curl create mode 100644 v0.2/validation/test-cases/1-init/200-status_during_init/output create mode 100644 v0.2/validation/test-cases/1-init/900-reset_configuration/description create mode 100644 v0.2/validation/test-cases/1-init/900-reset_configuration/input.curl create mode 100644 v0.2/validation/test-cases/1-init/900-reset_configuration/output create mode 100644 v0.2/validation/test-cases/2-mount/010-mount_ask/description create mode 100644 v0.2/validation/test-cases/2-mount/010-mount_ask/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/010-mount_ask/output create mode 100644 v0.2/validation/test-cases/2-mount/020-mount_empty_pw/description create mode 100644 v0.2/validation/test-cases/2-mount/020-mount_empty_pw/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/020-mount_empty_pw/output create mode 100644 v0.2/validation/test-cases/2-mount/025-mount_no_pw/description create mode 100644 v0.2/validation/test-cases/2-mount/025-mount_no_pw/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/025-mount_no_pw/output create mode 100644 v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/description create mode 100644 v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/output create mode 100644 v0.2/validation/test-cases/2-mount/040-mount_do_valid/description create mode 100644 v0.2/validation/test-cases/2-mount/040-mount_do_valid/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/040-mount_do_valid/output create mode 100644 v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/description create mode 100644 v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/output create mode 100644 v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/description create mode 100644 v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/output create mode 100644 v0.2/validation/test-cases/2-mount/070-umount_ask/description create mode 100644 v0.2/validation/test-cases/2-mount/070-umount_ask/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/070-umount_ask/output create mode 100644 v0.2/validation/test-cases/2-mount/080-umount_do/description create mode 100644 v0.2/validation/test-cases/2-mount/080-umount_do/input.curl create mode 100644 v0.2/validation/test-cases/2-mount/080-umount_do/output create mode 100644 v0.2/validation/test-cases/3-config/100-config_invalid_lang/description create mode 100644 v0.2/validation/test-cases/3-config/100-config_invalid_lang/input.curl create mode 100644 v0.2/validation/test-cases/3-config/100-config_invalid_lang/output create mode 100644 v0.2/validation/test-cases/3-config/110-config_invalid_ip/description create mode 100644 v0.2/validation/test-cases/3-config/110-config_invalid_ip/input.curl create mode 100644 v0.2/validation/test-cases/3-config/110-config_invalid_ip/output create mode 100644 v0.2/validation/test-cases/3-config/120-config_invalid_timeout/description create mode 100644 v0.2/validation/test-cases/3-config/120-config_invalid_timeout/input.curl create mode 100644 v0.2/validation/test-cases/3-config/120-config_invalid_timeout/output create mode 100644 v0.2/validation/test-cases/3-config/500-config_valid/delay create mode 100644 v0.2/validation/test-cases/3-config/500-config_valid/description create mode 100644 v0.2/validation/test-cases/3-config/500-config_valid/input.curl create mode 100644 v0.2/validation/test-cases/3-config/500-config_valid/output create mode 100644 v0.2/validation/test-cases/3-config/510-config-restore/delay create mode 100644 v0.2/validation/test-cases/3-config/510-config-restore/description create mode 100644 v0.2/validation/test-cases/3-config/510-config-restore/input.curl create mode 100644 v0.2/validation/test-cases/3-config/510-config-restore/output create mode 100644 v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/description create mode 100644 v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/input.curl create mode 100644 v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/output create mode 100644 v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/delay create mode 100644 v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/description create mode 100644 v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/input.curl create mode 100644 v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/output create mode 100644 v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/description create mode 100644 v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/input.curl create mode 100644 v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/output create mode 100644 v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/delay create mode 100644 v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/description create mode 100644 v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/input.curl create mode 100644 v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/output create mode 100644 v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/description create mode 100644 v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/input.curl create mode 100644 v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/output create mode 100644 v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/delay create mode 100644 v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/description create mode 100644 v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/input.curl create mode 100644 v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/output create mode 100644 v0.2/validation/test-cases/5-misc/010-logfile/description create mode 100644 v0.2/validation/test-cases/5-misc/010-logfile/input.curl create mode 100644 v0.2/validation/test-cases/5-misc/010-logfile/output create mode 100644 v0.2/validation/test-cases/5-misc/020-docpage-first/description create mode 100644 v0.2/validation/test-cases/5-misc/020-docpage-first/input.curl create mode 100644 v0.2/validation/test-cases/5-misc/020-docpage-first/output create mode 100644 v0.2/validation/test-cases/5-misc/030-docpage-another/description create mode 100644 v0.2/validation/test-cases/5-misc/030-docpage-another/input.curl create mode 100644 v0.2/validation/test-cases/5-misc/030-docpage-another/output create mode 100644 v0.2/validation/test-cases/README diff --git a/v0.2/README b/v0.2/README new file mode 100644 index 0000000..1b83811 --- /dev/null +++ b/v0.2/README @@ -0,0 +1,21 @@ +TODO: write a good README :) + +1) Documentation +The documentation is available at https://systemausfall.org/toolforge/CryptoBox + +2) Building a LiveCD +try: "scripts/cbox-build.sh release" +or look at the developer's documentation: https://systemausfall.org/toolforge/CryptoBoxDev + +3) Bug reporting +Use our issue tracker at https://systemausfall.org/trac/cryptobox + +4) Licence +All scripts are GPL code (v2.0 or above). +The documentation is licenced under "Creative Commons 2.0 non-commercial share-alike" (http://creativecommons.org/licenses/by-nc-sa/2.0/) + +5) Contributors +Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation + +6) Contact +email us: cryptobox@systemausfall.org diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBox.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBox.html new file mode 100644 index 0000000..434eb89 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBox.html @@ -0,0 +1,180 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Neuigkeiten +
  2. + +
  3. +Überblick +
  4. + +
  5. +Spezifikationen +
  6. + +
  7. +Nutzung +
  8. + +
  9. +Mitmachen +
  10. + +
  11. +Rechtliches +
  12. + +
+

+
+

+

unter CryptoBoxIntro/de findest du einen sehr kurzen Überblick

+ +

Neuigkeiten

+ +

Das erste Release der CryptoBox wird im Oktober bei http://codecoop.org/projects/cryptobox/ verfügbar sein.

+ +

Überblick

+ +

Die CryptoBox ist eine Live-CD mit der sich jeder alte Rechner in Sekundenschnelle in einen verschlüsselnden Server umwandeln lässt. Damit kannst du sensible Daten speichern, ohne dass du etwas über Kryptografie wissen musst.

+

Die Dokumentation der CryptoBox ist bisher in folgenden Sprachen verfügbar:

+ +

Wir freuen uns über weitere Übersetzugen :)

+ +

Spezifikationen

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+

System

+
+

Debian/Linux basierte Live-CD

+
+

benötigter Computer

+
+

"ausrangierter" PC (i386 ab p1 mind. 32MB RAM)

+
+

unterstützte Clients

+
+

*nix; *bsd; Windows; Mac OS

+
+

interner Fileserver

+
+

samba (Netzwerkfreigaben)

+
+

Benutzerschnittstelle

+
+

per Browser bedienbares Web-Interface

+
+

Verschlüsselung

+
+

AES via device-mapper

+
+
+

Das Web-Interface der CryptoBox ünterstützt derzeit folgende Sprachen:

+
    +
  • deutsch

    +
  • +
  • englisch

    +
  • +
  • slowenisch

    +
  • +
+

Du kannst gern weitere Übersetzungen in andere Sprachen hinzufügen (idealerweise utf-encodiert).

+ +

Nutzung

+ +

Das Nutzerhandbuch ist unter CryptoBoxUser/de verfügbar.

+ +

Mitmachen

+ +

Beteilige dich an der Entwicklung der CryptoBox und werde reich und schön! ;)
+ Nee im Ernst, wir freuen uns über jeden partizipierenden Menschen. Du wirst in einem entspannten Team reichlich Erfahrungen sammeln, eine nützliche Sache voranbringen und - wer weiß - vielleicht macht dich das auch schön. Schreib eine Mail an cryptobox[at]systemausfall.org und hab Spaß.

+

Fehler kannst du in unserer Fehlerdatenbank eintragen.

+

Die Entwickler-Doku findest du unter CryptoBoxDev (bisher nur englisch).

+ +

Rechtliches

+ +
    +
  1. Alle Skripte unterliegen der GPL - sie sind also quasi vollständig frei.

    +
  2. +
  3. Die Dokumentation unterliegt einer Creative Commons-Lizenz, damit wird die Möglichkeit der freien Verbreitung des gesammelten Wissens gewährleistet.

    +
  4. +
  5. Wir übernehmen keinerlei Haftung für eventuelle Folgen, die durch die Nutzung einer CryptoBox entstehen könnten.

    +
  6. +
+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDev.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDev.html new file mode 100644 index 0000000..587381b --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDev.html @@ -0,0 +1,92 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Development documentation +
  2. + +
  3. +Contact +
  4. + +
  5. +Bug reports +
  6. + +
+

+
+

+ +

Development documentation

+ +

The following pages are written for developers only. Users of the CryptoBox should read CryptoBoxUser instead.

+ + +

Contact

+ +

We are waiting for your emails to cryptobox[at]systemausfall.org.

+ +

Bug reports

+ +

Please use our issue tracker, if you discover problems: https://systemausfall.org/trac/cryptobox

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevBackground.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevBackground.html new file mode 100644 index 0000000..3e717c7 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevBackground.html @@ -0,0 +1,109 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +dfsbuild +
  2. + +
  3. +the kernel +
  4. + +
  5. +qemu +
  6. + +
  7. +alternative LiveCDs +
  8. + +
+

+
+

+

back to CryptoBoxDev

+ +

dfsbuild

+ +

The base system of the CryptoBox Live-CD is created by dfsbuild.

+

It is recommended to use some kind of caching tool for the retrieval of the debian packages (e.g.: apt-cacher or apt-proxy). This saves a lot of bandwidth and time.

+

The documentation for dfsbuild is sparse. But it is quite unlikely, that you will get in direct contact with it, as it is wrapped by cbox-build. However the following links may help you for specific problems:

+ + +

the kernel

+ +

The linux kernel for the CryptoBox is compiled statically. If you want to change it, you could follow this steps:

+
    +
  1. get the sources: apt-get install kernel-tree-2.6.11 (or the version of your choice)

    +
  2. +
  3. copy the exisiting config file kernel/config-2.6.11 as .config into your kernel source directory

    +
  4. +
  5. build the debian kernel package make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image

    +
  6. +
  7. change the kernel in the unpackdebs setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details)

    +
  8. +
+ +

qemu

+ +

Qemu is a portable system emulator. It is a convenient tool to ease the development workflow, as you do not need to burn LiveCDs for testing.

+ +

alternative LiveCDs

+ +

We tried some other LiveCDs before we decided to use dfsbuild. The following pages describe their advantages and disadvantages as the base system for the CryptoBox:

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomBuild.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomBuild.html new file mode 100644 index 0000000..f933fc5 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomBuild.html @@ -0,0 +1,141 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Overview +
  2. + +
  3. +Settings +
      + +
    1. +dfsbuild settings +
    2. + +
    3. +CryptoBox development configuration +
    4. + +
    5. +SSH connection +
    6. + +
    7. +qemu network configuration +
    8. + +
    + +
  4. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

The following sections are useful, if you want to change the default settings of your personal CryptoBox development environment.

+

You should have completed the steps described in CryptoBoxDevPreparation.

+ +

Settings

+ + +

dfsbuild settings

+ +

All settings for dfsbuild can be found in etc-defaults.d/dfs-cbox.conf.

+

If you want to change any of them, you should do the following:

+
    +
  1. copy etc-defaults.d/dfs-cbox.conf file to etc-local.d/

    +
  2. +
  3. change etc-local.d/dfs-cbox.conf according to your needs

    +
  4. +
+

This allows you to use your own (personal) settings, without interfering with files under version control.

+ +

CryptoBox development configuration

+ +

Some settings regarding the building, configuring and validating of the CryptoBox can be found in etc-defaults.d/cbox-dev.conf.

+

If you want to change any of them, you should do the following:

+
    +
  1. copy etc-defaults.d/cbox-dev.conf file to etc-local.d/

    +
  2. +
  3. change etc-local.d/cbox-dev.conf according to your needs

    +
  4. +
+ +

SSH connection

+ +

The file etc-defaults.d/ssh_config is used to establish a connection to a running CryptoBox system.

+

It can be necessary to change these settings, if:

+
    +
  • you do not want to use the default IP for the CryptoBox

    +
  • +
  • or the CryptoBox is not within your local network.

    +
  • +
+

If you want to change some settings, you should do the following:

+
    +
  1. copy etc-defaults.d/ssh_config file to etc-local.d/

    +
  2. +
  3. change etc-local.d/ssh_config according to your needs

    +
  4. +
+ +

qemu network configuration

+ +

The file etc-defauolts.d/qemu-ifup is used for the CryptoBox emulation with qemu. See man qemu for details.

+

If you want to change some settings, you should do the following:

+
    +
  1. copy etc-defaults.d/qemu-ifup file to etc-local.d/

    +
  2. +
  3. change etc-local.d/qemu-ifup according to your needs

    +
  4. +
+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomConfigure.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomConfigure.html new file mode 100644 index 0000000..5b40783 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomConfigure.html @@ -0,0 +1,103 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Overview +
  2. + +
  3. +Locations +
  4. + +
  5. +Examples +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

You may change nearly every aspect of the CryptoBox by using the custom configuration hook directory.

+

Any script inside of this directory will be executed after the default configuration procedure (see CryptoBoxDevWorkFlow).

+

The order of execution is defined by the names of the scripts (alphabetically).

+ +

Locations

+ +

Some example customization scripts can be found in configure-examples.d/.

+

You may put your scripts into configure-local.d/. They will be sourced by cbox-build.sh.

+ +

Examples

+ +

The examples in configure-examples.d/ can be copied to configure-local.d/ and adjusted to your needs.

+
+
set_default_ip
+

change the default IP address of the CryptoBox

+
+
set_default_language
+

set the default language

+
+
set_default_timeout
+

set the default idle time for automatic unmounting

+
+
set_hostname
+

change the default hostname

+
+
set_root_pw
+

change the password of root (only useful for a development CryptoBox)

+
+
import_authorized_keys
+

upload a ssh key for passwordless access to a development CryptoBox

+
+
set_scan_devices
+

where to look for usable harddisks

+
+
+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevKnownProblems.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevKnownProblems.html new file mode 100644 index 0000000..2e84729 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevKnownProblems.html @@ -0,0 +1,79 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +qemu +
      + +
    1. +interleaved files not (yet) supported +
    2. + +
    3. +smbd: segfault +
    4. + +
    + +
  2. + +
+

+
+

+ +

qemu

+ + +

interleaved files not (yet) supported

+ +

You should update qemu to version 0.7 or higher.

+ +

smbd: segfault

+ +

This happens under certain circumstances. We do not know a solution for this problem.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevPreparation.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevPreparation.html new file mode 100644 index 0000000..a992b4a --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevPreparation.html @@ -0,0 +1,129 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Software requirements +
      + +
    1. +Packages +
    2. + +
    3. +Kernel +
    4. + +
    + +
  2. +Get the source +
  3. + +
  4. +First build +
  5. + +
  6. +Finished +
  7. + +
+

+
+

+

back to CryptoBoxDev

+ +

Software requirements

+ + +

Packages

+ +

We use Debian as our development environment. This was a natural choice, as the CryptoBox-LiveCD is also based on Debian. Other distributions should work too, of course - YMMV.

+

required:

+ +

recommended:

+ + +

Kernel

+ +

If you want to use qemu to test your CryptoBox in a virtual environment, then you will need the tun/tap kernel feature. +

+
+CONFIG_TUN=m
+ +

Get the source

+ +

Download the latest release from our subversion-Repository: +

+
+svn checkout https://svn.systemausfall.org/svn/cryptobox/trunk 
+ +

First build

+ +

run scripts/cbox-build.sh release as root - hopefully, there should be no errors :)

+

Hint: This step will fail, if you did not install apt-cacher. See CryptoBoxDevCustomBuild for details on how to change the build-configuration settings (in this case: mirror in dfs-cbox.conf).

+ +

Finished

+ +

Now you can start to pariticipate in the development of the CryptoBox or simply customize your own CryptoBox-LiveCD.

+

See CryptoBoxDevWorkFlow for details of how to use the developer's tools of the CryptoBox.

+

CryptoBoxDevCustomBuild shows some examples for local customizations of the CryptoBox.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevValidation.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevValidation.html new file mode 100644 index 0000000..bd78fd0 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevValidation.html @@ -0,0 +1,100 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Overview +
  2. + +
  3. +Validate +
  4. + +
  5. +How to create a test +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

The validation feature allows to check the programming logic of the CryptoBox. A lot of test cases are defined to test as many functions of the CryptoBox as possible.

+

The requests are processed with curl.

+

The received web page is saved to allow a later design review or css debugging.

+

The current state of the CryptoBox is represented by ten single values (e.g.: box is configured, IP of the box, current language setting, ...), which are invisibly a part of each html page (as comments). The returned status of every request is compared to the predicted value of the test case.

+

Similar test cases are pooled into test groups (e.g.: initialization, configuration and mounting).

+ +

Validate

+ +

Run scripts/validate.sh check_all to conduct all tests of all groups. See scripts/validate.sh help for other actions.

+

The results will be saved in validation/report.

+

In addition to every single retrieved page, a html page called summary.html is created, which contains the state checks of all tests in a group.

+ +

How to create a test

+ +

All test cases can be found in validation/test-cases.

+

Every test consists of:

+
+
input.curl
+

the configuration file for the curl request

+
+
output
+

the predicted state of the CryptoBox after the call

+
+
description
+

a short description of the test (will be used for the summary)

+
+
delay
+

[optional] time to wait after this test

+
+
+

Use the existing test cases as templates for new tests.

+

Any logical path of the web interface CGI should be validated by a test case.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevWorkFlow.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevWorkFlow.html new file mode 100644 index 0000000..6a40a23 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxDevWorkFlow.html @@ -0,0 +1,188 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Preparations +
  2. + +
  3. +Create a CryptoBox-LiveCD - step by step +
      + +
    1. +Build the base system +
    2. + +
    3. +Configure the base image +
    4. + +
    5. +Remove development features +
    6. + +
    7. +Create an iso image +
    8. + +
    9. +Burn the CD +
    10. + +
    + +
  4. +Test the CryptoBox-LiveCD +
      + +
    1. +Chroot: quick & dirty tests +
    2. + +
    3. +Qemu: nearly complete emulation +
    4. + +
    + +
  5. +Debugging and merging +
      + +
    1. +Development on a running system +
    2. + +
    3. +Uploading a new release +
    4. + +
    + +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Preparations

+ +

You should have completed the steps described in CryptoBoxDevPreparation.

+ +

Create a CryptoBox-LiveCD - step by step

+ +

The following steps can be executed in the order of their appearance.

+

Usually there is no need to repeat the whole process, after you changed some parts of the CryptoBox. Especially the first step (building of the base system with dfsbuild) may usually be skipped.

+

Every step of the building process must be executed as root.

+ +

Build the base system

+ +

Run scripts/cbox-build.sh dfsbuild to create the base system for the LiveCD.

+

The result can be found in _builddir/cd1/image.

+

If you do not want to use the apt-cacher to save bandwidth and time, then you should modify the mirror-setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details).

+ +

Configure the base image

+ +

Run scripts/cbox-build.sh config to copy the CryptoBox-specific files to the base image.

+

TODO: link to cbox-build.sh-manpage

+ +

Remove development features

+ +

The original base system, that was created by dfsbuild contains a lot packages and some scripts, that are only useful during development. You should remove them, as they case severe security implications.

+

To reduce the CryptoBox-LiveCD to the usable minimum for operational use, you should run scripts/cbox-build.sh harden.

+ +

Create an iso image

+ +

To burn a CryptoBox-LiveCD, you need an bootable iso9660-image.

+

Create the iso image with scripts/cbox-build.sh iso. The resulting file can be found at _builddir/cd1/cryptobox.iso.

+ +

Burn the CD

+ +

Do it manually: cdrecord -v dev=0,0,0 _builddir/cd1/cryptobox.iso (change the dev setting according to your setup).

+

Let the script do it for you: scripts/cbox-build.sh burn (maybe you have to change the CDWRITER setting in cbox-dev.conf - see CryptoBoxDevCustomBuild).

+

Of course, it is not wise to use CD-R media. CD-RW consume less resources.

+ +

Test the CryptoBox-LiveCD

+ +

This section is only useful for developers, who want to improve or change the CryptoBox system.

+ +

Chroot: quick & dirty tests

+ +

If you modified the perl- or shell-scripts of the CryptoBox, then you can check for syntax errors by running them in a chroot environment. Be careful: you have access to all ressources of your computer, while you are working within a chroot environment - so you can easily repartition your real disk ...

+

To start a chroot environment, you can execute scripts/cbox-dev.sh chroot.

+

For more intensive tests, you may use qemu (see below) or burn real LiveCDs - of course this would take much more time.

+ +

Qemu: nearly complete emulation

+ +

The processor emulator qemu allows you test the CryptoBox in a virtual environment, that is completely separated from your real computer's resources. It is the tool of choice, if you do nat have a real computer around for testing.

+

Beware - there are some problems, when using qemu:

+
    +
  • smbd does not start (segfault)

    +
  • +
  • ???

    +
  • +
+

To start a qemu emulation of the iso image, you may type: scripts/cbox-dev.sh qemu.

+ +

Debugging and merging

+ +

This section is only useful for developers, who want to develop on a running CryptoBox system (emulated or real).

+

You may access the CryptoBox directly or you can use ssh to open a remote session (./cbox-dev.sh ssh).

+ +

Development on a running system

+ +

When you run an emulation or test a real LiveCD, you may encounter problems and bugs. To test your fixes for these problems, it is convenient, to change the running test system. Afterwards you can merge these changes to your local development copy.

+

Type scripts/cbox-dev.sh diff to see the changes, you made on the running CryptoBox system.

+

Type scripts/cbox-dev.sh merge to merge these changes to your local working copy.

+ +

Uploading a new release

+ +

Alternatively you may also upload a new version of your local working copy to the running CryptoBox system.

+

Type scripts/cbox-dev.sh upload - beware: all recent changes you made to the running CryptoBox system, are lost.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxIntro.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxIntro.html new file mode 100644 index 0000000..24e0256 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxIntro.html @@ -0,0 +1,62 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + +

CryptoBox

+ +

Das CryptoBox-Projekt ermöglicht dir, deine sensiblen Daten auf einem verschlüsselnden Dateiserver zu speichern. Dazu musst du lediglich die bootfähige Live-CD in einen alten Computer stecken und deine persönliche CryptoBox in Sekundenschnelle einrichten. Deine Daten sind vor neugierigen Augen geschützt, sobald du den Stecker ziehst.

+ +

Die CryptoBox ist freie Software: du hast also die Freiheit, sie weiterzugeben, sowie sie nach deinen Bedürfnissen zu verändern. Lies GPL und Creative Commons Lizenz für weitere Details.

+
+

+

Das CryptoBox-Projekt wurde von sense.lab gestartet.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUser.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUser.html new file mode 100644 index 0000000..d88f6d7 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUser.html @@ -0,0 +1,79 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Nutzerhandbuch +
  2. + +
  3. +Fragen +
  4. + +
+

+
+

+ +

Nutzerhandbuch

+ +

Die folgenden Seiten beschreiben die Nutzung der CryptoBox.

+

Die online-Version dieses Handbuchs ist ein Wiki. Das bedeutet, dass du diese Seiten verändern kannst. Falls du also Fragen oder Anregungen hast, schreibe bitte deine Anmerkungen in den Fragen-Abschnitt am Ende der jeweiligen Seite. Die Entwickler werden deine Fragen beantworten und das Handbuch schnellstmöglich aktualisieren. Auf diese Art und Weise kannst du die Nutzbarkeit der CryptoBox für alle Nutzer verbessern!

+
    +
  1. CryptoBoxUserGettingStarted/de -- die Vorbereitung der Hardware

    +
  2. +
  3. CryptoBoxUserConfiguration/de -- die Einrichtung deines neuen verschlüsselten Dateiservers

    +
  4. +
  5. CryptoBoxUserDailyUse/de -- die tägliche Nutzung der CryptoBox

    +
  6. +
+

Die online-Version dieses Handbuchs befindet sich unter https://systemausfall.org/toolforge/CryptoBoxUser/de.

+
+

+ +

Fragen

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserConfiguration.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserConfiguration.html new file mode 100644 index 0000000..16420bc --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserConfiguration.html @@ -0,0 +1,167 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Überblick +
  2. + +
  3. +Vorwort +
  4. + +
  5. +Initialisierung +
  6. + +
  7. +Konfiguration +
  8. + +
  9. +Hinweise / Fallstricke +
  10. + +
  11. +Fragen +
  12. + +
+

+
+

+ +

Überblick

+ +

Alle Funktionen der CryptoBox können durch das komfortable Web-Interface bedient werden. Zur Erst-Einrichtung der CryptoBox folge einfach den folgenden Schritten.

+

Falls du in Eile bist, kannst du das Vorwort überspringen.

+

Die Initialisierung erklärt die Einrichtung der Festplatte. Dieser Schritt ist nur bei der ersten Einrichtung oder nach einem Festplattenwechsel notwendig.

+

Im Konfigurations-Abschnitt werden die verfügbaren Einstellungen der CryptoBox beschrieben. Hier kannst du beispielsweise die Sprache des Web-Interfaces oder die Netzwerkadresse deiner CryptoBox einstellen.

+

Vergiss nicht, auch den Hinweise/Fallstricke-Abschnitt zu lesen.

+ +

Vorwort

+ +

Du bist den Anweisungen aus CryptoBoxUserGettingStarted/de gefolgt und sitzt nun vor deinem Arbeits-Rechner. Nun kannst du in deinem Web-Browser das Web-Interface der CryptoBox ansteuern: https://192.168.0.23.

+

Bevor du Daten auf deiner CryptoBox speichern kannst, muss die Festplatte mit einem verschlüsselten Dateisystem versehen werden. Das klingt kompliziert, ist jedoch mit einem Klick erledigt. :)

+ +

Initialisierung

+ +

Klickke auf Initialisierung in der Menü-Zeile.

+

Jetzt wirst du zur Eingabe zweier Passworte aufgefordert (jeweils mit Wiederholung - zum Training deiner Tipp-Fertigkeiten ;)).

+

init_de.png

+
    +
  • Das erste Passwort ist das Administrations-Password.

    +
      +
    • Es schützt die Konfiguration deiner CryptoBox.

      +
    • +
    • Dies ist notwendig, um zu verhindern, dass jemand unerlaubt die Daten auf deiner CryptoBox durch eine erneute Initialisierung löscht.

      +
    • +
    • Wahrscheinlich wirst du dieses Passwort nie wieder benötigen.

      +
    • +
    • Du kannst das Administrations-Passwort leer lassen - dies wird jedoch nicht empfohlen.

      +
    • +
    +
  • +
  • Das Crypto-Passwort ist wesentlich wichtiger, da es der einzige Schutz der Daten auf der verschlüsselten Festplatte ist. Wähle es mit Sorgfalt!

    +
      +
    • Du benötigst es, um auf deine Daten zuzugreifen.

      +
    • +
    • Ein sicheres Passwort sollte aus mindestens 15 Zeichen (einschließlich Ziffern und Sonderzeichen) bestehen. Die Sicherheit deiner Daten steht und fällt mit der Qualität dieses Passworts.

      +
    • +
    +
  • +
  • Um dich daran zu erinnern, dass dieser Schritt die Festplatte der CryptoBox komplett löschen wird, musst du den angezeigten roten Warnhinweis im letzten Formularfeld eingeben.

    +
  • +
  • Nun kannst du die Initialisierung durch einen Klick auf Initialisiere die CryptoBox abschließen.

    +
  • +
+

Das war es dann auch schon. Cryptographie war wohl nie einfacher zu verwenden, oder? ;)

+

Der Initialisierungsvorgang läuft nun im Hintergrund ab und wird nach wenigen Minuten (abhängig von der Größe deiner Festplatte) abgeschlossen.

+ +

Konfiguration

+ +

Im Gegensatz zur Initialisierung, die nur einmal durchgeführt werden muss, kannst du die Konfiguration jederzeit deinen Wünschen anpassen. Dazu klickst du einfach auf Konfiguration in der Menü-Zeile des Web-Interfaces. Nun wird dir ein Formular mit vier Feldern präsentiert:

+

config_de.png

+
    +
  • Falls du ein Administrator-Passwort während der Initialisierung festgelegt hast, musst du es nun eingeben. Andernfalls wird dieses Formularfeld nicht angezeigt.

    +
  • +
  • Du kannst die voreingestellte Netzwerk-Adresse (IP) verändern, falls sie nicht zu deiner Netzwerk-Struktur passt.

    +
  • +
  • Die Zeitabschaltung sorgt dafür, dass nach einer festgelegten Dauer von Inaktivität (in Minuten), das Crypto-Dateisystem deaktiviert wird (damit sind deine Daten wieder geschützt). Laufende Dateiübertragungen werden dadurch natürlich nicht gestört.

    +
      +
    • Es ist ratsam, eine kurze Abschalt-Zeit einzustellen (wenige Minuten).

      +
    • +
    • Der Wert 0 deaktiviert die automatische Abschaltung.

      +
    • +
    +
  • +
  • Die Sprache ist der Standard für alle Nutzer des CryptoBox-Web-Interfaces. Sie kann individuell durch die Sprach-Links am rechten oberen Bildschirmrand überschrieben werden.

    +
  • +
+

Speichere deine neuen Einstellungen durch einen Klick auf Speichere Konfiguration.

+

Das ist alles - deine CryptoBox ist jetzt bereit für die tägliche Nutzung!

+ +

Hinweise / Fallstricke

+ +
    +
  • Alle Daten auf der Festplatte in der CryptoBox werden bei der Initialisierung gelöscht.

    +
  • +
  • Die Passworte müssen jeweils zweimal eingegeben werden, um die Gefahr von Tipp-Fehlern zu vermindern.

    +
  • +
  • Das optionale Administrations-Passwort ist nur für die Konfiguration oder eine erneute Initialisierung erforderlich.

    +
  • +
  • Das Crypto-Passwort beschützt deine sensiblen Daten.

    +
  • +
  • Falls die CryptoBox nicht über die Adresse 192.168.0.23 erreichbar ist, musst du die Netzwerk-Adresse deines Arbeits-Rechners für die Dauer der Initialisierung der CryptoBox vorübergehend ändern.

    +
  • +
+

zurück zu CryptoBoxUser/de

+
+

+ +

Fragen

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserDailyUse.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserDailyUse.html new file mode 100644 index 0000000..9101294 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserDailyUse.html @@ -0,0 +1,106 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Aktivieren des verschlüsselten Dateisystems +
  2. + +
  3. +Abschalten des verschlüsselten Dateisystems +
  4. + +
  5. +Abschaltung der CryptoBox +
  6. + +
  7. +Notfall-Abschaltung +
  8. + +
  9. +Fragen +
  10. + +
+

+
+

+ +

Aktivieren des verschlüsselten Dateisystems

+ +

Du kannst dein verschlüsseltes Dateisystem mit folgenden Schritten aktivieren:

+
    +
  • Wähle mit deinem Web-Browser die Adresse deiner CryptoBox an. Die Voreinstellung ist https://192.168.0.23.

    +
  • +
  • Klicke auf Aktivieren der Crypto-Daten. Daraufhin erscheint ein Formular zur Eingabe des Crypto-Passworts.

    +
  • +
  • Gib dein Crypto-Passwort ein und klicke auf die darunterliegende Schaltfläche.

    +
  • +
+

mount_de.png

+

Nun ist das verschlüsselte Dateisystem verfügbar. Um es zu nutzen, suche in deiner Netzwerkumgebung nach der Netzwerk-Adresse deiner CryptoBox (Voreinstellung: 192.168.0.23). Nun kannst du das Netzlaufwerk wie üblich verwenden.

+ +

Abschalten des verschlüsselten Dateisystems

+ +

Du kannst das verschlüsselte Dateisystem abschalten, indem du in der Menü-Zeile des Web-Interfaces der CryptoBox auf Deaktivierung der Crypto-Daten klickst.

+

Deine Daten sind nun wieder vor jedem Zugriff geschützt.

+ +

Abschaltung der CryptoBox

+ +

Klicke auf System in der Menü-Zeile des Web-Interfaces. Nun kannst du zwischen Abschaltung und Neustart wählen. Die Abschaltung dauert einige Sekunden.

+

Falls dein CryptoBox-Rechner relativ neu ist (ungefähr ab Baujahr 02000), wird er sich nun selbständig abschalten. Andernfalls musst du dies per Hand tun.

+ +

Notfall-Abschaltung

+ +

Falls du deine Daten wirklich schnell vor neugierigen Augen schützen musst, dann ziehe einfach den Stecker der CryptoBox. Dies ist nicht besonders sauber und kann (in sehr seltenen Ausnahmefällen) geöffnete Dateien beschädigen. Es ist jedoch die schnellste Methode zur Sicherung deiner Daten vor unbefugtem Zugriff.

+

zurück zu CryptoBoxUser/de

+
+

+ +

Fragen

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserGettingStarted.html b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserGettingStarted.html new file mode 100644 index 0000000..efeadf2 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/CryptoBoxUserGettingStarted.html @@ -0,0 +1,116 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + +
    + +
  1. +Erste Schritte +
  2. + +
  3. +Hinweise / Fallstricke +
  4. + +
  5. +Fragen +
  6. + +
+

+
+

+ +

Erste Schritte

+ +

Die CryptoBox ist schnellt aufgebaut:

+
    +
  1. Du brauchst einen alten Computer (mindestens 100MHZ, 48MB RAM) (Faustregel: nach 1996 gekauft). Dazu eine passende Netzwerkkarte, ein CD-ROM Laufwerk und eine riesige Festplatte.

    +
      +
    • Die Festplatte muss nicht riesig sein, je nachdem was du speichern willst, reicht auch 'ne kleine ;)

      +
    • +
    • Du brauchst keinen Monitor, keine Tastatur und keine Maus, um die CryptoBox zu benutzen (bzw. nur für die Erst-Einrichtung).

      +
    • +
    • Du kannst natürlich einen schnelleren Rechner verwenden - der unbedeutende Performance-Zuwachs wird jedoch wohl nicht durch den erhöhten Energiebedarf gerechtfertigt.

      +
    • +
    +
  2. +
  3. Lade die aktuellste Version der CryptoBox als iso-image herunter und brenne dieses auf einen CD-Rohling.

    + +
  4. +
  5. Konfiguriere den PC, so dass er vom CD Laufwerk bootet. Dazu solltest du im BIOS als "boot device" "CD-ROM" einstellen.

    +
  6. +
  7. Pack die frisch gebrannte CryptoBox CD ins Laufwerk und starte den Computer.

    +
  8. +
+

Wenn der Computer jetzt von der CD startet, hast du alle Anforderungen erfüllt.

+

Du kannst nun zu deinem Arbeits-Rechner in demselben Netzwerk gehen und "https://192.168.0.23" ansurfen. Dort sollte die CryptoBox-Konfigurationsseite erscheinen. Ist doch kinderleicht, oder?

+

Die weiteren Schritte werden unter CryptoBoxUser/de beschrieben.

+ +

Hinweise / Fallstricke

+ +
    +
  • Eventuell musst du für die Einrichtung der CryptoBox kurzzeitig deine Netzwerkaddresse (IP) ändern. Falls du nicht weißt, wie und warum, dann frage jemanden um Rat ... (wahrscheinlich klappt es aber ohne Änderungen)

    +
  • +
  • Falls du eine neue Festplatte kaufen willst, beachte, dass alte PCs nicht mit modernen Festplattengrößen klarkommen.

    +
  • +
  • Einige alte PCs können nicht vom CD-ROM-Laufwerk booten.

    +
  • +
  • Falls dir der Begriff "BIOS" nichts sagt, bitte Menschen um Hilfe, bevor du was veränderst ;)

    +
  • +
  • Vergiss nicht, den CryptoBox-Rechner ans Netzwerk anzuschliessen!

    +
  • +
  • Du brauchst einen Monitor und eine Tastatur für die Konfiguration des BIOS.

    +
  • +
+

zurück zu CryptoBoxUser/de

+
+

+ +

Fragen

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/doc_footer.inc b/v0.2/cbox-tree.d/_offline/doc/de/doc_footer.inc new file mode 100644 index 0000000..4ec37b7 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/doc_footer.inc @@ -0,0 +1,6 @@ + + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/de/doc_header.inc b/v0.2/cbox-tree.d/_offline/doc/de/doc_header.inc new file mode 100644 index 0000000..3b0f14f --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/de/doc_header.inc @@ -0,0 +1,13 @@ + + +
+ + +
diff --git a/v0.2/cbox-tree.d/_offline/doc/doc_footer.inc b/v0.2/cbox-tree.d/_offline/doc/doc_footer.inc new file mode 100644 index 0000000..e134874 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/doc_footer.inc @@ -0,0 +1,7 @@ + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/doc_header.inc b/v0.2/cbox-tree.d/_offline/doc/doc_header.inc new file mode 100644 index 0000000..ab5fd45 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/doc_header.inc @@ -0,0 +1,17 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBox.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBox.html new file mode 100644 index 0000000..b39c3af --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBox.html @@ -0,0 +1,180 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +News +
  2. + +
  3. +Overview +
  4. + +
  5. +Specs +
  6. + +
  7. +Usage +
  8. + +
  9. +Development +
  10. + +
  11. +Legal stuff +
  12. + +
+

+
+

+

see CryptoBoxIntro/en for a very short overview

+ +

News

+ +

We are moving this project to https://codecoop.org/projects/cryptobox/

+

The first release of the CryptoBox-LiveCD is planned for October 02005.

+ +

Overview

+ +

The CryptoBox is a Debian/Linux based live-cd. This CD boots up, starting a secure fileserver. Even non-technical users are able to store their data on its encrypted harddisk. There is no special knowledge about cryptography or servers required at all.

+

We provide the documentation in different languages. Feel free to add more translations:

+ + +

Specs

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+

system

+
+

Debian/Linux based Live-CD

+
+

needed hardware

+
+

"outdated" PC (i386 p1-100 32MB RAM minimum)

+
+

supported clients

+
+

*nix; *bsd; Windows; Mac OS

+
+

fileserver

+
+

samba (network shares)

+
+

userinterface

+
+

fully remote controlled via webbrowser

+
+

encryption

+
+

AES via device-mapper

+
+
+

The web interface of the CryptoBox supports the following languages:

+
    +
  • english

    +
  • +
  • german

    +
  • +
  • slovenian

    +
  • +
+

Feel free to contribute a translation for another language (preferably utf-encoded).

+ +

Usage

+ +

The user documentation has its home at CryptoBoxUser/en.

+ +

Development

+ +

Take a look at the developer's documentation at CryptoBoxDev/en.

+

Report bugs at https://systemausfall.org/trac/cryptobox.

+

Browse the source code in the CryptoBox-websvn interface.

+

Anything else? Write us an email: cryptobox[at]systemausfall.org

+ +

Legal stuff

+ +
    +
  1. All scripts are GPL licensed

    +
  2. +
  3. The documentation licensed under a Creative Commons License

    +
  4. +
  5. We do not take any warranty for the functionality or usability of the CryptoBox.

    +
  6. +
+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDev.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDev.html new file mode 100644 index 0000000..d496872 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDev.html @@ -0,0 +1,92 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +Development documentation +
  2. + +
  3. +Contact +
  4. + +
  5. +Bug reports +
  6. + +
+

+
+

+ +

Development documentation

+ +

The following pages are written for developers only. Users of the CryptoBox should read CryptoBoxUser instead.

+ + +

Contact

+ +

We are waiting for your emails to cryptobox[at]systemausfall.org.

+ +

Bug reports

+ +

Please use our issue tracker, if you discover problems: https://systemausfall.org/trac/cryptobox

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevBackground.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevBackground.html new file mode 100644 index 0000000..802a7b0 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevBackground.html @@ -0,0 +1,109 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +dfsbuild +
  2. + +
  3. +the kernel +
  4. + +
  5. +qemu +
  6. + +
  7. +alternative LiveCDs +
  8. + +
+

+
+

+

back to CryptoBoxDev

+ +

dfsbuild

+ +

The base system of the CryptoBox Live-CD is created by dfsbuild.

+

It is recommended to use some kind of caching tool for the retrieval of the debian packages (e.g.: apt-cacher or apt-proxy). This saves a lot of bandwidth and time.

+

The documentation for dfsbuild is sparse. But it is quite unlikely, that you will get in direct contact with it, as it is wrapped by cbox-build. However the following links may help you for specific problems:

+ + +

the kernel

+ +

The linux kernel for the CryptoBox is compiled statically. If you want to change it, you could follow this steps:

+
    +
  1. get the sources: apt-get install kernel-tree-2.6.11 (or the version of your choice)

    +
  2. +
  3. copy the exisiting config file kernel/config-2.6.11 as .config into your kernel source directory

    +
  4. +
  5. build the debian kernel package make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image

    +
  6. +
  7. change the kernel in the unpackdebs setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details)

    +
  8. +
+ +

qemu

+ +

Qemu is a portable system emulator. It is a convenient tool to ease the development workflow, as you do not need to burn LiveCDs for testing.

+ +

alternative LiveCDs

+ +

We tried some other LiveCDs before we decided to use dfsbuild. The following pages describe their advantages and disadvantages as the base system for the CryptoBox:

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomBuild.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomBuild.html new file mode 100644 index 0000000..a290f3b --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomBuild.html @@ -0,0 +1,141 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +Overview +
  2. + +
  3. +Settings +
      + +
    1. +dfsbuild settings +
    2. + +
    3. +CryptoBox development configuration +
    4. + +
    5. +SSH connection +
    6. + +
    7. +qemu network configuration +
    8. + +
    + +
  4. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

The following sections are useful, if you want to change the default settings of your personal CryptoBox development environment.

+

You should have completed the steps described in CryptoBoxDevPreparation.

+ +

Settings

+ + +

dfsbuild settings

+ +

All settings for dfsbuild can be found in etc-defaults.d/dfs-cbox.conf.

+

If you want to change any of them, you should do the following:

+
    +
  1. copy etc-defaults.d/dfs-cbox.conf file to etc-local.d/

    +
  2. +
  3. change etc-local.d/dfs-cbox.conf according to your needs

    +
  4. +
+

This allows you to use your own (personal) settings, without interfering with files under version control.

+ +

CryptoBox development configuration

+ +

Some settings regarding the building, configuring and validating of the CryptoBox can be found in etc-defaults.d/cbox-dev.conf.

+

If you want to change any of them, you should do the following:

+
    +
  1. copy etc-defaults.d/cbox-dev.conf file to etc-local.d/

    +
  2. +
  3. change etc-local.d/cbox-dev.conf according to your needs

    +
  4. +
+ +

SSH connection

+ +

The file etc-defaults.d/ssh_config is used to establish a connection to a running CryptoBox system.

+

It can be necessary to change these settings, if:

+
    +
  • you do not want to use the default IP for the CryptoBox

    +
  • +
  • or the CryptoBox is not within your local network.

    +
  • +
+

If you want to change some settings, you should do the following:

+
    +
  1. copy etc-defaults.d/ssh_config file to etc-local.d/

    +
  2. +
  3. change etc-local.d/ssh_config according to your needs

    +
  4. +
+ +

qemu network configuration

+ +

The file etc-defauolts.d/qemu-ifup is used for the CryptoBox emulation with qemu. See man qemu for details.

+

If you want to change some settings, you should do the following:

+
    +
  1. copy etc-defaults.d/qemu-ifup file to etc-local.d/

    +
  2. +
  3. change etc-local.d/qemu-ifup according to your needs

    +
  4. +
+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomConfigure.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomConfigure.html new file mode 100644 index 0000000..913aabb --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomConfigure.html @@ -0,0 +1,103 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +Overview +
  2. + +
  3. +Locations +
  4. + +
  5. +Examples +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

You may change nearly every aspect of the CryptoBox by using the custom configuration hook directory.

+

Any script inside of this directory will be executed after the default configuration procedure (see CryptoBoxDevWorkFlow).

+

The order of execution is defined by the names of the scripts (alphabetically).

+ +

Locations

+ +

Some example customization scripts can be found in configure-examples.d/.

+

You may put your scripts into configure-local.d/. They will be sourced by cbox-build.sh.

+ +

Examples

+ +

The examples in configure-examples.d/ can be copied to configure-local.d/ and adjusted to your needs.

+
+
set_default_ip
+

change the default IP address of the CryptoBox

+
+
set_default_language
+

set the default language

+
+
set_default_timeout
+

set the default idle time for automatic unmounting

+
+
set_hostname
+

change the default hostname

+
+
set_root_pw
+

change the password of root (only useful for a development CryptoBox)

+
+
import_authorized_keys
+

upload a ssh key for passwordless access to a development CryptoBox

+
+
set_scan_devices
+

where to look for usable harddisks

+
+
+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevKnownProblems.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevKnownProblems.html new file mode 100644 index 0000000..06034aa --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevKnownProblems.html @@ -0,0 +1,79 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +qemu +
      + +
    1. +interleaved files not (yet) supported +
    2. + +
    3. +smbd: segfault +
    4. + +
    + +
  2. + +
+

+
+

+ +

qemu

+ + +

interleaved files not (yet) supported

+ +

You should update qemu to version 0.7 or higher.

+ +

smbd: segfault

+ +

This happens under certain circumstances. We do not know a solution for this problem.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevPreparation.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevPreparation.html new file mode 100644 index 0000000..9b0355f --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevPreparation.html @@ -0,0 +1,129 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +Software requirements +
      + +
    1. +Packages +
    2. + +
    3. +Kernel +
    4. + +
    + +
  2. +Get the source +
  3. + +
  4. +First build +
  5. + +
  6. +Finished +
  7. + +
+

+
+

+

back to CryptoBoxDev

+ +

Software requirements

+ + +

Packages

+ +

We use Debian as our development environment. This was a natural choice, as the CryptoBox-LiveCD is also based on Debian. Other distributions should work too, of course - YMMV.

+

required:

+ +

recommended:

+ + +

Kernel

+ +

If you want to use qemu to test your CryptoBox in a virtual environment, then you will need the tun/tap kernel feature. +

+
+CONFIG_TUN=m
+ +

Get the source

+ +

Download the latest release from our subversion-Repository: +

+
+svn checkout https://svn.systemausfall.org/svn/cryptobox/trunk 
+ +

First build

+ +

run scripts/cbox-build.sh release as root - hopefully, there should be no errors :)

+

Hint: This step will fail, if you did not install apt-cacher. See CryptoBoxDevCustomBuild for details on how to change the build-configuration settings (in this case: mirror in dfs-cbox.conf).

+ +

Finished

+ +

Now you can start to pariticipate in the development of the CryptoBox or simply customize your own CryptoBox-LiveCD.

+

See CryptoBoxDevWorkFlow for details of how to use the developer's tools of the CryptoBox.

+

CryptoBoxDevCustomBuild shows some examples for local customizations of the CryptoBox.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevValidation.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevValidation.html new file mode 100644 index 0000000..3300a8c --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevValidation.html @@ -0,0 +1,100 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +Overview +
  2. + +
  3. +Validate +
  4. + +
  5. +How to create a test +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

The validation feature allows to check the programming logic of the CryptoBox. A lot of test cases are defined to test as many functions of the CryptoBox as possible.

+

The requests are processed with curl.

+

The received web page is saved to allow a later design review or css debugging.

+

The current state of the CryptoBox is represented by ten single values (e.g.: box is configured, IP of the box, current language setting, ...), which are invisibly a part of each html page (as comments). The returned status of every request is compared to the predicted value of the test case.

+

Similar test cases are pooled into test groups (e.g.: initialization, configuration and mounting).

+ +

Validate

+ +

Run scripts/validate.sh check_all to conduct all tests of all groups. See scripts/validate.sh help for other actions.

+

The results will be saved in validation/report.

+

In addition to every single retrieved page, a html page called summary.html is created, which contains the state checks of all tests in a group.

+ +

How to create a test

+ +

All test cases can be found in validation/test-cases.

+

Every test consists of:

+
+
input.curl
+

the configuration file for the curl request

+
+
output
+

the predicted state of the CryptoBox after the call

+
+
description
+

a short description of the test (will be used for the summary)

+
+
delay
+

[optional] time to wait after this test

+
+
+

Use the existing test cases as templates for new tests.

+

Any logical path of the web interface CGI should be validated by a test case.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevWorkFlow.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevWorkFlow.html new file mode 100644 index 0000000..7da61bb --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxDevWorkFlow.html @@ -0,0 +1,188 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +Preparations +
  2. + +
  3. +Create a CryptoBox-LiveCD - step by step +
      + +
    1. +Build the base system +
    2. + +
    3. +Configure the base image +
    4. + +
    5. +Remove development features +
    6. + +
    7. +Create an iso image +
    8. + +
    9. +Burn the CD +
    10. + +
    + +
  4. +Test the CryptoBox-LiveCD +
      + +
    1. +Chroot: quick & dirty tests +
    2. + +
    3. +Qemu: nearly complete emulation +
    4. + +
    + +
  5. +Debugging and merging +
      + +
    1. +Development on a running system +
    2. + +
    3. +Uploading a new release +
    4. + +
    + +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Preparations

+ +

You should have completed the steps described in CryptoBoxDevPreparation.

+ +

Create a CryptoBox-LiveCD - step by step

+ +

The following steps can be executed in the order of their appearance.

+

Usually there is no need to repeat the whole process, after you changed some parts of the CryptoBox. Especially the first step (building of the base system with dfsbuild) may usually be skipped.

+

Every step of the building process must be executed as root.

+ +

Build the base system

+ +

Run scripts/cbox-build.sh dfsbuild to create the base system for the LiveCD.

+

The result can be found in _builddir/cd1/image.

+

If you do not want to use the apt-cacher to save bandwidth and time, then you should modify the mirror-setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details).

+ +

Configure the base image

+ +

Run scripts/cbox-build.sh config to copy the CryptoBox-specific files to the base image.

+

TODO: link to cbox-build.sh-manpage

+ +

Remove development features

+ +

The original base system, that was created by dfsbuild contains a lot packages and some scripts, that are only useful during development. You should remove them, as they case severe security implications.

+

To reduce the CryptoBox-LiveCD to the usable minimum for operational use, you should run scripts/cbox-build.sh harden.

+ +

Create an iso image

+ +

To burn a CryptoBox-LiveCD, you need an bootable iso9660-image.

+

Create the iso image with scripts/cbox-build.sh iso. The resulting file can be found at _builddir/cd1/cryptobox.iso.

+ +

Burn the CD

+ +

Do it manually: cdrecord -v dev=0,0,0 _builddir/cd1/cryptobox.iso (change the dev setting according to your setup).

+

Let the script do it for you: scripts/cbox-build.sh burn (maybe you have to change the CDWRITER setting in cbox-dev.conf - see CryptoBoxDevCustomBuild).

+

Of course, it is not wise to use CD-R media. CD-RW consume less resources.

+ +

Test the CryptoBox-LiveCD

+ +

This section is only useful for developers, who want to improve or change the CryptoBox system.

+ +

Chroot: quick & dirty tests

+ +

If you modified the perl- or shell-scripts of the CryptoBox, then you can check for syntax errors by running them in a chroot environment. Be careful: you have access to all ressources of your computer, while you are working within a chroot environment - so you can easily repartition your real disk ...

+

To start a chroot environment, you can execute scripts/cbox-dev.sh chroot.

+

For more intensive tests, you may use qemu (see below) or burn real LiveCDs - of course this would take much more time.

+ +

Qemu: nearly complete emulation

+ +

The processor emulator qemu allows you test the CryptoBox in a virtual environment, that is completely separated from your real computer's resources. It is the tool of choice, if you do nat have a real computer around for testing.

+

Beware - there are some problems, when using qemu:

+
    +
  • smbd does not start (segfault)

    +
  • +
  • ???

    +
  • +
+

To start a qemu emulation of the iso image, you may type: scripts/cbox-dev.sh qemu.

+ +

Debugging and merging

+ +

This section is only useful for developers, who want to develop on a running CryptoBox system (emulated or real).

+

You may access the CryptoBox directly or you can use ssh to open a remote session (./cbox-dev.sh ssh).

+ +

Development on a running system

+ +

When you run an emulation or test a real LiveCD, you may encounter problems and bugs. To test your fixes for these problems, it is convenient, to change the running test system. Afterwards you can merge these changes to your local development copy.

+

Type scripts/cbox-dev.sh diff to see the changes, you made on the running CryptoBox system.

+

Type scripts/cbox-dev.sh merge to merge these changes to your local working copy.

+ +

Uploading a new release

+ +

Alternatively you may also upload a new version of your local working copy to the running CryptoBox system.

+

Type scripts/cbox-dev.sh upload - beware: all recent changes you made to the running CryptoBox system, are lost.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxIntro.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxIntro.html new file mode 100644 index 0000000..53913f4 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxIntro.html @@ -0,0 +1,62 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + + +

CryptoBox

+ +

The CryptoBox-Project allows you to store your private data on an encrypting fileserver. You just need to put the bootable live-CD into an old computer and configure your personal CryptoBox within seconds. Your data is safe, as soon as you pull the plug.

+ +

The CryptoBox is free software: you are free to redistribute and modify it. See GPL and Creative Commons License for details.

+
+

+

The CryptoBox-Project was initiated by sense.lab.

+ +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUser.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUser.html new file mode 100644 index 0000000..ee6f107 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUser.html @@ -0,0 +1,79 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +User Documentation +
  2. + +
  3. +Questions +
  4. + +
+

+
+

+ +

User Documentation

+ +

The following pages describe the easy use of the CryptoBox.

+

The online version of this manual is a wiki, which means you can edit the pages. So if you have a question or some description is unclear, please post it on the bottom of the relevant page. The developers will answer your questions and update the manual as fast as possible. This way you can contribute in making the CryptoBox a better experience for everyone!

+
    +
  1. CryptoBoxUserGettingStarted/en -- first steps to get the Cryptobox up and running

    +
  2. +
  3. CryptoBoxUserConfiguration/en -- configure the details of your new encrypted fileserver

    +
  4. +
  5. CryptoBoxUserDailyUse/en -- daily use of your CryptoBox

    +
  6. +
+

The online version of this manual can be found at https://systemausfall.org/toolforge/CryptoBoxUser/en.

+
+

+ +

Questions

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserConfiguration.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserConfiguration.html new file mode 100644 index 0000000..a473b84 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserConfiguration.html @@ -0,0 +1,165 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +Overview +
  2. + +
  3. +Foreword +
  4. + +
  5. +Initialization +
  6. + +
  7. +Configuration +
  8. + +
  9. +Hints / Caveats +
  10. + +
  11. +Questions +
  12. + +
+

+
+

+ +

Overview

+ +

All parts of administration of the CryptoBox are done through a comfortable web interface. If this is the first time you use the CryptoBox, just follow the steps below.

+

You can safely ignore the Foreword if you're in a hurry.

+

Initialization describes the process of integrating a new harddisk. You usually have to perform this steps if you start with a new CryptoBox or after changing the harddisk.

+

In the Configuration section, you can configure the CryptoBox according to your personal needs, e.g. change your desired language for the web interface or change the IP address of the CryptoBox.

+

Don't forget to read the Hints / Caveats section too.

+ +

Foreword

+ +

Okay, you finished the CryptoBoxUserGettingStarted/en and are now sitting in front of a computer that is connected via network with your CryptoBox. You point a browser to "https://192.168.0.23" and the CryptoBox interface appears.

+

Before you can save data on your CryptoBox, its harddisk has to be formatted with a cryptographic filesystem. Sounds complicated but don't be scared - it's really a "one click" thing. :)

+ +

Initialization

+ +

Click on Initialize CryptoBox in the title bar.

+

Now you are promted to enter two passwords twice (because we want to train your typing skills ;).

+
    +
  • The first password is the administration password.

    +
      +
    • It is used to protect the configuration of the CryptoBox.

      +
    • +
    • This is necessary to make sure, that no one without your permission can destroy your data by re-initializing the CryptoBox.

      +
    • +
    • Chances are good, that you will only need it once.

      +
    • +
    • You may leave it empty, but this is not recommended.

      +
    • +
    +
  • +
  • The crypto password is the more important password, protecting the data on your harddisk. Choose it wisely!

    +
      +
    • You will need it, whenever you want to access your encrypted data.

      +
    • +
    • For a secure password consider a length of at least 15 characters including digits and special characters. The security of your encrypted data stands or falls with a good password.

      +
    • +
    +
  • +
  • To avoid mistakes and to remind you on what you're going to do, you have to type the displayed red phrase into the last field.

    +
  • +
  • Now you can complete the initialization by clicking on the Initialize CryptoBox button at the bottom of the form.

    +
  • +
+

That's all. Wasn't it a real "one click" thing? Cryptography has never been easier to use. ;)

+

The initialization process takes place in the background and will be completed after a few minutes, depending on your harddisk's size.

+ +

Configuration

+ +

While the initialization is usually done only once, the configuration can be changed at any time you want. You can reach it by clicking at Configuration in the menu bar of the website. Now you see a form with four fields:

+
    +
  • If you defined a administration passwort during Initialization, you have to enter it first. Otherwise this field does not appear.

    +
  • +
  • If the default network address (IP) doesn't fit into your network infrastructure, you can change it in the second field.

    +
  • +
  • The timeout defines the amount of time (in minutes) after that the CryptoBox deactivates the access to the encrypted data. If you e.g. copy a file on the box, it starts counting at zero, so down-/uploads won't be interrupted.

    +
      +
    • It's good choice to enter a small number (few minutes).

      +
    • +
    • A timeout of 0 turns off the automatic deactivation - this is not recommended.

      +
    • +
    +
  • +
  • At language preferences you can select the default language for the CryptoBox interface.

    +
  • +
+

Complete your changes by clicking on Save configuration.

+

That's all - your CryptoBox is now ready for daily use!

+ +

Hints / Caveats

+ +
    +
  • All data on the CryptoBox harddisk will be erased during Initialization.

    +
  • +
  • All passwords have to be typed twice to reduce the chance of a typo.

    +
  • +
  • The optional adminstration password is necessary for configuration only.

    +
  • +
  • The crypto password protects your beloved data.

    +
  • +
  • If the cryptobox is not reachable by browsing to 192.168.0.23, you may have to adjust the network settings of your computer for initialization of the CryptoBox.

    +
  • +
+

back to CryptoBoxUser/en

+
+

+ +

Questions

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserDailyUse.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserDailyUse.html new file mode 100644 index 0000000..c3d4222 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserDailyUse.html @@ -0,0 +1,105 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +Activate your encrypted filesystem +
  2. + +
  3. +Deactivate your encrypted filesystem +
  4. + +
  5. +Shut down your CryptoBox +
  6. + +
  7. +In case of emergency +
  8. + +
  9. +Questions +
  10. + +
+

+
+

+ +

Activate your encrypted filesystem

+ +

You can activate your encrypted filesystem by doing following these steps:

+
    +
  • Point your web browser at the address of your CryptoBox. The default is https://192.168.0.23.

    +
  • +
  • Click on Activation of encrypted data. A new page asking for your crypto password appears.

    +
  • +
  • Enter your crypto password and click on the button below labeled activate encrypted filesystem.

    +
  • +
+

Now the filesystem is accessible. To use it, search for a computer in your network neighborhood. When asked for the name, enter the above IP address (default: 192.168.0.23). Now you can use it like any other network resource.

+ +

Deactivate your encrypted filesystem

+ +

You can deactivate the encrypted filesystem by clicking at Deactivation of encrypted data in the web interface of your CryptoBox.

+

Your data is now protected again.

+ +

Shut down your CryptoBox

+ +

Click at the Shutdown link in the menu of the web interface. There you can choose poweroff or reboot. The shutdown takes some seconds.

+

If the hardware of your CryptoBox is quite recent, it will power-off automatically. Otherwise you have to do it manually.

+ +

In case of emergency

+ +

If you have to protect the drive really fast, just power-off the CryptoBox machine instantly by pulling the plug or pushing the power button. This is not very clean and can (in very rare circumstances) corrupt open files, but it is the fasted method to secure your data.

+

back to CryptoBoxUser/en

+
+

+ +

Questions

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserGettingStarted.html b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserGettingStarted.html new file mode 100644 index 0000000..0fe29c5 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/CryptoBoxUserGettingStarted.html @@ -0,0 +1,116 @@ + + + + + CryptoBox + + + + + + + + +
+ + +
+ + +
+ + +
    + +
  1. +First Steps +
  2. + +
  3. +Hints / Caveats +
  4. + +
  5. +Questions +
  6. + +
+

+
+

+ +

First Steps

+ +

Getting the CryptoBox started doesn't take much:

+
    +
  1. You need an old Computer (at least 100MHz, 48MB RAM) (rule of thumb: bought at least after 1996). This PC needs a network card, a CD-ROM drive and a huge harddisk.

    +
      +
    • Well the disk doesn't need to be huge, it should just suit your filestorage needs ;)

      +
    • +
    • You don't need a monitor or a keyboard to use your CryptoBox (with one exception, see below).

      +
    • +
    • Of course, you may use a faster computer, but they usually consume much more energy and do not provide signifcant advantages.

      +
    • +
    +
  2. +
  3. Then download the latest version of the CryptoBox as an iso-image and burn this image onto a CD.

    + +
  4. +
  5. Configure your PC, so it can boot from the CD. Therefore you have to enter the BIOS and configure the CD-ROM as boot device.

    +
  6. +
  7. Insert the shiny new CryptoBox CD you've just burned and start the computer.

    +
  8. +
+

If it now boots from the CD, you accomplished all of the requirements.

+

Now you can just go to your current desktop computer and point your browser to https://192.168.0.23 where the CryptoBox interface should be displayed. Easy - isn't it?

+

For further steps go to CryptoBoxUserConfiguration/en.

+ +

Hints / Caveats

+ +
    +
  • Maybe you need to change the network address (IP) of your PC to configure the CryptoBox for the first time. Ask someone for help, if you don't know how and why ...

    +
  • +
  • If you're going to buy a new harddisk keep in mind that very old hardware can't handle actual disksizes!

    +
  • +
  • Some old PCs are not able to boot from CD.

    +
  • +
  • If you don't know what a BIOS is, better ask someone, before you try to change something. ;)

    +
  • +
  • Don't forget to connect your PC to your local area network!

    +
  • +
  • To configure the BIOS, you need a keyboard and a monitor. But this has to be done only once.

    +
  • +
+

back to CryptoBoxUser/en

+
+

+ +

Questions

+ + +
+ + + + +
+
+ + + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/doc_footer.inc b/v0.2/cbox-tree.d/_offline/doc/en/doc_footer.inc new file mode 100644 index 0000000..3e2a7f1 --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/doc_footer.inc @@ -0,0 +1,6 @@ +
+ + + diff --git a/v0.2/cbox-tree.d/_offline/doc/en/doc_header.inc b/v0.2/cbox-tree.d/_offline/doc/en/doc_header.inc new file mode 100644 index 0000000..086ed0b --- /dev/null +++ b/v0.2/cbox-tree.d/_offline/doc/en/doc_header.inc @@ -0,0 +1,13 @@ + + +
+ + +
diff --git a/v0.2/cbox-tree.d/_offline/shellopn.exe b/v0.2/cbox-tree.d/_offline/shellopn.exe new file mode 100644 index 0000000000000000000000000000000000000000..e7d91bf6107f2d19435a0ebefab3e190f32a71ce GIT binary patch literal 23552 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�W0i?Lkq z!zaN3bMA-?s&K(5i_7`rdBOD$>LID2py1%g(h)?t{5;K#s zSBB$w`(A`@<75F?13xl0NO?-OnBCPlXJ3)&06sm7iZ?%Tpl=s!+P+y*&#AVZeK7K5 zJs9Y^G3;`RCG*~;fGDGk%~yDYej5KjpdXPDxIW|O1z^=5L?<+~A&J^hJ7nr4P@ja7 z01hfoVFnl;Yf9Os)uL#!HDgu7R9DrNa!I*u0@s+zvG*-i5gNC(!y)Tw29p-<2QLoYsmf<^rWjh$L zISPdnp-vBl_A~-z{Jcr1T{?|31PY+M%6@W1XXOk^eyWx~M?y%tGg`d#H!8W^D}@!^ zpQeQKiT{mYq0T&iVdnbb`nB5sJR)V+P7Vil#ly*9{>Bt?eX2r2wgEIp7j@L4N06#+ z0IlJTLGYAp-Gpf98}3L*lhD}mBfHA^?i9wJe!87VpfdsFrX&vq z{I7aMm+!{XKm7N?P5$u{nWnlCUgN)EgLOkCBMn;$u3g1#ydpE|2^;CviNrEmC#+OKb41b&Mp$`K?xMZO}%cPP_Fi)4A%MNw6Bm1jcdd zr%cXd1bI`l%}lWe(rKgfR1o4gywP#NM0i8lQ@&nSJ1kN?Td&ZO%1Q<5qsMCCKTaX_ zDop4E_i`8CC^JjHKojOv)eq4MQY?hK%vHvH#?#@lb#EySfSF+{7pn-;GirAl+41zl z;J*=A7MA$OLfvl#CE_ z#wgzn1A<#UFWZQYDbpfXU`2%DKHs2+TY|t4LP1{{{8&P~A}D+`!O{W1xh|>B@*`Nn zN{wK-iBT>Sxb4UlWwoFjt$7v=5oi0K-Dn!SlqNtU5)?hB$oQ7+u)Hmbh zdDJ-+s~z%Y1u9tQqEm)&Y8&HXwdYkO@(M+%Rs4dvP|(_AvaU<&0O4!|$9wM$QNA}* zC65aiXKlSu+$s~5Dx41G`ne^IARGqZs(WBD)5s;CldSKmz)x)WE4vu&W(|5syG1{v zgTPZTP&lNn-G&8;*kzja0mEjSbveaT7!WR`n^7ZROf1Pm?BrGZ=&@NENX#1L*3pS7 z5rhp%7tK1G5{RmV^Uq@!n(}Ns3k*gd0T5tCm_%fAB&0u}gezc_fx`?D!%C{cHj<;F zi3PbUyfC0^(l(o(jdfKxas^K$JT*(Uwzi5TLu=Lq1CrH#M+_S;CL>rQ8Y39p+>6nB z??}^65Ty@JdR|3W|3d2?BkCSex~xUln_2M|ri>Uk|I^42vBF2()vXdN@7s=|Q#f62X$g&ShBMdcN zCv2QOXR;{s;P8(iv`W?Ms-u!KE#GNMzHIj-x+iPHegX-S;8gbID*Sm>xr$FN4=zwk zHWHZ!O0}3EuBJH^&n3c_awA11vE~4AzHWWJ;7xBin0am9T4?*ZZ9V9xmu)w?4aHCL z_#w92aGSPhI4IJgHyqxr4G4#~yP{}5AQ&GEi~r5sLOKiY?+FL}Ms#|~+1gGW*UZCA zkZ?yRn^{(5)-#I8m|)dR=DUOLqb+R|Y^1p-FR)x>w-C`|?gdMJmaiWHpdFIbUGl*n z{{`}d2U*6Sdzevumn{9ghWrrb)6mZAoCn@fi zD_?PbgghP;JP+C?!#k?aNifYbbPi@FS|NBW)Rwjc~OM9C^DgQQP&xLj5 z;z6kP=9#El_0NPY_Ja=(k<8pw9h=e-kCG^*+6ocG1N)0+Bzkc?K*GGaHv)Y~-LziM zId-c&%VIk2d92?$Q=yt~dXlA7x=$bzTJfr0`bkRh+EZ9_kdmkLz9E;ozr}#D(-H-X z`}=?vbr&}CQ{3}TN_j9)%%6C*h+d53M8(tbZiH3!{=n9RC8e2~TNnl51$U`D4M*5> zUD4;gWSf$ZGdn%JzZU1B zC1Al?p{9N%+kqFSdPr*NZ~;~qK|fvKi9RNY9Iyh6@dZGW&<%duj*@=F5BMTf;e>iT z(RByJ1HdM49<|_hTB;kv6NIN~_8+wf1D}mMpYOKCyI&66Of7)EOxJ&W@#x#QEZsgP z(KMH@vek@)q7xezaM8sXK@0vuRa*+Wgm1AFeYEU{Jx4K;UN-pGhSzbEt6?G&-GSc1 zE%HGEz4A#5GsY&PTvI5as8`mRG(f2kDzXM^7(vPIO%pl&)(p98svh8HG*KaXKe}nA zW`<4)#KN9R%i>u`Q)}MhbP&M7#ugQ29JZq8KlD%qi!}f+>U4HI$XbrgF6&g2# zYTGw6mW*+R_v}r~hxMS^;q8%cDD2D4Jby9sI2an4dL843T!4Mkhk85S`pd9r@#QL_-4z$Xf!A9ux?f%18XPdiAhIiV-< zlGP7l=t!jFu;Ubp!3jq5(KN@y)lVjT4|cNp-sZ@tuTrKv#L&twlF7o_SQ>4P8JQ?+ znEs@bx~S5hh3%O?b=hW zUG|MU5jO+>+}rL*m(e~7eZ3I;{U>0{H-(Np5JhU#2C!XT zZpb9@C_R7v(aeGm8&mcTMF>78os~HAht!X9)V2U#RB+2pQXu<8*~|f1<@7Qoi1Rye z{t%DD6+uW}#&AA4zH8LYqcBj)@FYmzm@aU@;%Zt91nN)ay%)bwz63I(SDh7`*b`u( z|K+)O$QMD+)!hG@W}KAdpjiiKIQD5ti{ZDpW+=?u<0V20Ciqf2b8QXfo&74~ANiEV7A2b)`ez>mF%<)M$s>O!c3sUVU(4 zgjF4%_Txl9Gk)Z6NzEZ$$zJqWrD#uTFlkXj&nuo`OrH#b@a1fYtHb>=sulp`3K(V; zx;Kmp2vzDw^kx}~3AC)$C0L7IpR7!+7AjLJiAR8L8C{GcrS$EHmMWUgx zz*o&xAeB<0pcc0cOGhSy;y8tbs{8sx4!G@B;crR4T(Or3Y33pf^57YeJ(HZgBumG0 znR)0lRx8ZQY>v9}N`N?VZ(xj0gi02z4~uYxvn30dW`e>V@U-^6?*rC7r4&}SiTkV6 zu~<T=l?IRxFPnOco8o(qm4tyC{1kJ_5*A8vC7bE-hDnRBM58mRUf|@H$ig%|8f@av7)Fh<+cfwC`%FgXdFCAn ztkGvet$z^m%PR5@gfo95z$N@p^{SKniutW|c2GV}nQ=A=in@i-YUtc1@%P?^%0^D( zW!VFUO8CCeI-w)KS|ajA#nY2>T!#3xpbTkdoV>D=zT+<4UbD5HyPo4Bz4@FIz5fP` z2Z+~W+;$}B7uG`eDzin!yCmstzlYbrWZulEN_Lq9Q=_(lhw`YjlP#%jrl5QpcN5=| zF-rRY(zwLx1%aR%&GG*}EBM4;l8h^Q&rGHDz+X-B@OKUJN@yt{RsaMYP|=7CM$BS6 z1|NhoR~Z$nQ%*)9NW{O@EUalER}VR>2<#e1z@;}JCf=F+T7it(NTTlBE!*DqN`0oK z(avrgnUhWuPtMB2TBu4PWPm>Vo4$B?AZG&T3RrQmLWK31saeooc-2XR(O{F18jYu6 zPt;L;^i`*T$>-{MGdy{?GIuq5$f&9^zY&Y+N@y8s8n7Mj|8&bW4w8NyYn6HWs9-Wj_(AT4#Nw{i$q6h6 zvhwRfZLZs#@yl9atQnzZTVm{2U>CG>SKoQ6gWGrwT6^}kP43fg7!S))Ds|_|3ikMN zI_h@mQ<+@UqhX5fm})wB3AJGBSEA5cS6+7yi|O_)RGE z9C+B^h&45T>bHAB#EOpB#P`{eeBLT(&0YUCgtjfu+;VWn6yGV}IwV`dE0_<4y=*pg zQO@@xxXSQN52i4caD5{uiBt;G=^^BBs+iOJbwba#mwddKhPcc@4U;`PcaC&%?Ob;2 zlt?_fn!sv)`evBoS{w^iX}_OdOo3=bPt#s zJ#~_dlugN?}<9`87OI&X< ze&0iF)D^XLCI_ANoZ60x`N(cw53pOcsNB;^)&K30GA3F1<=A}wm3_{itk~oB`kvjq z>UTe}SPC%n{?=i+TK`Pe@wrv2`O(6mt@)m|J(jFL8gEBD;&omSe*x=y+KcFDr2{CS4XUKVE8Od8-F?|9^ZxZP8&wgzW2LzJdO!=7 zAoU!v^^CI^M(wa+<~>!@x{m;hrwFpZ8f{M8-^_rY|6AR(-)X#R>iJ?i{@>C)`JL~t zS+E7oU^5#|-hr)WULIgR__D^c4TX0b#nW7g*FJbW7k)nOlGd|Nkq;~Htog_ZmG>E% z_mXgMS^loYVwk0t95ydsA*#HKoF>mbxSS>E?8pF>R}V}Pj_ff-Q@bRX^GfTr_bXn$(mGtiGM+0nLKG?#7op;`R_( zQuE=a+&$~~{f_MYKQhmk|Bgd$-p?eF4?FYOy#H6~*>&id$18OAkHYiCV%UWrCof+% zs@&C1o%fRp-vM`?3@{HId?v`w`>;jp8QPkBz?FzM4;)p_A6I^c0X8obd}hebtFdlA z__$T#$-Ztr>XNYENO9NmiZX~w>?y2ulyB>)+nPKkuz4Q}m6uYR4|{zNSYK^z_qq#b zcDo3bmzpBoIelc6$yj}>CNiOc4(RD6A#*tVL4Mb}ZI3%@4B|7z z2#}Qf$>Z>MPS%l_GoT*A*E0R)%lVmuFsS>~jQ<5p?!DC5txod`k59Cb>@9v9 zbo3OnTV?W8E=|>cKf!m{%(C>zyyPqHttaj+B;LhJqL+}ko0GVkk%-Q+w2Eb=Bi=<# zf;S`SVOH`N>*6$~B_+{*Uh=iHba}TE^ZrfeFjZ!D{0TB^ke2n4#ZviY4&z6Op-XTx zhStpFR$l+bJFO|-jOx=ottq@Yh0TmgC%5$9+DsGd=1p%r|KGmxWy>n3f0iFyTEMWn zQ$!Qcpc6^4ra+7FcEomD(2_wiJcwe)a~+tSgV4^e^3)vn*+|#r3`+(!8TaL&oK*?W zp0lJjZ;7$@nV@68GaT|m`d{Cwmz>~-r+c-8ea$9 zDuDTcR3!O;{=AjXKO_P1ySF>vua|tUd9J-j^>EV@G{ek~;6P>P0msB&e|;3n`j_QN z%HMg2sQvSTSuHmy`6*;6}Es^BY(*gi4P zkRr-_P1i^b5^M$HEpN?A4Q9Awq#Oh|7*6IokV!LM_kqhORxy!>^>~o&;>GxHj~ov1!xqa4n!cd^k{n`w=8Rl-WzUeTSFhIn-!vixA>WB2 zH6^d!%m-VH^*nz8R;-2BJy{0@c3PpzEgOdnfVe(jUJB5j~47KUo&P9Hh~(-K_L8b(NZaQ(VZx zHe@Ypq;y+*bzCf#7Y=)9r;@S)uSmZ?w|)HZ<8|CR+TINVWB+neXPRf_82U4=M)*=7 z12}@#Z*-Q-0JcRJVNz4s&kwoYovs$%?>OG?Dp$*o_u$m}g)v|De7~_VU#Q+cp5pv{ z(xWsEpxY@ z=i+>NWuZ&9uP$|KxB2kwYT=r(m-N$B&ukqiwk0Q;b1SPo+`R5?!!jLM+};SBYwhm7 zL_EiSO~$?i7~S&P>;m@`*Vn30KjA2&lzojI?QO0SGH{DkqNcMfMg$y9Gvvn5yTriL zmp2ZrD;@TN=6PcD=X-1C%zgbQ&QrNBbtVK*1%l^mS?`fZ0$Cf2Yj?$d2Hw_XOJ%Ao zZLFNy*j0VB^~@4D_JF+D?BM&%F}{8HCUnES+$T4Q-nTT`*xQKo@)vKCPy!;;-z0j_ z^2{e!flqKSA8wO{)2nwWf)XU)*c2-t^)!m#pb98br42Rp1B09||y$gJ=eLExu&6`XTsRe9AQqFW!3CzoH;u+3}!1Qd> zxF~r)-^c@-qqH=#*@S-K<+h1Ek{MtOqs4?p+7A_EvL9~u5e!sx@kcc zX6SZ49WMbULQ_j6oGCw+XFznQIwewO0ZNOq(u|m^0T84$c4w|ET<5kJGy|7+W>*2l ztT_n-je5aHr55{1t#f1B z%<@tF0^Z_+ImZ_gKV@dpj1KrW0H~%1E?S0~T*k%)GGQ0u#_PH~NUY(@g#39kCU?Uu zoX-|40x|OtX&#Z?Pf^^AZIqlW&_vS6g&LS4!<<;NVdI_?0&rtOzUJ1al>dDU00tLL zA^2s#wQ%9iOadU5-)*@g#qrG(u-7X>JpWwJl)=5rR+7i0d)((6Wlis-$;j7Hmhlw+ zgTW(BFtq8-m4p=O7~yVHDwueM8tBgH~L|nMOzPa(=y7uTdHW1?)Ts(8=YYP-~9}V~hoG;|LK&DUWt56pB5~_aeGz4VswcJ0;*StWu`Ux|M$0mFlhjTx+p7u*q7$;*e?q=wMfE z+Yk}D?3&G9Z748FJ4?bJx>m1Q2_)TVtomseW4oBBZ(Un^Y;gbaH6}_b8{U$(Ne1d? zdz8ITr9EsfeJgGLM3_1V)wL6@ZYN&QNj@n|J%*RQ7dL$gN%_~~ItWDxkPhpl?3}jon>cIc7NvJu6_+Gd^qY;&9Wv z9#A@Z>m-!!i^0y7pB)^pAQ}%0!z7P-^`9-;Y<=Z>m3D-~=8}9Bdv~E%nW%!vquKKy z4!wKsgoS{X1o*vwY*8@tE5pE|``8zcQHEt0<6grkHt+r8m39LtlwAYY+_PKVbk?lf zUym2NZfokik*&08b99wKw{hzu%DGIElyjK4dgJ3M$cw0`Vov@5Kl$87k9^Gs6=J6C z;>i3u(YEo}LN(ACHs&j~}iNqu*ZsAAA`2e~4l!Mjayp_#BktLr{U==8~h9U|`%JZzm0i;-EPfw%(p=x{EUW?D>6L9?%9{4eo zu!M%)q*kIN3_P9vRDSYgOOnF=vCTJ|3b^OW7&QkwLhx`qDkb`KE?KGN8kESbt8!Xb z$JE8fxLWo2c|?UPog3eMNR*ChC)888JRJpo+LvH=())7P7`$%GR`G!M=uQyC^V`L} z6>0j(kt%Fq9cBHZuE`)oPVu~KAJlC{xrZ6vwTDm_=gr@%F-x({)Ha`A7sQY5I6u(; zqef*gI~}w#V?hHp5RjHQ5D?^lYFIeh(z|-P{%^DYyZC>beXg#K%eHuv|J=$uvWj=3 zDmY7`%S#evDz$VG?TvJbu(JD88zC2<5dxSVB4H*V;NvO}3(nKYd977Thjd|ic{#nF zq4>6M`RVNFTq*!J2IA-^*Wb6R2S?xP!+|jiZpGsZ==z~Clfp6Ek zls;;XZE7E_)sLsk82+zM1?YfM2Wpe265TZiE3+rLO+a)DIY=Zv`eWWw`0v*V1s~g$ zoc)tY-ke+!g`7Ih_ffn6=|@uw+iw4@&G&HlQznMtnhki9%=|T9lCeoX4jNCd}6VM#mEe{f%zD<9=%&{5yzvgJ&es$Q4WWV%1UI} z*|TpdI)m1IQ8V^&bkmwuUb=(%q6#Tt+JcGM(ladwDGHw+mcrzvnbrlHQ(bL3_>T@| zb}wMaDA&Ibac`-1H%+cIjkH6obBx1%bRP9_2E?xJ#>%ggtS`Dtn(kg>S=-mQj8QG? zYTR60rkbZ6*_eaIT7}lMGM&6u`D61=`9nwMfak=^|2Gd`D@0*?!9cK4q;EDNpocw;Fl?KFPN>EjgOBNnWi=>kJCr1X+Y>JE*wYGz3l ztxW{Q5i&!NVzsR3*(w}S^oP;HUE%eRMb5_Zk9KLj^H8F@Xd4N6^LReLTbD|212ttE zg>s07wzh>#!kR;-UM`st)zGwPQe)bW;-r*&TmNVD>O{$H zUfL}8ot2j0(YI1{w8KJ+6oO zoRV|wkE!y#6H@9lpv@{zD!KP@n-=G#M8ZAtBL4eiE*}zGiO7|~p`iUs(m^LMEK3Wk zd74=L-NkcHQ)%$D&{gP_7=G2nvn1Sp%8>)%dWq5tEH?FU0JZ&)j4DdFZ<^{90ql(i zt`f46*JtT<2iLOJ&5iu$i+8MXGUyz=%4F@TWkd^7fhL!7awSu59WzqZiHV2wPA?*s zvj__={_ceI5eiw>{ximram@O0-B%YGlp(DQ0L9o%@>lIPOvR9{AuK^K^otMvCj5L~(sQ&{Hw2IBIWO^BMTJsGC0vdsle zK?p~2PJ2Tm1akMyL_{V>J#LL4f0@Z>QXDDG5^o`!sSFe|DHP1LOo~?DdX6{lJ@OvOe|ZDSy~L72h1qLGj)+=o0AbHp zdQSU0w^&XYZ^*qV{NvUc^qwD(-Nqz56`;q@A1(S3H( zQw~^6Yoe+P)vMePoV$l7repj(8LW(FUWo1euaFaGUuvuHLpCAQFkv1^?bj1my~ws% zaClmog5JCjg7C0@;Pi{_3qxOl#qY(|K5tAt#PZ?rMbSOpn2Yi8vx9S!qWbXU3s2AY z(E7K*&+w~**}JNE#DOnFK5_Z*f+Q6QboOgO#~B?hKc_t4iG;Y>DnOCYzrR3|&3(dD z+U?EME?^kh_INFNs32sO?fxc(Sx5n*VfYjTVHkYKpOeLR9>V9F3HvCc8DtIfMnqen z9Txo(++IUEnWe_FJx%3hYhi~u>{t$59}uj9>6)|p7bBAW8BvUT_M8fP{^;3r85mn! zbTsqaja+Uwifh?T#%zX+iIn4l6GRQ5Z?BqWH6EQr>*3W7$?LyPKeFGX^kPQmI}ZUDkAYdF`I+#M-6F~Je$MJ#6>ID7va-+N${c~l%AsQnNxTSubQORAivqt-7gjyfmFlp9VTFOEo~ zdrO-+Zs(#Evsq!?lnmHYM}o|avvG$LF@z7&6L7!)_P3s&<+UJ_?M$Sa3t^8*Y*Wom z)2L_MHBT0ZF51TEwSq=omllmLHi*3YrH;fEL7xDM47I(}C3SAX9`T&45(4<9 zm8pod3D%~F^QZYxS=oDy9Qd)NF-Zt)renq#I^QLU4mRxt>d~EgoR#*Adb?$wNo)7e zB{cX|5Y|*j{{FZ!?~ZBvD8vmF1j>}eE738>taByJmwTc|$??gp>qRWaP} zx$-o0m)5xj{*uvM4m}A>CCOO}OfHr~#@1zaJmjG$8{m zj%X#L3S4XpW;YmB{oNhm&@8TfVZe&-C3 zk@k>2Lefw`Fb5MFe>bG1)3ASut>X)JC3e)?^4^g#R5#ecX#KD=&XBO2^Dpg#jm3e7 zKe4g}>eltn&3;4gI|gVQdb5@7eQ6!{8w<%n7Njvw#Crh@xla{3DsBSR$rumu*rPcf z>1WwAHN`OW5TS7wi^#)(`vCz@Qyz-xAmmlI13s{zO_Um3fi*69xhI?|Gq zzu3Tn(y}Zkec=luC_yD1Y|&V$u3&K#vT-!eT?3n`-vSG*A>OV|a*RP@_-aGw2E>VJ zkmrUd>PlmW`rn)8k_Ge)3zaP=N!?q?>$xRLZVoq3p=-)qx%EWVb31pw9FwT%#1+!! z+=3$a5Ez~{OvkPQGFD&Z^W6u1NjEY=@clMiVz0bFAjB}L@VBU>4j%76#kD)k_@?Z* zbS1dL1db0>+f_3%+H{ndckjzGAMi%nQ6?(hOp#k)`zcqqZjKr9^0+ZTF-0E)plUkR z9j>DBQtlds#X^*UnW@4+d>(}tDe5_#Eiz8t#WNZzQXf~a7Rorn&?Ews|0si~X@Xt2 zs<8NTn;;8;uDvt~TPI4|o5RXw4D<=f6xL37n-C>Wkce8NTQ`Ir!uJG;E#A0R>&q-ZYxMIdP4>ETkM zS+`0}{Ndyg^b8a!&&kz*?O%F*@VX=MxcrWKNmbQFLe;pvDam`;;}%+*69*;>(}m zV!lZM{kT{->i#q({~p4fjWK8Sk#uy<|AA9AE4HW)GzJ5qU_(2nfY*TSJc^ip^Y@XcpH+DHdCnyT59xu!u zpB+@Zgf3wBzXn)!r@-QwB`wCVApLRSwxKi1{mDii$YRY}yr}$#gd0G_#@;E23d`Yt z>Rv%9u9noYRa*<)<&+2=*WMjqDowgtX1FuN8(x|ca$VW1NYCm~Dk0?G8IDeT8K{{E zUZ8VyX1&8Q!J`n(0_Cb5vHe5q+jvzz!ySuWl=IDuH9IPVw%G#9(*`|7}p5@6*Z7@ zP4E%33Sm_2HVmUoIw0inn+LV6Gz`}t2wd0!z|5&xtJA{mnV%hrh2BBYRY8aSWasNn zRJnhVGme!FkB2@%^lh*Rz7t~WJ@uO0V|5yu;kO|v&Cw(fAHk{mQtY~Gbv2eqF#L}V6%nhh?QccQ9TM)#_-U#;q}r#< zwdhJec>Q4i`lM6d+)A7)I#MlW=h>AqjXg&p4D3?v=68V{EfRlb0z4KRb0BLIpH(zg zu5+Abfza)&RdK&F7JthdDR3cQR^yO7lyNyO@7D94lrC-Ua0TDdSAIkA*6$UE7Zcr$Yl-A#FtsX}@1wrYQT2|N&&Q0O< zdU6-L7(N-*l0R@^T5&Z{3%M#Bzrk|Q8lhj9iHcqSFzorBGvk*rpGjCM@s^8ttKC$M;ebVL5(7*N?LNFBUpRR}d=GXV>K9&8M){Qn5G%$`wK%`#}E2M}sR~7h8pl?1p8Xt)B7s8FCV%)}r zg5A;nsoe7Iws2mBS41xorq)NtTQMp> zZnL6(F@&_XcV&)^p8rbL^keli-fn~ed`PLa*Ljbfa0^tNS-UB7PF&VrK~UA1PbXvi z9o49uwruE*5ZOC%NoL)6k~yJVvxjSzYv7TfEf9cyR!bFnK9C|EaWLf_w)qW{c|gio zd-aVg8>w)^oK#}SxFT#uuRltIu6)DMenWdDWcu4ao}@)tfBmmZSAJ+YVlF@Z51@yR zM?TLcQ-VuJ+Az|f%Ta8_9CfRgSM>S2i1ru=9pHz~t2I@uzE!7b0R+L-;}HcOq%m)B z6@#11?2mFvmV@J(sEB)CHG_#N?@>dpu7V#4TC54a>WA;>?ILv;Gh(Pe3S@3Bpe?1^ z`kd!;N_u$9x2L;ZtKxfGrtiV4ZeDy3-Gcb#NJ$}%mXkIuUr1B?GT&xrK{K~JD$(v} z>W~JdpQysHePAL0Zy29PkFM+yh_c|+kICDoK(FopB5AyrhIWx4Cq z`iwg;#RUce*hU&$l?KWQFV+n<16Bb(Xq?m;DX(DfgYwxYk|Q4D$ygFQINt8 zNktql$lT#R;;33tU$pzb>NxXoDAYZUlgyC4)L4!sMuW;4n(SgwlOZHA*?O{N8DfUP z+_7ayh;kfrkZr0_&XFP=yP83kNf}L;>|4et`;2k9-RIu!>ACOw&-?!KdEWQW-}CuC z-!#>7{m_5`b_S17>fQ(c(0glZ_*XLYeD5H-XyiP&!xbhFrS-0;CC1N@{8ifFu3^SR z_M-nO#(0d2#p1pobMUlra?zujug(I$S8)03{9+w}Q5FhoYomsztc5vpo+)sEuHPiv0{W-W27EXp=*rJ!%;FOoLUZJX3-fd~U`p}1_+a5KG~P@LX4 zXf)AkVLm)d{>0muP;QN!;4exG^nn?wSRhQ~2*Kz8gkjA3W&X8^4KjTZyB}jD=h=CRpL%Ndb0#4kPPEZsr=>NP< zS@yQ#xLIQ{h+iaTyT@kdS#!Su@!Ev8S)X$erN2uR4*-v3;s%`|*VCFBly2K6lm+fY zV2sMubfIzj#5)1PMcOQp88-wvp3yO|vFxK~u?{+{0`o98<2Agy_eUXbREBirh784zxtL zgtlYH0QkUWo|;JnqKN&hF$niSJWY|O|A>~M#WG5&W5A(TKAyIFJ4%zFLa@h$7TioMe?itDnO6~yVKk77_~y8T9rU7 z=InXoNW;K@0y%!L?xu9UKx`FmJ5Z=kbwRx*rL(_tvehX(;u_^mJ|Ymu<>L7h-ts1L zJY;j{BMmhV4{A_wTWnczw6!~#09P>IHrlB!E1mz8yOJcnAnFOuqIk%D49zFuZ4 zM&ohzFP=KnBZ3|{$xN?Oow_8!QVuCM8af7BP#El@()6YoOLt73?q}(*<9Xzsytf( zYI7j+!N15BH{8i@HYP}-T9c&SjMXb1QHFf0^)Onsq!qUctrTwU(R7fJH%wWFw# z_gBlaGo})9UcHcgU)P?#hW?qG}JLYEi2(n30An3 zS&LV)yv$Qq>eL7k0@${L@P}j%We$Lc&7~?KsjJp0A~4&7P&3V@*BK_=4NuDcP+W*I zwxbmsf;tRk+FFOay>uT$^|z-t3*tAoM?83)xcFi(4bO9v2Q5uh6ZL+>cq^XF4!&>E z4JZq8b?;A|G*iaoBI4Y&qWXI4Vg4ot%PbmG)BY$$6TUM25rnEtCn?QAqa7|ib-4*Z zb|&7ICv9DpY)d#Cu(ZmlHdiyA77ZRmI*($p4v&&wSumQ3Cc{!I_1HT;-vr6Y0{~>0 zee=$1H#g?!>J{=(6fk6V?6P-6mB33D23Yx7>tf1yP9H^Ud}?~h7Z$5mSHlR+oSU^^lUP zUS_~AR{DP{mVK^8nB+iF>=d$Gu=6Rf&a)Rw%=VnfV8o|8*jN^TVG?i_+QbAaO+aR^;OWEsHct3^witXFHJKzMvz5=!xH8-6`J9Q z(XOZ-52MN=-?YRVYgVv_8ww8}dA`7C)lK<&$b^jx5uSxywo6UA0vNL5b0h+zGY&n# z*~Ie1M|2fsz`?Z<#q=Pf%0vwr>=DhN+9C6n%%%%7Uhvn7Y*2w}Yfsp_yL0zXJUNkY zVFhaWT(f%5mD@mWM%lPANGW-!E-2U=x4 zNk=-Ri-)+DT8jC%H@m601mr1+&ny(Mw+=q8Usoqe_I{>4#k_u47258Y9?=mmXisb_ zES6eDH-M67xT^&M&GS|YJXa9sUeC_1>Eho968L}3LAw!$f3HRS-r;|Hgap6$2)SbT z_#D0<#^BCTB848{uP for +# sending the correct chat script for the passwd program in Debian Potato). + passwd program = /usr/bin/passwd %u + passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n . + +# This boolean controls whether PAM will be used for password changes +# when requested by an SMB client instead of the program listed in +# 'passwd program'. The default is 'no'. +; pam password change = no + + +########## Printing ########## + +# If you want to automatically load your printer list rather +# than setting them up individually then you'll need this +; load printers = yes + +# lpr(ng) printing. You may wish to override the location of the +# printcap file +; printing = bsd +; printcap name = /etc/printcap + +# CUPS printing. See also the cupsaddsmb(8) manpage in the +# cupsys-client package. +; printing = cups +; printcap name = cups + +# When using [print$], root is implicitly a 'printer admin', but you can +# also give this right to other users to add drivers and set printer +# properties +; printer admin = @ntadmin + + +######## File sharing ######## + +# Name mangling options + preserve case = yes + short preserve case = yes + + +############ Misc ############ + +# Using the following line enables you to customise your configuration +# on a per machine basis. The %m gets replaced with the netbios name +# of the machine that is connecting +; include = /home/samba/etc/smb.conf.%m + +# Most people will find that this option gives better performance. +# See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/speed.html +# for details +# You may want to add the following on a Linux system: +# SO_RCVBUF=8192 SO_SNDBUF=8192 + socket options = TCP_NODELAY + +# The following parameter is useful only if you have the linpopup package +# installed. The samba maintainer and the linpopup maintainer are +# working to ease installation and configuration of linpopup and samba. +; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & + +# Domain Master specifies Samba to be the Domain Master Browser. If this +# machine will be configured as a BDC (a secondary logon server), you +# must set this to 'no'; otherwise, the default behavior is recommended. +domain master = no +local master = no +preferred master = no + +# Some defaults for winbind (make sure you're not using the ranges +# for something else.) +; idmap uid = 10000-20000 +; idmap gid = 10000-20000 +; template shell = /bin/bash + +#======================= Share Definitions ======================= + +;[homes] +; comment = Home Directories +; browseable = no + +[public] + comment = encrypted share + path = /mnt/crypto + public = yes + guest ok = yes + +# By default, the home directories are exported read-only. Change next +# parameter to 'yes' if you want to be able to write to them. + writable = yes + +# File creation mask is set to 0700 for security reasons. If you want to +# create files with group=rw permissions, set next parameter to 0775. + create mask = 0700 + +# Directory creation mask is set to 0700 for security reasons. If you want to +# create dirs. with group=rw permissions, set next parameter to 0775. + directory mask = 0700 + +# Un-comment the following and create the netlogon directory for Domain Logons +# (you need to configure Samba to act as a domain controller too.) +;[netlogon] +; comment = Network Logon Service +; path = /home/samba/netlogon +; guest ok = yes +; writable = no +; share modes = no + +;[printers] +; comment = All Printers +; browseable = no +; path = /tmp +; printable = yes +; public = no +; writable = no +; create mode = 0700 + +# Windows clients look for this share name as a source of downloadable +# printer drivers +#[print$] +# comment = Printer Drivers +# path = /var/lib/samba/printers +# browseable = yes +# read only = yes +# guest ok = no +# Uncomment to allow remote administration of Windows print drivers. +# Replace 'ntadmin' with the name of the group your admin users are +# members of. +; write list = root, @ntadmin + +# The next two parameters show how to auto-mount a CD-ROM when the +# cdrom share is accesed. For this to work /etc/fstab must contain +# an entry like this: +# +# /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0 +# +# The CD-ROM gets unmounted automatically after the connection to the +# +# If you don't want to use auto-mounting/unmounting make sure the CD +# is mounted on /cdrom +# +; preexec = /bin/mount /cdrom +; postexec = /bin/umount /cdrom + diff --git a/v0.2/cbox-tree.d/mnt/crypto/info.txt b/v0.2/cbox-tree.d/mnt/crypto/info.txt new file mode 100644 index 0000000..b5fc21b --- /dev/null +++ b/v0.2/cbox-tree.d/mnt/crypto/info.txt @@ -0,0 +1 @@ +Hallo diff --git a/v0.2/cbox-tree.d/start.html b/v0.2/cbox-tree.d/start.html new file mode 100644 index 0000000..da53401 --- /dev/null +++ b/v0.2/cbox-tree.d/start.html @@ -0,0 +1,11 @@ + + + + + Die CryptoBox + + + Automatische Weiterleitung zur Dokumentation ... + + + diff --git a/v0.2/cbox-tree.d/usr/lib/cryptobox/cbox-manage.sh b/v0.2/cbox-tree.d/usr/lib/cryptobox/cbox-manage.sh new file mode 100755 index 0000000..1f87e02 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/cryptobox/cbox-manage.sh @@ -0,0 +1,481 @@ +#!/bin/sh +# +# this script does EVERYTHING +# all other scripts are only frontends :) +# +# called by: +# - some rc-scripts +# - the web frontend cgi +# + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + +## configuration +CONFIG_MARKER="$CONFIG_DIR/cryptobox.marker" +CERT_TEMP=/tmp/stunnel.pem + +##### + +function 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 +{ + echo "[`date`] - $2" | tee -a "$LOG_FILE" >&2 + # print the execution stack - not usable with busybox + #caller | sed 's/^/\t/' >&2 + exit "$1" +} + + +function initial_checks() +# Parameter: device +{ + local device="$1" + [ ! -b "$device" ] && log_msg "blockdevice $device does not exist" && 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 || { log_msg "$a is not supported by kernel" && return 1; } + done + log_msg "inital checks successful" + return 0 +} + + +function create_partitions() +# Parameter: device +{ + local device="$1" + # first partition size is 1 sector, second goes til end + # sfdisk -n doesn't actually write (for testing purpose) + echo -e "0,1,L \n,,L\n" | $SFDISK "$device" +} + + +function config_set_value() +# parameters: SettingName SettingValue +{ + mount -o rw,remount "$CONFIG_DIR" + echo -n "$2" > "$CONFIG_DIR/$1" + mount -o ro,remount "$CONFIG_DIR" +} + + +function config_get_value() +# parameters: SettingName +{ + # use mounted config, if it exists - otherwise use defaults + local conf_dir + if is_config_mounted + then conf_dir=$CONFIG_DIR + else conf_dir=$CONFIG_DEFAULTS_DIR + fi + [ -z "$1" ] && error_msg 1 "empty setting name" + [ ! -e "$conf_dir/$1" ] && error_msg 2 "unknown configuration value ($1)" + # remove trailing line break + echo -n $(cat "$conf_dir/$1") +} + + +function create_config() +# Parameter: device +{ + local device="${1}1" + log_msg "Creating config filesystem ..." + # filter output through 'tr' to replace tabs + $MKFS_CONFIG "$device" | tr '\010' ' ' + # 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" + log_msg "Copying configuration defaults ..." + cp -a "$CONFIG_DEFAULTS_DIR/." "$CONFIG_DIR" + + log_msg "Copying temporary cerificate file to config filesystem ..." + # beware: the temp file should always be there - even after reboot - see "mount_config" + 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 +} + + +function get_current_ip() +# not necessarily the same as configured (necessary for validation) +{ + # filter the output of ifconfig and remove trailing line break + echo -n $(ifconfig $NET_IFACE | grep "inet" | cut -d ":" -f2 | cut -d " " -f1) +} + + +function create_crypto() +# Parameter: device +{ + local device="$1" + # passphrase may be passed via command line + $CRYPTSETUP -h "$HASH" -c "$ALGO" create "`basename $CRYPTMAPPER_DEV`" "${device}2" +} + + +function mkfs_crypto() +# split from create_crypto to allow background execution via web interface +{ + local device=$(find_harddisk) + + # flood the crypto partition with noise + # writing to the real partition is faster + # TODO: this takes _much_ too long - maybe add a "secure wipe" switch to the interface? + #dd if=/dev/urandom of="${device}2" bs=512 + + # filter output through 'tr' to replace tabs + $MKFS_DATA "$CRYPTMAPPER_DEV" | tr '\0101' ' ' +} + + +function config_mount_test() +# Parameter: device +{ + local device="${1}" + local STATUS=0 + mount "${device}1" "$CONFIG_DIR" &>/dev/null || true + is_config_mounted && STATUS=1 + umount "$CONFIG_DIR" &>/dev/null || true + # return code is the result of this expression + [ 1 -eq "$STATUS" ] && return 0 + return 1 +} + + +function is_config_mounted() +{ + mount | grep -q " ${CONFIG_DIR} " && [ -f "$CONFIG_MARKER" ] +} + + +function is_crypto_mounted() +{ + mount | grep -q " ${CRYPTO_DIR} " +} + + +function is_init_running() +{ + check_at_command_queue " box-init-bg" +} + + +# check if a specified command is in an at-queue +# Parameter: a regular expression of the commandline +# Return: the command is part of an at-queue (0) or not (1) +function check_at_command_queue() +{ + # 1) get the available job numbers + # 2) remove empty lines (especially the last one) + # 3) check every associated command for the regexp + at -l | cut -f 1 | while read jobnum + do at -c $jobnum | sed '/^$/d' | tail -1 + done | grep -q "$1" +} + + +function find_harddisk() +# look for the harddisk to be partitioned +{ + local dev=$( + if is_config_mounted + then config_get_value "device" + else for a in $SCAN_DEVICES + do grep -q " `basename $a`$" /proc/partitions && echo "$a" && break + done + fi ) + [ -z "$dev" ] && echo "no valid partition for initialisation found!" >>"$LOG_FILE" + echo -n "$dev" +} + + +function mount_config() +{ + is_config_mounted && error_msg 3 "configuration directory ($CONFIG_DIR) is already mounted!" + local device=$( + for a in $SCAN_DEVICES + 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 log_msg "configuraton found on $device" + config_set_value "device" "$device" + # copy certificate to /tmp in case of re-initialization + # /tmp should be writable, so tmpfs has to be mounted before (/etc/rcS.d) + cp "$CERT_FILE" "$CERT_TEMP" + return 0 + else log_msg "failed to locate harddisk" + return 1 + fi +} + + +function mount_crypto() +{ + is_crypto_mounted && echo "Das Crypto-Dateisystem ist bereits aktiv!" && return + 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 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 +} + + +function umount_crypto() +{ + # do not break on error + set +e + 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 +} + + +function init_cryptobox_part1() +# this is only the first part of initialisation that takes no time - good for a smooth web interface +{ + local device=$(find_harddisk) + [ -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" +} + + +function init_cryptobox_part2() +# some things to be done in the background +# these are the final steps of initialisation +# the uid must be changed initially, therfore it needs to be mounted +{ + mkfs_crypto + mount "$CRYPTMAPPER_DEV" "$CRYPTO_DIR" + chown $SAMBA_USER "$CRYPTO_DIR" + umount_crypto +} + + +function init_cryptobox_complete() +{ + init_cryptobox_part1 + init_cryptobox_part2 +} + +### main ### + +# set PATH because thttpd removes /sbin and /usr/sbin for cgis +export PATH=/usr/sbin:/usr/bin:/sbin:/bin + + +ACTION=help +[ $# -gt 0 ] && ACTION="$1" + +case "$ACTION" in + config-up ) + if mount_config + then echo "Cryptobox configuration successfully loaded" + else error_msg 3 "Could not find a configuration partition!" + fi + ;; + config-down ) + umount "$CONFIG_DIR" || error_msg 4 "Could not unmount configuration partition" + ;; + 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" ] + then USE_CERT=$CERT_FILE + 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 + # the box, in case of misconfiguration + 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 ) + # is something special necessary? + ;; + services-down ) + /etc/init.d/samba stop + /etc/init.d/thttpd stop + ;; + crypto-up ) + mount_crypto + ;; + crypto-down ) + umount_crypto + ;; + box-init ) + # do complete initialization + "$0" box-init-fg + # the background part will recall itself as an at-command + "$0" box-init-bg + ;; + box-init-fg ) + # only partitioning and configuration + # 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 + ;; + box-init-bg ) + # do it in the background to provide a smoother web interface + # messages and errors get written to $LOG_FILE + + # make sure, that this is always called via 'at': + if check_at_command_queue " box-init-bg" + then init_cryptobox_part2 >"$LOG_FILE" 2>&1 + else echo -n "'$0' box-init-bg" | at now + fi + ;; + is_crypto_mounted ) + is_crypto_mounted + ;; + is_config_mounted ) + is_config_mounted + ;; + is_init_running ) + is_init_running + ;; + is_harddisk_available ) + [ -z "$(find_harddisk)" ] && exit 1 + exit 0 + ;; + update_ip_address ) + # reconfigure the network interface to a new IP address + # wait for 5 seconds to finish present http requests + echo -n "sleep 5; ifconfig $NET_IFACE `config_get_value ip`" | at now + ;; + get_current_ip ) + get_current_ip + ;; + set_config ) + [ $# -ne 3 ] && error_msg 7 "'set_config' requires two parameters" + config_set_value "$2" "$3" + ;; + get_config ) + [ $# -ne 2 ] && error_msg 6 "'get_config' requires exactly one parameter" + config_get_value "$2" + ;; + diskinfo ) + $SFDISK -L -q -l `find_harddisk` + ;; + poweroff ) + is_crypto_mounted && umount_crypto + log_msg "Turning off the CryptoBox ..." + echo "poweroff" | at now + ;; + reboot ) + is_crypto_mounted && umount_crypto + log_msg "Rebooting the CryptoBox ..." + echo "reboot" | at now + ;; + clean ) + # only for development + log_msg "Cleaning the CryptoBox ..." + device=$(find_harddisk) + $0 crypto-down + $0 config-down + # TODO: test this! + echo -e ";\n;\n;\n;\n" | $SFDISK "$device" + ;; + * ) + echo "Syntax: `basename $0` ACTION [PARAMS]" + echo " config-up - scan for configuration partition and mount it" + echo " config-down - unmount configuration partition" + echo " network-up - enable network interface" + echo " network-down - disable network interface" + echo " services-up - run some cryptobox specific daemons" + echo " services-down - stop some cryptobox specific daemons" + echo " crypto-up - mount crypto partition and start samba" + echo " crypto-down - unmount crypto partition and stop samba" + echo " box-init - initialize cryptobox (ALL data is LOST)" + echo " box-init-fg - the first part of initialization" + echo " box-init-bg - the last part of initialization (background)" + echo " is_crypto_mounted - check, if crypto partition is mounted" + echo " is_config_mounted - check, if configuration partition is mounted" + echo " is_init_running - check, if initialization is ongoing" + echo " is_harddisk_available - check, if there is a usable harddisk" + echo " get_current_ip - get the current IP of the network interface" + echo " update_ip_address - update the network interface after reconfiguration" + echo " set_config NAME VALUE - change a configuration setting" + echo " get_config NAME - retrieve a configuration setting" + echo " diskinfo - show the partition table of the harddisk" + echo " poweroff - shutdown the cryptobox" + echo " clean - remove all partitions [only for development]" + echo " reboot - reboot the cryptobox" + echo + ;; + esac diff --git a/v0.2/cbox-tree.d/usr/lib/cryptobox/check_smb_idle.sh b/v0.2/cbox-tree.d/usr/lib/cryptobox/check_smb_idle.sh new file mode 100755 index 0000000..83dec84 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/cryptobox/check_smb_idle.sh @@ -0,0 +1,77 @@ +#!/bin/sh +# +# a simple script to check, if there was no smb traffic for the specified +# number of minutes - then it unmounts the crypto partition +# +# you may want to adjust the function "filter_ipt_rules" according to +# your setup +# +# any Parameter are ignored +# +# this script has to run as root - as it invokes iptables +# +# the iptables rules to detect smb traffic could look like the following: +# iptables -A INPUT -i eth0 -p udp --dport 138 -j ACCEPT +# iptables -A INPUT -i eth0 -p tcp --dport 139 -j ACCEPT +# +# called by: +# - cron (/etc/cron.d/cryptobox) +# + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + + +############# some functions ################## + +filter_ipt_rules() +# get the input rules for smb datagram traffic +{ + "$IPTABLES" -L INPUT -vnx | grep -E "udp dpt:138|tcp dpt:139" +} + + +function check_for_traffic() +{ + local traffic_yes=0 + # fallback if no rules were found + # extract the number of packets and calculate the sum + filter_ipt_rules | sed 's/ */ /g' | cut -d " " -f 3 | while read a + do [ "$a" -gt 0 ] && echo "$a" + done | grep -q "" && traffic_yes=1 + "$IPTABLES" -Z INPUT + [ "$traffic_yes" = "1" ] +} + + +################### main ###################### + +# break, if crypto partition is not mounted +"$CB_SCRIPT" is_crypto_mounted || exit 0 + +# break, if idle timer is turned off +MAX_IDLE_COUNTER=$("$CB_SCRIPT" get_config timeout) +[ "$MAX_IDLE_COUNTER" -eq 0 ] && exit 0 + +# config test +[ -z "$(filter_ipt_rules)" ] && echo "[`basename $0`]: Could not find a matching iptables rule!" >>"$LOG_FILE" && exit 1 + +# read current idle counter +if [ -e "$IDLE_COUNTER_FILE" ] + then current_count=$(<$IDLE_COUNTER_FILE) + else current_count=0 + fi + +# update counter +if check_for_traffic + then echo 0 + else echo $((current_count + 1)) + fi >"$IDLE_COUNTER_FILE" + +# unmount crypto partition, if the threshold was reached +if [ "$(<$IDLE_COUNTER_FILE)" -ge "$MAX_IDLE_COUNTER" ] + then "$CB_SCRIPT" crypto-down >>"$LOG_FILE" 2>&1 + echo "0" >"$IDLE_COUNTER_FILE" + fi diff --git a/v0.2/cbox-tree.d/usr/lib/cryptobox/chroot-start.sh b/v0.2/cbox-tree.d/usr/lib/cryptobox/chroot-start.sh new file mode 100755 index 0000000..0d28182 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/cryptobox/chroot-start.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# FOR DEVELOPMENT ONLY! +# +# this script is used to prepare a chroot session for testing or configuring +# +# called by: +# - cbox-build.sh +# +# parameter: [commandline] +# +# if "commandline" is empty, "bash" will be used + +set -eu + +MNT_SRC=/opt/dfsruntime/runtimerd +MNT_DST=/opt/dfsruntime/runtimemnt +# the directory /tmp/ can not be used, as it is still a broken link, too +TMP_DIR="/tmp-`basename $0`-$$" + + +cp -a "$MNT_SRC/." "$TMP_DIR" +mount -n --bind "$TMP_DIR" "$MNT_DST" + +[ ! -e /dev/null ] && mknod "/dev/null" c 1 3 && chmod 666 "/dev/null" +[ ! -e /dev/urandom ] && mknod "/dev/urandom" c 1 9 && chmod 444 "/dev/urandom" +[ ! -e /dev/console ] && mknod "/dev/console" c 1 5 && chmod 660 "/dev/console" + +# remember, if proc was mounted before (e.g. because of a running chroot) +PROC_WAS_MOUNTED=no +mount -n -t proc proc /proc 2>/dev/null || PROC_WAS_MOUNTED=yes + +# default language setting - prevents dpkg error messages +export LANG=C + +# set default terminal (good if you are running in a screen session) +export TERM=linux + +# execute parameters as commandline +if [ $# -gt 0 ] + then "$@" + else bash + fi + +umount -n "$MNT_DST" +[ "$PROC_WAS_MOUNTED" = "no" ] && umount -n proc +rm -r "$TMP_DIR" diff --git a/v0.2/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh b/v0.2/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh new file mode 100755 index 0000000..aff7e49 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh @@ -0,0 +1,120 @@ +#!/bin/sh +# +# this script is part of the building process of the cryptobox +# the "normal" action is necessary for every cryptobox (development & release) +# the "secure" action is mandatory for every release CD +# +# called by: +# - cbox-build.sh after copying custom files and before creating the iso image +# + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + +RUNTIMEDIR=/opt/dfsruntime/runtimerd +TUNDEV=$RUNTIMEDIR/dev/net/tun + +SECURITY_REMOVE_PACKAGES="ssh strace unzip tar zip wget nvi nano gzip curl bzip2 aptitude tasksel elinks vim vim-common" +DEVEL_REMOVE_PACKAGES="exim4-daemon-light exim4-config exim4-base netkit-inetd telnet ppp pppconfig pppoe pppoeconf" + +# remove rc symlinks for these services +SERVICES_OFF="ssh samba setserial nviboot mountnfs ntpdate" + +function configure_normal() +# the usual stuff - not optimized for security +{ + # set default runlevel to 3 + sed -i 's/^id:2:initdefault/id:3:initdefault/' /etc/inittab + + ######### devices ########## + # create tun device for running under qemu + if [ ! -e "$TUNDEV" ] + then mkdir -p `dirname "$TUNDEV"` + mknod "$TUNDEV" c 10 200 + fi + + ######### thttpd ########### + # change thttpd's config from 'chroot' to 'nochroot' - otherwise no perl script will run + sed -i "s/^chroot$/nochroot/" /etc/thttpd/thttpd.conf + # change thttpd-user from www-data to root (permissions for mount, cryptsetup, ...) + sed -i "s/^user=.*/user=root/" /etc/thttpd/thttpd.conf + + # the thttpd documentations says "nosymlinkcheck" instead of + # "nosymlink" - TODO: "nosymlink" breaks "/cryptobox" URL!!! + #sed -i "/symlink/d" /etc/thttpd/thttpd.conf + #echo "nosymlink" >>/etc/thttpd/thttpd.conf + + ########## sshd ############ + if [ -e "/etc/ssh" ]; then + # allow empty passwords for ssh + # the daemon is NOT started automatically, so you have to start it + # manually in case of need - as the root pw is empty and passwd is ro, you + # have to allow empty passwords for this rare case + sed -i 's/^PermitEmptyPass.*$/PermitEmptyPasswords yes/' /etc/ssh/sshd_config + # turn off PAM for ssh, as it prevents the use of empty passwords (stange behaviour) + sed -i 's/^UsePAM.*$/UsePAM no/' /etc/ssh/sshd_config + # allow nput of password + sed -i 's/^PasswordAuthentication.*$/PasswordAuthentication yes/' /etc/ssh/sshd_config + fi + + # remove unnecessary packages - return true, if no packages were + # removed + dpkg --force-all -P $DEVEL_REMOVE_PACKAGES 2>&1 | grep -v "which isn't installed." || true + + # remove symlinks for unwanted services + for a in $SERVICES_OFF; do + # echo "Turning off service $a ..." + find /etc/rc?.d/ -type l -name "[SK][0-9][0-9]$a" | while read b + do rm "$b" + done + done + + # remove deb-files, that were left by dfsbuild + test -d /opt/packages && rm -r /opt/packages + + return 0 +} + + +function configure_secure() +# remove everything that could weaken security +# configure_normal should be called too! +{ + # disable keyboard login + sed -i '/getty/d' /etc/inittab + + # remove unnecessary packages + dpkg --force-all -P $SECURITY_REMOVE_PACKAGES 2>&1 | grep -v "which isn't installed." || true + + # remove the development features script + [ -e "$DEV_FEATURES_SCRIPT" ] && rm -f "$DEV_FEATURES_SCRIPT" + + # maybe an authorized_keys file was created - but it is not dangerous, + # as the openssh package was removed anyway + [ -d /root/.ssh ] && rm -rf /root/.ssh + + return 0 +} + + +################ main #################### + + +ACTION=help +[ $# -gt 0 ] && ACTION=$1 + +case "$ACTION" in + normal ) + configure_normal + ;; + secure ) + configure_secure + ;; + * ) + echo "Syntax: `basename $0` { normal | secure }" + echo + ;; + esac + diff --git a/v0.2/cbox-tree.d/usr/lib/cryptobox/devel-features.sh b/v0.2/cbox-tree.d/usr/lib/cryptobox/devel-features.sh new file mode 100755 index 0000000..6d57843 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/cryptobox/devel-features.sh @@ -0,0 +1,70 @@ +#!/bin/sh +# +# this script is part of the boot process of a developer's cryptobox +# +# it should really NEVER be found on a release CD +# +# called by: +# - /etc/rc2.d/S99cb-devel-features +# + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + +MIRROR_DIR=/tmp/mirror +MIRROR_ORIG_DIR=/tmp/mirror.orig +WRITE_DIRS="/usr/share/cryptobox /var/www /usr/lib/cryptobox" + +ACTION="--help" +[ $# -gt 0 ] && ACTION="$1" + +case "$ACTION" in + start ) + # copy cryptobox files to tmpfs + for a in $WRITE_DIRS + do mkdir -p "$MIRROR_DIR/$a" + cp -a "$a/." "$MIRROR_DIR/$a" + mount --bind "$MIRROR_DIR/$a" "$a" + done + $0 set_diff_base + + # thttpd needs to be restarted to reopen its files + /etc/init.d/thttpd restart + + # start ssh daemon + [ -x /etc/init.d/ssh ] && /etc/init.d/ssh start + ;; + set_diff_base ) + # the present content of the tmpfs mirror get copied to + # MIRROR_ORIG_DIR for later diffs + # whenever you merged a diff, you should call this function + [ -e "$MIRROR_ORIG_DIR" ] && rm -rf "$MIRROR_ORIG_DIR" + cp -a "$MIRROR_DIR" "$MIRROR_ORIG_DIR" + ;; + diff ) + cd "`dirname \"$MIRROR_ORIG_DIR\"`" + # diff and remove "binary files differ"-warnings (vi-swap-files) + # ignore generated reports + # ignore cryptobox.pl and index.html, as those are the same as + # /var/www/cryptobox (symbilic links) + # replace the link name (/var/www/cryptobox) by its destination + # UGLY! + diff -ruN --exclude=report --exclude=cryptobox.pl --exclude=index.html "`basename \"$MIRROR_ORIG_DIR\"`" "`basename \"$MIRROR_DIR\"`" | grep -v "^Binary files" | sed 's#/var/www/cryptobox\t#/var/www/cgi-bin/cryptobox.pl\t#' + ;; + stop ) + [ -x /etc/init.d/ssh ] && /etc/init.d/ssh stop + for a in $WRITE_DIRS + do umount "$MIRROR_DIR/$a" + done + rm -rf "$MIRROR_DIR" + ;; + restart ) + $0 stop + $0 start + ;; + * ) + echo "Syntax: `basename $0` { start | stop | restart }" + ;; + esac diff --git a/v0.2/cbox-tree.d/usr/lib/cryptobox/firewall.sh b/v0.2/cbox-tree.d/usr/lib/cryptobox/firewall.sh new file mode 100755 index 0000000..29f97c5 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/cryptobox/firewall.sh @@ -0,0 +1,55 @@ +#!/bin/sh +# +# set up the firewall of the cryptobox +# +# called by: +# - cbox-manage.sh during network-up +# + +set -u + +# parse config file +. /etc/cryptobox/cryptobox.conf + + +ACTION="help" +[ $# -gt 0 ] && ACTION=$1 + +case "$ACTION" in + start) + iptables -P INPUT DROP + iptables -P FORWARD DROP + iptables -P OUTPUT ACCEPT + + OFILE=/proc/sys/net/ipv4/tcp_syncookies + [ -e "$OFILE" ] && echo 1 >"$OFILE" + + iptables -F + iptables -X + iptables -Z + + iptables -A INPUT -i lo -j ACCEPT + + for a in $ALLOW_TCP_PORTS + do iptables -A INPUT -i $NET_IFACE -p tcp --dport $a -j ACCEPT + done + + for a in $ALLOW_UDP_PORTS + do iptables -A INPUT -i $NET_IFACE -p udp --dport $a -j ACCEPT + done + + iptables -A INPUT -i $NET_IFACE -p icmp -j ACCEPT + ;; + stop) + iptables -P INPUT ACCEPT + iptables -P FORWARD ACCEPT + iptables -P OUTPUT ACCEPT + iptables -F + iptables -X + iptables -Z + ;; + *) + echo "usage $0 start | stop" + ;; +esac + diff --git a/v0.2/cbox-tree.d/usr/lib/cryptobox/make_stunnel_cert.sh b/v0.2/cbox-tree.d/usr/lib/cryptobox/make_stunnel_cert.sh new file mode 100755 index 0000000..6792c81 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/cryptobox/make_stunnel_cert.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# +# this script creates the stunnel certificate for https +# +# parameter: "destination file" +# +# called by: +# - cbox-manage.sh during network-up if no certificate was found on the config partition +# + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + + +## vcert values are in openssl.conf +CERTFILE="$1" +TMP_FILE=/tmp/cryptobox-cert.tmp + +[ ! -f "$OPENSSL_CONF_FILE" ] && echo "`basename $0`: $OPENSSL_CONF_FILE not found" && exit 2 +# this command creates the certificate +# this is required, because the certbuilding asks for 5 returns +echo -ne "\n\n\n\n\n" | openssl req -new -x509 -nodes -days 3650 -config "$OPENSSL_CONF_FILE" -out "$CERTFILE" -keyout "$CERTFILE" +chmod 600 "$CERTFILE" + +# next step needs a lot of randomdata +dd if=/dev/urandom of="$TMP_FILE" bs=1024 count=1024 +openssl dhparam -rand "$TMP_FILE" 512 >> "$CERTFILE" +rm "$TMP_FILE" + +#ln -sf ${CERTPATH}stunnel.pem ${CERTPATH}`openssl x509 -noout -hash < "${CERTPATH}stunnel.pem"`.0 + +## print out cert values +#openssl x509 -subject -dates -fingerprint -in stunnel.pem diff --git a/v0.2/cbox-tree.d/usr/lib/perl5/ClearSilver.pm b/v0.2/cbox-tree.d/usr/lib/perl5/ClearSilver.pm new file mode 100644 index 0000000..41dd00f --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/perl5/ClearSilver.pm @@ -0,0 +1,68 @@ +package ClearSilver; + +use 5.006; +use strict; +use warnings; + +require Exporter; +require DynaLoader; + +our @ISA = qw(Exporter DynaLoader); + +# Items to export into callers namespace by default. Note: do not export +# names by default without a very good reason. Use EXPORT_OK instead. +# Do not simply export all your public functions/methods/constants. + +# This allows declaration use ClearSilver ':all'; +# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK +# will save memory. +our %EXPORT_TAGS = ( 'all' => [ qw( + +) ] ); + +our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); + +our @EXPORT = qw( + +); +our $VERSION = '0.01'; + +bootstrap ClearSilver $VERSION; + +# Preloaded methods go here. + +1; +__END__ +# Below is stub documentation for your module. You better edit it! + +=head1 NAME + +ClearSilver - Perl extension for blah blah blah + +=head1 SYNOPSIS + + use ClearSilver; + blah blah blah + +=head1 DESCRIPTION + +Stub documentation for ClearSilver, created by h2xs. It looks like the +author of the extension was negligent enough to leave the stub +unedited. + +Blah blah blah. + +=head2 EXPORT + +None by default. + + +=head1 AUTHOR + +A. U. Thor, Ea.u.thor@a.galaxy.far.far.awayE + +=head1 SEE ALSO + +L. + +=cut diff --git a/v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/.packlist b/v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/.packlist new file mode 100644 index 0000000..a79f4e0 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/.packlist @@ -0,0 +1,4 @@ +/tmp/clearsilver-perl/local/lib/perl/5.8.7/ClearSilver.pm +/tmp/clearsilver-perl/local/lib/perl/5.8.7/auto/ClearSilver/ClearSilver.bs +/tmp/clearsilver-perl/local/lib/perl/5.8.7/auto/ClearSilver/ClearSilver.so +/tmp/clearsilver-perl/local/man/man3/ClearSilver.3pm diff --git a/v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.bs b/v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.bs new file mode 100644 index 0000000..e69de29 diff --git a/v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.so b/v0.2/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.so new file mode 100755 index 0000000000000000000000000000000000000000..310964f7bda552ff82b8d3862420f4cec111eded GIT binary patch literal 394590 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 wWWh(E8l`0n5WQJf_y)Gv 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 z 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 +

+ + + +


+

+ + +


+

+ +


+

+ +


+

+ + + + + +
diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/doc.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/doc.cs new file mode 100644 index 0000000..6e499a8 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/doc.cs @@ -0,0 +1,5 @@ +
+ + + +
diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/empty.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/empty.cs new file mode 100644 index 0000000..fa14cb9 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/empty.cs @@ -0,0 +1 @@ + diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/error.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/error.cs new file mode 100644 index 0000000..6360103 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/error.cs @@ -0,0 +1 @@ + diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/footer.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/footer.cs new file mode 100644 index 0000000..4b36c03 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/footer.cs @@ -0,0 +1,27 @@ + +

+ + +
+ + + + + + + + + + diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/header.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/header.cs new file mode 100644 index 0000000..34575da --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/header.cs @@ -0,0 +1,41 @@ + + + + + CryptoBox + + + + + + + + + + +
+ +
+ +
+ +
+ + +
+ + +
diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/init_form.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/init_form.cs new file mode 100644 index 0000000..7ef5809 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/init_form.cs @@ -0,0 +1,32 @@ +

+ +
+ + +

+ +


+

+ +


+

+


+

+


+

+


+

+


+

+ + + +
+ +
+ +
+

+

+
diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/macros.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/macros.cs new file mode 100644 index 0000000..3c49f72 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/macros.cs @@ -0,0 +1,91 @@ +
+

+

+ + + +
+

+

+ + + +
+

+

+ + + + + + + + + + + + + +
+ diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/main.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/main.cs new file mode 100644 index 0000000..babbcb9 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/main.cs @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/mount_form.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/mount_form.cs new file mode 100644 index 0000000..98741ea --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/mount_form.cs @@ -0,0 +1,13 @@ +

+ +
+ + +

+

+ + + + + +
diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/nav.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/nav.cs new file mode 100644 index 0000000..1887b1a --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/nav.cs @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/show_log.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/show_log.cs new file mode 100644 index 0000000..fb0764d --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/show_log.cs @@ -0,0 +1,11 @@ +
+ +

+ + +

+ +

+ + +
diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/shutdown_form.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/shutdown_form.cs new file mode 100644 index 0000000..83b7af9 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/shutdown_form.cs @@ -0,0 +1,17 @@ +

+ +
+ + + + + + +   + + + + + + +
diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/status.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/status.cs new file mode 100644 index 0000000..a2e8439 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/status.cs @@ -0,0 +1,3 @@ +

+

+

diff --git a/v0.2/cbox-tree.d/usr/share/cryptobox/templates/umount_form.cs b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/umount_form.cs new file mode 100644 index 0000000..8365374 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/cryptobox/templates/umount_form.cs @@ -0,0 +1,10 @@ +

+ +
+ + + + + + +
diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBox.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBox.html new file mode 100644 index 0000000..308a497 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBox.html @@ -0,0 +1,137 @@ + + +
    + +
  1. +Neuigkeiten +
  2. + +
  3. +Überblick +
  4. + +
  5. +Spezifikationen +
  6. + +
  7. +Nutzung +
  8. + +
  9. +Mitmachen +
  10. + +
  11. +Rechtliches +
  12. + +
+

+
+

+

unter CryptoBoxIntro/de findest du einen sehr kurzen Überblick

+ +

Neuigkeiten

+ +

Das erste Release der CryptoBox wird im Oktober bei http://codecoop.org/projects/cryptobox/ verfügbar sein.

+ +

Überblick

+ +

Die CryptoBox ist eine Live-CD mit der sich jeder alte Rechner in Sekundenschnelle in einen verschlüsselnden Server umwandeln lässt. Damit kannst du sensible Daten speichern, ohne dass du etwas über Kryptografie wissen musst.

+

Die Dokumentation der CryptoBox ist bisher in folgenden Sprachen verfügbar:

+ +

Wir freuen uns über weitere Übersetzugen :)

+ +

Spezifikationen

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+

System

+
+

Debian/Linux basierte Live-CD

+
+

benötigter Computer

+
+

"ausrangierter" PC (i386 ab p1 mind. 32MB RAM)

+
+

unterstützte Clients

+
+

*nix; *bsd; Windows; Mac OS

+
+

interner Fileserver

+
+

samba (Netzwerkfreigaben)

+
+

Benutzerschnittstelle

+
+

per Browser bedienbares Web-Interface

+
+

Verschlüsselung

+
+

AES via device-mapper

+
+
+

Das Web-Interface der CryptoBox ünterstützt derzeit folgende Sprachen:

+
    +
  • deutsch

    +
  • +
  • englisch

    +
  • +
  • slowenisch

    +
  • +
+

Du kannst gern weitere Übersetzungen in andere Sprachen hinzufügen (idealerweise utf-encodiert).

+ +

Nutzung

+ +

Das Nutzerhandbuch ist unter CryptoBoxUser/de verfügbar.

+ +

Mitmachen

+ +

Beteilige dich an der Entwicklung der CryptoBox und werde reich und schön! ;)
+ Nee im Ernst, wir freuen uns über jeden partizipierenden Menschen. Du wirst in einem entspannten Team reichlich Erfahrungen sammeln, eine nützliche Sache voranbringen und - wer weiß - vielleicht macht dich das auch schön. Schreib eine Mail an cryptobox[at]systemausfall.org und hab Spaß.

+

Fehler kannst du in unserer Fehlerdatenbank eintragen.

+

Die Entwickler-Doku findest du unter CryptoBoxDev (bisher nur englisch).

+ +

Rechtliches

+ +
    +
  1. Alle Skripte unterliegen der GPL - sie sind also quasi vollständig frei.

    +
  2. +
  3. Die Dokumentation unterliegt einer Creative Commons-Lizenz, damit wird die Möglichkeit der freien Verbreitung des gesammelten Wissens gewährleistet.

    +
  4. +
  5. Wir übernehmen keinerlei Haftung für eventuelle Folgen, die durch die Nutzung einer CryptoBox entstehen könnten.

    +
  6. +
+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDev.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDev.html new file mode 100644 index 0000000..4eccd7d --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDev.html @@ -0,0 +1,49 @@ + + +
    + +
  1. +Development documentation +
  2. + +
  3. +Contact +
  4. + +
  5. +Bug reports +
  6. + +
+

+
+

+ +

Development documentation

+ +

The following pages are written for developers only. Users of the CryptoBox should read CryptoBoxUser instead.

+ + +

Contact

+ +

We are waiting for your emails to cryptobox[at]systemausfall.org.

+ +

Bug reports

+ +

Please use our issue tracker, if you discover problems: https://systemausfall.org/trac/cryptobox

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevBackground.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevBackground.html new file mode 100644 index 0000000..b919919 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevBackground.html @@ -0,0 +1,66 @@ + + +
    + +
  1. +dfsbuild +
  2. + +
  3. +the kernel +
  4. + +
  5. +qemu +
  6. + +
  7. +alternative LiveCDs +
  8. + +
+

+
+

+

back to CryptoBoxDev

+ +

dfsbuild

+ +

The base system of the CryptoBox Live-CD is created by dfsbuild.

+

It is recommended to use some kind of caching tool for the retrieval of the debian packages (e.g.: apt-cacher or apt-proxy). This saves a lot of bandwidth and time.

+

The documentation for dfsbuild is sparse. But it is quite unlikely, that you will get in direct contact with it, as it is wrapped by cbox-build. However the following links may help you for specific problems:

+ + +

the kernel

+ +

The linux kernel for the CryptoBox is compiled statically. If you want to change it, you could follow this steps:

+
    +
  1. get the sources: apt-get install kernel-tree-2.6.11 (or the version of your choice)

    +
  2. +
  3. copy the exisiting config file kernel/config-2.6.11 as .config into your kernel source directory

    +
  4. +
  5. build the debian kernel package make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image

    +
  6. +
  7. change the kernel in the unpackdebs setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details)

    +
  8. +
+ +

qemu

+ +

Qemu is a portable system emulator. It is a convenient tool to ease the development workflow, as you do not need to burn LiveCDs for testing.

+ +

alternative LiveCDs

+ +

We tried some other LiveCDs before we decided to use dfsbuild. The following pages describe their advantages and disadvantages as the base system for the CryptoBox:

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomBuild.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomBuild.html new file mode 100644 index 0000000..360596a --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomBuild.html @@ -0,0 +1,98 @@ + + +
    + +
  1. +Overview +
  2. + +
  3. +Settings +
      + +
    1. +dfsbuild settings +
    2. + +
    3. +CryptoBox development configuration +
    4. + +
    5. +SSH connection +
    6. + +
    7. +qemu network configuration +
    8. + +
    + +
  4. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

The following sections are useful, if you want to change the default settings of your personal CryptoBox development environment.

+

You should have completed the steps described in CryptoBoxDevPreparation.

+ +

Settings

+ + +

dfsbuild settings

+ +

All settings for dfsbuild can be found in etc-defaults.d/dfs-cbox.conf.

+

If you want to change any of them, you should do the following:

+
    +
  1. copy etc-defaults.d/dfs-cbox.conf file to etc-local.d/

    +
  2. +
  3. change etc-local.d/dfs-cbox.conf according to your needs

    +
  4. +
+

This allows you to use your own (personal) settings, without interfering with files under version control.

+ +

CryptoBox development configuration

+ +

Some settings regarding the building, configuring and validating of the CryptoBox can be found in etc-defaults.d/cbox-dev.conf.

+

If you want to change any of them, you should do the following:

+
    +
  1. copy etc-defaults.d/cbox-dev.conf file to etc-local.d/

    +
  2. +
  3. change etc-local.d/cbox-dev.conf according to your needs

    +
  4. +
+ +

SSH connection

+ +

The file etc-defaults.d/ssh_config is used to establish a connection to a running CryptoBox system.

+

It can be necessary to change these settings, if:

+
    +
  • you do not want to use the default IP for the CryptoBox

    +
  • +
  • or the CryptoBox is not within your local network.

    +
  • +
+

If you want to change some settings, you should do the following:

+
    +
  1. copy etc-defaults.d/ssh_config file to etc-local.d/

    +
  2. +
  3. change etc-local.d/ssh_config according to your needs

    +
  4. +
+ +

qemu network configuration

+ +

The file etc-defauolts.d/qemu-ifup is used for the CryptoBox emulation with qemu. See man qemu for details.

+

If you want to change some settings, you should do the following:

+
    +
  1. copy etc-defaults.d/qemu-ifup file to etc-local.d/

    +
  2. +
  3. change etc-local.d/qemu-ifup according to your needs

    +
  4. +
+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomConfigure.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomConfigure.html new file mode 100644 index 0000000..4a263fe --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomConfigure.html @@ -0,0 +1,60 @@ + + +
    + +
  1. +Overview +
  2. + +
  3. +Locations +
  4. + +
  5. +Examples +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

You may change nearly every aspect of the CryptoBox by using the custom configuration hook directory.

+

Any script inside of this directory will be executed after the default configuration procedure (see CryptoBoxDevWorkFlow).

+

The order of execution is defined by the names of the scripts (alphabetically).

+ +

Locations

+ +

Some example customization scripts can be found in configure-examples.d/.

+

You may put your scripts into configure-local.d/. They will be sourced by cbox-build.sh.

+ +

Examples

+ +

The examples in configure-examples.d/ can be copied to configure-local.d/ and adjusted to your needs.

+
+
set_default_ip
+

change the default IP address of the CryptoBox

+
+
set_default_language
+

set the default language

+
+
set_default_timeout
+

set the default idle time for automatic unmounting

+
+
set_hostname
+

change the default hostname

+
+
set_root_pw
+

change the password of root (only useful for a development CryptoBox)

+
+
import_authorized_keys
+

upload a ssh key for passwordless access to a development CryptoBox

+
+
set_scan_devices
+

where to look for usable harddisks

+
+
+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevKnownProblems.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevKnownProblems.html new file mode 100644 index 0000000..07dcd73 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevKnownProblems.html @@ -0,0 +1,36 @@ + + +
    + +
  1. +qemu +
      + +
    1. +interleaved files not (yet) supported +
    2. + +
    3. +smbd: segfault +
    4. + +
    + +
  2. + +
+

+
+

+ +

qemu

+ + +

interleaved files not (yet) supported

+ +

You should update qemu to version 0.7 or higher.

+ +

smbd: segfault

+ +

This happens under certain circumstances. We do not know a solution for this problem.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevPreparation.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevPreparation.html new file mode 100644 index 0000000..6e349f1 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevPreparation.html @@ -0,0 +1,86 @@ + + +
    + +
  1. +Software requirements +
      + +
    1. +Packages +
    2. + +
    3. +Kernel +
    4. + +
    + +
  2. +Get the source +
  3. + +
  4. +First build +
  5. + +
  6. +Finished +
  7. + +
+

+
+

+

back to CryptoBoxDev

+ +

Software requirements

+ + +

Packages

+ +

We use Debian as our development environment. This was a natural choice, as the CryptoBox-LiveCD is also based on Debian. Other distributions should work too, of course - YMMV.

+

required:

+ +

recommended:

+ + +

Kernel

+ +

If you want to use qemu to test your CryptoBox in a virtual environment, then you will need the tun/tap kernel feature. +

+
+CONFIG_TUN=m
+ +

Get the source

+ +

Download the latest release from our subversion-Repository: +

+
+svn checkout https://svn.systemausfall.org/svn/cryptobox/trunk 
+ +

First build

+ +

run scripts/cbox-build.sh release as root - hopefully, there should be no errors :)

+

Hint: This step will fail, if you did not install apt-cacher. See CryptoBoxDevCustomBuild for details on how to change the build-configuration settings (in this case: mirror in dfs-cbox.conf).

+ +

Finished

+ +

Now you can start to pariticipate in the development of the CryptoBox or simply customize your own CryptoBox-LiveCD.

+

See CryptoBoxDevWorkFlow for details of how to use the developer's tools of the CryptoBox.

+

CryptoBoxDevCustomBuild shows some examples for local customizations of the CryptoBox.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevValidation.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevValidation.html new file mode 100644 index 0000000..50e4569 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevValidation.html @@ -0,0 +1,57 @@ + + +
    + +
  1. +Overview +
  2. + +
  3. +Validate +
  4. + +
  5. +How to create a test +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

The validation feature allows to check the programming logic of the CryptoBox. A lot of test cases are defined to test as many functions of the CryptoBox as possible.

+

The requests are processed with curl.

+

The received web page is saved to allow a later design review or css debugging.

+

The current state of the CryptoBox is represented by ten single values (e.g.: box is configured, IP of the box, current language setting, ...), which are invisibly a part of each html page (as comments). The returned status of every request is compared to the predicted value of the test case.

+

Similar test cases are pooled into test groups (e.g.: initialization, configuration and mounting).

+ +

Validate

+ +

Run scripts/validate.sh check_all to conduct all tests of all groups. See scripts/validate.sh help for other actions.

+

The results will be saved in validation/report.

+

In addition to every single retrieved page, a html page called summary.html is created, which contains the state checks of all tests in a group.

+ +

How to create a test

+ +

All test cases can be found in validation/test-cases.

+

Every test consists of:

+
+
input.curl
+

the configuration file for the curl request

+
+
output
+

the predicted state of the CryptoBox after the call

+
+
description
+

a short description of the test (will be used for the summary)

+
+
delay
+

[optional] time to wait after this test

+
+
+

Use the existing test cases as templates for new tests.

+

Any logical path of the web interface CGI should be validated by a test case.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevWorkFlow.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevWorkFlow.html new file mode 100644 index 0000000..7cd2955 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevWorkFlow.html @@ -0,0 +1,145 @@ + + +
    + +
  1. +Preparations +
  2. + +
  3. +Create a CryptoBox-LiveCD - step by step +
      + +
    1. +Build the base system +
    2. + +
    3. +Configure the base image +
    4. + +
    5. +Remove development features +
    6. + +
    7. +Create an iso image +
    8. + +
    9. +Burn the CD +
    10. + +
    + +
  4. +Test the CryptoBox-LiveCD +
      + +
    1. +Chroot: quick & dirty tests +
    2. + +
    3. +Qemu: nearly complete emulation +
    4. + +
    + +
  5. +Debugging and merging +
      + +
    1. +Development on a running system +
    2. + +
    3. +Uploading a new release +
    4. + +
    + +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Preparations

+ +

You should have completed the steps described in CryptoBoxDevPreparation.

+ +

Create a CryptoBox-LiveCD - step by step

+ +

The following steps can be executed in the order of their appearance.

+

Usually there is no need to repeat the whole process, after you changed some parts of the CryptoBox. Especially the first step (building of the base system with dfsbuild) may usually be skipped.

+

Every step of the building process must be executed as root.

+ +

Build the base system

+ +

Run scripts/cbox-build.sh dfsbuild to create the base system for the LiveCD.

+

The result can be found in _builddir/cd1/image.

+

If you do not want to use the apt-cacher to save bandwidth and time, then you should modify the mirror-setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details).

+ +

Configure the base image

+ +

Run scripts/cbox-build.sh config to copy the CryptoBox-specific files to the base image.

+

TODO: link to cbox-build.sh-manpage

+ +

Remove development features

+ +

The original base system, that was created by dfsbuild contains a lot packages and some scripts, that are only useful during development. You should remove them, as they case severe security implications.

+

To reduce the CryptoBox-LiveCD to the usable minimum for operational use, you should run scripts/cbox-build.sh harden.

+ +

Create an iso image

+ +

To burn a CryptoBox-LiveCD, you need an bootable iso9660-image.

+

Create the iso image with scripts/cbox-build.sh iso. The resulting file can be found at _builddir/cd1/cryptobox.iso.

+ +

Burn the CD

+ +

Do it manually: cdrecord -v dev=0,0,0 _builddir/cd1/cryptobox.iso (change the dev setting according to your setup).

+

Let the script do it for you: scripts/cbox-build.sh burn (maybe you have to change the CDWRITER setting in cbox-dev.conf - see CryptoBoxDevCustomBuild).

+

Of course, it is not wise to use CD-R media. CD-RW consume less resources.

+ +

Test the CryptoBox-LiveCD

+ +

This section is only useful for developers, who want to improve or change the CryptoBox system.

+ +

Chroot: quick & dirty tests

+ +

If you modified the perl- or shell-scripts of the CryptoBox, then you can check for syntax errors by running them in a chroot environment. Be careful: you have access to all ressources of your computer, while you are working within a chroot environment - so you can easily repartition your real disk ...

+

To start a chroot environment, you can execute scripts/cbox-dev.sh chroot.

+

For more intensive tests, you may use qemu (see below) or burn real LiveCDs - of course this would take much more time.

+ +

Qemu: nearly complete emulation

+ +

The processor emulator qemu allows you test the CryptoBox in a virtual environment, that is completely separated from your real computer's resources. It is the tool of choice, if you do nat have a real computer around for testing.

+

Beware - there are some problems, when using qemu:

+
    +
  • smbd does not start (segfault)

    +
  • +
  • ???

    +
  • +
+

To start a qemu emulation of the iso image, you may type: scripts/cbox-dev.sh qemu.

+ +

Debugging and merging

+ +

This section is only useful for developers, who want to develop on a running CryptoBox system (emulated or real).

+

You may access the CryptoBox directly or you can use ssh to open a remote session (./cbox-dev.sh ssh).

+ +

Development on a running system

+ +

When you run an emulation or test a real LiveCD, you may encounter problems and bugs. To test your fixes for these problems, it is convenient, to change the running test system. Afterwards you can merge these changes to your local development copy.

+

Type scripts/cbox-dev.sh diff to see the changes, you made on the running CryptoBox system.

+

Type scripts/cbox-dev.sh merge to merge these changes to your local working copy.

+ +

Uploading a new release

+ +

Alternatively you may also upload a new version of your local working copy to the running CryptoBox system.

+

Type scripts/cbox-dev.sh upload - beware: all recent changes you made to the running CryptoBox system, are lost.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxIntro.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxIntro.html new file mode 100644 index 0000000..89a1119 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxIntro.html @@ -0,0 +1,19 @@ + + + +

CryptoBox

+ +

Das CryptoBox-Projekt ermöglicht dir, deine sensiblen Daten auf einem verschlüsselnden Dateiserver zu speichern. Dazu musst du lediglich die bootfähige Live-CD in einen alten Computer stecken und deine persönliche CryptoBox in Sekundenschnelle einrichten. Deine Daten sind vor neugierigen Augen geschützt, sobald du den Stecker ziehst.

+ +

Die CryptoBox ist freie Software: du hast also die Freiheit, sie weiterzugeben, sowie sie nach deinen Bedürfnissen zu verändern. Lies GPL und Creative Commons Lizenz für weitere Details.

+
+

+

Das CryptoBox-Projekt wurde von sense.lab gestartet.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUser.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUser.html new file mode 100644 index 0000000..3e2bf4c --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUser.html @@ -0,0 +1,36 @@ + + +
    + +
  1. +Nutzerhandbuch +
  2. + +
  3. +Fragen +
  4. + +
+

+
+

+ +

Nutzerhandbuch

+ +

Die folgenden Seiten beschreiben die Nutzung der CryptoBox.

+

Die online-Version dieses Handbuchs ist ein Wiki. Das bedeutet, dass du diese Seiten verändern kannst. Falls du also Fragen oder Anregungen hast, schreibe bitte deine Anmerkungen in den Fragen-Abschnitt am Ende der jeweiligen Seite. Die Entwickler werden deine Fragen beantworten und das Handbuch schnellstmöglich aktualisieren. Auf diese Art und Weise kannst du die Nutzbarkeit der CryptoBox für alle Nutzer verbessern!

+
    +
  1. CryptoBoxUserGettingStarted/de -- die Vorbereitung der Hardware

    +
  2. +
  3. CryptoBoxUserConfiguration/de -- die Einrichtung deines neuen verschlüsselten Dateiservers

    +
  4. +
  5. CryptoBoxUserDailyUse/de -- die tägliche Nutzung der CryptoBox

    +
  6. +
+

Die online-Version dieses Handbuchs befindet sich unter https://systemausfall.org/toolforge/CryptoBoxUser/de.

+
+

+ +

Fragen

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserConfiguration.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserConfiguration.html new file mode 100644 index 0000000..8d08187 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserConfiguration.html @@ -0,0 +1,124 @@ + + +
    + +
  1. +Überblick +
  2. + +
  3. +Vorwort +
  4. + +
  5. +Initialisierung +
  6. + +
  7. +Konfiguration +
  8. + +
  9. +Hinweise / Fallstricke +
  10. + +
  11. +Fragen +
  12. + +
+

+
+

+ +

Überblick

+ +

Alle Funktionen der CryptoBox können durch das komfortable Web-Interface bedient werden. Zur Erst-Einrichtung der CryptoBox folge einfach den folgenden Schritten.

+

Falls du in Eile bist, kannst du das Vorwort überspringen.

+

Die Initialisierung erklärt die Einrichtung der Festplatte. Dieser Schritt ist nur bei der ersten Einrichtung oder nach einem Festplattenwechsel notwendig.

+

Im Konfigurations-Abschnitt werden die verfügbaren Einstellungen der CryptoBox beschrieben. Hier kannst du beispielsweise die Sprache des Web-Interfaces oder die Netzwerkadresse deiner CryptoBox einstellen.

+

Vergiss nicht, auch den Hinweise/Fallstricke-Abschnitt zu lesen.

+ +

Vorwort

+ +

Du bist den Anweisungen aus CryptoBoxUserGettingStarted/de gefolgt und sitzt nun vor deinem Arbeits-Rechner. Nun kannst du in deinem Web-Browser das Web-Interface der CryptoBox ansteuern: https://192.168.0.23.

+

Bevor du Daten auf deiner CryptoBox speichern kannst, muss die Festplatte mit einem verschlüsselten Dateisystem versehen werden. Das klingt kompliziert, ist jedoch mit einem Klick erledigt. :)

+ +

Initialisierung

+ +

Klickke auf Initialisierung in der Menü-Zeile.

+

Jetzt wirst du zur Eingabe zweier Passworte aufgefordert (jeweils mit Wiederholung - zum Training deiner Tipp-Fertigkeiten ;)).

+

init_de.png

+
    +
  • Das erste Passwort ist das Administrations-Password.

    +
      +
    • Es schützt die Konfiguration deiner CryptoBox.

      +
    • +
    • Dies ist notwendig, um zu verhindern, dass jemand unerlaubt die Daten auf deiner CryptoBox durch eine erneute Initialisierung löscht.

      +
    • +
    • Wahrscheinlich wirst du dieses Passwort nie wieder benötigen.

      +
    • +
    • Du kannst das Administrations-Passwort leer lassen - dies wird jedoch nicht empfohlen.

      +
    • +
    +
  • +
  • Das Crypto-Passwort ist wesentlich wichtiger, da es der einzige Schutz der Daten auf der verschlüsselten Festplatte ist. Wähle es mit Sorgfalt!

    +
      +
    • Du benötigst es, um auf deine Daten zuzugreifen.

      +
    • +
    • Ein sicheres Passwort sollte aus mindestens 15 Zeichen (einschließlich Ziffern und Sonderzeichen) bestehen. Die Sicherheit deiner Daten steht und fällt mit der Qualität dieses Passworts.

      +
    • +
    +
  • +
  • Um dich daran zu erinnern, dass dieser Schritt die Festplatte der CryptoBox komplett löschen wird, musst du den angezeigten roten Warnhinweis im letzten Formularfeld eingeben.

    +
  • +
  • Nun kannst du die Initialisierung durch einen Klick auf Initialisiere die CryptoBox abschließen.

    +
  • +
+

Das war es dann auch schon. Cryptographie war wohl nie einfacher zu verwenden, oder? ;)

+

Der Initialisierungsvorgang läuft nun im Hintergrund ab und wird nach wenigen Minuten (abhängig von der Größe deiner Festplatte) abgeschlossen.

+ +

Konfiguration

+ +

Im Gegensatz zur Initialisierung, die nur einmal durchgeführt werden muss, kannst du die Konfiguration jederzeit deinen Wünschen anpassen. Dazu klickst du einfach auf Konfiguration in der Menü-Zeile des Web-Interfaces. Nun wird dir ein Formular mit vier Feldern präsentiert:

+

config_de.png

+
    +
  • Falls du ein Administrator-Passwort während der Initialisierung festgelegt hast, musst du es nun eingeben. Andernfalls wird dieses Formularfeld nicht angezeigt.

    +
  • +
  • Du kannst die voreingestellte Netzwerk-Adresse (IP) verändern, falls sie nicht zu deiner Netzwerk-Struktur passt.

    +
  • +
  • Die Zeitabschaltung sorgt dafür, dass nach einer festgelegten Dauer von Inaktivität (in Minuten), das Crypto-Dateisystem deaktiviert wird (damit sind deine Daten wieder geschützt). Laufende Dateiübertragungen werden dadurch natürlich nicht gestört.

    +
      +
    • Es ist ratsam, eine kurze Abschalt-Zeit einzustellen (wenige Minuten).

      +
    • +
    • Der Wert 0 deaktiviert die automatische Abschaltung.

      +
    • +
    +
  • +
  • Die Sprache ist der Standard für alle Nutzer des CryptoBox-Web-Interfaces. Sie kann individuell durch die Sprach-Links am rechten oberen Bildschirmrand überschrieben werden.

    +
  • +
+

Speichere deine neuen Einstellungen durch einen Klick auf Speichere Konfiguration.

+

Das ist alles - deine CryptoBox ist jetzt bereit für die tägliche Nutzung!

+ +

Hinweise / Fallstricke

+ +
    +
  • Alle Daten auf der Festplatte in der CryptoBox werden bei der Initialisierung gelöscht.

    +
  • +
  • Die Passworte müssen jeweils zweimal eingegeben werden, um die Gefahr von Tipp-Fehlern zu vermindern.

    +
  • +
  • Das optionale Administrations-Passwort ist nur für die Konfiguration oder eine erneute Initialisierung erforderlich.

    +
  • +
  • Das Crypto-Passwort beschützt deine sensiblen Daten.

    +
  • +
  • Falls die CryptoBox nicht über die Adresse 192.168.0.23 erreichbar ist, musst du die Netzwerk-Adresse deines Arbeits-Rechners für die Dauer der Initialisierung der CryptoBox vorübergehend ändern.

    +
  • +
+

zurück zu CryptoBoxUser/de

+
+

+ +

Fragen

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserDailyUse.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserDailyUse.html new file mode 100644 index 0000000..a002c97 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserDailyUse.html @@ -0,0 +1,63 @@ + + +
    + +
  1. +Aktivieren des verschlüsselten Dateisystems +
  2. + +
  3. +Abschalten des verschlüsselten Dateisystems +
  4. + +
  5. +Abschaltung der CryptoBox +
  6. + +
  7. +Notfall-Abschaltung +
  8. + +
  9. +Fragen +
  10. + +
+

+
+

+ +

Aktivieren des verschlüsselten Dateisystems

+ +

Du kannst dein verschlüsseltes Dateisystem mit folgenden Schritten aktivieren:

+
    +
  • Wähle mit deinem Web-Browser die Adresse deiner CryptoBox an. Die Voreinstellung ist https://192.168.0.23.

    +
  • +
  • Klicke auf Aktivieren der Crypto-Daten. Daraufhin erscheint ein Formular zur Eingabe des Crypto-Passworts.

    +
  • +
  • Gib dein Crypto-Passwort ein und klicke auf die darunterliegende Schaltfläche.

    +
  • +
+

mount_de.png

+

Nun ist das verschlüsselte Dateisystem verfügbar. Um es zu nutzen, suche in deiner Netzwerkumgebung nach der Netzwerk-Adresse deiner CryptoBox (Voreinstellung: 192.168.0.23). Nun kannst du das Netzlaufwerk wie üblich verwenden.

+ +

Abschalten des verschlüsselten Dateisystems

+ +

Du kannst das verschlüsselte Dateisystem abschalten, indem du in der Menü-Zeile des Web-Interfaces der CryptoBox auf Deaktivierung der Crypto-Daten klickst.

+

Deine Daten sind nun wieder vor jedem Zugriff geschützt.

+ +

Abschaltung der CryptoBox

+ +

Klicke auf System in der Menü-Zeile des Web-Interfaces. Nun kannst du zwischen Abschaltung und Neustart wählen. Die Abschaltung dauert einige Sekunden.

+

Falls dein CryptoBox-Rechner relativ neu ist (ungefähr ab Baujahr 02000), wird er sich nun selbständig abschalten. Andernfalls musst du dies per Hand tun.

+ +

Notfall-Abschaltung

+ +

Falls du deine Daten wirklich schnell vor neugierigen Augen schützen musst, dann ziehe einfach den Stecker der CryptoBox. Dies ist nicht besonders sauber und kann (in sehr seltenen Ausnahmefällen) geöffnete Dateien beschädigen. Es ist jedoch die schnellste Methode zur Sicherung deiner Daten vor unbefugtem Zugriff.

+

zurück zu CryptoBoxUser/de

+
+

+ +

Fragen

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserGettingStarted.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserGettingStarted.html new file mode 100644 index 0000000..e4dc9e5 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserGettingStarted.html @@ -0,0 +1,73 @@ + + +
    + +
  1. +Erste Schritte +
  2. + +
  3. +Hinweise / Fallstricke +
  4. + +
  5. +Fragen +
  6. + +
+

+
+

+ +

Erste Schritte

+ +

Die CryptoBox ist schnellt aufgebaut:

+
    +
  1. Du brauchst einen alten Computer (mindestens 100MHZ, 48MB RAM) (Faustregel: nach 1996 gekauft). Dazu eine passende Netzwerkkarte, ein CD-ROM Laufwerk und eine riesige Festplatte.

    +
      +
    • Die Festplatte muss nicht riesig sein, je nachdem was du speichern willst, reicht auch 'ne kleine ;)

      +
    • +
    • Du brauchst keinen Monitor, keine Tastatur und keine Maus, um die CryptoBox zu benutzen (bzw. nur für die Erst-Einrichtung).

      +
    • +
    • Du kannst natürlich einen schnelleren Rechner verwenden - der unbedeutende Performance-Zuwachs wird jedoch wohl nicht durch den erhöhten Energiebedarf gerechtfertigt.

      +
    • +
    +
  2. +
  3. Lade die aktuellste Version der CryptoBox als iso-image herunter und brenne dieses auf einen CD-Rohling.

    + +
  4. +
  5. Konfiguriere den PC, so dass er vom CD Laufwerk bootet. Dazu solltest du im BIOS als "boot device" "CD-ROM" einstellen.

    +
  6. +
  7. Pack die frisch gebrannte CryptoBox CD ins Laufwerk und starte den Computer.

    +
  8. +
+

Wenn der Computer jetzt von der CD startet, hast du alle Anforderungen erfüllt.

+

Du kannst nun zu deinem Arbeits-Rechner in demselben Netzwerk gehen und "https://192.168.0.23" ansurfen. Dort sollte die CryptoBox-Konfigurationsseite erscheinen. Ist doch kinderleicht, oder?

+

Die weiteren Schritte werden unter CryptoBoxUser/de beschrieben.

+ +

Hinweise / Fallstricke

+ +
    +
  • Eventuell musst du für die Einrichtung der CryptoBox kurzzeitig deine Netzwerkaddresse (IP) ändern. Falls du nicht weißt, wie und warum, dann frage jemanden um Rat ... (wahrscheinlich klappt es aber ohne Änderungen)

    +
  • +
  • Falls du eine neue Festplatte kaufen willst, beachte, dass alte PCs nicht mit modernen Festplattengrößen klarkommen.

    +
  • +
  • Einige alte PCs können nicht vom CD-ROM-Laufwerk booten.

    +
  • +
  • Falls dir der Begriff "BIOS" nichts sagt, bitte Menschen um Hilfe, bevor du was veränderst ;)

    +
  • +
  • Vergiss nicht, den CryptoBox-Rechner ans Netzwerk anzuschliessen!

    +
  • +
  • Du brauchst einen Monitor und eine Tastatur für die Konfiguration des BIOS.

    +
  • +
+

zurück zu CryptoBoxUser/de

+
+

+ +

Fragen

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBox.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBox.html new file mode 100644 index 0000000..7705d4b --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBox.html @@ -0,0 +1,137 @@ + + +
    + +
  1. +News +
  2. + +
  3. +Overview +
  4. + +
  5. +Specs +
  6. + +
  7. +Usage +
  8. + +
  9. +Development +
  10. + +
  11. +Legal stuff +
  12. + +
+

+
+

+

see CryptoBoxIntro/en for a very short overview

+ +

News

+ +

We are moving this project to https://codecoop.org/projects/cryptobox/

+

The first release of the CryptoBox-LiveCD is planned for October 02005.

+ +

Overview

+ +

The CryptoBox is a Debian/Linux based live-cd. This CD boots up, starting a secure fileserver. Even non-technical users are able to store their data on its encrypted harddisk. There is no special knowledge about cryptography or servers required at all.

+

We provide the documentation in different languages. Feel free to add more translations:

+ + +

Specs

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+

system

+
+

Debian/Linux based Live-CD

+
+

needed hardware

+
+

"outdated" PC (i386 p1-100 32MB RAM minimum)

+
+

supported clients

+
+

*nix; *bsd; Windows; Mac OS

+
+

fileserver

+
+

samba (network shares)

+
+

userinterface

+
+

fully remote controlled via webbrowser

+
+

encryption

+
+

AES via device-mapper

+
+
+

The web interface of the CryptoBox supports the following languages:

+
    +
  • english

    +
  • +
  • german

    +
  • +
  • slovenian

    +
  • +
+

Feel free to contribute a translation for another language (preferably utf-encoded).

+ +

Usage

+ +

The user documentation has its home at CryptoBoxUser/en.

+ +

Development

+ +

Take a look at the developer's documentation at CryptoBoxDev/en.

+

Report bugs at https://systemausfall.org/trac/cryptobox.

+

Browse the source code in the CryptoBox-websvn interface.

+

Anything else? Write us an email: cryptobox[at]systemausfall.org

+ +

Legal stuff

+ +
    +
  1. All scripts are GPL licensed

    +
  2. +
  3. The documentation licensed under a Creative Commons License

    +
  4. +
  5. We do not take any warranty for the functionality or usability of the CryptoBox.

    +
  6. +
+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDev.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDev.html new file mode 100644 index 0000000..41b9f5c --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDev.html @@ -0,0 +1,49 @@ + + +
    + +
  1. +Development documentation +
  2. + +
  3. +Contact +
  4. + +
  5. +Bug reports +
  6. + +
+

+
+

+ +

Development documentation

+ +

The following pages are written for developers only. Users of the CryptoBox should read CryptoBoxUser instead.

+ + +

Contact

+ +

We are waiting for your emails to cryptobox[at]systemausfall.org.

+ +

Bug reports

+ +

Please use our issue tracker, if you discover problems: https://systemausfall.org/trac/cryptobox

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevBackground.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevBackground.html new file mode 100644 index 0000000..5b59ded --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevBackground.html @@ -0,0 +1,66 @@ + + +
    + +
  1. +dfsbuild +
  2. + +
  3. +the kernel +
  4. + +
  5. +qemu +
  6. + +
  7. +alternative LiveCDs +
  8. + +
+

+
+

+

back to CryptoBoxDev

+ +

dfsbuild

+ +

The base system of the CryptoBox Live-CD is created by dfsbuild.

+

It is recommended to use some kind of caching tool for the retrieval of the debian packages (e.g.: apt-cacher or apt-proxy). This saves a lot of bandwidth and time.

+

The documentation for dfsbuild is sparse. But it is quite unlikely, that you will get in direct contact with it, as it is wrapped by cbox-build. However the following links may help you for specific problems:

+ + +

the kernel

+ +

The linux kernel for the CryptoBox is compiled statically. If you want to change it, you could follow this steps:

+
    +
  1. get the sources: apt-get install kernel-tree-2.6.11 (or the version of your choice)

    +
  2. +
  3. copy the exisiting config file kernel/config-2.6.11 as .config into your kernel source directory

    +
  4. +
  5. build the debian kernel package make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image

    +
  6. +
  7. change the kernel in the unpackdebs setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details)

    +
  8. +
+ +

qemu

+ +

Qemu is a portable system emulator. It is a convenient tool to ease the development workflow, as you do not need to burn LiveCDs for testing.

+ +

alternative LiveCDs

+ +

We tried some other LiveCDs before we decided to use dfsbuild. The following pages describe their advantages and disadvantages as the base system for the CryptoBox:

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomBuild.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomBuild.html new file mode 100644 index 0000000..b537c7d --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomBuild.html @@ -0,0 +1,98 @@ + + +
    + +
  1. +Overview +
  2. + +
  3. +Settings +
      + +
    1. +dfsbuild settings +
    2. + +
    3. +CryptoBox development configuration +
    4. + +
    5. +SSH connection +
    6. + +
    7. +qemu network configuration +
    8. + +
    + +
  4. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

The following sections are useful, if you want to change the default settings of your personal CryptoBox development environment.

+

You should have completed the steps described in CryptoBoxDevPreparation.

+ +

Settings

+ + +

dfsbuild settings

+ +

All settings for dfsbuild can be found in etc-defaults.d/dfs-cbox.conf.

+

If you want to change any of them, you should do the following:

+
    +
  1. copy etc-defaults.d/dfs-cbox.conf file to etc-local.d/

    +
  2. +
  3. change etc-local.d/dfs-cbox.conf according to your needs

    +
  4. +
+

This allows you to use your own (personal) settings, without interfering with files under version control.

+ +

CryptoBox development configuration

+ +

Some settings regarding the building, configuring and validating of the CryptoBox can be found in etc-defaults.d/cbox-dev.conf.

+

If you want to change any of them, you should do the following:

+
    +
  1. copy etc-defaults.d/cbox-dev.conf file to etc-local.d/

    +
  2. +
  3. change etc-local.d/cbox-dev.conf according to your needs

    +
  4. +
+ +

SSH connection

+ +

The file etc-defaults.d/ssh_config is used to establish a connection to a running CryptoBox system.

+

It can be necessary to change these settings, if:

+
    +
  • you do not want to use the default IP for the CryptoBox

    +
  • +
  • or the CryptoBox is not within your local network.

    +
  • +
+

If you want to change some settings, you should do the following:

+
    +
  1. copy etc-defaults.d/ssh_config file to etc-local.d/

    +
  2. +
  3. change etc-local.d/ssh_config according to your needs

    +
  4. +
+ +

qemu network configuration

+ +

The file etc-defauolts.d/qemu-ifup is used for the CryptoBox emulation with qemu. See man qemu for details.

+

If you want to change some settings, you should do the following:

+
    +
  1. copy etc-defaults.d/qemu-ifup file to etc-local.d/

    +
  2. +
  3. change etc-local.d/qemu-ifup according to your needs

    +
  4. +
+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomConfigure.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomConfigure.html new file mode 100644 index 0000000..baec9a2 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomConfigure.html @@ -0,0 +1,60 @@ + + +
    + +
  1. +Overview +
  2. + +
  3. +Locations +
  4. + +
  5. +Examples +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

You may change nearly every aspect of the CryptoBox by using the custom configuration hook directory.

+

Any script inside of this directory will be executed after the default configuration procedure (see CryptoBoxDevWorkFlow).

+

The order of execution is defined by the names of the scripts (alphabetically).

+ +

Locations

+ +

Some example customization scripts can be found in configure-examples.d/.

+

You may put your scripts into configure-local.d/. They will be sourced by cbox-build.sh.

+ +

Examples

+ +

The examples in configure-examples.d/ can be copied to configure-local.d/ and adjusted to your needs.

+
+
set_default_ip
+

change the default IP address of the CryptoBox

+
+
set_default_language
+

set the default language

+
+
set_default_timeout
+

set the default idle time for automatic unmounting

+
+
set_hostname
+

change the default hostname

+
+
set_root_pw
+

change the password of root (only useful for a development CryptoBox)

+
+
import_authorized_keys
+

upload a ssh key for passwordless access to a development CryptoBox

+
+
set_scan_devices
+

where to look for usable harddisks

+
+
+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevKnownProblems.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevKnownProblems.html new file mode 100644 index 0000000..07dcd73 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevKnownProblems.html @@ -0,0 +1,36 @@ + + +
    + +
  1. +qemu +
      + +
    1. +interleaved files not (yet) supported +
    2. + +
    3. +smbd: segfault +
    4. + +
    + +
  2. + +
+

+
+

+ +

qemu

+ + +

interleaved files not (yet) supported

+ +

You should update qemu to version 0.7 or higher.

+ +

smbd: segfault

+ +

This happens under certain circumstances. We do not know a solution for this problem.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevPreparation.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevPreparation.html new file mode 100644 index 0000000..273f117 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevPreparation.html @@ -0,0 +1,86 @@ + + +
    + +
  1. +Software requirements +
      + +
    1. +Packages +
    2. + +
    3. +Kernel +
    4. + +
    + +
  2. +Get the source +
  3. + +
  4. +First build +
  5. + +
  6. +Finished +
  7. + +
+

+
+

+

back to CryptoBoxDev

+ +

Software requirements

+ + +

Packages

+ +

We use Debian as our development environment. This was a natural choice, as the CryptoBox-LiveCD is also based on Debian. Other distributions should work too, of course - YMMV.

+

required:

+ +

recommended:

+ + +

Kernel

+ +

If you want to use qemu to test your CryptoBox in a virtual environment, then you will need the tun/tap kernel feature. +

+
+CONFIG_TUN=m
+ +

Get the source

+ +

Download the latest release from our subversion-Repository: +

+
+svn checkout https://svn.systemausfall.org/svn/cryptobox/trunk 
+ +

First build

+ +

run scripts/cbox-build.sh release as root - hopefully, there should be no errors :)

+

Hint: This step will fail, if you did not install apt-cacher. See CryptoBoxDevCustomBuild for details on how to change the build-configuration settings (in this case: mirror in dfs-cbox.conf).

+ +

Finished

+ +

Now you can start to pariticipate in the development of the CryptoBox or simply customize your own CryptoBox-LiveCD.

+

See CryptoBoxDevWorkFlow for details of how to use the developer's tools of the CryptoBox.

+

CryptoBoxDevCustomBuild shows some examples for local customizations of the CryptoBox.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevValidation.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevValidation.html new file mode 100644 index 0000000..6d2f3c1 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevValidation.html @@ -0,0 +1,57 @@ + + +
    + +
  1. +Overview +
  2. + +
  3. +Validate +
  4. + +
  5. +How to create a test +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Overview

+ +

The validation feature allows to check the programming logic of the CryptoBox. A lot of test cases are defined to test as many functions of the CryptoBox as possible.

+

The requests are processed with curl.

+

The received web page is saved to allow a later design review or css debugging.

+

The current state of the CryptoBox is represented by ten single values (e.g.: box is configured, IP of the box, current language setting, ...), which are invisibly a part of each html page (as comments). The returned status of every request is compared to the predicted value of the test case.

+

Similar test cases are pooled into test groups (e.g.: initialization, configuration and mounting).

+ +

Validate

+ +

Run scripts/validate.sh check_all to conduct all tests of all groups. See scripts/validate.sh help for other actions.

+

The results will be saved in validation/report.

+

In addition to every single retrieved page, a html page called summary.html is created, which contains the state checks of all tests in a group.

+ +

How to create a test

+ +

All test cases can be found in validation/test-cases.

+

Every test consists of:

+
+
input.curl
+

the configuration file for the curl request

+
+
output
+

the predicted state of the CryptoBox after the call

+
+
description
+

a short description of the test (will be used for the summary)

+
+
delay
+

[optional] time to wait after this test

+
+
+

Use the existing test cases as templates for new tests.

+

Any logical path of the web interface CGI should be validated by a test case.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevWorkFlow.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevWorkFlow.html new file mode 100644 index 0000000..32a950b --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevWorkFlow.html @@ -0,0 +1,145 @@ + + +
    + +
  1. +Preparations +
  2. + +
  3. +Create a CryptoBox-LiveCD - step by step +
      + +
    1. +Build the base system +
    2. + +
    3. +Configure the base image +
    4. + +
    5. +Remove development features +
    6. + +
    7. +Create an iso image +
    8. + +
    9. +Burn the CD +
    10. + +
    + +
  4. +Test the CryptoBox-LiveCD +
      + +
    1. +Chroot: quick & dirty tests +
    2. + +
    3. +Qemu: nearly complete emulation +
    4. + +
    + +
  5. +Debugging and merging +
      + +
    1. +Development on a running system +
    2. + +
    3. +Uploading a new release +
    4. + +
    + +
  6. + +
+

+
+

+

back to CryptoBoxDev

+ +

Preparations

+ +

You should have completed the steps described in CryptoBoxDevPreparation.

+ +

Create a CryptoBox-LiveCD - step by step

+ +

The following steps can be executed in the order of their appearance.

+

Usually there is no need to repeat the whole process, after you changed some parts of the CryptoBox. Especially the first step (building of the base system with dfsbuild) may usually be skipped.

+

Every step of the building process must be executed as root.

+ +

Build the base system

+ +

Run scripts/cbox-build.sh dfsbuild to create the base system for the LiveCD.

+

The result can be found in _builddir/cd1/image.

+

If you do not want to use the apt-cacher to save bandwidth and time, then you should modify the mirror-setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details).

+ +

Configure the base image

+ +

Run scripts/cbox-build.sh config to copy the CryptoBox-specific files to the base image.

+

TODO: link to cbox-build.sh-manpage

+ +

Remove development features

+ +

The original base system, that was created by dfsbuild contains a lot packages and some scripts, that are only useful during development. You should remove them, as they case severe security implications.

+

To reduce the CryptoBox-LiveCD to the usable minimum for operational use, you should run scripts/cbox-build.sh harden.

+ +

Create an iso image

+ +

To burn a CryptoBox-LiveCD, you need an bootable iso9660-image.

+

Create the iso image with scripts/cbox-build.sh iso. The resulting file can be found at _builddir/cd1/cryptobox.iso.

+ +

Burn the CD

+ +

Do it manually: cdrecord -v dev=0,0,0 _builddir/cd1/cryptobox.iso (change the dev setting according to your setup).

+

Let the script do it for you: scripts/cbox-build.sh burn (maybe you have to change the CDWRITER setting in cbox-dev.conf - see CryptoBoxDevCustomBuild).

+

Of course, it is not wise to use CD-R media. CD-RW consume less resources.

+ +

Test the CryptoBox-LiveCD

+ +

This section is only useful for developers, who want to improve or change the CryptoBox system.

+ +

Chroot: quick & dirty tests

+ +

If you modified the perl- or shell-scripts of the CryptoBox, then you can check for syntax errors by running them in a chroot environment. Be careful: you have access to all ressources of your computer, while you are working within a chroot environment - so you can easily repartition your real disk ...

+

To start a chroot environment, you can execute scripts/cbox-dev.sh chroot.

+

For more intensive tests, you may use qemu (see below) or burn real LiveCDs - of course this would take much more time.

+ +

Qemu: nearly complete emulation

+ +

The processor emulator qemu allows you test the CryptoBox in a virtual environment, that is completely separated from your real computer's resources. It is the tool of choice, if you do nat have a real computer around for testing.

+

Beware - there are some problems, when using qemu:

+
    +
  • smbd does not start (segfault)

    +
  • +
  • ???

    +
  • +
+

To start a qemu emulation of the iso image, you may type: scripts/cbox-dev.sh qemu.

+ +

Debugging and merging

+ +

This section is only useful for developers, who want to develop on a running CryptoBox system (emulated or real).

+

You may access the CryptoBox directly or you can use ssh to open a remote session (./cbox-dev.sh ssh).

+ +

Development on a running system

+ +

When you run an emulation or test a real LiveCD, you may encounter problems and bugs. To test your fixes for these problems, it is convenient, to change the running test system. Afterwards you can merge these changes to your local development copy.

+

Type scripts/cbox-dev.sh diff to see the changes, you made on the running CryptoBox system.

+

Type scripts/cbox-dev.sh merge to merge these changes to your local working copy.

+ +

Uploading a new release

+ +

Alternatively you may also upload a new version of your local working copy to the running CryptoBox system.

+

Type scripts/cbox-dev.sh upload - beware: all recent changes you made to the running CryptoBox system, are lost.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxIntro.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxIntro.html new file mode 100644 index 0000000..c6f5a08 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxIntro.html @@ -0,0 +1,19 @@ + + + +

CryptoBox

+ +

The CryptoBox-Project allows you to store your private data on an encrypting fileserver. You just need to put the bootable live-CD into an old computer and configure your personal CryptoBox within seconds. Your data is safe, as soon as you pull the plug.

+ +

The CryptoBox is free software: you are free to redistribute and modify it. See GPL and Creative Commons License for details.

+
+

+

The CryptoBox-Project was initiated by sense.lab.

+ diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUser.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUser.html new file mode 100644 index 0000000..93f8c34 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUser.html @@ -0,0 +1,36 @@ + + +
    + +
  1. +User Documentation +
  2. + +
  3. +Questions +
  4. + +
+

+
+

+ +

User Documentation

+ +

The following pages describe the easy use of the CryptoBox.

+

The online version of this manual is a wiki, which means you can edit the pages. So if you have a question or some description is unclear, please post it on the bottom of the relevant page. The developers will answer your questions and update the manual as fast as possible. This way you can contribute in making the CryptoBox a better experience for everyone!

+
    +
  1. CryptoBoxUserGettingStarted/en -- first steps to get the Cryptobox up and running

    +
  2. +
  3. CryptoBoxUserConfiguration/en -- configure the details of your new encrypted fileserver

    +
  4. +
  5. CryptoBoxUserDailyUse/en -- daily use of your CryptoBox

    +
  6. +
+

The online version of this manual can be found at https://systemausfall.org/toolforge/CryptoBoxUser/en.

+
+

+ +

Questions

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserConfiguration.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserConfiguration.html new file mode 100644 index 0000000..30a7fef --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserConfiguration.html @@ -0,0 +1,122 @@ + + +
    + +
  1. +Overview +
  2. + +
  3. +Foreword +
  4. + +
  5. +Initialization +
  6. + +
  7. +Configuration +
  8. + +
  9. +Hints / Caveats +
  10. + +
  11. +Questions +
  12. + +
+

+
+

+ +

Overview

+ +

All parts of administration of the CryptoBox are done through a comfortable web interface. If this is the first time you use the CryptoBox, just follow the steps below.

+

You can safely ignore the Foreword if you're in a hurry.

+

Initialization describes the process of integrating a new harddisk. You usually have to perform this steps if you start with a new CryptoBox or after changing the harddisk.

+

In the Configuration section, you can configure the CryptoBox according to your personal needs, e.g. change your desired language for the web interface or change the IP address of the CryptoBox.

+

Don't forget to read the Hints / Caveats section too.

+ +

Foreword

+ +

Okay, you finished the CryptoBoxUserGettingStarted/en and are now sitting in front of a computer that is connected via network with your CryptoBox. You point a browser to "https://192.168.0.23" and the CryptoBox interface appears.

+

Before you can save data on your CryptoBox, its harddisk has to be formatted with a cryptographic filesystem. Sounds complicated but don't be scared - it's really a "one click" thing. :)

+ +

Initialization

+ +

Click on Initialize CryptoBox in the title bar.

+

Now you are promted to enter two passwords twice (because we want to train your typing skills ;).

+
    +
  • The first password is the administration password.

    +
      +
    • It is used to protect the configuration of the CryptoBox.

      +
    • +
    • This is necessary to make sure, that no one without your permission can destroy your data by re-initializing the CryptoBox.

      +
    • +
    • Chances are good, that you will only need it once.

      +
    • +
    • You may leave it empty, but this is not recommended.

      +
    • +
    +
  • +
  • The crypto password is the more important password, protecting the data on your harddisk. Choose it wisely!

    +
      +
    • You will need it, whenever you want to access your encrypted data.

      +
    • +
    • For a secure password consider a length of at least 15 characters including digits and special characters. The security of your encrypted data stands or falls with a good password.

      +
    • +
    +
  • +
  • To avoid mistakes and to remind you on what you're going to do, you have to type the displayed red phrase into the last field.

    +
  • +
  • Now you can complete the initialization by clicking on the Initialize CryptoBox button at the bottom of the form.

    +
  • +
+

That's all. Wasn't it a real "one click" thing? Cryptography has never been easier to use. ;)

+

The initialization process takes place in the background and will be completed after a few minutes, depending on your harddisk's size.

+ +

Configuration

+ +

While the initialization is usually done only once, the configuration can be changed at any time you want. You can reach it by clicking at Configuration in the menu bar of the website. Now you see a form with four fields:

+
    +
  • If you defined a administration passwort during Initialization, you have to enter it first. Otherwise this field does not appear.

    +
  • +
  • If the default network address (IP) doesn't fit into your network infrastructure, you can change it in the second field.

    +
  • +
  • The timeout defines the amount of time (in minutes) after that the CryptoBox deactivates the access to the encrypted data. If you e.g. copy a file on the box, it starts counting at zero, so down-/uploads won't be interrupted.

    +
      +
    • It's good choice to enter a small number (few minutes).

      +
    • +
    • A timeout of 0 turns off the automatic deactivation - this is not recommended.

      +
    • +
    +
  • +
  • At language preferences you can select the default language for the CryptoBox interface.

    +
  • +
+

Complete your changes by clicking on Save configuration.

+

That's all - your CryptoBox is now ready for daily use!

+ +

Hints / Caveats

+ +
    +
  • All data on the CryptoBox harddisk will be erased during Initialization.

    +
  • +
  • All passwords have to be typed twice to reduce the chance of a typo.

    +
  • +
  • The optional adminstration password is necessary for configuration only.

    +
  • +
  • The crypto password protects your beloved data.

    +
  • +
  • If the cryptobox is not reachable by browsing to 192.168.0.23, you may have to adjust the network settings of your computer for initialization of the CryptoBox.

    +
  • +
+

back to CryptoBoxUser/en

+
+

+ +

Questions

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserDailyUse.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserDailyUse.html new file mode 100644 index 0000000..125a28f --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserDailyUse.html @@ -0,0 +1,62 @@ + + +
    + +
  1. +Activate your encrypted filesystem +
  2. + +
  3. +Deactivate your encrypted filesystem +
  4. + +
  5. +Shut down your CryptoBox +
  6. + +
  7. +In case of emergency +
  8. + +
  9. +Questions +
  10. + +
+

+
+

+ +

Activate your encrypted filesystem

+ +

You can activate your encrypted filesystem by doing following these steps:

+
    +
  • Point your web browser at the address of your CryptoBox. The default is https://192.168.0.23.

    +
  • +
  • Click on Activation of encrypted data. A new page asking for your crypto password appears.

    +
  • +
  • Enter your crypto password and click on the button below labeled activate encrypted filesystem.

    +
  • +
+

Now the filesystem is accessible. To use it, search for a computer in your network neighborhood. When asked for the name, enter the above IP address (default: 192.168.0.23). Now you can use it like any other network resource.

+ +

Deactivate your encrypted filesystem

+ +

You can deactivate the encrypted filesystem by clicking at Deactivation of encrypted data in the web interface of your CryptoBox.

+

Your data is now protected again.

+ +

Shut down your CryptoBox

+ +

Click at the Shutdown link in the menu of the web interface. There you can choose poweroff or reboot. The shutdown takes some seconds.

+

If the hardware of your CryptoBox is quite recent, it will power-off automatically. Otherwise you have to do it manually.

+ +

In case of emergency

+ +

If you have to protect the drive really fast, just power-off the CryptoBox machine instantly by pulling the plug or pushing the power button. This is not very clean and can (in very rare circumstances) corrupt open files, but it is the fasted method to secure your data.

+

back to CryptoBoxUser/en

+
+

+ +

Questions

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserGettingStarted.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserGettingStarted.html new file mode 100644 index 0000000..d9a0a52 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserGettingStarted.html @@ -0,0 +1,73 @@ + + +
    + +
  1. +First Steps +
  2. + +
  3. +Hints / Caveats +
  4. + +
  5. +Questions +
  6. + +
+

+
+

+ +

First Steps

+ +

Getting the CryptoBox started doesn't take much:

+
    +
  1. You need an old Computer (at least 100MHz, 48MB RAM) (rule of thumb: bought at least after 1996). This PC needs a network card, a CD-ROM drive and a huge harddisk.

    +
      +
    • Well the disk doesn't need to be huge, it should just suit your filestorage needs ;)

      +
    • +
    • You don't need a monitor or a keyboard to use your CryptoBox (with one exception, see below).

      +
    • +
    • Of course, you may use a faster computer, but they usually consume much more energy and do not provide signifcant advantages.

      +
    • +
    +
  2. +
  3. Then download the latest version of the CryptoBox as an iso-image and burn this image onto a CD.

    + +
  4. +
  5. Configure your PC, so it can boot from the CD. Therefore you have to enter the BIOS and configure the CD-ROM as boot device.

    +
  6. +
  7. Insert the shiny new CryptoBox CD you've just burned and start the computer.

    +
  8. +
+

If it now boots from the CD, you accomplished all of the requirements.

+

Now you can just go to your current desktop computer and point your browser to https://192.168.0.23 where the CryptoBox interface should be displayed. Easy - isn't it?

+

For further steps go to CryptoBoxUserConfiguration/en.

+ +

Hints / Caveats

+ +
    +
  • Maybe you need to change the network address (IP) of your PC to configure the CryptoBox for the first time. Ask someone for help, if you don't know how and why ...

    +
  • +
  • If you're going to buy a new harddisk keep in mind that very old hardware can't handle actual disksizes!

    +
  • +
  • Some old PCs are not able to boot from CD.

    +
  • +
  • If you don't know what a BIOS is, better ask someone, before you try to change something. ;)

    +
  • +
  • Don't forget to connect your PC to your local area network!

    +
  • +
  • To configure the BIOS, you need a keyboard and a monitor. But this has to be done only once.

    +
  • +
+

back to CryptoBoxUser/en

+
+

+ +

Questions

+ + diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/confirm_text.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/confirm_text.html new file mode 100644 index 0000000..83747ea --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/confirm_text.html @@ -0,0 +1,2 @@ +

Confirmation text

+

Type the confirmation text exactly the way, it is said. This confirms, that you know, what you are doing.

diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw.html new file mode 100644 index 0000000..6e0412d --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw.html @@ -0,0 +1,10 @@ +

Password of encrypted filesystem

+

This password is the final protection for your sensible data. You should +choose a complicated password, that fullfills at least the following requirements:

+
    +
  • more than 20 characters
  • +
  • contain lowercase, uppercase, numbers, special characters
  • +
  • may not be written anywhere in cleartext
  • +
+

Do not forget your encryption password! There is no way to recover your data +without it (of course, there should be none).

diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw_repeat.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw_repeat.html new file mode 100644 index 0000000..9312eea --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw_repeat.html @@ -0,0 +1,2 @@ +

Repeat the encryption password

+

This ensures, that you do not mistype your encryption password.

diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw.html new file mode 100644 index 0000000..2684939 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw.html @@ -0,0 +1,5 @@ +

Administration password of the CryptoBox

+

This password protects your CryptoBox against random re-initialization by unauthorized people. +Any dangerous administrative action requires this administration password.

+

You may leave this password blank, if your network is safe.

+

The administration password does NOT protect your sensible data in any way!

diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw_repeat.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw_repeat.html new file mode 100644 index 0000000..84534ca --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw_repeat.html @@ -0,0 +1,3 @@ +

Repeat the administration password

+

This ensures, that you do not mistype your administration password.

+

Leave it blank, if you do not need an administration password.

diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/prove_admin_pw.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/prove_admin_pw.html new file mode 100644 index 0000000..fb9807f --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/prove_admin_pw.html @@ -0,0 +1,3 @@ +

Administration password of the CryptoBox

+

Enter the administration password of the CryptoBox.

+

This ensures, that only authorized people may re-initialize and re-configure the CryptoBox.

diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_ip_address.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_ip_address.html new file mode 100644 index 0000000..a2bfe65 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_ip_address.html @@ -0,0 +1,2 @@ +

Change the network address (IP)

+

Maybe you will have to reconfigure the network address of your local computer, too.

diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_language.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_language.html new file mode 100644 index 0000000..34e4844 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_language.html @@ -0,0 +1,3 @@ +

Change the default language

+

This will set the default language of the web interface of this CryptoBox. Every user may change this temporarily +by selecting a language of choice in the upper right corner of the screen.

diff --git a/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_timeout.html b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_timeout.html new file mode 100644 index 0000000..397fae8 --- /dev/null +++ b/v0.2/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_timeout.html @@ -0,0 +1,3 @@ +

Change the idle timeout

+

This value specifies, when the encrypted filesystem will be automatically unmounted. +The last access of the encrypted data starts this timer.

diff --git a/v0.2/cbox-tree.d/var/www/cgi-bin/cryptobox.pl b/v0.2/cbox-tree.d/var/www/cgi-bin/cryptobox.pl new file mode 100755 index 0000000..e2f08a3 --- /dev/null +++ b/v0.2/cbox-tree.d/var/www/cgi-bin/cryptobox.pl @@ -0,0 +1,599 @@ +#!/usr/bin/perl +# +# web interface of the CryptoBox +# + + +############################################### + +use strict; +use CGI; +use ClearSilver; +use ConfigFile; + +my ($pagedata, $pagename); + +my ($LANGUAGE_DIR, $DEFAULT_LANGUAGE, $HTML_TEMPLATE_DIR, $DOC_DIR); +my ($CB_SCRIPT, $LOG_FILE, $IS_DEV); + +my $config = ConfigFile::read_config_file('/etc/cryptobox/cryptobox.conf'); + +$CB_SCRIPT = $config->{CB_SCRIPT}; +$LOG_FILE = $config->{LOG_FILE}; +$LANGUAGE_DIR = $config->{LANGUAGE_DIR}; +$DEFAULT_LANGUAGE = $config->{LANGUAGE}; +$HTML_TEMPLATE_DIR = $config->{HTML_TEMPLATE_DIR}; +$DOC_DIR = $config->{DOC_DIR}; +$IS_DEV = ( -e $config->{DEV_FEATURES_SCRIPT}); + +my $query = new CGI; + + +#################### subs ###################### + +sub load_hdf +{ + my $hdf = ClearSilver::HDF->new(); + + my $fname = "$HTML_TEMPLATE_DIR/main.cs"; + die ("Template directory is invalid ($fname not found)!") unless (-e "$fname"); + $hdf->setValue("Settings.TemplateDir","$HTML_TEMPLATE_DIR"); + + die ("Documentation directory ($DOC_DIR) not found!") unless (-d "$DOC_DIR"); + $hdf->setValue("Settings.DocDir","$DOC_DIR"); + + # if it was requested as directory index (link from index.html), we should + # set a real script name - otherwise links with a query string will break + # ignore POST part of the SCRIPT_NAME (after "&") + (my $script_url = $ENV{'SCRIPT_NAME'}) =~ m/^[^&]*/; + $hdf->setValue("ScriptName", ($ENV{'SCRIPT_NAME'} eq '/')? '/cryptobox' : $script_url ); + + &load_selected_language($hdf); + + &get_available_languages($hdf); + + return $hdf; +} + + +sub load_selected_language +{ + my $data = shift; + my $config_language; + + # load $DEFAULT_LANGUAGE - this is necessary, if a translation is incomplete + $data->readFile("$LANGUAGE_DIR/$DEFAULT_LANGUAGE" . ".hdf"); + + # load configured language, if it is valid + $config_language = `$CB_SCRIPT get_config language`; + $config_language = $DEFAULT_LANGUAGE unless (&validate_language("$config_language")); + + ######### temporary language setting? ############ + # the default language can be overriden by the language links in the + # upper right of the page + if ($query->param('weblang')) { + my $weblang = $query->param('weblang'); + if (&validate_language($weblang)) { + # load the data + $config_language = "$weblang"; + # add the setting to every link + $data->setValue('Data.PostData.weblang', "$weblang"); + } else { + $data->setValue('Data.Warning', 'InvalidLanguage'); + } + } + # import the configured resp. the temporarily selected language + $data->readFile("$LANGUAGE_DIR/$config_language" . ".hdf"); + + ########## select documentation language ########## + if (&validate_doc_language($config_language)) { + # selected web interface language + $data->setValue('Settings.DocLang', "$config_language"); + } elsif (&validate_doc_language($DEFAULT_LANGUAGE)) { + # configured CryptoBox language + $data->setValue('Settings.DocLang', "$DEFAULT_LANGUAGE"); + } else { + # default hardcoded language (english) + $data->setValue('Settings.DocLang', "en"); + } +} + + +sub get_available_languages +# import the names of all available languages +{ + my $data = shift; + my ($file, @files, $hdf, $lang_name); + + opendir(DIR, $LANGUAGE_DIR) or die ("Language directory ($LANGUAGE_DIR) not accessible!"); + @files = sort grep { /.*\.hdf$/ } readdir(DIR); + close(DIR); + + foreach $file (@files) { + $hdf = ClearSilver::HDF->new(); + $hdf->readFile("$LANGUAGE_DIR/$file"); + substr($file, -4) = ""; + $lang_name = $hdf->getValue("Lang.Name", "$file"); + $data->setValue("Data.Languages." . "$file", "$lang_name"); + } +} + + +sub log_msg +{ + my $text = shift; + open(LOGFILE,">> $LOG_FILE"); + print LOGFILE "$text"; + close(LOGFILE); +} + + +sub check_ssl +{ + # BEWARE: dirty trick - is there a better way? + # stunnel is not in transparent mode -> that means, it replaces REMOTE_ADDR with + # its own IP (localhost, of course) + return ($ENV{'REMOTE_ADDR'} eq '127.0.0.1'); +} + + +sub check_mounted +{ + return (system("$CB_SCRIPT","is_crypto_mounted") == 0); +} + + +sub check_config +{ + return (system("$CB_SCRIPT","is_config_mounted") == 0); +} + + +sub check_init_running +{ + return (system("$CB_SCRIPT","is_init_running") == 0); +} + + +sub is_harddisk_available +{ + return (system("$CB_SCRIPT","is_harddisk_available") == 0); +} + + +sub get_current_ip +# the IP of eth0 - not the configured value of the box (only for validation) +{ + return `$CB_SCRIPT get_current_ip`; +} + + +sub get_admin_pw +# returns the current administration password - empty, if it is not used +{ + return `$CB_SCRIPT get_config admin_pw`; +} + + +sub render +{ + $pagedata->setValue("PageName","$pagename"); + my $pagefile = "$HTML_TEMPLATE_DIR/main.cs"; + print "Content-Type: text/html\n\n"; + + my $cs = ClearSilver::CS->new($pagedata); + $cs->parseFile($pagefile); + + print $cs->render(); +} + + +sub mount_vol +{ + my $pw = shift; + + if (&check_mounted) { + $pagedata->setValue('Data.Warning', 'IsMounted'); + } else { + open(PW_INPUT, "| $CB_SCRIPT crypto-up"); + print PW_INPUT $pw; + close(PW_INPUT); + } +} + + +sub umount_vol +{ + if (&check_mounted) { + system("$CB_SCRIPT", "crypto-down"); + } else { + $pagedata->setValue('Data.Warning', 'NotMounted'); + } +} + + +sub box_init +{ + my ($crypto_pw, $admin_pw) = @_; + + # partitioning, config and initial cryptsetup + open(PW_INPUT, "|$CB_SCRIPT box-init-fg"); + print PW_INPUT $crypto_pw; + close(PW_INPUT); + + # set administration password + system("$CB_SCRIPT", "set_config", "admin_pw", "$admin_pw"); + + # wipe and mkfs takes some time - it will be done in the background + system("$CB_SCRIPT", "box-init-bg"); +} + + +sub system_poweroff +{ + &umount_vol() if (&check_mounted()); + system("$CB_SCRIPT", "poweroff"); +} + + +sub system_reboot +{ + &umount_vol() if (&check_mounted()); + system("$CB_SCRIPT", "reboot"); +} + + +sub validate_ip +{ + my $ip = shift; + my @octets = split /\./, $ip; + return 0 if ($#octets == 4); + # check for values and non-digits + return 0 if ((@octets[0] <= 0) || (@octets[0] >= 255) || (@octets[0] =~ /\D/)); + return 0 if ((@octets[1] < 0) || (@octets[1] >= 255) || (@octets[1] =~ /\D/)); + return 0 if ((@octets[2] < 0) || (@octets[2] >= 255) || (@octets[2] =~ /\D/)); + return 0 if ((@octets[3] <= 0) || (@octets[3] >= 255) || (@octets[3] =~ /\D/)); + return 1; +} + + +sub validate_timeout +{ + my $timeout = shift; + return 0 if ($timeout =~ /\D/); + return 1; +} + + +# check for a valid interface language +sub validate_language +{ + my $language = shift; + # check for non-alphanumeric character + return 0 if ($language =~ /\W/); + return 0 if ($language eq ""); + return 0 if ( ! -e "$LANGUAGE_DIR/$language" . '.hdf'); + return 1; +} + + +# check for a valid documentation language +sub validate_doc_language +{ + my $language = shift; + # check for non-alphanumeric character + return 0 if ($language =~ /\W/); + return 0 if ($language eq ""); + return 0 if ( ! -e "$DOC_DIR/$language"); + return 1; +} + + +################### main ######################### + + +$pagedata = load_hdf(); + + +# first: check for ssl! +if ( ! &check_ssl()) { + $pagedata->setValue('Data.Error', 'NoSSL'); + $pagedata->setValue('Data.Redirect.URL', "https://" . $ENV{'HTTP_HOST'} . $ENV{'SCRIPT_NAME'}); + $pagedata->setValue('Data.Redirect.Delay', "3"); +} elsif ( ! &is_harddisk_available()) { + $pagedata->setValue('Data.Error', 'NoHardDisk'); +} elsif ($query->param('action')) { + my $action = $query->param('action'); + ################ umount_do ####################### + if ($action eq 'umount_do') { + if ( ! &check_config()) { + $pagedata->setValue('Data.Warning', 'NotInitialized'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif (&check_init_running()) { + $pagedata->setValue('Data.Warning', 'InitNotFinished'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'config_form'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } elsif ( ! &check_mounted()) { + $pagedata->setValue('Data.Warning', 'NotMounted'); + $pagedata->setValue('Data.Action', 'empty'); + } else { + # unmounten + &umount_vol(); + if (&check_mounted()) { + $pagedata->setValue('Data.Warning', 'UmountFailed'); + $pagedata->setValue('Data.Action', 'umount_form'); + } else { + $pagedata->setValue('Data.Success', 'UmountDone'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } + } + ################ mount_do ######################## + } elsif ($action eq 'mount_do') { + # mount requested + if ( ! &check_config()) { + $pagedata->setValue('Data.Warning', 'NotInitialized'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif (&check_init_running()) { + $pagedata->setValue('Data.Warning', 'InitNotFinished'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'config_form'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } elsif (&check_mounted()) { + $pagedata->setValue('Data.Warning', 'IsMounted'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } elsif ($query->param('crypto_password') eq '') { + # leeres Passwort + $pagedata->setValue('Data.Warning', 'EmptyCryptoPassword'); + $pagedata->setValue('Data.Action', 'mount_form'); + } else { + # mounten + &mount_vol($query->param('crypto_password')); + if (!&check_mounted()) { + $pagedata->setValue('Data.Warning', 'MountFailed'); + $pagedata->setValue('Data.Action', 'mount_form'); + } else { + $pagedata->setValue('Data.Success', 'MountDone'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } + } + ################## mount_ask ####################### + } elsif ($action eq 'mount_ask') { + if ( ! &check_config()) { + $pagedata->setValue('Data.Warning', 'NotInitialized'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif (&check_init_running()) { + $pagedata->setValue('Data.Warning', 'InitNotFinished'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'config_form'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } elsif (&check_mounted()) { + $pagedata->setValue('Data.Warning', 'IsMounted'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } else { + $pagedata->setValue('Data.Action', 'mount_form'); + } + ################# umount_ask ######################## + } elsif ($action eq 'umount_ask') { + if ( ! &check_config()) { + $pagedata->setValue('Data.Warning', 'NotInitialized'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif ( ! &check_mounted()) { + $pagedata->setValue('Data.Warning', 'NotMounted'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } else { + $pagedata->setValue('Data.Action', 'umount_form'); + } + ################## init_ask ######################### + } elsif ($action eq 'init_ask') { + if (&check_init_running()) { + $pagedata->setValue('Data.Warning', 'InitNotFinished'); + $pagedata->setValue('Data.Action', 'config_form'); + } elsif (&check_config()) { + $pagedata->setValue('Data.Warning', 'AlreadyConfigured'); + $pagedata->setValue('Data.Action', 'init_form'); + } else { + $pagedata->setValue('Data.Action', 'init_form'); + } + #################### init_do ######################## + } elsif ($action eq 'init_do') { + my $current_admin_pw = &get_admin_pw; + if ($current_admin_pw ne '' && $current_admin_pw ne $query->param('current_admin_password')) { + $pagedata->setValue('Data.Warning', 'WrongAdminPassword'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif ($query->param('admin_password') ne $query->param('admin_password2')) { + # different admin-passwords + $pagedata->setValue('Data.Warning', 'DifferentAdminPasswords'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif ($query->param('crypto_password') ne $query->param('crypto_password2')) { + # different crypto-passwords + $pagedata->setValue('Data.Warning', 'DifferentCryptoPasswords'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif ($query->param('crypto_password') eq '') { + # empty password + $pagedata->setValue('Data.Warning', 'EmptyCryptoPassword'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif ($query->param('confirm') ne $pagedata->getValue('Lang.Text.ConfirmInit','')) { + # wrong confirm string + $pagedata->setValue('Data.Warning', 'InitNotConfirmed'); + $pagedata->setValue('Data.Action', 'init_form'); + } else { + # do init + &box_init($query->param('crypto_password'),$query->param('admin_password')); + if (!&check_init_running()) { + $pagedata->setValue('Data.Error', 'InitFailed'); + } else { + $pagedata->setValue('Data.Success', 'InitRunning'); + $pagedata->setValue('Data.Action', 'config_form'); + } + } + #################### config_ask ###################### + } elsif ($action eq 'config_ask') { + if ( ! &check_config()) { + $pagedata->setValue('Data.Warning', 'NotInitialized'); + $pagedata->setValue('Data.Action', 'init_form'); + } else { + $pagedata->setValue('Data.Action', 'config_form'); + } + #################### config_do ####################### + } elsif ($action eq 'config_do') { + if ( ! &check_config()) { + $pagedata->setValue('Data.Warning', 'NotInitialized'); + $pagedata->setValue('Data.Action', 'init_form'); + } else { + my $current_admin_pw = &get_admin_pw; + if ($current_admin_pw ne '' && $current_admin_pw ne $query->param('current_admin_password')) { + $pagedata->setValue('Data.Warning', 'WrongAdminPassword'); + $pagedata->setValue('Data.Action', 'config_form'); + } elsif ( ! &validate_language($query->param('language'))) { + $pagedata->setValue('Data.Warning', 'InvalidLanguage'); + $pagedata->setValue('Data.Action', 'config_form'); + } elsif ( ! &validate_ip($query->param('ip'))) { + $pagedata->setValue('Data.Warning', 'InvalidIP'); + $pagedata->setValue('Data.Action', 'config_form'); + } elsif ( ! &validate_timeout($query->param('timeout'))) { + $pagedata->setValue('Data.Warning', 'InvalidTimeOut'); + $pagedata->setValue('Data.Action', 'config_form'); + } else { + system("$CB_SCRIPT", "set_config", "language", $query->param('language')); + &load_selected_language($pagedata); + system("$CB_SCRIPT", "set_config", "timeout", $query->param('timeout')); + # check, if the ip was reconfigured + if ($query->param('ip') ne `$CB_SCRIPT get_config ip`) + { + # set the new value + system("$CB_SCRIPT", "set_config", "ip", $query->param('ip')); + # reconfigure the network interface + system("$CB_SCRIPT", "update_ip_address"); + # redirect to the new address + $pagedata->setValue('Data.Redirect.URL', "https://" . $query->param('ip') . $ENV{'SCRIPT_NAME'}); + $pagedata->setValue('Data.Redirect.Delay', "5"); + # display a warning for the redirection + $pagedata->setValue('Data.Warning', 'IPAddressChanged'); + } + # check for success + if (`$CB_SCRIPT get_config timeout` ne $query->param('timeout')) { + $pagedata->setValue('Data.Warning', 'ConfigTimeOutFailed'); + } elsif (`$CB_SCRIPT get_config ip` ne $query->param('ip')) { + $pagedata->setValue('Data.Warning', 'ConfigIPFailed'); + } elsif (`$CB_SCRIPT get_config language` ne $query->param('language')) { + $pagedata->setValue('Data.Warning', 'ConfigLanguageFailed'); + } else { + $pagedata->setValue('Data.Success', 'ConfigSaved'); + } + $pagedata->setValue('Data.Action', 'status'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } + } + #################### show_log ####################### + } elsif ($action eq 'show_log') { + $pagedata->setValue('Data.Action', 'show_log'); + ##################### doc ############################ + } elsif ($action eq 'doc') { + if ($query->param('page')) { + $pagedata->setValue('Data.Doc.Page', $query->param('page')); + $pagedata->setValue('Data.Action', 'doc'); + } else { + $pagedata->setValue('Data.Doc.Page', 'CryptoBoxUser'); + $pagedata->setValue('Data.Action', 'doc'); + } + ##################### poweroff ###################### + } elsif ($action eq 'shutdown_ask') { + $pagedata->setValue('Data.Action', 'shutdown_form'); + ##################### reboot ######################## + } elsif ($action eq 'shutdown_do') { + if ($query->param('type') eq 'reboot') { + &system_reboot(); + $pagedata->setValue('Data.Success', 'ReBoot'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "180"); + } else { + &system_poweroff(); + $pagedata->setValue('Data.Success', 'PowerOff'); + } + $pagedata->setValue('Data.Action', 'empty'); + #################### status ######################### + } elsif ($action eq 'status') { + if ( ! &check_config()) { + $pagedata->setValue('Data.Warning', 'NotInitialized'); + $pagedata->setValue('Data.Action', 'init_form'); + } elsif (&check_init_running()) { + $pagedata->setValue('Data.Warning', 'InitNotFinished'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'config_form'); + $pagedata->setValue('Data.Redirect.Delay', "30"); + } else { + $pagedata->setValue('Data.Action', 'status'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "60"); + } + ################### unknown ######################### + } else { + $pagedata->setValue('Data.Error', 'UnknownAction'); + } +###################### default ########################## +} else { + if (&check_init_running()) { + $pagedata->setValue('Data.Warning', 'InitNotFinished'); + $pagedata->setValue('Data.Action', 'empty'); + $pagedata->setValue('Data.Redirect.Action', 'config_form'); + $pagedata->setValue('Data.Redirect.Delay', "60"); + } elsif (&check_config()) { + $pagedata->setValue('Data.Action', 'status'); + $pagedata->setValue('Data.Redirect.Action', 'status'); + $pagedata->setValue('Data.Redirect.Delay', "60"); + } else { + $pagedata->setValue('Data.Action', 'init_form'); + } +} + +# check state of the cryptobox +$pagedata->setValue('Data.Status.Config', &check_config() ? 1 : 0); +$pagedata->setValue('Data.Status.InitRunning', &check_init_running() ? 1 : 0); +$pagedata->setValue('Data.Status.Mounted', &check_mounted() ? 1 : 0); +my $output = &get_current_ip(); +$pagedata->setValue('Data.Status.IP', "$output"); + +$output = &get_admin_pw(); +$pagedata->setValue('Data.Config.AdminPasswordIsSet', 1) if ($output ne ''); + +$output = `$CB_SCRIPT diskinfo 2>&1 | sed 's#\$#
#'`; +$pagedata->setValue('Data.PartitionInfo',"$output"); + +# preset config settings for clearsilver +$pagedata->setValue('Data.Config.IP', `$CB_SCRIPT get_config ip`); +$pagedata->setValue('Data.Config.TimeOut', `$CB_SCRIPT get_config timeout`); +$pagedata->setValue('Data.Config.Language', `$CB_SCRIPT get_config language`); + +# read log and add html linebreaks +$output = ''; +if (-e "$LOG_FILE") { + open(LOGFILE, "< $LOG_FILE"); + while () { $output .= "$_
" } + close(LOGFILE); +} +$pagedata->setValue('Data.Log',"$output"); + +$pagedata->setValue('Data.Status.DevelopmentMode', 1) if ($IS_DEV); + +# save QUERY_STRING (e.g. for weblang-links) +my $querystring = $ENV{'QUERY_STRING'}; +# remove weblang setting +$querystring =~ s/weblang=\w\w&?//; +$pagedata->setValue('Data.QueryString', "$querystring") if ($querystring ne ''); + +&render(); + +exit 0; + diff --git a/v0.2/cbox-tree.d/var/www/cryptobox b/v0.2/cbox-tree.d/var/www/cryptobox new file mode 120000 index 0000000..f2f2b71 --- /dev/null +++ b/v0.2/cbox-tree.d/var/www/cryptobox @@ -0,0 +1 @@ +cgi-bin/cryptobox.pl \ No newline at end of file diff --git a/v0.2/cbox-tree.d/var/www/cryptobox-img/antlogo100px.png b/v0.2/cbox-tree.d/var/www/cryptobox-img/antlogo100px.png new file mode 100644 index 0000000000000000000000000000000000000000..4347cf2b1119557f755d0b02d1849d15b9a3a1d9 GIT binary patch literal 9478 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 Ifq?M-4?;aU1poj5 literal 0 HcmV?d00001 diff --git a/v0.2/cbox-tree.d/var/www/cryptobox-img/list.gif b/v0.2/cbox-tree.d/var/www/cryptobox-img/list.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe15cc981a0a53fdc20bd0c3328b9bbbd21f5a3c GIT binary patch literal 51 zcmZ?wbhEHbWM^P!XkcVWOH2Fz|G(l-7DfgJMg|=QAOOiQFmd(tOCI2OJ!{r71_o;Y DMwJZ7 literal 0 HcmV?d00001 diff --git a/v0.2/cbox-tree.d/var/www/cryptobox-img/smile.png b/v0.2/cbox-tree.d/var/www/cryptobox-img/smile.png new file mode 100644 index 0000000000000000000000000000000000000000..b51b3ff49e87feff120fd5fa5e49c72cf4473fff GIT binary patch literal 356 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 Zr>uCkvs6?;r#<8Oy?*-hpN$9v06Vt#9ijjL literal 0 HcmV?d00001 diff --git a/v0.2/cbox-tree.d/var/www/cryptobox.css b/v0.2/cbox-tree.d/var/www/cryptobox.css new file mode 100644 index 0000000..0dfc975 --- /dev/null +++ b/v0.2/cbox-tree.d/var/www/cryptobox.css @@ -0,0 +1,364 @@ +body { + background-image: url(cryptobox-img/backg.gif); + background-position: top center; + background-attachment: fixed; + background-repeat: no-repeat; + text-align: center; + margin: 0; + padding: 0; + font-family: verdana, lucida, arial, helvetica, sans-serif; + } + +#main { + background: none; + width: 600px; + padding: 0px; + margin-left: auto; + margin-right: auto; + } + +#main h1, h2, h3 { + font-family: sans-serif, arial; + font-weight: normal; + letter-spacing: 0.05em; + color: #acacac; + font-variant: small-caps; + padding: 0 1em; + text-align: left; + } + +#main h1 { + font-size: 2em; + } + +#main h2 { + font-size: 1.5em; + } + +#main h3 { + font-size: 1.2em; + } + +#head { + width: 600px; + height: 120px; + margin: 0; + padding: 0; + background-image: url(cryptobox-img/antlogo100px.png); + background-position: top right; + background-attachment: scroll; + background-repeat: no-repeat; + } + +#content { + margin: 0; + padding: 0; + width: 600px; + font-size: 0.9em; + min-height: 300px; + } + +#content a { + line-height: 1.2em; + color: black; + text-decoration: none; + font-weight: bold; + font-size: 0.9em; + } + +#content a:hover { + text-decoration: underline; + } + +#content a:visited { + color: #acacac; + } + +#content p { + font-size: 0.9em; + padding: 0 1em; + text-align: justify; + } + +#menu { + text-align: center; + border-top: 1px solid #5e5e5e; + border-bottom: 1px solid #5e5e5e; + background-color: #ACE149; + } + +#menu a:link, #menu a:visited { + color: #5e5e5e; + margin: 5px; + text-decoration: none; + border: none; + padding: 4px; + font-size: 0.8em; + } + +#menu a:hover { + color: #8e8e8e; + } + +#words { + width: 565px; + padding: 1.1em 0em 1.1em 1.1em; + margin-top: 0; + } + +#words h1{ + font-size: 1.8em; + } + +#words h2{ + font-size: 1.4em; + } + +#words ol, #words ul { + font-size: 0.9em; + } + +#words ol li { + padding: 0 1em; + line-height: 1.7em; + } + +#words ul li { + padding: 0 1em; + line-height: 1.7em; + list-style-image: url(cryptobox-img/list.gif); + } + +#footer { + clear: both; + text-align: center; + border-top: 1px solid #5e5e5e; + border-bottom: 1px solid #5e5e5e; + background-color: #ACE149; + font-size: 0.8em; + color: #5e5e5e; + } + +#footer a:link, #footer a:visited { + color: #5e5e5e; + margin: 5px; + text-decoration: none; + border: none; + padding: 4px; + } + +#footer a:hover { + text-decoration: underline; + } + +#confirmtext span { + color: red; + font-weight: bold; + } + + +/* -------=-=-=- warnings, errors and success messages-=-=-=-------- */ + +#words div.warning,div.error,div.success { + margin-top: 20px; + margin-bottom: 20px; + padding-top: 10px; + padding-bottom: 15px; + color: #707070; + } + +#words .warning,.error,.success { + border: 1px dashed #808080; + text-align: center; + color: #5e5e5e; + text-decoration: none; + font-weight: bold; + font-size: 0.9em; + padding-left: 40px; + padding-right: 40px; + } + +#words .warning { + background-color: #f5f5f5; + } + +#words .error { + background-color: #f5f5f5; + } + +#words .success { +/* nice green color - but no one likes it right? + background-color: #90EE90; */ + } + +#words div.warning,div.error,div.success h1,h2 { + color: #808080; + } + +#words .warning,.error,.success a { + color: #5e5e5e; + text-decoration: none; + font-weight: bold; + font-size: 0.9em; +} + +#words .note { + text-align: center; + color: #F48659; + font-style: italic; + } + +/* ----------------------=-=-=- Forms -=-=-=--------------------- */ +/* pretty forms and buttons */ +input { + border: 1px solid #BFBFBF; + color: #949494; + background-color: white; + padding: 2px 5px 1px 5px; + font-size: 1em; + } + +input:hover { + border: 1px solid #ACE149; + color: #7DA721; + background-color: white; + font-size: 1em; + } + +textarea { + font-family: arial, verdana, helvetica, sans-serif; + font-size: 1.1em; + border: 1px solid #BFBFBF; + color: #949494; + padding: 2px 5px 1px 5px; + width: 450px; + } + +textarea:hover { + color: #7DA721; + background-color: white; + border: 1px solid #ACE149; + } + +button { + color: #5e5e5e; + background-color: #ACE149; + border: 1px solid #5e5e5e; + font-size: 0.8em; + font-weight: bold; + cursor: pointer; + } + +button:hover { + color: #5e5e5e; + background-color: #D0F0A0; + border: 1px solid #ACE149; + font-size: 0.8em; + font-weight: bold; + cursor: pointer; + } + +#words form label { + min-width: 20em; + } + +#words form p { + text-align: center; + } + +/* ------------=-=-=- language selection -=-=-=------------- */ + +#lang { + position: absolute; + float: right; + right: 5px; + top: 5px; + text-align: right; + } + +#lang a { + color: #acacac; + font-family: verdana, lucida, arial, helvetica, sans-serif; + font-size: smaller; + } + +#lang a:hover { + color: #707070; + } + + +/* ------------=-=-=- documentation -=-=-=------------- */ + +#doc ol,ul li { + text-align: left; + margin-left: 20px; + } + +#doc dl dt { + text-align: left; + margin-left: 20px; + font-style: italic; + } + +#doc h1 { + padding-top: 25px; +} + +#doc h2 { + padding-top: 20px; +} + +#doc h3 { + padding-top: 10px; + } + +/* ------------=-=-=- special things -=-=-=------------- */ + +#partition_info p, #log p.console { + margin-left: 10%; + margin-right: 10%; + font-family: monospace + } + +/* ---------=-=-=-=- onscreen help -=-=-=-=--------- */ +/* not active anymore */ + +#words a.popup { + line-height: inherit; + color: inherit; + background-color: inherit; + text-decoration: inherit; + font-weight: inherit; + font-size: inherit; + } + +#words a.popup:hover { + text-decoration: inherit; + } + +#words a.popup span { + display: none; + position: fixed; + bottom: 10px; + left: 9%; + width: 80%; + background: #f0f0f0; + padding: 10px; + border-color: #e0e0e0; + border-width: 2px; + border-style: solid; + margin: 0; + } + +#words a.popup:hover span { + display: inline; + } + +#words a.popup span p { + text-align: left; + } + +#words a.popup span h3 { + color: #909090; + margin-top: 0px; + } diff --git a/v0.2/cbox-tree.d/var/www/errors/err404.html b/v0.2/cbox-tree.d/var/www/errors/err404.html new file mode 100644 index 0000000..ca6ceb2 --- /dev/null +++ b/v0.2/cbox-tree.d/var/www/errors/err404.html @@ -0,0 +1,27 @@ + + + + + CryptoBox + + + + + + +
+ + +
+
+

Error 404 - page not found!

+

Please go to the CryptoBox-Interface

+
+
+
+ + + + diff --git a/v0.2/cbox-tree.d/var/www/favicon.ico b/v0.2/cbox-tree.d/var/www/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..85660ef01c26425ee747a0358fbb4b2e073609cc GIT binary patch literal 3638 zcmeH~XHXQ`8bH6hgjIsL2m&HWU5fK$h3W$It zQBY7ZfJzV*bIv)(*Z1xl-7S5;Ue*41^=?&nf8qA@R8RLgcK{Il2Ggel86g}1G%Avm z{4=kc0ASx;f_U_#awzjrVP*4CG8XEBK-8+~&cP`w!cMpyqKMujc!4MZ02j|b9 z2QxD>aCLQs&dyG#uC9jC(o$HrZXGOGumHrw#NgAXPw?v1E1=P6@aWMan4FvhM@L6E zb?Ov^g@r*|TN~`zvj>uslOZ!R6I4`G;P&m?ps%kFix)43k&zLwu&{uEfdM#h-~jmf z`9XPkIppQ#!Iv*z;KPRx@aD}M(A3m~7cX9bwzf7rdGZ8q-nVe{=;-Lc%a<=fS63IF zK79&$dV28q@nbMBFo1^-AHvh&CSh_l9B>VO--lftDuN2}hffIy+7x~Xz78ApzwA2}=I!PiT^k@-v5q4>5oHJcjW#bamt>k#*QeCN> zUs7jbWI99H&eB2Chsu{4$!Zu!JDG>hN^oFO`P6w+1Qma?U#*aZ<{%`mj+V|gTWPi; z)+{~+AyFC)ad7ggg@uKxg$uYKZyRAmH}Upl^A-~Gm0==2`Q^w%hHtK;_#X@OtdWb# z3;~3q+<#x~|t^MQ|#kFZuqNC@QQ6pKmP5u4-U}9oI*lKBM39YTI zgwL4C?(Xh{fByddP*hX|(b3V6l$1m`&CkzIxVClcRtOIdhuqxU?>y$^x_+!39m6j z4<0-S=H}+m)zt;o*4Bi1nDdz5nDdQ|jfA1~_4S1Hn4dd#>>%vKyvH0YDJdZ=T)A>3 zVI^ig<|K>p)22=P&iJ=)-@?q9GYRK~g@p;{XU&=g&!0bs*|TR8-iwQi6VFLfvVQR3 z0r9Jhj11hlbB8$a)~#D0FE3Bnuc)X<_>Vn;9e~}39iXPB2A3{f0(EtDxNzYDaSL{> zmX;QA7;VK5pf0f=&@tRh;y(<84Ly-IdTO0 z`ud0;u{*GTdU|?@f3QQagRs+`oScXgmn>OAT#a4d($Yd4iv8l@;X(X@{nXIV06soG zuzUAz;_14&I^x%wni}FN?5UkQcf$7V+sT>(`!+H%l6VWdb;XJmuzB-lh>3}TO`A4B zad9!k$HzlqVId?YCX)3CUMFDpuUfT=tTV8qvD31$vVQS4{*B=nqDY38Sb)K%hj>y6Q;IRv$^izu5@x@HnFiaH0-I`v9Til$0sQ7>G5l4E~&0ksBcyk z7WQglD!Z0AeDB9QRJHgW8EBtb#bj&i@#E#~?)33#>s-Z}V1m+fN~=`+yowlB`Btt2 zCyr_G_V9X@vHJS4sdW0(bh`5S5M_hG@PL-iPTql&nk}q;UM7dEI2{Ek(o~Ggt!XV6&u$%LSGd}HPW4!T;kNR)N4fRFz3?2 zqah*v$HNW>bB1}PQe`x`b9q)M4t@{oJW2%>Np7LYINVFQX^F7zT4g1&CT7rH=HV0t}GtQ z@}vSru&?_zL1!2C?Jn#!?3)E$>O{^^Wi~zb`iw>@h&jEFeba_QA?LzEdG*%Z4UTTU zs#Lj|zbk(VJ|7+9*~YcT-o-4%a*?&K;u`y19r*jV$%w@l)Zl)6zgw|lDe= zf?STf@af1WO&is)llzqKzjb}WV%tJnN7|eu#l7vgjk+`Dp{34JByLfZk$10A+RE<9 zo@O>gN~p)Y68%<49>kowf)SnJu|omcL&Fz_k}i@7v&{3*Xzo-h7Pj5RfyjjrGD2v; z^q>V*Jtt2`Jv4EYJUN5s`_o9yR81=ALCA1(G@6?&?c_Nl82?&-9ksM"$IMAGE_DIR"/usr/share/cryptobox/defaults/ip diff --git a/v0.2/configure-examples.d/set_default_language b/v0.2/configure-examples.d/set_default_language new file mode 100644 index 0000000..b398a09 --- /dev/null +++ b/v0.2/configure-examples.d/set_default_language @@ -0,0 +1,3 @@ +# set the default language of the cryptobox + +echo -n "en" >"$IMAGE_DIR"/usr/share/cryptobox/defaults/language diff --git a/v0.2/configure-examples.d/set_default_timeout b/v0.2/configure-examples.d/set_default_timeout new file mode 100644 index 0000000..7c5c495 --- /dev/null +++ b/v0.2/configure-examples.d/set_default_timeout @@ -0,0 +1,5 @@ +# set the default idle timeout of the cryptobox + +# idle time in minutes (before turning off the crypto filesystem automatically) +# "0" -> no automatic deactivation +echo -n "15" >"$IMAGE_DIR"/usr/share/cryptobox/defaults/timeout diff --git a/v0.2/configure-examples.d/set_hostname b/v0.2/configure-examples.d/set_hostname new file mode 100644 index 0000000..66f0c09 --- /dev/null +++ b/v0.2/configure-examples.d/set_hostname @@ -0,0 +1,3 @@ +# change the hostname (default value: "cryptobox") + +echo "cryptobox" >"$IMAGE_DIR"/etc/hostname diff --git a/v0.2/configure-examples.d/set_root_pw b/v0.2/configure-examples.d/set_root_pw new file mode 100644 index 0000000..432898f --- /dev/null +++ b/v0.2/configure-examples.d/set_root_pw @@ -0,0 +1,10 @@ +# replace the empty root password of an development cryptobox with a choosen one +# +# see misc/custom-configure.d/README for details +# + +# set the password to your needs +NEW_ROOT_PASSWORD=foobar + +echo "Setting a root password ..." +echo "root:$NEW_ROOT_PASSWORD" | chroot "$IMAGE_DIR" "$CHROOTSTART" chpasswd root diff --git a/v0.2/configure-examples.d/set_scan_devices b/v0.2/configure-examples.d/set_scan_devices new file mode 100644 index 0000000..93f509a --- /dev/null +++ b/v0.2/configure-examples.d/set_scan_devices @@ -0,0 +1,3 @@ +# change the selection of devices, that can be used as the crypto harddisk + +sed -i '#s#^SCAN_DEVICES=.*$#SCAN_DEVICES="/dev/hda /dev/hdb /dev/hdc /dev/hde /dev/hdf /dev/hdg /dev/scd0 /dev/scd1 /dev/scd2 /dev/scd3"#' "$IMAGE_DIR"/etc/cryptobox/cryptobox.conf diff --git a/v0.2/cover/antlogo-big.png b/v0.2/cover/antlogo-big.png new file mode 100644 index 0000000000000000000000000000000000000000..e716c77443a8f1cb23cbd649b88e0980d43b8087 GIT binary patch literal 53154 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 literal 0 HcmV?d00001 diff --git a/v0.2/cover/antlogo-small.png b/v0.2/cover/antlogo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..b9fd8ffd65e77b12993a93745f04444e3b2f4a6b GIT binary patch literal 7190 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 XiK@l_u6+RR;DK~B?`zbcFi-ynYNo%S literal 0 HcmV?d00001 diff --git a/v0.2/cover/cover.pdf b/v0.2/cover/cover.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c2b7ecb97ccb99d4142cf8d7bb2ecec97e9ae9d4 GIT binary patch literal 110839 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 Pg8o~ya3RBusjK}zAM)}` literal 0 HcmV?d00001 diff --git a/v0.2/cover/cover.sxw b/v0.2/cover/cover.sxw new file mode 100644 index 0000000000000000000000000000000000000000..941d2c46a00f7ee9a8c47f1d1c3b665077765cd2 GIT binary patch literal 132352 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%0AjK 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ξ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/proc/sys/net/ipv4/ip_forward +} + +deaktiviere_forward() +{ + echo "$IPT_RULES" | while read a + do $IPT -D $a + done + echo 0 >/proc/sys/net/ipv4/ip_forward +} + +case "$1" in + stop ) + deaktiviere_forward + #/etc/init.d/dhcp stop + ;; + * ) + /sbin/ifconfig $1 192.168.0.1 + #/etc/init.d/dhcp start + aktiviere_forward + ;; + esac + diff --git a/v0.2/etc-defaults.d/qemu-ifup.default b/v0.2/etc-defaults.d/qemu-ifup.default new file mode 100755 index 0000000..b3d5664 --- /dev/null +++ b/v0.2/etc-defaults.d/qemu-ifup.default @@ -0,0 +1,55 @@ +#!/bin/sh +# +# this is the qemu-ifup script that should be run at qemu's boot +# + +# determine the interface to the outside +IF_WORLD=`/sbin/route -n | grep " UG " | sed "s/ */ /g" | cut -d " " -f 8 | head -1` +# nothing found? - sorry! +[ -z "$IF_WORLD" ] && IF_WORLD=eth0 + + +if [ "$UID" -ne 0 ] + then sudo $0 $* + exit 0 + fi + +echo "Laufe als root ..." + +IPT=/sbin/iptables +[ ! -x $IPT ] && IPT=/usr/sbin/iptables + +IPT_RULES=" FORWARD -i tun0 -o $IF_WORLD -j ACCEPT + FORWARD -i $IF_WORLD -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT + POSTROUTING -t nat -o $IF_WORLD -j MASQUERADE + INPUT -i tun0 -j ACCEPT + OUTPUT -o tun0 -j ACCEPT" + +aktiviere_forward() +{ + echo "$IPT_RULES" | while read a + do $IPT -A $a + done + echo 1 >/proc/sys/net/ipv4/ip_forward +} + +deaktiviere_forward() +{ + echo "$IPT_RULES" | while read a + do $IPT -D $a + done + echo 0 >/proc/sys/net/ipv4/ip_forward +} + +case "$1" in + stop ) + deaktiviere_forward + #/etc/init.d/dhcp stop + ;; + * ) + /sbin/ifconfig $1 192.168.0.1 + #/etc/init.d/dhcp start + aktiviere_forward + ;; + esac + diff --git a/v0.2/etc-defaults.d/ssh-options.default b/v0.2/etc-defaults.d/ssh-options.default new file mode 100644 index 0000000..de831bd --- /dev/null +++ b/v0.2/etc-defaults.d/ssh-options.default @@ -0,0 +1,17 @@ +Host cryptobox + +# change this part according to your needs +HostName 192.168.0.23 +Port 22 + +# maybe you want to use rsa authentication? +# see misc/custom-configure.s/README for examples +#IdentityFile local.conf.d/id_rsa + +# this should be valid for everyone +User root +CheckHostIP no +StrictHostKeyChecking no + +# nice for frequently changing server key due to a rebuild of the base system +UserKnownHostsFile /tmp/cryptobox-ssh-known_hosts diff --git a/v0.2/etc-defaults.d/ssh_config b/v0.2/etc-defaults.d/ssh_config new file mode 100644 index 0000000..4e78e56 --- /dev/null +++ b/v0.2/etc-defaults.d/ssh_config @@ -0,0 +1,17 @@ +Host cryptobox + +# change this part according to your needs +HostName 192.168.0.23 +Port 22 + +# maybe you want to use rsa authentication? +# see configure-examples.d/README for examples +IdentityFile local.conf.d/id_rsa + +# this should be valid for everyone +User root +CheckHostIP no +StrictHostKeyChecking no + +# nice for frequently changing server key due to a rebuild of the base system +UserKnownHostsFile /tmp/cryptobox-ssh-known_hosts diff --git a/v0.2/etc-defaults.d/userdocexport.sh b/v0.2/etc-defaults.d/userdocexport.sh new file mode 100755 index 0000000..fc58d25 --- /dev/null +++ b/v0.2/etc-defaults.d/userdocexport.sh @@ -0,0 +1,22 @@ +#!/bin/sh +set -u + +## diese Seiten aus dem Wiki ziehen und entschlacken +SITES="CryptoBox CryptoBoxDev" +DEST_PATH="cryptobox.conf.d/var/www/userdoc/" +[ ! -e $DEST_PATH ] && echo "$DEST_PATH does not exist" && exit + +for SITE in $SITES; do + SITE_SRC="https://systemausfall.org/wikis/howto/$SITE" + SITE_TMP="/tmp/$SITE" + SITE_DEST="${DEST_PATH}${SITE}.html" + + [ -e $SITE_TMP ] && echo "$SITE_TMP exists" && exit + wget -O $SITE_TMP $SITE_SRC || exit + sed -n "1,/\/p" $SITE_TMP > $SITE_DEST + echo "" >> $SITE_DEST + echo -e "\n\n" >> $SITE_DEST + sed -n /\<\!--\ start\ page\ --\>/,/\<\!--\ end\ page\ --\>/p $SITE_TMP >> $SITE_DEST + echo -e "\n\n" >> $SITE_DEST + rm $SITE_TMP +done diff --git a/v0.2/hints/dev-requirements b/v0.2/hints/dev-requirements new file mode 100644 index 0000000..531c050 --- /dev/null +++ b/v0.2/hints/dev-requirements @@ -0,0 +1,5 @@ +developer requirements: +- dfsbuild +- wget +- curl +- (qemu) diff --git a/v0.2/hints/install_clearsilver.txt b/v0.2/hints/install_clearsilver.txt new file mode 100644 index 0000000..d2edb92 --- /dev/null +++ b/v0.2/hints/install_clearsilver.txt @@ -0,0 +1,26 @@ +as there is no debian-package for the perl bindings of clearsilver, you have to add it manually to the tree of the cbox-tree + +1) download +- get it from: http://www.clearsilver.net/downloads +- unpack (tar xzf . ...) + + +2) configuration +./configure --disable-python --disable-ruby --disable-csharp --disable-apache --disable-java --disable-compression --enable-perl --enable-gettext --prefix=/tmp/clearsilver-perl + + +3) fix a problem in scripts/document.py +change the first line to "#!/usr/bin/env python" + + +4) build it +- make +- make install + + +5) cp to the cbox +cp -a /tmp/clearsilver-perl/local/lib/perl/5.8.7/. cryptobox.conf.d/usr/lib/perl5 +rm cryptobox.conf.d/usr/lib/perl5/perllocal.pod + +6) dependencies +add python-clearsilver to the box (dfsbuild.conf) diff --git a/v0.2/hints/release-policy.txt b/v0.2/hints/release-policy.txt new file mode 100644 index 0000000..1dee5a6 --- /dev/null +++ b/v0.2/hints/release-policy.txt @@ -0,0 +1,16 @@ +1) set current version + - README + - cbox-tree.d/usr/share/cryptobox/templates/footer.cs + +2) build image + - 'scripts/cbox-build.sh release' + - for a compressed image: 'scripts/cbox-build.sh isoz' + +3) upload to codecoop + - type "scp FILE shell.codecoop.org:." + - upload a dummy file with the same name via upload-web-interface to codecoop + - ask Jan Kanzleiter to replace the dummy by the the scp-file + +4) release announcement + - codecoop + - distrowatch diff --git a/v0.2/hints/starting_uml.txt b/v0.2/hints/starting_uml.txt new file mode 100644 index 0000000..71a50fe --- /dev/null +++ b/v0.2/hints/starting_uml.txt @@ -0,0 +1,7 @@ +# sample startup file for running the cryptobox in a user-mode-linux environment +# +# it does not work, as the dfsbuild-cd-image is not being recognized during boot +# +# just as a reminder ... +# +kernel/uml-kernel-2.6.12.3-cryptobox dfscd=/dev/ubd1 ubd1r=_builddir/cd1/image.iso ubd0=_builddir/cd1/image-working/opt/dfsruntime/initrd.dfs con=null con0=fd:0,fd:1 diff --git a/v0.2/kernel/config-2.6.11 b/v0.2/kernel/config-2.6.11 new file mode 100644 index 0000000..e780026 --- /dev/null +++ b/v0.2/kernel/config-2.6.11 @@ -0,0 +1,1246 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.11 +# Tue Jul 26 12:42:34 2005 +# +CONFIG_X86=y +CONFIG_MMU=y +CONFIG_UID16=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_IOMAP=y + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +# CONFIG_CLEAN_COMPILE is not set +CONFIG_BROKEN=y +CONFIG_BROKEN_ON_SMP=y + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_SWAP=y +# CONFIG_SYSVIPC is not set +CONFIG_POSIX_MQUEUE=y +CONFIG_BSD_PROCESS_ACCT=y +# CONFIG_BSD_PROCESS_ACCT_V3 is not set +CONFIG_SYSCTL=y +# CONFIG_AUDIT is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_HOTPLUG=y +CONFIG_KOBJECT_UEVENT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +# CONFIG_EMBEDDED is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_FUTEX=y +CONFIG_EPOLL=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +CONFIG_CC_ALIGN_FUNCTIONS=0 +CONFIG_CC_ALIGN_LABELS=0 +CONFIG_CC_ALIGN_LOOPS=0 +CONFIG_CC_ALIGN_JUMPS=0 +# CONFIG_TINY_SHMEM is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_OBSOLETE_MODPARM=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Processor type and features +# +CONFIG_X86_PC=y +# CONFIG_X86_ELAN is not set +# CONFIG_X86_VOYAGER is not set +# CONFIG_X86_NUMAQ is not set +# CONFIG_X86_SUMMIT is not set +# CONFIG_X86_BIGSMP is not set +# CONFIG_X86_VISWS is not set +# CONFIG_X86_GENERICARCH is not set +# CONFIG_X86_ES7000 is not set +CONFIG_M386=y +# CONFIG_M486 is not set +# CONFIG_M586 is not set +# CONFIG_M586TSC is not set +# CONFIG_M586MMX is not set +# CONFIG_M686 is not set +# CONFIG_MPENTIUMII is not set +# CONFIG_MPENTIUMIII is not set +# CONFIG_MPENTIUMM is not set +# CONFIG_MPENTIUM4 is not set +# CONFIG_MK6 is not set +# CONFIG_MK7 is not set +# CONFIG_MK8 is not set +# CONFIG_MCRUSOE is not set +# CONFIG_MEFFICEON is not set +# CONFIG_MWINCHIPC6 is not set +# CONFIG_MWINCHIP2 is not set +# CONFIG_MWINCHIP3D is not set +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +CONFIG_X86_GENERIC=y +# CONFIG_X86_EMU486 is not set +CONFIG_X86_L1_CACHE_SHIFT=7 +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_X86_PPRO_FENCE=y +CONFIG_X86_F00F_BUG=y +CONFIG_X86_INTEL_USERCOPY=y +# CONFIG_HPET_TIMER is not set +# CONFIG_SMP is not set +# CONFIG_PREEMPT is not set +# CONFIG_X86_UP_APIC is not set +CONFIG_X86_MCE=y +# CONFIG_X86_MCE_NONFATAL is not set +# CONFIG_TOSHIBA is not set +# CONFIG_I8K is not set +# CONFIG_MICROCODE is not set +# CONFIG_X86_MSR is not set +# CONFIG_X86_CPUID is not set + +# +# Firmware Drivers +# +# CONFIG_EDD is not set +CONFIG_NOHIGHMEM=y +# CONFIG_HIGHMEM4G is not set +# CONFIG_HIGHMEM64G is not set +# CONFIG_MATH_EMULATION is not set +CONFIG_MTRR=y +# CONFIG_EFI is not set +# CONFIG_REGPARM is not set + +# +# Power management options (ACPI, APM) +# +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_SOFTWARE_SUSPEND=y +CONFIG_PM_STD_PARTITION="" + +# +# ACPI (Advanced Configuration and Power Interface) Support +# +CONFIG_ACPI=y +CONFIG_ACPI_BOOT=y +CONFIG_ACPI_INTERPRETER=y +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SLEEP_PROC_FS=y +# CONFIG_ACPI_AC is not set +# CONFIG_ACPI_BATTERY is not set +# CONFIG_ACPI_BUTTON is not set +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_FAN=m +CONFIG_ACPI_PROCESSOR=m +CONFIG_ACPI_THERMAL=m +# CONFIG_ACPI_ASUS is not set +CONFIG_ACPI_IBM=m +# CONFIG_ACPI_TOSHIBA is not set +# CONFIG_ACPI_CUSTOM_DSDT is not set +CONFIG_ACPI_BLACKLIST_YEAR=0 +# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_BUS=y +CONFIG_ACPI_EC=y +CONFIG_ACPI_POWER=y +CONFIG_ACPI_PCI=y +CONFIG_ACPI_SYSTEM=y +# CONFIG_X86_PM_TIMER is not set +# CONFIG_ACPI_CONTAINER is not set + +# +# APM (Advanced Power Management) BIOS Support +# +CONFIG_APM=y +# CONFIG_APM_IGNORE_USER_SUSPEND is not set +CONFIG_APM_DO_ENABLE=y +CONFIG_APM_CPU_IDLE=y +# CONFIG_APM_DISPLAY_BLANK is not set +# CONFIG_APM_RTC_IS_GMT is not set +# CONFIG_APM_ALLOW_INTS is not set +CONFIG_APM_REAL_MODE_POWER_OFF=y + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set + +# +# Bus options (PCI, PCMCIA, EISA, MCA, ISA) +# +CONFIG_PCI=y +# CONFIG_PCI_GOBIOS is not set +# CONFIG_PCI_GOMMCONFIG is not set +# CONFIG_PCI_GODIRECT is not set +CONFIG_PCI_GOANY=y +CONFIG_PCI_BIOS=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +# CONFIG_PCIEPORTBUS is not set +# CONFIG_PCI_LEGACY_PROC is not set +CONFIG_PCI_NAMES=y +CONFIG_ISA=y +# CONFIG_EISA is not set +# CONFIG_MCA is not set +# CONFIG_SCx200 is not set + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# PC-card bridges +# +CONFIG_PCMCIA_PROBE=y + +# +# PCI Hotplug Support +# +# CONFIG_HOTPLUG_PCI is not set + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=m + +# +# Memory Technology Devices (MTD) +# +# CONFIG_MTD is not set + +# +# Parallel port support +# +CONFIG_PARPORT=m +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_PC_FIFO=y +# CONFIG_PARPORT_PC_SUPERIO is not set +# CONFIG_PARPORT_OTHER is not set +CONFIG_PARPORT_1284=y + +# +# Plug and Play support +# +CONFIG_PNP=y +CONFIG_PNP_DEBUG=y + +# +# Protocols +# +CONFIG_ISAPNP=y +CONFIG_PNPBIOS=y +# CONFIG_PNPBIOS_PROC_FS is not set +CONFIG_PNPACPI=y + +# +# Block devices +# +CONFIG_BLK_DEV_FD=m +# CONFIG_BLK_DEV_XD is not set +# CONFIG_PARIDE is not set +# CONFIG_BLK_CPQ_DA is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_LBD is not set +# CONFIG_CDROM_PKTCDVD is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# +CONFIG_IDE=y +CONFIG_BLK_DEV_IDE=y + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +# CONFIG_BLK_DEV_IDE_SATA is not set +# CONFIG_BLK_DEV_HD_IDE is not set +CONFIG_BLK_DEV_IDEDISK=y +CONFIG_IDEDISK_MULTI_MODE=y +CONFIG_BLK_DEV_IDECD=y +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEFLOPPY is not set +# CONFIG_BLK_DEV_IDESCSI is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +CONFIG_IDE_GENERIC=y +# CONFIG_BLK_DEV_CMD640 is not set +# CONFIG_BLK_DEV_IDEPNP is not set +CONFIG_BLK_DEV_IDEPCI=y +CONFIG_IDEPCI_SHARE_IRQ=y +# CONFIG_BLK_DEV_OFFBOARD is not set +CONFIG_BLK_DEV_GENERIC=y +CONFIG_BLK_DEV_OPTI621=y +CONFIG_BLK_DEV_RZ1000=y +CONFIG_BLK_DEV_IDEDMA_PCI=y +# CONFIG_BLK_DEV_IDEDMA_FORCED is not set +CONFIG_IDEDMA_PCI_AUTO=y +# CONFIG_IDEDMA_ONLYDISK is not set +CONFIG_BLK_DEV_AEC62XX=y +CONFIG_BLK_DEV_ALI15X3=y +# CONFIG_WDC_ALI15X3 is not set +CONFIG_BLK_DEV_AMD74XX=y +CONFIG_BLK_DEV_ATIIXP=y +CONFIG_BLK_DEV_CMD64X=y +CONFIG_BLK_DEV_TRIFLEX=y +CONFIG_BLK_DEV_CY82C693=y +CONFIG_BLK_DEV_CS5520=y +CONFIG_BLK_DEV_CS5530=y +CONFIG_BLK_DEV_HPT34X=y +# CONFIG_HPT34X_AUTODMA is not set +CONFIG_BLK_DEV_HPT366=y +CONFIG_BLK_DEV_SC1200=y +CONFIG_BLK_DEV_PIIX=y +CONFIG_BLK_DEV_NS87415=y +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +# CONFIG_BLK_DEV_PDC202XX_NEW is not set +# CONFIG_BLK_DEV_SVWKS is not set +# CONFIG_BLK_DEV_SIIMAGE is not set +CONFIG_BLK_DEV_SIS5513=y +CONFIG_BLK_DEV_SLC90E66=y +CONFIG_BLK_DEV_TRM290=y +CONFIG_BLK_DEV_VIA82CXXX=y +# CONFIG_IDE_ARM is not set +# CONFIG_IDE_CHIPSETS is not set +CONFIG_BLK_DEV_IDEDMA=y +# CONFIG_IDEDMA_IVB is not set +CONFIG_IDEDMA_AUTO=y +# CONFIG_BLK_DEV_HD is not set + +# +# SCSI device support +# +CONFIG_SCSI=m +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_CHR_DEV_SG=m +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set + +# +# SCSI Transport Attributes +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set + +# +# SCSI low-level drivers +# +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_7000FASST is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AHA152X is not set +# CONFIG_SCSI_AHA1542 is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC7XXX_OLD is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_DPT_I2O is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_IN2000 is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_SCSI_SATA is not set +# CONFIG_SCSI_BUSLOGIC is not set +# CONFIG_SCSI_CPQFCTS is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_DTC3280 is not set +# CONFIG_SCSI_EATA is not set +# CONFIG_SCSI_EATA_PIO is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_GDTH is not set +# CONFIG_SCSI_GENERIC_NCR5380 is not set +# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_PPA is not set +# CONFIG_SCSI_IMM is not set +# CONFIG_SCSI_NCR53C406A is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_PAS16 is not set +# CONFIG_SCSI_PCI2000 is not set +# CONFIG_SCSI_PCI2220I is not set +# CONFIG_SCSI_PSI240I is not set +# CONFIG_SCSI_QLOGIC_FAS is not set +# CONFIG_SCSI_QLOGIC_ISP is not set +# CONFIG_SCSI_QLOGIC_FC is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_SEAGATE is not set +# CONFIG_SCSI_SYM53C416 is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_DC390T is not set +# CONFIG_SCSI_T128 is not set +# CONFIG_SCSI_U14_34F is not set +# CONFIG_SCSI_ULTRASTOR is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_DEBUG is not set + +# +# Old CD-ROM drivers (not SCSI, not IDE) +# +# CONFIG_CD_NO_IDESCSI is not set + +# +# Multi-device support (RAID and LVM) +# +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +CONFIG_BLK_DEV_DM=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +CONFIG_DM_MIRROR=y +CONFIG_DM_ZERO=y + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +CONFIG_IEEE1394=y + +# +# Subsystem Options +# +# CONFIG_IEEE1394_VERBOSEDEBUG is not set +# CONFIG_IEEE1394_OUI_DB is not set +# CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set + +# +# Device Drivers +# + +# +# Texas Instruments PCILynx requires I2C +# +# CONFIG_IEEE1394_OHCI1394 is not set + +# +# Protocol Drivers +# +# CONFIG_IEEE1394_SBP2 is not set +# CONFIG_IEEE1394_ETH1394 is not set +# CONFIG_IEEE1394_RAWIO is not set +# CONFIG_IEEE1394_CMP is not set + +# +# I2O device support +# +# CONFIG_I2O is not set + +# +# Networking support +# +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +# CONFIG_NETLINK_DEV is not set +CONFIG_UNIX=y +CONFIG_NET_KEY=m +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER is not set +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +# CONFIG_NET_IPGRE is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_TUNNEL=m +CONFIG_IP_TCPDIAG=y +# CONFIG_IP_TCPDIAG_IPV6 is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +# CONFIG_IPV6 is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# IP: Netfilter Configuration +# +CONFIG_IP_NF_CONNTRACK=m +# CONFIG_IP_NF_CT_ACCT is not set +# CONFIG_IP_NF_CONNTRACK_MARK is not set +# CONFIG_IP_NF_CT_PROTO_SCTP is not set +# CONFIG_IP_NF_FTP is not set +# CONFIG_IP_NF_IRC is not set +# CONFIG_IP_NF_TFTP is not set +# CONFIG_IP_NF_AMANDA is not set +# CONFIG_IP_NF_QUEUE is not set +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_LIMIT=m +CONFIG_IP_NF_MATCH_IPRANGE=m +CONFIG_IP_NF_MATCH_MAC=m +CONFIG_IP_NF_MATCH_PKTTYPE=m +# CONFIG_IP_NF_MATCH_MARK is not set +CONFIG_IP_NF_MATCH_MULTIPORT=m +CONFIG_IP_NF_MATCH_TOS=m +CONFIG_IP_NF_MATCH_RECENT=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_DSCP=m +CONFIG_IP_NF_MATCH_AH_ESP=m +CONFIG_IP_NF_MATCH_LENGTH=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_MATCH_TCPMSS=m +CONFIG_IP_NF_MATCH_HELPER=m +CONFIG_IP_NF_MATCH_STATE=m +CONFIG_IP_NF_MATCH_CONNTRACK=m +CONFIG_IP_NF_MATCH_OWNER=m +# CONFIG_IP_NF_MATCH_ADDRTYPE is not set +# CONFIG_IP_NF_MATCH_REALM is not set +# CONFIG_IP_NF_MATCH_SCTP is not set +# CONFIG_IP_NF_MATCH_COMMENT is not set +# CONFIG_IP_NF_MATCH_HASHLIMIT is not set +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +# CONFIG_IP_NF_TARGET_ULOG is not set +# CONFIG_IP_NF_TARGET_TCPMSS is not set +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_NAT_NEEDED=y +# CONFIG_IP_NF_TARGET_MASQUERADE is not set +# CONFIG_IP_NF_TARGET_REDIRECT is not set +# CONFIG_IP_NF_TARGET_NETMAP is not set +# CONFIG_IP_NF_TARGET_SAME is not set +# CONFIG_IP_NF_NAT_SNMP_BASIC is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_RAW is not set +# CONFIG_IP_NF_ARPTABLES is not set +CONFIG_XFRM=y +CONFIG_XFRM_USER=m + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set +# CONFIG_NET_CLS_ROUTE is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +CONFIG_TUN=m +# CONFIG_NET_SB1000 is not set + +# +# ARCnet devices +# +# CONFIG_ARCNET is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +CONFIG_HAPPYMEAL=y +CONFIG_SUNGEM=y +CONFIG_NET_VENDOR_3COM=y +CONFIG_EL1=y +CONFIG_EL2=y +CONFIG_ELPLUS=y +CONFIG_EL16=y +CONFIG_EL3=y +CONFIG_3C515=y +CONFIG_VORTEX=y +CONFIG_TYPHOON=y +CONFIG_LANCE=y +CONFIG_NET_VENDOR_SMC=y +CONFIG_WD80x3=y +CONFIG_ULTRA=y +CONFIG_SMC9194=y +CONFIG_NET_VENDOR_RACAL=y +CONFIG_NI5010=y +CONFIG_NI52=y +CONFIG_NI65=y + +# +# Tulip family network device support +# +CONFIG_NET_TULIP=y +CONFIG_DE2104X=y +CONFIG_TULIP=y +CONFIG_TULIP_MWI=y +CONFIG_TULIP_MMIO=y +CONFIG_TULIP_NAPI=y +CONFIG_TULIP_NAPI_HW_MITIGATION=y +CONFIG_DE4X5=y +CONFIG_WINBOND_840=y +CONFIG_DM9102=y +CONFIG_AT1700=y +CONFIG_DEPCA=y +CONFIG_HP100=y +CONFIG_NET_ISA=y +CONFIG_E2100=y +CONFIG_EWRK3=y +CONFIG_EEXPRESS=y +CONFIG_EEXPRESS_PRO=y +CONFIG_HPLAN_PLUS=y +CONFIG_HPLAN=y +CONFIG_LP486E=y +CONFIG_ETH16I=y +CONFIG_NE2000=y +CONFIG_ZNET=y +CONFIG_SEEQ8005=y +CONFIG_NET_PCI=y +CONFIG_PCNET32=y +CONFIG_AMD8111_ETH=y +CONFIG_AMD8111E_NAPI=y +CONFIG_ADAPTEC_STARFIRE=y +# CONFIG_ADAPTEC_STARFIRE_NAPI is not set +CONFIG_AC3200=y +CONFIG_APRICOT=y +CONFIG_B44=y +CONFIG_FORCEDETH=y +CONFIG_CS89x0=y +CONFIG_EEPRO100=y +CONFIG_E100=y +# CONFIG_E100_NAPI is not set +CONFIG_FEALNX=y +CONFIG_NATSEMI=y +CONFIG_NE2K_PCI=y +CONFIG_8139CP=y +CONFIG_8139TOO=y +CONFIG_8139TOO_PIO=y +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_SIS900=y +CONFIG_EPIC100=y +CONFIG_SUNDANCE=y +CONFIG_SUNDANCE_MMIO=y +CONFIG_TLAN=y +CONFIG_VIA_RHINE=y +CONFIG_VIA_RHINE_MMIO=y +# CONFIG_NET_POCKET is not set + +# +# Ethernet (1000 Mbit) +# +# CONFIG_DL2K is not set +# CONFIG_E1000 is not set +# CONFIG_NS83820 is not set +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_R8169 is not set +# CONFIG_SK98LIN is not set +CONFIG_VIA_VELOCITY=m + +# +# Ethernet (10000 Mbit) +# +# CONFIG_IXGB is not set +# CONFIG_S2IO is not set + +# +# Token Ring devices +# +# CONFIG_TR is not set + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# CONFIG_PLIP is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_NET_FC is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Telephony Support +# +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_TSDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input I/O drivers +# +# CONFIG_GAMEPORT is not set +CONFIG_SOUND_GAMEPORT=y +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +# CONFIG_SERIO_SERPORT is not set +# CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_PARKBD is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set +# CONFIG_PPDEV is not set +# CONFIG_TIPAR is not set + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +CONFIG_RTC=y +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_SONYPI is not set + +# +# Ftape, the floppy tape device driver +# +# CONFIG_FTAPE is not set +# CONFIG_AGP is not set +# CONFIG_DRM is not set +# CONFIG_MWAVE is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_HPET is not set +# CONFIG_HANGCHECK_TIMER is not set + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Misc devices +# +# CONFIG_IBM_ASM is not set + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set + +# +# Graphics support +# +# CONFIG_FB is not set +# CONFIG_VIDEO_SELECT is not set + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +# CONFIG_MDA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y + +# +# Sound +# +# CONFIG_SOUND is not set + +# +# USB support +# +CONFIG_USB=m +# CONFIG_USB_DEBUG is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_BANDWIDTH is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_SUSPEND is not set +# CONFIG_USB_OTG is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y + +# +# USB Host Controller Drivers +# +CONFIG_USB_EHCI_HCD=m +# CONFIG_USB_EHCI_SPLIT_ISO is not set +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_UHCI_HCD=m +# CONFIG_USB_SL811_HCD is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_BLUETOOTH_TTY is not set +# CONFIG_USB_ACM is not set +CONFIG_USB_PRINTER=m + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_RW_DETECT=y +CONFIG_USB_STORAGE_DATAFAB=y +CONFIG_USB_STORAGE_FREECOM=y +CONFIG_USB_STORAGE_ISD200=y +CONFIG_USB_STORAGE_DPCM=y +CONFIG_USB_STORAGE_HP8200e=y +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set + +# +# USB Input Devices +# +# CONFIG_USB_HID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# CONFIG_USB_AIPTEK is not set +# CONFIG_USB_WACOM is not set +# CONFIG_USB_KBTAB is not set +# CONFIG_USB_POWERMATE is not set +# CONFIG_USB_MTOUCH is not set +# CONFIG_USB_EGALAX is not set +# CONFIG_USB_XPAD is not set +# CONFIG_USB_ATI_REMOTE is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_HPUSBSCSI is not set + +# +# USB Multimedia devices +# + +# +# Video4Linux support is needed for USB Multimedia device support +# + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set + +# +# USB port drivers +# +# CONFIG_USB_USS720 is not set + +# +# USB Serial Converter support +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGETKIT is not set +# CONFIG_USB_PHIDGETSERVO is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_TEST is not set + +# +# USB ATM/DSL drivers +# + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# +# CONFIG_MMC is not set + +# +# InfiniBand support +# +# CONFIG_INFINIBAND is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +# CONFIG_EXT2_FS_POSIX_ACL is not set +# CONFIG_EXT2_FS_SECURITY is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_JBD=y +# CONFIG_JBD_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set + +# +# XFS support +# +# CONFIG_XFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_ZISOFS_FS=y +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_SYSFS=y +# CONFIG_DEVFS_FS is not set +# CONFIG_DEVPTS_FS_XATTR is not set +CONFIG_TMPFS=y +# CONFIG_TMPFS_XATTR is not set +# CONFIG_HUGETLBFS is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ASFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +# CONFIG_NFS_FS is not set +# CONFIG_NFSD is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-15" +CONFIG_NLS_CODEPAGE_437=m +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=m +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=m +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +CONFIG_NLS_ISO8859_15=y +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=m + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_DEBUG_KERNEL is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_FRAME_POINTER is not set +CONFIG_EARLY_PRINTK=y +# CONFIG_4KSTACKS is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_NULL=m +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +# CONFIG_CRYPTO_WP512 is not set +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +# CONFIG_CRYPTO_SERPENT is not set +CONFIG_CRYPTO_AES_586=m +# CONFIG_CRYPTO_CAST5 is not set +CONFIG_CRYPTO_CAST6=m +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_ARC4 is not set +CONFIG_CRYPTO_KHAZAD=m +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_DEFLATE=m +# CONFIG_CRYPTO_MICHAEL_MIC is not set +CONFIG_CRYPTO_CRC32C=m +# CONFIG_CRYPTO_TEST is not set + +# +# Hardware crypto devices +# +# CONFIG_CRYPTO_DEV_PADLOCK is not set + +# +# Library routines +# +CONFIG_CRC_CCITT=m +CONFIG_CRC32=y +CONFIG_LIBCRC32C=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_X86_BIOS_REBOOT=y +CONFIG_PC=y diff --git a/v0.2/kernel/info.txt b/v0.2/kernel/info.txt new file mode 100644 index 0000000..8966b09 --- /dev/null +++ b/v0.2/kernel/info.txt @@ -0,0 +1,3 @@ +BEWARE: the uml kernel does not work correctly - see ../hints/starting_uml.txt for details + +- the actual kernel configuration is included in the kernel-image package diff --git a/v0.2/kernel/kernel-image-2.6.11_cryptobox.1_i386.deb b/v0.2/kernel/kernel-image-2.6.11_cryptobox.1_i386.deb new file mode 100644 index 0000000000000000000000000000000000000000..18bcc29784e9d03d80dea918380962a5e3225eff GIT binary patch literal 2374300 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%0Ac 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®=NtKyZ}VIKDpykm~LWb1*{^^ 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

+ + + +
+
+ + diff --git a/v0.2/validation/templates/header b/v0.2/validation/templates/header new file mode 100644 index 0000000..bfdbba7 --- /dev/null +++ b/v0.2/validation/templates/header @@ -0,0 +1,25 @@ + + + + +CryptoBox + + + + + + + + +
+ + +
+ +
+ +
+ diff --git a/v0.2/validation/templates/result-error b/v0.2/validation/templates/result-error new file mode 100644 index 0000000..46002e1 --- /dev/null +++ b/v0.2/validation/templates/result-error @@ -0,0 +1 @@ +

diff --git a/v0.2/validation/templates/result-ok b/v0.2/validation/templates/result-ok new file mode 100644 index 0000000..3ce9342 --- /dev/null +++ b/v0.2/validation/templates/result-ok @@ -0,0 +1 @@ +

diff --git a/v0.2/validation/templates/single_footer b/v0.2/validation/templates/single_footer new file mode 100644 index 0000000..a1a9917 --- /dev/null +++ b/v0.2/validation/templates/single_footer @@ -0,0 +1,2 @@ +

+
diff --git a/v0.2/validation/templates/single_header b/v0.2/validation/templates/single_header new file mode 100644 index 0000000..f355a1d --- /dev/null +++ b/v0.2/validation/templates/single_header @@ -0,0 +1,5 @@ +
+ +

/_TESTNAME_

+

_TESTDESCRIPTION_

+ diff --git a/v0.2/validation/test-cases/1-init/000-main/description b/v0.2/validation/test-cases/1-init/000-main/description new file mode 100644 index 0000000..09b8487 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/000-main/description @@ -0,0 +1 @@ +show the main page diff --git a/v0.2/validation/test-cases/1-init/000-main/input.curl b/v0.2/validation/test-cases/1-init/000-main/input.curl new file mode 100644 index 0000000..d0405a7 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/000-main/input.curl @@ -0,0 +1,2 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/000-main/output b/v0.2/validation/test-cases/1-init/000-main/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/000-main/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/003-no_ssl/description b/v0.2/validation/test-cases/1-init/003-no_ssl/description new file mode 100644 index 0000000..17a6f45 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/003-no_ssl/description @@ -0,0 +1 @@ +displays the warning for a non-ssl connection diff --git a/v0.2/validation/test-cases/1-init/003-no_ssl/input.curl b/v0.2/validation/test-cases/1-init/003-no_ssl/input.curl new file mode 100644 index 0000000..9c925b3 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/003-no_ssl/input.curl @@ -0,0 +1,2 @@ +url http://_HOST_IP_DEFAULT_/cryptobox +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/003-no_ssl/output b/v0.2/validation/test-cases/1-init/003-no_ssl/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/003-no_ssl/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/005-file_not_found_404/description b/v0.2/validation/test-cases/1-init/005-file_not_found_404/description new file mode 100644 index 0000000..2a30bfd --- /dev/null +++ b/v0.2/validation/test-cases/1-init/005-file_not_found_404/description @@ -0,0 +1 @@ +displays thttpd's error-404-page diff --git a/v0.2/validation/test-cases/1-init/005-file_not_found_404/input.curl b/v0.2/validation/test-cases/1-init/005-file_not_found_404/input.curl new file mode 100644 index 0000000..85d2b7c --- /dev/null +++ b/v0.2/validation/test-cases/1-init/005-file_not_found_404/input.curl @@ -0,0 +1,2 @@ +url https://_HOST_IP_DEFAULT_/croptyfox +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/005-file_not_found_404/output b/v0.2/validation/test-cases/1-init/005-file_not_found_404/output new file mode 100644 index 0000000..e69de29 diff --git a/v0.2/validation/test-cases/1-init/007-index_url/description b/v0.2/validation/test-cases/1-init/007-index_url/description new file mode 100644 index 0000000..8a59974 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/007-index_url/description @@ -0,0 +1 @@ +try root directory index diff --git a/v0.2/validation/test-cases/1-init/007-index_url/input.curl b/v0.2/validation/test-cases/1-init/007-index_url/input.curl new file mode 100644 index 0000000..3d65077 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/007-index_url/input.curl @@ -0,0 +1,2 @@ +url https://_HOST_IP_DEFAULT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/007-index_url/output b/v0.2/validation/test-cases/1-init/007-index_url/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/007-index_url/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/010-init_ask/description b/v0.2/validation/test-cases/1-init/010-init_ask/description new file mode 100644 index 0000000..021c5a8 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/010-init_ask/description @@ -0,0 +1 @@ +display the init form diff --git a/v0.2/validation/test-cases/1-init/010-init_ask/input.curl b/v0.2/validation/test-cases/1-init/010-init_ask/input.curl new file mode 100644 index 0000000..e898059 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/010-init_ask/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/010-init_ask/output b/v0.2/validation/test-cases/1-init/010-init_ask/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/010-init_ask/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/020-init_empty_pw/description b/v0.2/validation/test-cases/1-init/020-init_empty_pw/description new file mode 100644 index 0000000..152094d --- /dev/null +++ b/v0.2/validation/test-cases/1-init/020-init_empty_pw/description @@ -0,0 +1 @@ +try initialisation with empty passwords diff --git a/v0.2/validation/test-cases/1-init/020-init_empty_pw/input.curl b/v0.2/validation/test-cases/1-init/020-init_empty_pw/input.curl new file mode 100644 index 0000000..c5b04d4 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/020-init_empty_pw/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password= +data crypto_password2= +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/020-init_empty_pw/output b/v0.2/validation/test-cases/1-init/020-init_empty_pw/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/020-init_empty_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/030-init_different_pw/description b/v0.2/validation/test-cases/1-init/030-init_different_pw/description new file mode 100644 index 0000000..7cda7f8 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/030-init_different_pw/description @@ -0,0 +1 @@ +try initialisation with different passwords diff --git a/v0.2/validation/test-cases/1-init/030-init_different_pw/input.curl b/v0.2/validation/test-cases/1-init/030-init_different_pw/input.curl new file mode 100644 index 0000000..f9020f8 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/030-init_different_pw/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password=hallo +data crypto_password2=hall +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/030-init_different_pw/output b/v0.2/validation/test-cases/1-init/030-init_different_pw/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/030-init_different_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/description b/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/description new file mode 100644 index 0000000..5d192f7 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/description @@ -0,0 +1 @@ +try initialisation with wrong confirmation text diff --git a/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/input.curl b/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/input.curl new file mode 100644 index 0000000..b76832c --- /dev/null +++ b/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password=hallo +data crypto_password2=hallo +data confirm=something +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/output b/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/040-init_wrong_confirmation/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/description b/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/description new file mode 100644 index 0000000..c17e908 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/description @@ -0,0 +1 @@ +display mount form before initialisation diff --git a/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/input.curl b/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/input.curl new file mode 100644 index 0000000..3a22bd9 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/output b/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/050-mount_ask_before_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/060-mount_do_before_init/description b/v0.2/validation/test-cases/1-init/060-mount_do_before_init/description new file mode 100644 index 0000000..71bb94d --- /dev/null +++ b/v0.2/validation/test-cases/1-init/060-mount_do_before_init/description @@ -0,0 +1 @@ +try mounting before initialisation diff --git a/v0.2/validation/test-cases/1-init/060-mount_do_before_init/input.curl b/v0.2/validation/test-cases/1-init/060-mount_do_before_init/input.curl new file mode 100644 index 0000000..d1aeaf6 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/060-mount_do_before_init/input.curl @@ -0,0 +1,4 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_do +data crypto_password=hallo +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/060-mount_do_before_init/output b/v0.2/validation/test-cases/1-init/060-mount_do_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/060-mount_do_before_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/description b/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/description new file mode 100644 index 0000000..74666c4 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/description @@ -0,0 +1 @@ +display umount form before initialisation diff --git a/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/input.curl b/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/input.curl new file mode 100644 index 0000000..6e3c39f --- /dev/null +++ b/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=umount_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/output b/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/070-umount_ask_before_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/080-umount_do_before_init/description b/v0.2/validation/test-cases/1-init/080-umount_do_before_init/description new file mode 100644 index 0000000..b29462c --- /dev/null +++ b/v0.2/validation/test-cases/1-init/080-umount_do_before_init/description @@ -0,0 +1 @@ +try unmounting before initialisation diff --git a/v0.2/validation/test-cases/1-init/080-umount_do_before_init/input.curl b/v0.2/validation/test-cases/1-init/080-umount_do_before_init/input.curl new file mode 100644 index 0000000..454df66 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/080-umount_do_before_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=umount_do +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/080-umount_do_before_init/output b/v0.2/validation/test-cases/1-init/080-umount_do_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/080-umount_do_before_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/090-config_ask_before_init/description b/v0.2/validation/test-cases/1-init/090-config_ask_before_init/description new file mode 100644 index 0000000..f892aae --- /dev/null +++ b/v0.2/validation/test-cases/1-init/090-config_ask_before_init/description @@ -0,0 +1 @@ +display configuration form before initialisation diff --git a/v0.2/validation/test-cases/1-init/090-config_ask_before_init/input.curl b/v0.2/validation/test-cases/1-init/090-config_ask_before_init/input.curl new file mode 100644 index 0000000..527d61d --- /dev/null +++ b/v0.2/validation/test-cases/1-init/090-config_ask_before_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/090-config_ask_before_init/output b/v0.2/validation/test-cases/1-init/090-config_ask_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/090-config_ask_before_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/100-config_do_before_init/description b/v0.2/validation/test-cases/1-init/100-config_do_before_init/description new file mode 100644 index 0000000..7bc7c71 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/100-config_do_before_init/description @@ -0,0 +1 @@ +try configuring before initialisation diff --git a/v0.2/validation/test-cases/1-init/100-config_do_before_init/input.curl b/v0.2/validation/test-cases/1-init/100-config_do_before_init/input.curl new file mode 100644 index 0000000..4a56ac2 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/100-config_do_before_init/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=en +data ip=_HOST_IP_DEFAULT_ +data timeout=30 +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/100-config_do_before_init/output b/v0.2/validation/test-cases/1-init/100-config_do_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/100-config_do_before_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/105-status_before_init/description b/v0.2/validation/test-cases/1-init/105-status_before_init/description new file mode 100644 index 0000000..0ea24d8 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/105-status_before_init/description @@ -0,0 +1 @@ +ask for status before initialisation diff --git a/v0.2/validation/test-cases/1-init/105-status_before_init/input.curl b/v0.2/validation/test-cases/1-init/105-status_before_init/input.curl new file mode 100644 index 0000000..32934b5 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/105-status_before_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=status +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/105-status_before_init/output b/v0.2/validation/test-cases/1-init/105-status_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/105-status_before_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=0 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/110-init_valid/description b/v0.2/validation/test-cases/1-init/110-init_valid/description new file mode 100644 index 0000000..c3f6acf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/110-init_valid/description @@ -0,0 +1 @@ +initialize the box diff --git a/v0.2/validation/test-cases/1-init/110-init_valid/input.curl b/v0.2/validation/test-cases/1-init/110-init_valid/input.curl new file mode 100644 index 0000000..cf162f3 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/110-init_valid/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password=hallo +data crypto_password2=hallo +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/110-init_valid/output b/v0.2/validation/test-cases/1-init/110-init_valid/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/110-init_valid/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/description b/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/description new file mode 100644 index 0000000..a5fcf46 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/description @@ -0,0 +1 @@ +display mount form while initialization is running diff --git a/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/input.curl b/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/input.curl new file mode 100644 index 0000000..3a22bd9 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/output b/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/120-mount_ask_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/130-mount_do_during_init/description b/v0.2/validation/test-cases/1-init/130-mount_do_during_init/description new file mode 100644 index 0000000..f1f65df --- /dev/null +++ b/v0.2/validation/test-cases/1-init/130-mount_do_during_init/description @@ -0,0 +1 @@ +try mounting while initialisation is running diff --git a/v0.2/validation/test-cases/1-init/130-mount_do_during_init/input.curl b/v0.2/validation/test-cases/1-init/130-mount_do_during_init/input.curl new file mode 100644 index 0000000..d1aeaf6 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/130-mount_do_during_init/input.curl @@ -0,0 +1,4 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_do +data crypto_password=hallo +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/130-mount_do_during_init/output b/v0.2/validation/test-cases/1-init/130-mount_do_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/130-mount_do_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/description b/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/description new file mode 100644 index 0000000..302bbfb --- /dev/null +++ b/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/description @@ -0,0 +1 @@ +display umount form while initialization is running diff --git a/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/input.curl b/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/input.curl new file mode 100644 index 0000000..6e3c39f --- /dev/null +++ b/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=umount_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/output b/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/140-umount_ask_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/150-umount_do_during_init/description b/v0.2/validation/test-cases/1-init/150-umount_do_during_init/description new file mode 100644 index 0000000..fe1a227 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/150-umount_do_during_init/description @@ -0,0 +1 @@ +try unmounting while initialization is running diff --git a/v0.2/validation/test-cases/1-init/150-umount_do_during_init/input.curl b/v0.2/validation/test-cases/1-init/150-umount_do_during_init/input.curl new file mode 100644 index 0000000..454df66 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/150-umount_do_during_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=umount_do +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/150-umount_do_during_init/output b/v0.2/validation/test-cases/1-init/150-umount_do_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/150-umount_do_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/160-config_ask_during_init/description b/v0.2/validation/test-cases/1-init/160-config_ask_during_init/description new file mode 100644 index 0000000..b13458b --- /dev/null +++ b/v0.2/validation/test-cases/1-init/160-config_ask_during_init/description @@ -0,0 +1 @@ +display configuration form while initialization is running diff --git a/v0.2/validation/test-cases/1-init/160-config_ask_during_init/input.curl b/v0.2/validation/test-cases/1-init/160-config_ask_during_init/input.curl new file mode 100644 index 0000000..527d61d --- /dev/null +++ b/v0.2/validation/test-cases/1-init/160-config_ask_during_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/160-config_ask_during_init/output b/v0.2/validation/test-cases/1-init/160-config_ask_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/160-config_ask_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/170-config_do_during_init/description b/v0.2/validation/test-cases/1-init/170-config_do_during_init/description new file mode 100644 index 0000000..6d70373 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/170-config_do_during_init/description @@ -0,0 +1 @@ +try configuring while initialization is running diff --git a/v0.2/validation/test-cases/1-init/170-config_do_during_init/input.curl b/v0.2/validation/test-cases/1-init/170-config_do_during_init/input.curl new file mode 100644 index 0000000..55d414b --- /dev/null +++ b/v0.2/validation/test-cases/1-init/170-config_do_during_init/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=de +data ip=_HOST_IP_DEFAULT_ +data timeout=40 +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/170-config_do_during_init/output b/v0.2/validation/test-cases/1-init/170-config_do_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/170-config_do_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/180-init_ask_during_init/description b/v0.2/validation/test-cases/1-init/180-init_ask_during_init/description new file mode 100644 index 0000000..f6eb07b --- /dev/null +++ b/v0.2/validation/test-cases/1-init/180-init_ask_during_init/description @@ -0,0 +1 @@ +display initialization form while initialization is running diff --git a/v0.2/validation/test-cases/1-init/180-init_ask_during_init/input.curl b/v0.2/validation/test-cases/1-init/180-init_ask_during_init/input.curl new file mode 100644 index 0000000..e898059 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/180-init_ask_during_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/180-init_ask_during_init/output b/v0.2/validation/test-cases/1-init/180-init_ask_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/180-init_ask_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/190-init_do_during_init/delay b/v0.2/validation/test-cases/1-init/190-init_do_during_init/delay new file mode 100644 index 0000000..d61f00d --- /dev/null +++ b/v0.2/validation/test-cases/1-init/190-init_do_during_init/delay @@ -0,0 +1 @@ +90 diff --git a/v0.2/validation/test-cases/1-init/190-init_do_during_init/description b/v0.2/validation/test-cases/1-init/190-init_do_during_init/description new file mode 100644 index 0000000..ba98e9a --- /dev/null +++ b/v0.2/validation/test-cases/1-init/190-init_do_during_init/description @@ -0,0 +1 @@ +try initialization while initialization is running diff --git a/v0.2/validation/test-cases/1-init/190-init_do_during_init/input.curl b/v0.2/validation/test-cases/1-init/190-init_do_during_init/input.curl new file mode 100644 index 0000000..cf162f3 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/190-init_do_during_init/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password=hallo +data crypto_password2=hallo +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/190-init_do_during_init/output b/v0.2/validation/test-cases/1-init/190-init_do_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/190-init_do_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/200-status_during_init/description b/v0.2/validation/test-cases/1-init/200-status_during_init/description new file mode 100644 index 0000000..c686f09 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/200-status_during_init/description @@ -0,0 +1 @@ +ask for status during initialisation diff --git a/v0.2/validation/test-cases/1-init/200-status_during_init/input.curl b/v0.2/validation/test-cases/1-init/200-status_during_init/input.curl new file mode 100644 index 0000000..32934b5 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/200-status_during_init/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=status +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/200-status_during_init/output b/v0.2/validation/test-cases/1-init/200-status_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/1-init/200-status_during_init/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/1-init/900-reset_configuration/description b/v0.2/validation/test-cases/1-init/900-reset_configuration/description new file mode 100644 index 0000000..2dd8667 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/900-reset_configuration/description @@ -0,0 +1 @@ +reset configuration to defaults diff --git a/v0.2/validation/test-cases/1-init/900-reset_configuration/input.curl b/v0.2/validation/test-cases/1-init/900-reset_configuration/input.curl new file mode 100644 index 0000000..4a56ac2 --- /dev/null +++ b/v0.2/validation/test-cases/1-init/900-reset_configuration/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=en +data ip=_HOST_IP_DEFAULT_ +data timeout=30 +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/1-init/900-reset_configuration/output b/v0.2/validation/test-cases/1-init/900-reset_configuration/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/1-init/900-reset_configuration/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/2-mount/010-mount_ask/description b/v0.2/validation/test-cases/2-mount/010-mount_ask/description new file mode 100644 index 0000000..5d80f37 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/010-mount_ask/description @@ -0,0 +1 @@ +display mount form diff --git a/v0.2/validation/test-cases/2-mount/010-mount_ask/input.curl b/v0.2/validation/test-cases/2-mount/010-mount_ask/input.curl new file mode 100644 index 0000000..3a22bd9 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/010-mount_ask/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/010-mount_ask/output b/v0.2/validation/test-cases/2-mount/010-mount_ask/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/010-mount_ask/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/description b/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/description new file mode 100644 index 0000000..955c3e3 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/description @@ -0,0 +1 @@ +try mounting with empty password diff --git a/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/input.curl b/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/input.curl new file mode 100644 index 0000000..1e25041 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/input.curl @@ -0,0 +1,4 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_do +data crypto_password= +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/output b/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/020-mount_empty_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/2-mount/025-mount_no_pw/description b/v0.2/validation/test-cases/2-mount/025-mount_no_pw/description new file mode 100644 index 0000000..ef8182a --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/025-mount_no_pw/description @@ -0,0 +1 @@ +try mounting without password diff --git a/v0.2/validation/test-cases/2-mount/025-mount_no_pw/input.curl b/v0.2/validation/test-cases/2-mount/025-mount_no_pw/input.curl new file mode 100644 index 0000000..b4315b8 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/025-mount_no_pw/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_do +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/025-mount_no_pw/output b/v0.2/validation/test-cases/2-mount/025-mount_no_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/025-mount_no_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/description b/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/description new file mode 100644 index 0000000..084b9b9 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/description @@ -0,0 +1 @@ +try to mount with wrong password diff --git a/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/input.curl b/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/input.curl new file mode 100644 index 0000000..ef70090 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/input.curl @@ -0,0 +1,4 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_do +data crypto_password=halloRa +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/output b/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/030-mount_do_invalid_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/2-mount/040-mount_do_valid/description b/v0.2/validation/test-cases/2-mount/040-mount_do_valid/description new file mode 100644 index 0000000..78d4574 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/040-mount_do_valid/description @@ -0,0 +1 @@ +mount it successfully diff --git a/v0.2/validation/test-cases/2-mount/040-mount_do_valid/input.curl b/v0.2/validation/test-cases/2-mount/040-mount_do_valid/input.curl new file mode 100644 index 0000000..d1aeaf6 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/040-mount_do_valid/input.curl @@ -0,0 +1,4 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_do +data crypto_password=hallo +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/040-mount_do_valid/output b/v0.2/validation/test-cases/2-mount/040-mount_do_valid/output new file mode 100644 index 0000000..2adc898 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/040-mount_do_valid/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=1 diff --git a/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/description b/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/description new file mode 100644 index 0000000..4512d72 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/description @@ -0,0 +1 @@ +display mount form while mounted diff --git a/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/input.curl b/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/input.curl new file mode 100644 index 0000000..3a22bd9 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/output b/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/output new file mode 100644 index 0000000..2adc898 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/050-mount_ask_while_mounted/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=1 diff --git a/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/description b/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/description new file mode 100644 index 0000000..dde6b6e --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/description @@ -0,0 +1 @@ +try mounting while mounted diff --git a/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/input.curl b/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/input.curl new file mode 100644 index 0000000..d1aeaf6 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/input.curl @@ -0,0 +1,4 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=mount_do +data crypto_password=hallo +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/output b/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/output new file mode 100644 index 0000000..2adc898 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/060-mount_do_while_mounted/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=1 diff --git a/v0.2/validation/test-cases/2-mount/070-umount_ask/description b/v0.2/validation/test-cases/2-mount/070-umount_ask/description new file mode 100644 index 0000000..53369c6 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/070-umount_ask/description @@ -0,0 +1 @@ +display umount form diff --git a/v0.2/validation/test-cases/2-mount/070-umount_ask/input.curl b/v0.2/validation/test-cases/2-mount/070-umount_ask/input.curl new file mode 100644 index 0000000..6e3c39f --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/070-umount_ask/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=umount_ask +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/070-umount_ask/output b/v0.2/validation/test-cases/2-mount/070-umount_ask/output new file mode 100644 index 0000000..2adc898 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/070-umount_ask/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=1 diff --git a/v0.2/validation/test-cases/2-mount/080-umount_do/description b/v0.2/validation/test-cases/2-mount/080-umount_do/description new file mode 100644 index 0000000..375ebee --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/080-umount_do/description @@ -0,0 +1 @@ +unmount diff --git a/v0.2/validation/test-cases/2-mount/080-umount_do/input.curl b/v0.2/validation/test-cases/2-mount/080-umount_do/input.curl new file mode 100644 index 0000000..454df66 --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/080-umount_do/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=umount_do +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/2-mount/080-umount_do/output b/v0.2/validation/test-cases/2-mount/080-umount_do/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/2-mount/080-umount_do/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/3-config/100-config_invalid_lang/description b/v0.2/validation/test-cases/3-config/100-config_invalid_lang/description new file mode 100644 index 0000000..8d13350 --- /dev/null +++ b/v0.2/validation/test-cases/3-config/100-config_invalid_lang/description @@ -0,0 +1 @@ +try to set an invalid language diff --git a/v0.2/validation/test-cases/3-config/100-config_invalid_lang/input.curl b/v0.2/validation/test-cases/3-config/100-config_invalid_lang/input.curl new file mode 100644 index 0000000..4302fcb --- /dev/null +++ b/v0.2/validation/test-cases/3-config/100-config_invalid_lang/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=xy +data ip=_HOST_IP_DEFAULT_ +data timeout=30 +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/3-config/100-config_invalid_lang/output b/v0.2/validation/test-cases/3-config/100-config_invalid_lang/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/3-config/100-config_invalid_lang/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/3-config/110-config_invalid_ip/description b/v0.2/validation/test-cases/3-config/110-config_invalid_ip/description new file mode 100644 index 0000000..0c1ada2 --- /dev/null +++ b/v0.2/validation/test-cases/3-config/110-config_invalid_ip/description @@ -0,0 +1 @@ +try to set an invalid IP diff --git a/v0.2/validation/test-cases/3-config/110-config_invalid_ip/input.curl b/v0.2/validation/test-cases/3-config/110-config_invalid_ip/input.curl new file mode 100644 index 0000000..b29977f --- /dev/null +++ b/v0.2/validation/test-cases/3-config/110-config_invalid_ip/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=en +data ip=102._HOST_IP_DEFAULT_ +data timeout=30 +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/3-config/110-config_invalid_ip/output b/v0.2/validation/test-cases/3-config/110-config_invalid_ip/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/3-config/110-config_invalid_ip/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/description b/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/description new file mode 100644 index 0000000..3c69e9d --- /dev/null +++ b/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/description @@ -0,0 +1 @@ +try to set an invalid timeout diff --git a/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/input.curl b/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/input.curl new file mode 100644 index 0000000..0eacc74 --- /dev/null +++ b/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=en +data ip=_HOST_IP_DEFAULT_ +data timeout=X +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/output b/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/3-config/120-config_invalid_timeout/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/3-config/500-config_valid/delay b/v0.2/validation/test-cases/3-config/500-config_valid/delay new file mode 100644 index 0000000..209e3ef --- /dev/null +++ b/v0.2/validation/test-cases/3-config/500-config_valid/delay @@ -0,0 +1 @@ +20 diff --git a/v0.2/validation/test-cases/3-config/500-config_valid/description b/v0.2/validation/test-cases/3-config/500-config_valid/description new file mode 100644 index 0000000..4c9f0df --- /dev/null +++ b/v0.2/validation/test-cases/3-config/500-config_valid/description @@ -0,0 +1 @@ +configure the box diff --git a/v0.2/validation/test-cases/3-config/500-config_valid/input.curl b/v0.2/validation/test-cases/3-config/500-config_valid/input.curl new file mode 100644 index 0000000..325317f --- /dev/null +++ b/v0.2/validation/test-cases/3-config/500-config_valid/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=de +data ip=_HOST_IP_CHANGED_ +data timeout=7 +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/3-config/500-config_valid/output b/v0.2/validation/test-cases/3-config/500-config_valid/output new file mode 100644 index 0000000..f53f8d6 --- /dev/null +++ b/v0.2/validation/test-cases/3-config/500-config_valid/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_CHANGED_ +Data.Config.Language=de +Data.Config.TimeOut=7 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/3-config/510-config-restore/delay b/v0.2/validation/test-cases/3-config/510-config-restore/delay new file mode 100644 index 0000000..209e3ef --- /dev/null +++ b/v0.2/validation/test-cases/3-config/510-config-restore/delay @@ -0,0 +1 @@ +20 diff --git a/v0.2/validation/test-cases/3-config/510-config-restore/description b/v0.2/validation/test-cases/3-config/510-config-restore/description new file mode 100644 index 0000000..0041d44 --- /dev/null +++ b/v0.2/validation/test-cases/3-config/510-config-restore/description @@ -0,0 +1 @@ +restore default settings diff --git a/v0.2/validation/test-cases/3-config/510-config-restore/input.curl b/v0.2/validation/test-cases/3-config/510-config-restore/input.curl new file mode 100644 index 0000000..9768eed --- /dev/null +++ b/v0.2/validation/test-cases/3-config/510-config-restore/input.curl @@ -0,0 +1,6 @@ +url https://_HOST_IP_CHANGED_/cryptobox +data action=config_do +data language=en +data ip=_HOST_IP_DEFAULT_ +data timeout=30 +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/3-config/510-config-restore/output b/v0.2/validation/test-cases/3-config/510-config-restore/output new file mode 100644 index 0000000..c9284df --- /dev/null +++ b/v0.2/validation/test-cases/3-config/510-config-restore/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_CHANGED_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/description b/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/description new file mode 100644 index 0000000..f18f3a2 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/description @@ -0,0 +1 @@ +try initializing with different admin passwords diff --git a/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/input.curl b/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/input.curl new file mode 100644 index 0000000..8ffca4a --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/input.curl @@ -0,0 +1,8 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password=hallo +data crypto_password2=hallo +data admin_password=root +data admin_password2=rootA +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/output b/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/010-init_different_admin_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/delay b/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/delay new file mode 100644 index 0000000..d61f00d --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/delay @@ -0,0 +1 @@ +90 diff --git a/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/description b/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/description new file mode 100644 index 0000000..0e382f0 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/description @@ -0,0 +1 @@ +initialize the box with admin password diff --git a/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/input.curl b/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/input.curl new file mode 100644 index 0000000..767f924 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/input.curl @@ -0,0 +1,8 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password=hallo +data crypto_password2=hallo +data admin_password=root +data admin_password2=root +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/output b/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/020-init_with_admin_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/description b/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/description new file mode 100644 index 0000000..5672ab6 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/description @@ -0,0 +1 @@ +try to configure with wrong admin password diff --git a/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/input.curl b/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/input.curl new file mode 100644 index 0000000..eb1aee8 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/input.curl @@ -0,0 +1,8 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=en +data timeout=5 +data ip=_HOST_IP_DEFAULT_ +data current_admin_password=rootA +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/output b/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/delay b/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/delay new file mode 100644 index 0000000..d61f00d --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/delay @@ -0,0 +1 @@ +90 diff --git a/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/description b/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/description new file mode 100644 index 0000000..6a971d8 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/description @@ -0,0 +1 @@ +configure with right admin password diff --git a/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/input.curl b/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/input.curl new file mode 100644 index 0000000..e2ed7f7 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/input.curl @@ -0,0 +1,7 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=config_do +data language=de +data timeout=5 +data ip=_HOST_IP_DEFAULT_ +data current_admin_password=root +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/output b/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/output new file mode 100644 index 0000000..c123a8d --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/060-config_right_admin_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=de +Data.Config.TimeOut=5 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/description b/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/description new file mode 100644 index 0000000..648fe5e --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/description @@ -0,0 +1 @@ +initialize the box with wrong admin password diff --git a/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/input.curl b/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/input.curl new file mode 100644 index 0000000..684cf3a --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/input.curl @@ -0,0 +1,9 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password=hallo +data crypto_password2=hallo +data current_admin_password=rootA +data admin_password=root +data admin_password2=root +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/output b/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/output new file mode 100644 index 0000000..c123a8d --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=de +Data.Config.TimeOut=5 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/delay b/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/delay new file mode 100644 index 0000000..d61f00d --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/delay @@ -0,0 +1 @@ +90 diff --git a/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/description b/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/description new file mode 100644 index 0000000..9ada3d1 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/description @@ -0,0 +1 @@ +remove admin password diff --git a/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/input.curl b/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/input.curl new file mode 100644 index 0000000..d7833c3 --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/input.curl @@ -0,0 +1,7 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=init_do +data crypto_password=hallo +data crypto_password2=hallo +data current_admin_password=root +data confirm=_CONFIRM_TEXT_ +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/output b/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=1 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/5-misc/010-logfile/description b/v0.2/validation/test-cases/5-misc/010-logfile/description new file mode 100644 index 0000000..c18cc63 --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/010-logfile/description @@ -0,0 +1 @@ +show the log diff --git a/v0.2/validation/test-cases/5-misc/010-logfile/input.curl b/v0.2/validation/test-cases/5-misc/010-logfile/input.curl new file mode 100644 index 0000000..733988e --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/010-logfile/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=show_log +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/5-misc/010-logfile/output b/v0.2/validation/test-cases/5-misc/010-logfile/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/010-logfile/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/5-misc/020-docpage-first/description b/v0.2/validation/test-cases/5-misc/020-docpage-first/description new file mode 100644 index 0000000..33707f2 --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/020-docpage-first/description @@ -0,0 +1 @@ +show the first doc page diff --git a/v0.2/validation/test-cases/5-misc/020-docpage-first/input.curl b/v0.2/validation/test-cases/5-misc/020-docpage-first/input.curl new file mode 100644 index 0000000..071af8c --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/020-docpage-first/input.curl @@ -0,0 +1,3 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=doc +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/5-misc/020-docpage-first/output b/v0.2/validation/test-cases/5-misc/020-docpage-first/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/020-docpage-first/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/5-misc/030-docpage-another/description b/v0.2/validation/test-cases/5-misc/030-docpage-another/description new file mode 100644 index 0000000..df776de --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/030-docpage-another/description @@ -0,0 +1 @@ +show another doc page diff --git a/v0.2/validation/test-cases/5-misc/030-docpage-another/input.curl b/v0.2/validation/test-cases/5-misc/030-docpage-another/input.curl new file mode 100644 index 0000000..2d8a148 --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/030-docpage-another/input.curl @@ -0,0 +1,4 @@ +url https://_HOST_IP_DEFAULT_/cryptobox +data action=doc +data page=CryptoBoxDev +data weblang=_IFACE_LANG_ diff --git a/v0.2/validation/test-cases/5-misc/030-docpage-another/output b/v0.2/validation/test-cases/5-misc/030-docpage-another/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2/validation/test-cases/5-misc/030-docpage-another/output @@ -0,0 +1,7 @@ +Data.Config.IP=_HOST_IP_DEFAULT_ +Data.Config.Language=en +Data.Config.TimeOut=30 +Data.Status.Config=1 +Data.Status.InitRunning=0 +Data.Status.IP=_HOST_IP_DEFAULT_ +Data.Status.Mounted=0 diff --git a/v0.2/validation/test-cases/README b/v0.2/validation/test-cases/README new file mode 100644 index 0000000..7391dd9 --- /dev/null +++ b/v0.2/validation/test-cases/README @@ -0,0 +1,8 @@ +the validate-script requires the following directory structure: + +- NAME_OF_SERIES + - NAME_OF_TEST_CASE + - description - a short description of the setup + - input.curl - options for the request via curl + - output - the expected status output for this request (it is send as html comment) + - delay - [optional] may contain a delay after this test case in seconds