diff --git a/v0.2.1/CHANGELOG b/v0.2.1/CHANGELOG new file mode 100644 index 0000000..048cfd2 --- /dev/null +++ b/v0.2.1/CHANGELOG @@ -0,0 +1,21 @@ +Version 0.2.1 - 10/22/02005 + * default cipher changed to "aes-cbc-essiv:sha256" (more secure) + * the boot menue (grub) is now protected + * support for scsi, usb and firewire harddisks + * new kernel: Linux 2.6.12.2 + * minor language improvements + +Version 0.2 - 10/04/02005 + * first public release + * fully configurable via web interface + * AES encryption via device-mapper + * Samba v3.0.14a-3 + * Linux 2.6.11 + * based on Debian GNU/Linux 3.1 + * documentation languages: + * English + * German + * interface languages: + * English + * German + * Slovenian diff --git a/v0.2.1/README b/v0.2.1/README new file mode 100644 index 0000000..b09ae98 --- /dev/null +++ b/v0.2.1/README @@ -0,0 +1,26 @@ +$Id$ +CryptoBox version 0.2.1 + +take a look at http://cryptobox.org + +1) Documentation +The documentation is available at https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxUser + +2) Building a LiveCD +try: "scripts/cbox-build.sh release" +or look at the developer's documentation: https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxDev + +3) Bug reporting +Use our issue tracker at https://systemausfall.org/trac/cryptobox/newticket + +4) License +All scripts are GPL code (v2.0 or above). +The documentation is licensed under "Creative Commons 2.5 share-alike" (http://creativecommons.org/licenses/by-sa/2.5/). + +5) Contributors +Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation + +6) Contact +email: cryptobox@systemausfall.org + +The CryptoBox project is mainly driven by sense.lab (https://systemausfall.org/senselab). diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBox.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBox.html new file mode 100644 index 0000000..5ed1eb0 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBox.html @@ -0,0 +1,128 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

Die CryptoBox

+

+English version +

+

Neuigkeiten

+

+Das erste Release der CryptoBox ist bei Codecoop.org verfügbar. +

+

Ü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 Bedienung erfolgt vollständig per Webbrowser. Wirf einen Blick auf die ScreenShots. +

+ +
Spezifikation +
SystemDebian GNU/Linux-basierte Live-CD +
benötigter Computer"ausrangierter" PC (i386 ab p1 mind. 32MB RAM) +
unterstützte Clients*nix; *bsd; Windows; Mac OS +
interner Fileserversamba (Netzwerkfreigaben) +
Benutzerschnittstelleper Browser bedienbares Web-Interface +
VerschlüsselungAES via device-mapper +
+

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

+
  • deutsch +
  • englisch +
  • slowenisch +

+Wir suchen noch Übersetzungen in andere Sprachen. Wenn du dich beteiligen möchtest, wirf einen Blick in die Übersetzungen-Sektion. Dort gibt es eine "README" Datei in der genauere Beschreibungen stehen. +

+

Download

+

Support

+
  • Das Nutzerhandbuch ist unter CryptoBoxUser verfügbar. +
  • Probleme und Anregungen kannst du unser Fehlerdatenbank melden +
  • Für allgemeine Fragen, schreibe eine Email an cryptobox[at]systemausfall.org. +

Entwicklung

+

+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ß. +

+

+Die englischsprachige Entwickler-Doku findest du unter CryptoBoxDev. +

+

Mitwirkende

+

+

  • Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation +
  • http://codecoop.org - webspace +
+

+

Rechtliches

+
  1. Alle Skripte unterliegen der GPL - sie sind also quasi vollständig frei. +
  2. Die Dokumentation unterliegt einer Creative Commons-Lizenz, damit wird die Möglichkeit der freien Verbreitung des gesammelten Wissens gewährleistet. +
  3. Wir übernehmen keinerlei Haftung für eventuelle Folgen, die durch die Nutzung einer CryptoBox entstehen könnten. +

+

Kommentare

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDev.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDev.html new file mode 100644 index 0000000..7d37bdd --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDev.html @@ -0,0 +1,136 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBox/de, CryptoBox/en) + +

+
+

Development documentation

+

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

+

Source

+

+You may browse the source code. +

+

Contact

+

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

+

Bug reports

+

+If you think you found a bug or you get an error message, please help us to fix the problem and file a ticket (a bug report). Follow these steps: +

+
  1. Have a look at Open bugs that need to be fixed +
  2. Create a New Ticket +
+
+ + + +
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevBackground.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevBackground.html new file mode 100644 index 0000000..bde9537 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevBackground.html @@ -0,0 +1,107 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+

Table of Contents

+
    +
  1. dfsbuild
  2. +
  3. the kernel
  4. +
  5. qemu
  6. +
  7. alternative LiveCDs
  8. +
  9. Comments
  10. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Details of the CryptoBox

+

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, apt-proxy or approx). 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. copy the exisiting config file kernel/config-2.6.11 as .config into your kernel source directory +
  3. build the debian kernel package make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image +
  4. change the kernel in the unpackdebs setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details) +

+See source:trunk/hints/kernel-build.txt for more details. +

+

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: +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomBuild.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomBuild.html new file mode 100644 index 0000000..cd8953d --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomBuild.html @@ -0,0 +1,128 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevBackground, CryptoBoxDevPreparation, CryptoBoxDevWorkFlow) + +

+
+

Custom builds of the CryptoBox

+

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. change etc-local.d/dfs-cbox.conf according to your needs +

+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. change etc-local.d/cbox-dev.conf according to your needs +

SSH connection

+

+The file 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. change etc-local.d/ssh_config according to your needs +

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. change etc-local.d/qemu-ifup according to your needs +

+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomConfigure.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomConfigure.html new file mode 100644 index 0000000..cf5a1a9 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevCustomConfigure.html @@ -0,0 +1,103 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+

Table of Contents

+
    +
  1. Overview
  2. +
  3. Locations
  4. +
  5. Examples
  6. +
  7. Comments
  8. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Custom configuration of the CryptoBox

+

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_ipchange the default IP address of the CryptoBox +
set_default_languageset the default language +
set_default_timeoutset the default idle time for automatic unmounting +
set_hostnamechange the default hostname +
set_root_pwchange the password of root (only useful for a development CryptoBox) +
import_authorized_keysupload a ssh key for passwordless access to a development CryptoBox +
set_scan_deviceswhere to look for usable harddisks +
+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevKnownProblems.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevKnownProblems.html new file mode 100644 index 0000000..3e1aa57 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevKnownProblems.html @@ -0,0 +1,89 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Known problems

+

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. +

+

dfsbuild

+

can't cd to _builddir/target/var/lib/apt/lists

+

+This can be caused by a (strange) mix of debian package versions. Track this bug at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=320991. +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevPreparation.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevPreparation.html new file mode 100644 index 0000000..0c1ed1b --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevPreparation.html @@ -0,0 +1,120 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevCustomBuild, CryptoBoxDevWorkFlow) + +

+
+

Preparations for developers

+

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 - your mileage may vary. +

+

+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. +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevValidation.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevValidation.html new file mode 100644 index 0000000..52267cc --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxDevValidation.html @@ -0,0 +1,121 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+

Table of Contents

+
    +
  1. Overview
  2. +
  3. Validate
  4. +
  5. How to create a test
  6. +
  7. Comments
  8. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Validation of the CryptoBox

+

Overview

+

+The validation feature helps you to check the programming logic of the CryptoBox. A lot of test cases are defined to verify 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] 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 the following files: +

+ +
input.curlthe configuration file for the curl request +
outputthe predicted state of the CryptoBox after the call +
descriptiona 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. +

+

+Read validation/test-cases/README for details. +

+

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

+
+

Comments

+

+ +

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

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevCustomConfigure, CryptoBoxDevPreparation) + +

+
+

Development workflow

+

Preparations

+

+You should have completed the steps described in CryptoBoxDevPreparation. +

+

Create a CryptoBox-LiveCD

+

+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 cause 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/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. +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxIntro.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxIntro.html new file mode 100644 index 0000000..24e0256 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/_offline/doc/de/CryptoBoxUser.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUser.html new file mode 100644 index 0000000..c2237db --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUser.html @@ -0,0 +1,102 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBox/de) + +

+
+

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 Kommentar-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 -- die Vorbereitung der Hardware +
  2. CryptoBoxUserConfiguration -- die Einrichtung deines neuen verschlüsselten Dateiservers +
  3. CryptoBoxUserDailyUse -- die tägliche Nutzung der CryptoBox +

+Die online-Version dieses Handbuchs befindet sich unter https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxUser/de. +

+
+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserConfiguration.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserConfiguration.html new file mode 100644 index 0000000..ef42883 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserConfiguration.html @@ -0,0 +1,152 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxUser/de) + +

+
+

Die Konfiguration deiner CryptoBox

+

Ü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 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

+

+Klicke auf Initialisierung in der Menü-Zeile. +

+

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

+

+de_init.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. Kryptographie 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: +

+

+de_config.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 +

+
+

Kommentare

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserDailyUse.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserDailyUse.html new file mode 100644 index 0000000..d1e583d --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserDailyUse.html @@ -0,0 +1,167 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxUser/de, CryptoBoxUserConfiguration/de) + +

+
+

Tägliche Nutzung

+

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. +

+de_mount.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. +

+

Zugriff auf die verschlüsselten Daten

+

Linux - Kommandozeile

+

+Um als normaler Nutzer auf die Crypto-Partition zuzugreifen, solltest du folgende Zeile zur /etc/fstab hinzufügen: +

+
//192.168.0.23/public   /mnt/    smbfs   defaults,noexec,noauto,user,guest      0       0
+

+Nun kannst du die Crypto-Partition nach /mnt mounten: +

+
mount /mnt/
+

+bzw. unmounten: +

+
smbumount /mnt
+

Windows

+

+Starte den Windows Explorer und wähle im Menü unter Extras die Option Netzlaufwerke verbinden aus. +

+

+de_w98_network_drive.png +

+

+Trage unter Pfad die Adresse des Verzeichnisse der CryptoBox ein, auf das du zugreifen willst (Standard: \\192.168.0.23\public). Soll die Verbindung beim jedem Start von Windows wiederhergestellt werden, aktiviere Verbindung beim Start wiederherstellen. +

+

+Nun kannst du auf das verschlüsselte Dateisystem wie jedes andere Laufwerk benutzen. +

+

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 +

+
+

Fragen und Antworten

+

Windows: Netzlaufwerk kann nicht verbunden werden

+

+de_w98_not_logged_in.png +

+

+Erscheint diese Fehlermeldung, hast du dich beim Start von Windows nicht angemeldet bzw. das Anmeldefenster mit der Taste Esc (Escape) verschwinden lassen. Klicke auf Start und Abmelden und melde dich neu an - sobald das Anmeldefenster erscheint, klicke auf OK: +

+

+de_w98_login.png +

+

Linux: only root can unmount //192.168.0.23/public

+

+Das Unmounten der Crypto-Partition mit umount funktioniert nicht. +

+

+Lösung: Verwende stattdessen: +

+
smbumount /mnt
+

Linux: Operation not permitted / smbmnt failed: 1

+

+Der Versuch die Partition als normaler Nutzer zu mounten schlägt fehl: +

+
cannot mount on /mnt/: Operation not permitted
+smbmnt failed: 1
+

+Lösung: Das Mount-Verzeichnis muss dem selben Nutzer gehören, der den mount-Befehl ausführt (bspw. phil): +

+
chown phil. /mnt
+

+

Kommentare

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserGettingStarted.html b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserGettingStarted.html new file mode 100644 index 0000000..4c51deb --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/CryptoBoxUserGettingStarted.html @@ -0,0 +1,100 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+

Table of Contents

+
    +
  1. Erste Schritte
  2. +
  3. Hinweise / Fallstricke
  4. +
  5. Kommentare
  6. +
+
+ +

+

+Navigation: ( CryptoBoxUser/de, CryptoBoxUserConfiguration/de) + +

+
+

Wie geht es los

+

Erste Schritte

+

+Die CryptoBox ist schnell 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. Lade die aktuellste Version der CryptoBox als iso-image herunter und brenne dieses auf einen CD-Rohling. +
  3. Konfiguriere den PC, so dass er vom CD Laufwerk bootet. Dazu solltest du im BIOS als "boot device" "CD-ROM" einstellen. +
  4. Pack die frisch gebrannte CryptoBox CD ins Laufwerk und starte den Computer. +

+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 CryptoBoxUserConfiguration 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. +

+

Kommentare

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/doc_footer.inc b/v0.2.1/cbox-tree.d/_offline/doc/de/doc_footer.inc new file mode 100644 index 0000000..4ec37b7 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/doc_footer.inc @@ -0,0 +1,6 @@ + + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/de/doc_header.inc b/v0.2.1/cbox-tree.d/_offline/doc/de/doc_header.inc new file mode 100644 index 0000000..3b0f14f --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/de/doc_header.inc @@ -0,0 +1,13 @@ + + +
+ + +
diff --git a/v0.2.1/cbox-tree.d/_offline/doc/doc_footer.inc b/v0.2.1/cbox-tree.d/_offline/doc/doc_footer.inc new file mode 100644 index 0000000..e134874 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/doc_footer.inc @@ -0,0 +1,7 @@ + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/doc_header.inc b/v0.2.1/cbox-tree.d/_offline/doc/doc_header.inc new file mode 100644 index 0000000..ab5fd45 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/doc_header.inc @@ -0,0 +1,17 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBox.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBox.html new file mode 100644 index 0000000..bacff92 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBox.html @@ -0,0 +1,124 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

The CryptoBox

+

+deutschsprachige Version +

+

News

+

+The first release of the CryptoBox is available at Codecoop.org. +

+

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.
+The CryptoBox is fully controllable via your web browser. Have a look at the ScreenShots. +

+ +
Specs +
systemDebian/Linux based Live-CD +
needed hardware "outdated" PC (i386 p1-100 32MB RAM minimum) +
supported clients*nix; *bsd; Windows; Mac OS +
fileserversamba (network shares) +
userinterfacefully remote controlled via webbrowser +
encryptionAES via device-mapper +
+

+The web interface of the CryptoBox supports the following languages: +

+
  • English +
  • German +
  • Slovenian +

+We are looking for more translations. Just take a look at the "README"-file in our language section. +There you can find further instructions if you'd like to contribute. +

+

Download

+

Support

+
  • The user documentation has its home at CryptoBoxUser. +
  • Open up a ticket for your feature requests and bugs. +
  • Write us an email: cryptobox[at]systemausfall.org +

Development

+

+Take a look at the developer's documentation at CryptoBoxDev for more information. +

+

Acknowledgements

+

+

  • Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation +
  • http://codecoop.org - webspace +
+

+

Legal stuff

+
  1. All scripts are GPL licensed +
  2. The documentation is licensed under a Creative Commons License +
  3. We do not take any warranty for the functionality or usability of the CryptoBox. +

+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDev.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDev.html new file mode 100644 index 0000000..0d2e546 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDev.html @@ -0,0 +1,136 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBox/de, CryptoBox/en) + +

+
+

Development documentation

+

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

+

Source

+

+You may browse the source code. +

+

Contact

+

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

+

Bug reports

+

+If you think you found a bug or you get an error message, please help us to fix the problem and file a ticket (a bug report). Follow these steps: +

+
  1. Have a look at Open bugs that need to be fixed +
  2. Create a New Ticket +
+
+ + + +
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevBackground.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevBackground.html new file mode 100644 index 0000000..71723f1 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevBackground.html @@ -0,0 +1,107 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+

Table of Contents

+
    +
  1. dfsbuild
  2. +
  3. the kernel
  4. +
  5. qemu
  6. +
  7. alternative LiveCDs
  8. +
  9. Comments
  10. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Details of the CryptoBox

+

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, apt-proxy or approx). 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. copy the exisiting config file kernel/config-2.6.11 as .config into your kernel source directory +
  3. build the debian kernel package make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image +
  4. change the kernel in the unpackdebs setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details) +

+See source:trunk/hints/kernel-build.txt for more details. +

+

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: +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomBuild.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomBuild.html new file mode 100644 index 0000000..61aa60b --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomBuild.html @@ -0,0 +1,128 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevBackground, CryptoBoxDevPreparation, CryptoBoxDevWorkFlow) + +

+
+

Custom builds of the CryptoBox

+

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. change etc-local.d/dfs-cbox.conf according to your needs +

+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. change etc-local.d/cbox-dev.conf according to your needs +

SSH connection

+

+The file 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. change etc-local.d/ssh_config according to your needs +

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. change etc-local.d/qemu-ifup according to your needs +

+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomConfigure.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomConfigure.html new file mode 100644 index 0000000..b827885 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevCustomConfigure.html @@ -0,0 +1,103 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+

Table of Contents

+
    +
  1. Overview
  2. +
  3. Locations
  4. +
  5. Examples
  6. +
  7. Comments
  8. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Custom configuration of the CryptoBox

+

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_ipchange the default IP address of the CryptoBox +
set_default_languageset the default language +
set_default_timeoutset the default idle time for automatic unmounting +
set_hostnamechange the default hostname +
set_root_pwchange the password of root (only useful for a development CryptoBox) +
import_authorized_keysupload a ssh key for passwordless access to a development CryptoBox +
set_scan_deviceswhere to look for usable harddisks +
+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevKnownProblems.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevKnownProblems.html new file mode 100644 index 0000000..fdee5c1 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevKnownProblems.html @@ -0,0 +1,89 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Known problems

+

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. +

+

dfsbuild

+

can't cd to _builddir/target/var/lib/apt/lists

+

+This can be caused by a (strange) mix of debian package versions. Track this bug at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=320991. +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevPreparation.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevPreparation.html new file mode 100644 index 0000000..2adfe65 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevPreparation.html @@ -0,0 +1,120 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevCustomBuild, CryptoBoxDevWorkFlow) + +

+
+

Preparations for developers

+

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 - your mileage may vary. +

+

+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. +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevValidation.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevValidation.html new file mode 100644 index 0000000..cf6a290 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevValidation.html @@ -0,0 +1,121 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+

Table of Contents

+
    +
  1. Overview
  2. +
  3. Validate
  4. +
  5. How to create a test
  6. +
  7. Comments
  8. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Validation of the CryptoBox

+

Overview

+

+The validation feature helps you to check the programming logic of the CryptoBox. A lot of test cases are defined to verify 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] 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 the following files: +

+ +
input.curlthe configuration file for the curl request +
outputthe predicted state of the CryptoBox after the call +
descriptiona 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. +

+

+Read validation/test-cases/README for details. +

+

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

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevWorkFlow.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevWorkFlow.html new file mode 100644 index 0000000..ad36d34 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxDevWorkFlow.html @@ -0,0 +1,194 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevCustomConfigure, CryptoBoxDevPreparation) + +

+
+

Development workflow

+

Preparations

+

+You should have completed the steps described in CryptoBoxDevPreparation. +

+

Create a CryptoBox-LiveCD

+

+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 cause 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/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. +

+
+

Comments

+

+ +

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

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.1/cbox-tree.d/_offline/doc/en/CryptoBoxUser.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUser.html new file mode 100644 index 0000000..3f4c0be --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUser.html @@ -0,0 +1,103 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBox/en, CryptoBoxUser) + +

+
+

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 you perceive a description as 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 -- first steps to get the Cryptobox up and running +
  2. CryptoBoxUserConfiguration -- configure the details of your new encrypted fileserver +
  3. CryptoBoxUserDailyUse -- daily use of your CryptoBox +

+The online version of this manual can be found at https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxUser/en. +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserConfiguration.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserConfiguration.html new file mode 100644 index 0000000..422b77f --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserConfiguration.html @@ -0,0 +1,146 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxUser/en, CryptoBoxUserConfiguration) + +

+
+

Configuration of your CryptoBox

+

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 are 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 replacing 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. +

+

+Do not forget to read the Hints / Caveats section too. +

+

Foreword

+

+Okay, you finished the CryptoBoxUserGettingStarted 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 +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserDailyUse.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserDailyUse.html new file mode 100644 index 0000000..9332ce0 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserDailyUse.html @@ -0,0 +1,166 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxUser/en, CryptoBoxUserConfiguration/en, CryptoBoxUserDailyUse) + +

+
+

Daily use of the CryptoBox

+

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. +

+

Use your encrypted data

+

Linux - command line

+

+To use the encrypted data partition with regular user rights add the line below to your /etc/fstab: +

+
//192.168.0.23/public   /mnt/    smbfs   defaults,noexec,noauto,user,guest      0       0
+

+Now you can mount the encrypted data partition to /mnt: +

+
mount /mnt
+

+resp. unmount: +

+
smbumount /mnt
+

Windows

+

+Run the the Windows Explorer and choose Map network drive in the Tools menu: +

+
  • select a drive of your choice +
  • enter \\192.168.0.23\public (default setting) as target +

+en_w98_network_drive.png +

+

+Now you can use your encrypted data 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 +

+
+

Questions and Answers

+

Windows: network drive cannot be mapped

+

+en_w98_not_logged_in.png +

+

+This error message may appear, if you did not login during the booting of you windows machine (or you closed the login dialog by pressing ESC). +

+

+Solution: Choose Logout in the Start menu and login again. +

+

+en_w98_login.png +

+

Linux: only root can unmount //192.168.0.23/public

+

+You can't unmount the partition with umount. +

+

+Solution: Use smbumount instead: +

+
smbumount /mnt
+

Linux: Operation not permitted / smbmnt failed: 1

+

+The attempt to mount the partition as a regular user ends up with: +

+
cannot mount on /mnt/: Operation not permitted
+smbmnt failed: 1
+

+Solution: Set the directory's owner to the same user that mounts the share (e.g. phil): +

+
chown phil. /mnt
+

+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserGettingStarted.html b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserGettingStarted.html new file mode 100644 index 0000000..c36e496 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/CryptoBoxUserGettingStarted.html @@ -0,0 +1,107 @@ + + + + + CryptoBox + + + + + + +
+ English
+ Deutsch
+
+ +
+ + +
+ + +
+ + + + + +
+

+

+

Table of Contents

+
    +
  1. First Steps
  2. +
  3. Hints / Caveats
  4. +
  5. Comments
  6. +
+
+ +

+

+Navigation: ( CryptoBoxUser/en, CryptoBoxUserConfiguration/en, CryptoBoxUserGettingStarted) + +

+
+

Getting started

+

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. Then download the latest version of the CryptoBox as an iso-image and burn this image onto a CD. +
  3. 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. +
  4. Insert the shiny new CryptoBox CD you've just burned and start the computer. +

+ +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. +

+

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 current disk sizes! +
  • 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 +

+
+

Comments

+

+ +

+
+
+ + + + +
+
+ + + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/doc_footer.inc b/v0.2.1/cbox-tree.d/_offline/doc/en/doc_footer.inc new file mode 100644 index 0000000..3e2a7f1 --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/doc_footer.inc @@ -0,0 +1,6 @@ +
+ + + diff --git a/v0.2.1/cbox-tree.d/_offline/doc/en/doc_header.inc b/v0.2.1/cbox-tree.d/_offline/doc/en/doc_header.inc new file mode 100644 index 0000000..086ed0b --- /dev/null +++ b/v0.2.1/cbox-tree.d/_offline/doc/en/doc_header.inc @@ -0,0 +1,13 @@ + + +
+ + +
diff --git a/v0.2.1/cbox-tree.d/_offline/shellopn.exe b/v0.2.1/cbox-tree.d/_offline/shellopn.exe new file mode 100644 index 0000000..e7d91bf Binary files /dev/null and b/v0.2.1/cbox-tree.d/_offline/shellopn.exe differ diff --git a/v0.2.1/cbox-tree.d/_offline/shellopn.zip b/v0.2.1/cbox-tree.d/_offline/shellopn.zip new file mode 100644 index 0000000..6ddb3b4 Binary files /dev/null and b/v0.2.1/cbox-tree.d/_offline/shellopn.zip differ diff --git a/v0.2.1/cbox-tree.d/autorun.inf b/v0.2.1/cbox-tree.d/autorun.inf new file mode 100644 index 0000000..200039e --- /dev/null +++ b/v0.2.1/cbox-tree.d/autorun.inf @@ -0,0 +1,2 @@ +[autorun] +open=_offline\shellopn.exe _offline\doc\de\CryptoBox.html diff --git a/v0.2.1/cbox-tree.d/etc/cron.d/cryptobox b/v0.2.1/cbox-tree.d/etc/cron.d/cryptobox new file mode 100644 index 0000000..e785b4a --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/cron.d/cryptobox @@ -0,0 +1 @@ +* * * * * root /usr/lib/cryptobox/check_smb_idle.sh diff --git a/v0.2.1/cbox-tree.d/etc/cryptobox/cryptobox.conf b/v0.2.1/cbox-tree.d/etc/cryptobox/cryptobox.conf new file mode 100644 index 0000000..f31b5cd --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/cryptobox/cryptobox.conf @@ -0,0 +1,43 @@ +# this file is directly sourced by some bash scripts +# so there should be no space around the "=" + +LANGUAGE=en +NET_IFACE=eth0 +SAMBA_USER=nobody +SCAN_DEVICES="/dev/hda /dev/hdb /dev/hdc /dev/hde /dev/hdf /dev/hdg /dev/scd0 /dev/scd1 /dev/scd2 /dev/scd3 /dev/sda /dev/sdb /dev/sdc /dev/sdd" + +# directories +LANGUAGE_DIR=/usr/share/cryptobox/lang +HTML_TEMPLATE_DIR=/usr/share/cryptobox/templates +DOC_DIR=/usr/share/doc/cryptobox/html +CONFIG_DEFAULTS_DIR=/usr/share/cryptobox/defaults +CONFIG_DIR=/mnt/cb-etc +CRYPTO_DIR=/mnt/crypto + +# some files +CB_SCRIPT=/usr/lib/cryptobox/cbox-manage.sh +DEV_FEATURES_SCRIPT=/usr/lib/cryptobox/devel-features.sh +FIREWALL_SCRIPT=/usr/lib/cryptobox/firewall.sh +MAKE_CERT_SCRIPT=/usr/lib/cryptobox/make_stunnel_cert.sh +LOG_FILE=/var/log/cryptobox.log +CERT_FILE=/mnt/cb-etc/stunnel.pem +OPENSSL_CONF_FILE=/etc/cryptobox/openssl.cnf +IDLE_COUNTER_FILE=/tmp/cbox-idle-counter + +# crypto settings +CRYPTMAPPER_DEV=/dev/mapper/cryptobox-data + +# some programs +SFDISK=/sbin/sfdisk +#WIPE=/usr/bin/wipe +MKFS_DATA=/sbin/mkfs.ext3 +MKFS_CONFIG=/sbin/mkfs.ext2 +CRYPTSETUP=/sbin/cryptsetup +IPTABLES=/sbin/iptables + +# firewall setings +# do not use multiports (iptables) as the timeout-script depends on +# single port rules +# ssh is allowed too, but the server is not started automatically +ALLOW_TCP_PORTS="22 80 139 443 445" +ALLOW_UDP_PORTS="137 138" diff --git a/v0.2.1/cbox-tree.d/etc/cryptobox/openssl.cnf b/v0.2.1/cbox-tree.d/etc/cryptobox/openssl.cnf new file mode 100644 index 0000000..a1a1a63 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/cryptobox/openssl.cnf @@ -0,0 +1,65 @@ +# +# OpenSSL configuration file. +# + +# Establish working directory. + +dir = . + +[ ca ] +default_ca = CA_default + +[ CA_default ] +default_days = 3650 +default_md = md5 +policy = policy_match +#serial = $dir/serial +#database = $dir/index.txt +#new_certs_dir = $dir/newcert +#certificate = $dir/cacert.pem +#private_key = $dir/private/cakey.pem +#preserve = no +#email_in_dn = no +#nameopt = default_ca +#certopt = default_ca + +[ policy_match ] +countryName = match +stateOrProvinceName = match +organizationName = match +organizationalUnitName = match +commonName = supplied +emailAddress = optional + +[ req ] +default_bits = 1024 # Size of keys +default_keyfile = stunnel.pem # name of generated keys +default_md = md5 # message digest algorithm +distinguished_name = req_distinguished_name + +[ req_distinguished_name ] +# Variable name Prompt string +#---------------------- ---------------------------------- +0.organizationName = Organization Name (company) +organizationalUnitName = Organizational Unit Name (department, division) +emailAddress = Email Address +emailAddress_max = 40 +localityName = Locality Name (city, district) +stateOrProvinceName = State or Province Name (full name) +#countryName = Country Name (2 letter code) +#countryName_min = 2 +#countryName_max = 2 +#commonName = Common Name (hostname, IP, or your name) +#commonName_max = 64 + +# Default values for the above, for consistency and less typing. +# Variable name Value +#------------------------------ ------------------------------ +0.organizationName_default = CryptoBox +organizationalUnitName_default = s.l. +localityName_default = Kugelmugel +stateOrProvinceName_default = Metropolis +emailAddress_default = info@systemausfall.org + + + diff --git a/v0.2.1/cbox-tree.d/etc/init.d/cb-devel-features.sh b/v0.2.1/cbox-tree.d/etc/init.d/cb-devel-features.sh new file mode 100755 index 0000000..04140fd --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/init.d/cb-devel-features.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# this script looks for the devel-features.sh script +# if it exists, it will be executed - this is +# ONLY FOR DEVELOPMENT CDs! +# for release CDs the file devel-features.sh script should never exist! +# + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + +# return, if it does not exist +[ ! -e "$DEV_FEATURES_SCRIPT" ] && exit 0 + +echo +echo "#---------------------------------------------------------------#" +echo "| WARNING: developers features are enabled |" +echo "| This definitely should NOT happen for production CDs! |" +echo "| If you are not a developer, then this CD is DANGEROUS, as it |" +echo "| offers no security at all! |" +echo "#---------------------------------------------------------------#" +echo + +$DEV_FEATURES_SCRIPT "$@" diff --git a/v0.2.1/cbox-tree.d/etc/init.d/cb-hints.sh b/v0.2.1/cbox-tree.d/etc/init.d/cb-hints.sh new file mode 100755 index 0000000..6875f75 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/init.d/cb-hints.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# give some hints for users, who are sitting in front of the cryptobox and are mistakenly +# waiting for a login prompt +# + +case "$1" in + start ) + echo + echo "Hints for usage: " + echo " * you can not login here :)" + echo " * point a webbrowser on another computer to 'http://$(/usr/lib/cryptobox/cbox-manage.sh get_current_ip)'" + echo " * configure your box via your webbrowser" + echo + ;; + stop ) + ;; + restart ) + $0 stop + $0 start + ;; + * ) + echo "Syntax: $0 { start | stop | restart }" + ;; + esac + diff --git a/v0.2.1/cbox-tree.d/etc/init.d/cb-mount-config.sh b/v0.2.1/cbox-tree.d/etc/init.d/cb-mount-config.sh new file mode 100755 index 0000000..d7a6136 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/init.d/cb-mount-config.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + +ACTION=help +[ $# -gt 0 ] && ACTION="$1" + +case "$ACTION" in + start ) + $CB_SCRIPT config-up + ;; + stop ) + $CB_SCRIPT config-down + ;; + restart ) + $0 stop + $0 start + ;; + * ) + echo "Syntax: `basename $0` { start | stop | restart }" + echo + ;; + esac diff --git a/v0.2.1/cbox-tree.d/etc/init.d/cb-network.sh b/v0.2.1/cbox-tree.d/etc/init.d/cb-network.sh new file mode 100755 index 0000000..2673374 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/init.d/cb-network.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + +ACTION=help +[ $# -gt 0 ] && ACTION="$1" + +case "$ACTION" in + start ) + $CB_SCRIPT network-up + ;; + stop ) + $CB_SCRIPT network-down + ;; + restart ) + $0 stop + $0 start + ;; + * ) + echo "Syntax: `basename $0` { start | stop | restart }" + echo + ;; + esac diff --git a/v0.2.1/cbox-tree.d/etc/init.d/cb-services.sh b/v0.2.1/cbox-tree.d/etc/init.d/cb-services.sh new file mode 100755 index 0000000..9ddd1ad --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/init.d/cb-services.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +set -eu + +# parse config file +. /etc/cryptobox/cryptobox.conf + +ACTION=help +[ $# -gt 0 ] && ACTION="$1" + +case "$ACTION" in + start ) + $CB_SCRIPT services-up + ;; + stop ) + $CB_SCRIPT services-down + ;; + restart ) + $0 stop + $0 start + ;; + * ) + echo "Syntax: `basename $0` { start | stop | restart }" + ;; + esac diff --git a/v0.2.1/cbox-tree.d/etc/rc0.d/K10cb-devel-features b/v0.2.1/cbox-tree.d/etc/rc0.d/K10cb-devel-features new file mode 120000 index 0000000..11ce06b --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc0.d/K10cb-devel-features @@ -0,0 +1 @@ +../init.d/cb-devel-features.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc0.d/K22cb-services b/v0.2.1/cbox-tree.d/etc/rc0.d/K22cb-services new file mode 120000 index 0000000..49be3ea --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc0.d/K22cb-services @@ -0,0 +1 @@ +../init.d/cb-services.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc0.d/K34cb-network b/v0.2.1/cbox-tree.d/etc/rc0.d/K34cb-network new file mode 120000 index 0000000..d7275d1 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc0.d/K34cb-network @@ -0,0 +1 @@ +../init.d/cb-network.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc0.d/K39cb-mount-config b/v0.2.1/cbox-tree.d/etc/rc0.d/K39cb-mount-config new file mode 120000 index 0000000..ec92193 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc0.d/K39cb-mount-config @@ -0,0 +1 @@ +../init.d/cb-mount-config.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc3.d/S98cb-services b/v0.2.1/cbox-tree.d/etc/rc3.d/S98cb-services new file mode 120000 index 0000000..49be3ea --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc3.d/S98cb-services @@ -0,0 +1 @@ +../init.d/cb-services.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc3.d/S99cb-devel-features b/v0.2.1/cbox-tree.d/etc/rc3.d/S99cb-devel-features new file mode 120000 index 0000000..11ce06b --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc3.d/S99cb-devel-features @@ -0,0 +1 @@ +../init.d/cb-devel-features.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc3.d/S99cb-hints b/v0.2.1/cbox-tree.d/etc/rc3.d/S99cb-hints new file mode 120000 index 0000000..1c5173d --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc3.d/S99cb-hints @@ -0,0 +1 @@ +../init.d/cb-hints.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc6.d/K10cb-devel-features b/v0.2.1/cbox-tree.d/etc/rc6.d/K10cb-devel-features new file mode 120000 index 0000000..11ce06b --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc6.d/K10cb-devel-features @@ -0,0 +1 @@ +../init.d/cb-devel-features.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc6.d/K22cb-services b/v0.2.1/cbox-tree.d/etc/rc6.d/K22cb-services new file mode 120000 index 0000000..49be3ea --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc6.d/K22cb-services @@ -0,0 +1 @@ +../init.d/cb-services.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc6.d/K34cb-network b/v0.2.1/cbox-tree.d/etc/rc6.d/K34cb-network new file mode 120000 index 0000000..d7275d1 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc6.d/K34cb-network @@ -0,0 +1 @@ +../init.d/cb-network.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rc6.d/K39cb-mount-config b/v0.2.1/cbox-tree.d/etc/rc6.d/K39cb-mount-config new file mode 120000 index 0000000..ec92193 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rc6.d/K39cb-mount-config @@ -0,0 +1 @@ +../init.d/cb-mount-config.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rcS.d/S37cb-mount-config b/v0.2.1/cbox-tree.d/etc/rcS.d/S37cb-mount-config new file mode 120000 index 0000000..ec92193 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rcS.d/S37cb-mount-config @@ -0,0 +1 @@ +../init.d/cb-mount-config.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/rcS.d/S38cb-network b/v0.2.1/cbox-tree.d/etc/rcS.d/S38cb-network new file mode 120000 index 0000000..d7275d1 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/rcS.d/S38cb-network @@ -0,0 +1 @@ +../init.d/cb-network.sh \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/etc/samba/smb.conf b/v0.2.1/cbox-tree.d/etc/samba/smb.conf new file mode 100644 index 0000000..a166776 --- /dev/null +++ b/v0.2.1/cbox-tree.d/etc/samba/smb.conf @@ -0,0 +1,237 @@ +# +# Sample configuration file for the Samba suite for Debian GNU/Linux. +# +# +# This is the main Samba configuration file. You should read the +# smb.conf(5) manual page in order to understand the options listed +# here. Samba has a huge number of configurable options most of which +# are not shown in this example +# +# Any line which starts with a ; (semi-colon) or a # (hash) +# is a comment and is ignored. In this example we will use a # +# for commentary and a ; for parts of the config file that you +# may wish to enable +# +# NOTE: Whenever you modify this file you should run the command +# "testparm" to check that you have not many any basic syntactic +# errors. +# + +#======================= Global Settings ======================= + +[global] + +## Browsing/Identification ### + +# Change this to the workgroup/NT-domain name your Samba server will part of + workgroup = Workgroup + +# server string is the equivalent of the NT Description field + server string = %h cryptobox (Samba %v) + +# Windows Internet Name Serving Support Section: +# WINS Support - Tells the NMBD component of Samba to enable its WINS Server +; wins support = no + +# WINS Server - Tells the NMBD components of Samba to be a WINS Client +# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both +; wins server = w.x.y.z + +# This will prevent nmbd to search for NetBIOS names through DNS. + dns proxy = no + +# What naming service and in what order should we use to resolve host names +# to IP addresses +; name resolve order = lmhosts host wins bcast + + +#### Debugging/Accounting #### + +# This tells Samba to use a separate log file for each machine +# that connects + log file = /var/log/samba/log.%m + +# Put a capping on the size of the log files (in Kb). + max log size = 1000 + +# If you want Samba to only log through syslog then set the following +# parameter to 'yes'. +; syslog only = no + +# We want Samba to log a minimum amount of information to syslog. Everything +# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log +# through syslog you should set the following parameter to something higher. + syslog = 0 + +# Do something sensible when Samba crashes: mail the admin a backtrace + panic action = /usr/share/samba/panic-action %d + + +####### Authentication ####### + +# "security = user" is always a good idea. This will require a Unix account +# in this server for every user accessing the server. See +# /usr/share/doc/samba-doc/htmldocs/ServerType.html in the samba-doc +# package for details. + security = share + +# You may wish to use password encryption. See the section on +# 'encrypt passwords' in the smb.conf(5) manpage before enabling. + encrypt passwords = true + +# If you are using encrypted passwords, Samba will need to know what +# password database type you are using. + passdb backend = tdbsam guest + + obey pam restrictions = yes + + guest account = nobody +; invalid users = root + +# This boolean parameter controls whether Samba attempts to sync the Unix +# password with the SMB password when the encrypted SMB password in the +# passdb is changed. +; unix password sync = no + +# For Unix password sync to work on a Debian GNU/Linux system, the following +# parameters must be set (thanks to Augustin Luton 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.1/cbox-tree.d/mnt/crypto/info.txt b/v0.2.1/cbox-tree.d/mnt/crypto/info.txt new file mode 100644 index 0000000..b5fc21b --- /dev/null +++ b/v0.2.1/cbox-tree.d/mnt/crypto/info.txt @@ -0,0 +1 @@ +Hallo diff --git a/v0.2.1/cbox-tree.d/start.html b/v0.2.1/cbox-tree.d/start.html new file mode 100644 index 0000000..da53401 --- /dev/null +++ b/v0.2.1/cbox-tree.d/start.html @@ -0,0 +1,11 @@ + + + + + Die CryptoBox + + + Automatische Weiterleitung zur Dokumentation ... + + + diff --git a/v0.2.1/cbox-tree.d/usr/lib/cryptobox/cbox-manage.sh b/v0.2.1/cbox-tree.d/usr/lib/cryptobox/cbox-manage.sh new file mode 100755 index 0000000..6dc7710 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/lib/cryptobox/cbox-manage.sh @@ -0,0 +1,499 @@ +#!/bin/sh +# $Id: cbox-manage.sh 308 2005-10-20 12:11:32Z age $ +# +# 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 "$SFDISK" ] && log_msg "$SFDISK not found" && return 1 + 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" + # check for existence - maybe use default values (for old releases without this setting) + if [ ! -e "$conf_dir/$1" ] + then case "$1" in + version ) + echo -n "0.2" + ;; + cipher ) + echo -n "aes" + ;; + hash ) + echo -n "sha512" + ;; + * ) + error_msg 2 "unknown configuration value ($1)" + # empty output + ;; + esac + else echo -n $(cat "$conf_dir/$1") + # this removes the trailing line break + fi + # always return without error + true +} + + +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 certificate 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 "$(config_get_value hash)" -c "$(config_get_value cipher)" 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 ) + if [ -z "$dev" ] ; then + echo "no valid harddisk for initialisation found!" >>"$LOG_FILE" + cat /proc/partitions >>"$LOG_FILE" + # error handling will be done by the caller + fi + 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 "The cryptofilesystem is already active!" && return + local device=`find_harddisk` + [ -z "$device" ] && error_msg 4 'No valid harddisk found!' && return 1 + # passphrase is read from stdin + log_msg "Mounting crypto partition ..." + $CRYPTSETUP -h "$(config_get_value hash)" -c "$(config_get_value cipher)" 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" || { log_msg "initial checks failed" && 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.1/cbox-tree.d/usr/lib/cryptobox/check_smb_idle.sh b/v0.2.1/cbox-tree.d/usr/lib/cryptobox/check_smb_idle.sh new file mode 100755 index 0000000..83dec84 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/lib/cryptobox/chroot-start.sh b/v0.2.1/cbox-tree.d/usr/lib/cryptobox/chroot-start.sh new file mode 100755 index 0000000..0d28182 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh b/v0.2.1/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh new file mode 100755 index 0000000..aff7e49 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/lib/cryptobox/devel-features.sh b/v0.2.1/cbox-tree.d/usr/lib/cryptobox/devel-features.sh new file mode 100755 index 0000000..6d57843 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/lib/cryptobox/firewall.sh b/v0.2.1/cbox-tree.d/usr/lib/cryptobox/firewall.sh new file mode 100755 index 0000000..29f97c5 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/lib/cryptobox/make_stunnel_cert.sh b/v0.2.1/cbox-tree.d/usr/lib/cryptobox/make_stunnel_cert.sh new file mode 100755 index 0000000..6792c81 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/lib/perl5/ClearSilver.pm b/v0.2.1/cbox-tree.d/usr/lib/perl5/ClearSilver.pm new file mode 100644 index 0000000..41dd00f --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/.packlist b/v0.2.1/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/.packlist new file mode 100644 index 0000000..a79f4e0 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.bs b/v0.2.1/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.bs new file mode 100644 index 0000000..e69de29 diff --git a/v0.2.1/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.so b/v0.2.1/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.so new file mode 100755 index 0000000..310964f Binary files /dev/null and b/v0.2.1/cbox-tree.d/usr/lib/perl5/auto/ClearSilver/ClearSilver.so differ diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/admin_pw b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/admin_pw new file mode 100644 index 0000000..e69de29 diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/cipher b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/cipher new file mode 100644 index 0000000..aaa484a --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/cipher @@ -0,0 +1 @@ +aes-cbc-essiv:sha256 diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/hash b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/hash new file mode 100644 index 0000000..80341c0 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/hash @@ -0,0 +1 @@ +ripemd160 diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/ip b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/ip new file mode 100644 index 0000000..1cad3c7 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/ip @@ -0,0 +1 @@ +192.168.0.23 diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/language b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/language new file mode 100644 index 0000000..c574d07 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/language @@ -0,0 +1 @@ +en diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/timeout b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/timeout new file mode 100644 index 0000000..64bb6b7 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/timeout @@ -0,0 +1 @@ +30 diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/version b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/version new file mode 100644 index 0000000..0c62199 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/defaults/version @@ -0,0 +1 @@ +0.2.1 diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/README b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/README new file mode 100644 index 0000000..95b81ab --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/README @@ -0,0 +1,28 @@ +$Id: README 295 2005-10-11 23:21:32Z lars $ + +You may want to translate the CryptoBox into another language? +Most welcome! + +Existing translation can be found in the .hdf files. There are three +easy steps, that won't take longer than one hour to go through: + +1.) Download one .hdf in your preferred language (e.g. en.hdf if you're a native english speaker). + +2.) Start to change the text behind the equal sign line for line. + +3.) Send us your changed .hdf file. That's it - thank you! + + +Hints: +We are available via mail (cryptobox@systemausfall.org) for any questions. Don't worry to ask us if +something is vague. We prefer "utf" encoded hdf-files. If you don't +know what udf means - just don't care, send us your file and +everything else will be fine. You don't have to translate the whole +file, some minor parts are enough to send back. The community will do +the rest. ;) + +Again, thanks for your help! We do the Cryptobox things in our +freetime for fun and to provide an open source solution for this +special purpose. By helping us, you're taking part in this +development. + diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/TODO b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/TODO new file mode 100644 index 0000000..8afaa30 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/TODO @@ -0,0 +1,16 @@ +$Id$ + +Here are some minor fixes that have to be done. Thanks a lot for your +help! + + +################################ slovenian ################################## + +- SuccessMessage.InitRunning contains only the first sentence +- SuccessMessage.ReBoot: add a hint for automatic redirection (3rd sentence) +- EmptyCryptoPassword: change 'Text' accordingly to English string. + +Below are some smaller changes in English sentences. Someone may change it accordingly. +- MountFailed: add 'Pleasy try again' to the end of the string. +- UmountFailed: changed 'Also close all unclean programs' to 'Close all unclean programs'. +- InitRunning: changed 'You may configure it now. You may activate the encrypted filesystem in a few minutes.' to 'You may configure it now and activate the encrypted filesystem in a few minutes.' diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/de.hdf b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/de.hdf new file mode 100644 index 0000000..8bba0c3 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/de.hdf @@ -0,0 +1,215 @@ +Lang { + + Name = deutsch + + Status = $Id$ + + Title { + Top = Die CryptoBox + Slogan = ... und 1984 war gestern! + Init = Initialisierung der CryptoBox + Mount = Aktivierung der Crypto-Daten + Umount = Deaktivierung der Crypto-Daten + Config = Konfiguration der CryptoBox + Log = Protokoll der CryptoBox + ShutDown = System + Status = Status der CryptoBox + } + + + Text { + EnterCurrentCryptoPassword = Das Crypto-Passwort eingeben: + EnterNewCryptoPassword = Das neue Crypto-Passwort eingeben: + EnterSameCryptoPassword = Das Crypto-Passwort wiederholen: + EnterCurrentAdminPassword = Das aktuelle Admin-Passwort eingeben: + EnterNewAdminPassword = Das neue Admin-Passwort eingeben: + EnterSameAdminPassword = Das neue Admin-Passwort wiederholen: + InitWarning = Bei der Initialisierung werden ALLE DATEN auf der Festplatte GELÖSCHT! + ConfirmInitHint = Um zu bestätigen, dass du weisst, was du tust, tippe hier bitte exakt Folgendes ein: + ConfirmInit = ja, loesche alle Daten! + PartitionInfo = Derzeitige Partitionierung der Festplatte: + IPAddress = Netzwerk-Adresse (IP) der CryptoBox: + TimeOut = Zeitabschaltung des Crypto-Dateisystems (in Minuten): + EmptyLog = Das Logbuch der CryptoBox ist leer. + SelectLanguage = Spracheinstellung: + RedirectNote = Klicke hier, falls dein Browser die automatische Weiterleitung nicht unterstützt. + ProjectHomePage = Projekt-Seite + ProjectNote = Die CryptoBox ist ein Projekt von + DoUmount = Deaktivierung des verschlüsselten Dateisystems + DoMount = Aktivierung des verschlüsselten Dateisystems + Configuration = Einstellungen + CryptoIsActive = Die Crypto-Daten sind verfügbar. + CryptoIsDown = Die Crypto-Daten sind vor jedem Zugriff geschützt. + } + + + Button { + DoInit = CryptoBox initialisieren + SaveConfig = Speichere Konfiguration + Update = Aktualisieren + Mount = Crypto-Daten aktivieren + Umount = Crypto-Daten deaktivieren + Config = Einstellungen + PowerOff = ausschalten + ReBoot = neu starten + Protocol = Protokoll + Documentation = Handbuch + Status = Status + } + + + WarningMessage { + InitNotConfirmed { + Title = Bestätigung schlug fehl + Text = Der Bestätigungssatz muss exakt eingegeben werden! + } + + EmptyCryptoPassword { + Title = Ungültiges Crypto-Passwort + Text = Du musst ein Crypto-Passwort eingeben! + } + + DifferentCryptoPasswords { + Title = Ungleiche Crypto-Passworte + Text = Die beiden Passworte müssen identisch sein, um Eingabefehler zu verhindern. + } + + DifferentAdminPasswords { + Title = Ungleiche Administrations-Passworte + Text = Die beiden Passworte müssen identisch sein, um Eingabefehler zu verhindern. + } + + WrongAdminPassword { + Title = Falsches Administrations-Passwort + Text = Das eingegebene Administrations-Passwort ist falsch. Versuche es noch einmal. + } + + MountFailed { + Title = Aktivierung schlug fehl + Text = Das verschlüsselte Dateisystem konnte nicht aktiviert werden. Wahrscheinlich war das Passwort falsch. Versuche es noch einmal. + } + + UmountFailed { + Title = Deaktivierung schlug fehl + Text = Das verschlüsselte Dateisystem konnte nicht abgeschaltet werden. Wahrscheinlich sind noch Dateien geöffnet. Schließe alle potentiell unsauberen Programme (beispielsweise die weitverbreitete Textverarbeitung). Notfalls einfach die CryptoBox ausschalten! + } + + NotInitialized { + Title = Keine Konfiguration gefunden + Text = Die CryptoBox wurde noch nicht eingerichtet. + } + + InitNotFinished { + Title = Initalisierung noch nicht abgeschlossen + Text = Die Initialisierung wird in wenigen Minuten beendet sein. Erst danach ist diese Aktion möglich. + } + + IsMounted { + Title = Bereits aktiv + Text = Das verschlüsselte Dateisystem ist bereits aktiv. + } + + NotMounted { + Title = Nicht aktiv + Text = Das verschlüsselte Dateisystem ist derzeit nicht aktiv. + } + + AlreadyConfigured { + Title = Konfiguration gefunden + Text = Die CryptoBox wurde bereits eingerichtet. Bei einer erneuten Initialisierung werden alle Daten gelöscht! + } + + InvalidLanguage { + Title = Ungültige Sprache + Text = Die ausgewählte Sprache ist nicht verfügbar! + } + + InvalidIP { + Title = Ungültige IP + Text = Die ausgewählte Netzwerkadresse ist nicht gültig! + } + + InvalidTimeOut { + Title = Ungültige Zeitabschaltung + Text = Der ausgewählte Wert der Zeitabschaltung ist nicht gültig! + } + + ConfigTimeOutFailed { + Title = Fehler beim Ändern der Zeitabschaltung + Text = Der Wert der Zeitabschaltung konnte nicht geändert werden! + } + + ConfigLanguageFailed { + Title = Fehler beim Ändern der Spracheinstellung + Text = Die Spracheinstellung konnte nicht geändert werden! + } + + ConfigIPFailed { + Title = Fehler beim Ändern der Netzwerkadresse + Text = Die Netzwerkadresse konnte nicht geändert werden! + } + + IPAddressChanged { + Title = Änderung der Netzwerk-Adresse + Text = Die Netzwerk-Adresse der CryptoBox wurde verändert. In wenigen Sekunden werden sie zu der neuen Adresse umgeleitet. + } + } + + + SuccessMessage { + InitRunning { + Title = Initialisierung läuft + Text = Die Initialisierung der CryptoBox wird im Hintergrund abgeschlossen. Du kannst die CryptoBox nun konfigurieren und das verschlüsselte Dateisystem in ein paar Minuten aktivieren. + } + + ConfigSaved { + Title = Konfiguration gespeichert + Text = Die neuen Einstellungen der CryptoBox wurden übernommem. + } + + MountDone { + Title = Crypto-Daten aktiviert + Text = Das verschlüsselte Dateisystem ist nun verfügbar. + } + + UmountDone { + Title = Crypto-Daten deaktiviert + Text = Das verschlüsselte Dateisystem ist nun vor jedem Zugriff geschützt. + } + + PowerOff { + Title = Abschaltung + Text = Die CryptoBox wird gerade heruntergefahren. In wenigen Sekunden kannst du sie ausschalten (falls dies nicht automatisch geschieht). + } + + ReBoot { + Title = Neustart + Text = Die CryptoBox wird gerade neu gestartet. In wenigen Sekunden ist sie wieder verfügbar. Bitte warte solange - du wirst automatisch weitergeleitet. + } + } + + + ErrorMessage { + + UnknownAction { + Title = Unbekannte Aktion + Text = Du hast eine undefinierte Aktion angefordert. + } + + NoSSL { + Title = Unverschlüsselte Verbindung + Text = Die CryptoBox akzeptiert nur verschlüsselte Verbindungen (https). So bleibt das Passwort vor neugierigen Augen geschützt. In wenigen Sekunden wird eine verschlüsselte Verbindung hergestellt. + } + + InitFailed { + Title = Initialisierung fehlgeschlagen + Text = Sende bitte den Inhalt des Protokolls (siehe oben) an die Entwickler der CryptoBox (cryptobox@systemausfall.org). + } + + NoHardDisk { + Title = Keine Festplatte + Text = Es wurde kein Datenträger gefunden, der zur Speicherung der verschlüsselten Daten geeignet ist. Prüfe bitte, ob beim Anschalten des Computers eine Festplatte vom BIOS erkannt wurde. + } + } + +} diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/en.hdf b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/en.hdf new file mode 100644 index 0000000..5236178 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/en.hdf @@ -0,0 +1,215 @@ +Lang { + + Name = english + + Status = $Id$ + + Title { + Top = The CryptoBox + Slogan = Privacy for the rest of us. + Init = CryptoBox initialization + Mount = Activation of encrypted data + Umount = Deactivation of encrypted data + Config = CryptoBox configuration + Log = CryptoBox logfiles + ShutDown = System + Status = Status + } + + + Text { + EnterCurrentCryptoPassword = Enter the crypto password: + EnterNewCryptoPassword = Enter the new crypto password: + EnterSameCryptoPassword = Repeat the new crypto password: + EnterCurrentAdminPassword = Enter the current administration password: + EnterNewAdminPassword = Enter the new administration password: + EnterSameAdminPassword = Repeat the new administration password: + InitWarning = During the process of initialization ALL DATA on the hard drive WILL BE DELETED! + ConfirmInitHint = To confirm that you know what you are doing, please enter exactly the following sequence: + ConfirmInit = Yes, delete all data! + PartitionInfo = Current partioning of the hard drive: + IPAddress = Network address (IP) of the CryptoBox: + TimeOut = Timeout for deactivation of the encrypted filesystem (in minutes): + EmptyLog = The logfiles of the CryptoBox are empty. + SelectLanguage = Language preferences: + RedirectNote = Click here if your browser does not support automatic redirection. + ProjectHomePage = Website of project + ProjectNote = The CryptoBox is a project of + DoUmount = Deactivation of the encrypted filesystem + DoMount = Activation of the encrypted filesystem + Configuration = Configuration + CryptoIsActive = The encrypted data is accessible. + CryptoIsDown = The encrypted data is protected from any access. + } + + + Button { + DoInit = Initialize CryptoBox + SaveConfig = Save configuration + Update = Refresh + Mount = Activate encrypted filesystem + Umount = Deactivate encrypted filesystem + Config = Configuration + PowerOff = Shutdown + ReBoot = Reboot + Protocol = Logfiles + Documentation = Manual + Status = Status + } + + + WarningMessage { + InitNotConfirmed { + Title = Confirmation failed + Text = The sentence has to be entered exactly as shown! + } + + EmptyCryptoPassword { + Title = Invalid crypto password + Text = You have to enter a crypto password! + } + + DifferentCryptoPasswords { + Title = Crypto passwords do not match + Text = Both entered passwords have to be identical to ensure this is the desired password. + } + + DifferentAdminPasswords { + Title = Administration passwords do not match + Text = Both entered passwords have to be identical to ensure this is the desired password. + } + + WrongAdminPassword { + Title = Wrong Administration password + Text = The entered administration password is wrong. Please try again. + } + + MountFailed { + Title = Activation failed + Text = The encrypted filesystem could not be activated. Probably the given password was wrong. Please try again. + } + + UmountFailed { + Title = Deactivation failed + Text = The encrypted filesystem could not be activated. Probably some files are still in use. Close all unclean programs (for example that widely used word processor). In case of need just shut down the CryptoBox! + } + + NotInitialized { + Title = No configuration found + Text = The CryptoBox has not yet been configured. + } + + InitNotFinished { + Title = Initialization not yet completed + Text = Initialization will be completed in a few minutes. After completed initialization this action will become available. + } + + IsMounted { + Title = Already active + Text = The encrypted filesystem has already been activated. + } + + NotMounted { + Title = Inactive + Text = The encrypted filesystem is currently not active. + } + + AlreadyConfigured { + Title = Configuration found + Text = The CryptoBox has already been configured. If you initialize again, all data will be deleted! + } + + InvalidLanguage { + Title = Invalid language + Text = The selected language is not available! + } + + InvalidIP { + Title = Invalid IP address + Text = The selected network address is not valid! + } + + InvalidTimeOut { + Title = Invalid timeout + Text = The selected timeout is not valid! + } + + ConfigTimeOutFailed { + Title = Error during change of timeout + Text = The timeout value could not be changed! + } + + ConfigLanguageFailed { + Title = Error during change of language preferences + Text = The language preferences could not be changed! + } + + ConfigIPFailed { + Title = Error during change of network address + Text = The network address could not be changed! + } + + IPAddressChanged { + Title = Change of network address + Text = The network address has been changed. In a few seconds you will get redirected to the new address. + } + } + + + SuccessMessage { + InitRunning { + Title = Initialization running + Text = The initialization will be completed in background. You may configure it now and activate the encrypted filesystem in a few minutes. + } + + ConfigSaved { + Title = Configuration saved + Text = The new settings have been accepted. + } + + MountDone { + Title = Encrypted filesystem activated + Text = The encrypted filesystem is now available. + } + + UmountDone { + Title = Encrypted filesystem deactivated + Text = The encrypted filesystem is now secured from all forms of access. + } + + PowerOff { + Title = Shutdown + Text = The CryptoBox is currently going to halt. In a few seconds you can power it off (in case this does not happen automatically). + } + + ReBoot { + Title = Reboot + Text = The CryptoBox is currently rebooting. In a few seconds it will be available again. Please wait - you will get redirected, when the reboot has finished. + } + } + + + ErrorMessage { + + UnknownAction { + Title = Unknown action + Text = You have requested an undefined action. + } + + NoSSL { + Title = Unencrypted connection + Text = The CryptoBox only accepts encrypted connections (https), so the password is safe from curious eyes. The encrypted connection will be established in a few seconds. + } + + InitFailed { + Title = Initialization failed + Text = Please send the logfiles (see above) to the developers of the CryptoBox (cryptobox@systemausfall.org). + } + + NoHardDisk { + Title = No hard drive + Text = No hard drive suitable for saving the encrypted filesystem found. Please ensure the BIOS detected the hard drive during power-on of the comuter. + } + } + +} diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/si.hdf b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/si.hdf new file mode 100644 index 0000000..2ec7a35 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/lang/si.hdf @@ -0,0 +1,215 @@ +Lang { + + Name = slovenščina + + Status = $Id$ + + Title { + Top = The CryptoBox + Slogan = Privatnost v vsako vas! + Init = CryptoBox zagon + Mount = Aktivacija kriptiranih podatkov + Umount = Deaktivacija kriptiranih podatkov + Config = CryptoBox konfiguracija + Log = CryptoBox dnevnik + ShutDown = Ugasni + Status = Stanje + } + + + Text { + EnterCurrentCryptoPassword = Vpišite geslo: + EnterNewCryptoPassword = Vpišite novo geslo: + EnterSameCryptoPassword = Ponovite novo geslo: + EnterCurrentAdminPassword = Vnesite trenutno obstoječe geslo administratorja/ke: + EnterNewAdminPassword = Vnesite novo geslo administratorja/ke: + EnterSameAdminPassword = Ponovite novo geslo administratorja/ke: + InitWarning = Med incializacijo bodo VSI PODATKI z vašega trdega diska IZBRISANI! + ConfirmInitHint = Vsled potrditve vaših dejanj vpišite naslednje besedilo: + ConfirmInit = Da, zbirši vse podatke! + PartitionInfo = trenutna porazdelitev trdega diska: + IPAddress = IP CryptoBoxa: + TimeOut = Čas preklica deaktivacije kriptiranega datotečnega sistema:(v minutah) + EmptyLog = Dnevnik CryptoBoxa je prazen. + SelectLanguage = Jezikovne nastavitve: + RedirectNote = Kliknite če vaš iskalnik ne podpira avtomatične preusmeritve. + ProjectHomePage = Spletna stran projekta + ProjectNote = CryptoBox je projekt + DoUmount = Deaktivacija kriptiranega datotečnega sistema + DoMount = Aktivacija kriptiranega datotečnega sistema + Configuration = Konfiguracija + CryptoIsActive = Kriptirani podatki so dostopni. + CryptoIsDown = Kriptirani podatki soso zaèiteni pred kakr nimkoli dostopom. + } + + + Button { + DoInit = Zagon CryptoBoxa + SaveConfig = Shrani konfiguracijo + Update = Osveži + Mount = Aktivacija kriptiranega datotečnega sistema + Umount = Deaktivacija kriptiranega datotečnega sistema + Config = Konfiguracija + PowerOff = Ugasni + ReBoot = Ponovni zagon + Protocol = Dnevnik + Documentation = Priročnik + Status = Stanje + } + + + WarningMessage { + InitNotConfirmed { + Title = Potrditev ni uspela + Text = Besedilo mora biti vpisano natanko kot je prikazano! + } + + EmptyCryptoPassword { + Title = Nepravilno geslo + Text = Geslo ne sme biti prazno! + } + + DifferentCryptoPasswords { + Title = Gesli se ne ujemata! + Text = Obe vnešeni gesli morata biti identični, v zagotovilo, da je vpisano željeno geslo. + } + + DifferentAdminPasswords { + Title = Administracijski gesli se ne ujemata + Text = Obe vnešeni gesli morata biti identični, v zagotovilo da je vpisano željeno geslo. + } + + WrongAdminPassword { + Title = Napačno administracijsko geslo! + Text = Vnešeno administracijsko geslo je nepravilno. Prosimo poskusite znova! + } + + MountFailed { + Title = Aktivacija ni uspela + Text = Kriptiran datotečni sistem se ni aktiviral.Po vsej verjetnosti je bilo geslo napačno. + } + + UmountFailed { + Title = Deaktivacija ni uspela + Text = Kriptiran datotečni sistem se ni aktiviral.Datoteke so morda v uporabi. Zaprite vse programe. (naprimer ta nadvse razširjen urejevalnik besedil). V primeru nuje ugasnite CryptoBox! + } + + NotInitialized { + Title = Konfiguracija ni najdena + Text = CryptoBox še ni bil konfiguriran. + } + + InitNotFinished { + Title = Zagon še ni dovršen + Text = Zagon bo dovršen v nekaj minutah. Po končanem zagonu bo ta možnost omogočena. + } + + IsMounted { + Title = Že aktivno + Text = Kriptiran datotečni sistem je že aktiviran. + } + + NotMounted { + Title = Onemogočeno + Text = Kriptiran datotečni sistem trenutno ni aktiven. + } + + AlreadyConfigured { + Title = Konfiguracija uspela + Text = CryptoBox je đe bil konfiguriran. Če ponovno zaženete bodo vsi podatki izbrisani! + } + + InvalidLanguage { + Title = Nepravilna izbira jezika + Text = Izbrani jezik ni na voljo! + } + + InvalidIP { + Title = Napačen IP naslov + Text = Izbran omrežni naslov ni veljaven! + } + + InvalidTimeOut { + Title = Nepravilen čas preklica + Text = Izbran čas preklica ni veljaven! + } + + ConfigTimeOutFailed { + Title = Napaka med spremembo časa preklica + Text = Časa preklica ne morete spremeniti! + } + + ConfigLanguageFailed { + Title = Napaka med spremembo jezikovnih nastavitev + Text = Spreminjanje jezikovnih nastavitev ni mogoče. + } + + ConfigIPFailed { + Title = Napaka med spreminjanjem omrežnega naslova. + Text = Spreminjanje omrežnega naslova ni mogoče. + } + + IPAddressChanged { + Title = Sprememba omrežnega naslova + Text = Omrežni naslov je spremenjen. V nekaj sekundah boste preusmerjeni na nov naslov. + } + } + + + SuccessMessage { + InitRunning { + Title = Zagon poteka + Text = Zagon bo dokončan v ozadju. + } + + ConfigSaved { + Title = Konfiguracija spravljena + Text = Nove nastavitve so sprejete. + } + + MountDone { + Title = Kriptiran datotečni sistem aktiviran + Text = Kriptiran datotečni sistem je na voljo. + } + + UmountDone { + Title = Kriptiran datotečni sistem deaktiviran. + Text = Kriptiran datotečni sistem je varovan pred vstopom. + } + + PowerOff { + Title = Ugasni + Text = CryptoBox se zaustavlja. V nekaj sekundah ga lahko izklopite.(v kolikor se to ne zgodi avtomatično). + } + + ReBoot { + Title = Ponovni zagon + Text = CryptoBox se zaganja. V nekaj sekundah bo zopet na voljo. + } + } + + + ErrorMessage { + + UnknownAction { + Title = Neznan zahtevek + Text = Podali ste nedefiniran zahtevek. + } + + NoSSL { + Title = Nekriptirana povezava + Text = CryptoBox sprejme le kriptirane povezave (https), da je geslo zaščiteno pred radovednimi očmi. V nekaj sekundah bo kriptirana povezava vzpostavljena. + } + + InitFailed { + Title = Zagon ni uspel + Text = Prosim pošljite dnevnik (poglejte zgoraj) razvijalcem CryptoBoxa (cryptobox@systemausfall.org). + } + + NoHardDisk { + Title = Ni trdega diska + Text = Primeren trdi disk za shranjenje kriptiranega datotečnega sistema ni zaznan. Poskrbite da bo med zagonom BIOS zaznal trdi disk. + } + } + +} diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/config_form.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/config_form.cs new file mode 100644 index 0000000..05ffaa5 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/config_form.cs @@ -0,0 +1,31 @@ + + +
+

+ + + +


+

+ + +


+

+ +


+

+ +


+

+ + + + + +
diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/doc.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/doc.cs new file mode 100644 index 0000000..ef365a7 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/doc.cs @@ -0,0 +1,7 @@ + + +
+ + + +
diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/empty.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/empty.cs new file mode 100644 index 0000000..b4c6f9f --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/empty.cs @@ -0,0 +1,3 @@ + + + diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/error.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/error.cs new file mode 100644 index 0000000..678ffaf --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/error.cs @@ -0,0 +1,3 @@ + + + diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/footer.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/footer.cs new file mode 100644 index 0000000..34e5965 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/footer.cs @@ -0,0 +1,31 @@ + + + +

+ + +
+ + + +
+ + + + + + + + diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/header.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/header.cs new file mode 100644 index 0000000..51e9c9c --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/header.cs @@ -0,0 +1,43 @@ + + + + + + + CryptoBox + + + + + + + + + + +
+ +
+ +
+ +
+ + +
+ + +
diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/init_form.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/init_form.cs new file mode 100644 index 0000000..aea2121 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/init_form.cs @@ -0,0 +1,34 @@ + + +

+ +
+ + +

+ +


+

+ +


+

+


+

+


+

+


+

+


+

+ + + +
+ +
+ +
+

+

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/macros.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/macros.cs new file mode 100644 index 0000000..7c4ffaf --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/macros.cs @@ -0,0 +1,93 @@ + + +
+

+

+ + + +
+

+

+ + + +
+

+

+ + + + + + + + + + + + + +
+ diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/main.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/main.cs new file mode 100644 index 0000000..52aa344 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/main.cs @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/mount_form.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/mount_form.cs new file mode 100644 index 0000000..06e186d --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/mount_form.cs @@ -0,0 +1,15 @@ + + +

+ +
+ + +

+

+ + + + + +
diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/nav.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/nav.cs new file mode 100644 index 0000000..24f19ef --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/nav.cs @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/show_log.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/show_log.cs new file mode 100644 index 0000000..930fd90 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/show_log.cs @@ -0,0 +1,13 @@ + + +
+ +

+ + +

+ +

+ + +
diff --git a/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/shutdown_form.cs b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/shutdown_form.cs new file mode 100644 index 0000000..4585a7d --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/cryptobox/templates/shutdown_form.cs @@ -0,0 +1,19 @@ + + +

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

+

+

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

+ +
+ + + + + + +
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBox.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBox.html new file mode 100644 index 0000000..08be8ec --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBox.html @@ -0,0 +1,85 @@ + + + + + +
+

+

+ +

+

Die CryptoBox

+

+English version +

+

Neuigkeiten

+

+Das erste Release der CryptoBox ist bei Codecoop.org verfügbar. +

+

Ü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 Bedienung erfolgt vollständig per Webbrowser. Wirf einen Blick auf die ScreenShots. +

+ +
Spezifikation +
SystemDebian GNU/Linux-basierte Live-CD +
benötigter Computer"ausrangierter" PC (i386 ab p1 mind. 32MB RAM) +
unterstützte Clients*nix; *bsd; Windows; Mac OS +
interner Fileserversamba (Netzwerkfreigaben) +
Benutzerschnittstelleper Browser bedienbares Web-Interface +
VerschlüsselungAES via device-mapper +
+

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

+
  • deutsch +
  • englisch +
  • slowenisch +

+Wir suchen noch Übersetzungen in andere Sprachen. Wenn du dich beteiligen möchtest, wirf einen Blick in die Übersetzungen-Sektion. Dort gibt es eine "README" Datei in der genauere Beschreibungen stehen. +

+

Download

+

Support

+
  • Das Nutzerhandbuch ist unter CryptoBoxUser verfügbar. +
  • Probleme und Anregungen kannst du unser Fehlerdatenbank melden +
  • Für allgemeine Fragen, schreibe eine Email an cryptobox[at]systemausfall.org. +

Entwicklung

+

+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ß. +

+

+Die englischsprachige Entwickler-Doku findest du unter CryptoBoxDev. +

+

Mitwirkende

+

+

  • Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation +
  • http://codecoop.org - webspace +
+

+

Rechtliches

+
  1. Alle Skripte unterliegen der GPL - sie sind also quasi vollständig frei. +
  2. Die Dokumentation unterliegt einer Creative Commons-Lizenz, damit wird die Möglichkeit der freien Verbreitung des gesammelten Wissens gewährleistet. +
  3. Wir übernehmen keinerlei Haftung für eventuelle Folgen, die durch die Nutzung einer CryptoBox entstehen könnten. +

+

Kommentare

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDev.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDev.html new file mode 100644 index 0000000..e21e89c --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDev.html @@ -0,0 +1,93 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBox/de, CryptoBox/en) + +

+
+

Development documentation

+

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

+

Source

+

+You may browse the source code. +

+

Contact

+

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

+

Bug reports

+

+If you think you found a bug or you get an error message, please help us to fix the problem and file a ticket (a bug report). Follow these steps: +

+
  1. Have a look at Open bugs that need to be fixed +
  2. Create a New Ticket +
+
+ + + diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevBackground.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevBackground.html new file mode 100644 index 0000000..ecc8698 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevBackground.html @@ -0,0 +1,64 @@ + + + + + +
+

+

+

Table of Contents

+
    +
  1. dfsbuild
  2. +
  3. the kernel
  4. +
  5. qemu
  6. +
  7. alternative LiveCDs
  8. +
  9. Comments
  10. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Details of the CryptoBox

+

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, apt-proxy or approx). 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. copy the exisiting config file kernel/config-2.6.11 as .config into your kernel source directory +
  3. build the debian kernel package make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image +
  4. change the kernel in the unpackdebs setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details) +

+See source:trunk/hints/kernel-build.txt for more details. +

+

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: +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomBuild.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomBuild.html new file mode 100644 index 0000000..6607d93 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomBuild.html @@ -0,0 +1,85 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevBackground, CryptoBoxDevPreparation, CryptoBoxDevWorkFlow) + +

+
+

Custom builds of the CryptoBox

+

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. change etc-local.d/dfs-cbox.conf according to your needs +

+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. change etc-local.d/cbox-dev.conf according to your needs +

SSH connection

+

+The file 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. change etc-local.d/ssh_config according to your needs +

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. change etc-local.d/qemu-ifup according to your needs +

+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomConfigure.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomConfigure.html new file mode 100644 index 0000000..9b93359 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevCustomConfigure.html @@ -0,0 +1,60 @@ + + + + + +
+

+

+

Table of Contents

+
    +
  1. Overview
  2. +
  3. Locations
  4. +
  5. Examples
  6. +
  7. Comments
  8. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Custom configuration of the CryptoBox

+

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_ipchange the default IP address of the CryptoBox +
set_default_languageset the default language +
set_default_timeoutset the default idle time for automatic unmounting +
set_hostnamechange the default hostname +
set_root_pwchange the password of root (only useful for a development CryptoBox) +
import_authorized_keysupload a ssh key for passwordless access to a development CryptoBox +
set_scan_deviceswhere to look for usable harddisks +
+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevKnownProblems.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevKnownProblems.html new file mode 100644 index 0000000..160ff25 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevKnownProblems.html @@ -0,0 +1,46 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Known problems

+

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. +

+

dfsbuild

+

can't cd to _builddir/target/var/lib/apt/lists

+

+This can be caused by a (strange) mix of debian package versions. Track this bug at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=320991. +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevPreparation.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevPreparation.html new file mode 100644 index 0000000..64be90c --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevPreparation.html @@ -0,0 +1,77 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevCustomBuild, CryptoBoxDevWorkFlow) + +

+
+

Preparations for developers

+

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 - your mileage may vary. +

+

+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. +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevValidation.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevValidation.html new file mode 100644 index 0000000..9276cd0 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevValidation.html @@ -0,0 +1,78 @@ + + + + + +
+

+

+

Table of Contents

+
    +
  1. Overview
  2. +
  3. Validate
  4. +
  5. How to create a test
  6. +
  7. Comments
  8. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Validation of the CryptoBox

+

Overview

+

+The validation feature helps you to check the programming logic of the CryptoBox. A lot of test cases are defined to verify 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] 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 the following files: +

+ +
input.curlthe configuration file for the curl request +
outputthe predicted state of the CryptoBox after the call +
descriptiona 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. +

+

+Read validation/test-cases/README for details. +

+

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

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevWorkFlow.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevWorkFlow.html new file mode 100644 index 0000000..85f73ec --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxDevWorkFlow.html @@ -0,0 +1,151 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevCustomConfigure, CryptoBoxDevPreparation) + +

+
+

Development workflow

+

Preparations

+

+You should have completed the steps described in CryptoBoxDevPreparation. +

+

Create a CryptoBox-LiveCD

+

+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 cause 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/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. +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxIntro.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxIntro.html new file mode 100644 index 0000000..89a1119 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUser.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUser.html new file mode 100644 index 0000000..17ebd31 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUser.html @@ -0,0 +1,59 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBox/de) + +

+
+

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 Kommentar-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 -- die Vorbereitung der Hardware +
  2. CryptoBoxUserConfiguration -- die Einrichtung deines neuen verschlüsselten Dateiservers +
  3. CryptoBoxUserDailyUse -- die tägliche Nutzung der CryptoBox +

+Die online-Version dieses Handbuchs befindet sich unter https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxUser/de. +

+
+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserConfiguration.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserConfiguration.html new file mode 100644 index 0000000..fccc749 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserConfiguration.html @@ -0,0 +1,109 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxUser/de) + +

+
+

Die Konfiguration deiner CryptoBox

+

Ü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 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

+

+Klicke auf Initialisierung in der Menü-Zeile. +

+

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

+

+de_init.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. Kryptographie 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: +

+

+de_config.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 +

+
+

Kommentare

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserDailyUse.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserDailyUse.html new file mode 100644 index 0000000..7647341 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserDailyUse.html @@ -0,0 +1,124 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxUser/de, CryptoBoxUserConfiguration/de) + +

+
+

Tägliche Nutzung

+

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. +

+de_mount.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. +

+

Zugriff auf die verschlüsselten Daten

+

Linux - Kommandozeile

+

+Um als normaler Nutzer auf die Crypto-Partition zuzugreifen, solltest du folgende Zeile zur /etc/fstab hinzufügen: +

+
//192.168.0.23/public   /mnt/    smbfs   defaults,noexec,noauto,user,guest      0       0
+

+Nun kannst du die Crypto-Partition nach /mnt mounten: +

+
mount /mnt/
+

+bzw. unmounten: +

+
smbumount /mnt
+

Windows

+

+Starte den Windows Explorer und wähle im Menü unter Extras die Option Netzlaufwerke verbinden aus. +

+

+de_w98_network_drive.png +

+

+Trage unter Pfad die Adresse des Verzeichnisse der CryptoBox ein, auf das du zugreifen willst (Standard: \\192.168.0.23\public). Soll die Verbindung beim jedem Start von Windows wiederhergestellt werden, aktiviere Verbindung beim Start wiederherstellen. +

+

+Nun kannst du auf das verschlüsselte Dateisystem wie jedes andere Laufwerk benutzen. +

+

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 +

+
+

Fragen und Antworten

+

Windows: Netzlaufwerk kann nicht verbunden werden

+

+de_w98_not_logged_in.png +

+

+Erscheint diese Fehlermeldung, hast du dich beim Start von Windows nicht angemeldet bzw. das Anmeldefenster mit der Taste Esc (Escape) verschwinden lassen. Klicke auf Start und Abmelden und melde dich neu an - sobald das Anmeldefenster erscheint, klicke auf OK: +

+

+de_w98_login.png +

+

Linux: only root can unmount //192.168.0.23/public

+

+Das Unmounten der Crypto-Partition mit umount funktioniert nicht. +

+

+Lösung: Verwende stattdessen: +

+
smbumount /mnt
+

Linux: Operation not permitted / smbmnt failed: 1

+

+Der Versuch die Partition als normaler Nutzer zu mounten schlägt fehl: +

+
cannot mount on /mnt/: Operation not permitted
+smbmnt failed: 1
+

+Lösung: Das Mount-Verzeichnis muss dem selben Nutzer gehören, der den mount-Befehl ausführt (bspw. phil): +

+
chown phil. /mnt
+

+

Kommentare

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserGettingStarted.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserGettingStarted.html new file mode 100644 index 0000000..3c74e14 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/de/CryptoBoxUserGettingStarted.html @@ -0,0 +1,57 @@ + + + + + +
+

+

+

Table of Contents

+
    +
  1. Erste Schritte
  2. +
  3. Hinweise / Fallstricke
  4. +
  5. Kommentare
  6. +
+
+ +

+

+Navigation: ( CryptoBoxUser/de, CryptoBoxUserConfiguration/de) + +

+
+

Wie geht es los

+

Erste Schritte

+

+Die CryptoBox ist schnell 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. Lade die aktuellste Version der CryptoBox als iso-image herunter und brenne dieses auf einen CD-Rohling. +
  3. Konfiguriere den PC, so dass er vom CD Laufwerk bootet. Dazu solltest du im BIOS als "boot device" "CD-ROM" einstellen. +
  4. Pack die frisch gebrannte CryptoBox CD ins Laufwerk und starte den Computer. +

+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 CryptoBoxUserConfiguration 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. +

+

Kommentare

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBox.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBox.html new file mode 100644 index 0000000..951194d --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBox.html @@ -0,0 +1,81 @@ + + + + + +
+

+

+ +

+

The CryptoBox

+

+deutschsprachige Version +

+

News

+

+The first release of the CryptoBox is available at Codecoop.org. +

+

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.
+The CryptoBox is fully controllable via your web browser. Have a look at the ScreenShots. +

+ +
Specs +
systemDebian/Linux based Live-CD +
needed hardware "outdated" PC (i386 p1-100 32MB RAM minimum) +
supported clients*nix; *bsd; Windows; Mac OS +
fileserversamba (network shares) +
userinterfacefully remote controlled via webbrowser +
encryptionAES via device-mapper +
+

+The web interface of the CryptoBox supports the following languages: +

+
  • English +
  • German +
  • Slovenian +

+We are looking for more translations. Just take a look at the "README"-file in our language section. +There you can find further instructions if you'd like to contribute. +

+

Download

+

Support

+
  • The user documentation has its home at CryptoBoxUser. +
  • Open up a ticket for your feature requests and bugs. +
  • Write us an email: cryptobox[at]systemausfall.org +

Development

+

+Take a look at the developer's documentation at CryptoBoxDev for more information. +

+

Acknowledgements

+

+

  • Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation +
  • http://codecoop.org - webspace +
+

+

Legal stuff

+
  1. All scripts are GPL licensed +
  2. The documentation is licensed under a Creative Commons License +
  3. We do not take any warranty for the functionality or usability of the CryptoBox. +

+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDev.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDev.html new file mode 100644 index 0000000..82edf19 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDev.html @@ -0,0 +1,93 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBox/de, CryptoBox/en) + +

+
+

Development documentation

+

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

+

Source

+

+You may browse the source code. +

+

Contact

+

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

+

Bug reports

+

+If you think you found a bug or you get an error message, please help us to fix the problem and file a ticket (a bug report). Follow these steps: +

+
  1. Have a look at Open bugs that need to be fixed +
  2. Create a New Ticket +
+
+ + + diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevBackground.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevBackground.html new file mode 100644 index 0000000..9e8f3e4 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevBackground.html @@ -0,0 +1,64 @@ + + + + + +
+

+

+

Table of Contents

+
    +
  1. dfsbuild
  2. +
  3. the kernel
  4. +
  5. qemu
  6. +
  7. alternative LiveCDs
  8. +
  9. Comments
  10. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Details of the CryptoBox

+

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, apt-proxy or approx). 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. copy the exisiting config file kernel/config-2.6.11 as .config into your kernel source directory +
  3. build the debian kernel package make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image +
  4. change the kernel in the unpackdebs setting in dfs-cbox.conf (see CryptoBoxDevCustomBuild for details) +

+See source:trunk/hints/kernel-build.txt for more details. +

+

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: +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomBuild.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomBuild.html new file mode 100644 index 0000000..b975168 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomBuild.html @@ -0,0 +1,85 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevBackground, CryptoBoxDevPreparation, CryptoBoxDevWorkFlow) + +

+
+

Custom builds of the CryptoBox

+

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. change etc-local.d/dfs-cbox.conf according to your needs +

+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. change etc-local.d/cbox-dev.conf according to your needs +

SSH connection

+

+The file 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. change etc-local.d/ssh_config according to your needs +

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. change etc-local.d/qemu-ifup according to your needs +

+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomConfigure.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomConfigure.html new file mode 100644 index 0000000..c823caf --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevCustomConfigure.html @@ -0,0 +1,60 @@ + + + + + +
+

+

+

Table of Contents

+
    +
  1. Overview
  2. +
  3. Locations
  4. +
  5. Examples
  6. +
  7. Comments
  8. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Custom configuration of the CryptoBox

+

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_ipchange the default IP address of the CryptoBox +
set_default_languageset the default language +
set_default_timeoutset the default idle time for automatic unmounting +
set_hostnamechange the default hostname +
set_root_pwchange the password of root (only useful for a development CryptoBox) +
import_authorized_keysupload a ssh key for passwordless access to a development CryptoBox +
set_scan_deviceswhere to look for usable harddisks +
+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevKnownProblems.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevKnownProblems.html new file mode 100644 index 0000000..b958b3d --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevKnownProblems.html @@ -0,0 +1,46 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Known problems

+

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. +

+

dfsbuild

+

can't cd to _builddir/target/var/lib/apt/lists

+

+This can be caused by a (strange) mix of debian package versions. Track this bug at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=320991. +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevPreparation.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevPreparation.html new file mode 100644 index 0000000..e8a78d7 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevPreparation.html @@ -0,0 +1,77 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevCustomBuild, CryptoBoxDevWorkFlow) + +

+
+

Preparations for developers

+

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 - your mileage may vary. +

+

+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. +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevValidation.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevValidation.html new file mode 100644 index 0000000..2511b22 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevValidation.html @@ -0,0 +1,78 @@ + + + + + +
+

+

+

Table of Contents

+
    +
  1. Overview
  2. +
  3. Validate
  4. +
  5. How to create a test
  6. +
  7. Comments
  8. +
+
+ +

+

+Navigation: ( CryptoBoxDev) + +

+
+

Validation of the CryptoBox

+

Overview

+

+The validation feature helps you to check the programming logic of the CryptoBox. A lot of test cases are defined to verify 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] 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 the following files: +

+ +
input.curlthe configuration file for the curl request +
outputthe predicted state of the CryptoBox after the call +
descriptiona 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. +

+

+Read validation/test-cases/README for details. +

+

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

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevWorkFlow.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevWorkFlow.html new file mode 100644 index 0000000..f3c3825 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevWorkFlow.html @@ -0,0 +1,151 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxDev, CryptoBoxDevCustomConfigure, CryptoBoxDevPreparation) + +

+
+

Development workflow

+

Preparations

+

+You should have completed the steps described in CryptoBoxDevPreparation. +

+

Create a CryptoBox-LiveCD

+

+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 cause 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/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. +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxIntro.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxIntro.html new file mode 100644 index 0000000..c6f5a08 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUser.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUser.html new file mode 100644 index 0000000..a7e95d7 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUser.html @@ -0,0 +1,60 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBox/en, CryptoBoxUser) + +

+
+

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 you perceive a description as 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 -- first steps to get the Cryptobox up and running +
  2. CryptoBoxUserConfiguration -- configure the details of your new encrypted fileserver +
  3. CryptoBoxUserDailyUse -- daily use of your CryptoBox +

+The online version of this manual can be found at https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxUser/en. +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserConfiguration.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserConfiguration.html new file mode 100644 index 0000000..88236ba --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserConfiguration.html @@ -0,0 +1,103 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxUser/en, CryptoBoxUserConfiguration) + +

+
+

Configuration of your CryptoBox

+

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 are 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 replacing 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. +

+

+Do not forget to read the Hints / Caveats section too. +

+

Foreword

+

+Okay, you finished the CryptoBoxUserGettingStarted 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 +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserDailyUse.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserDailyUse.html new file mode 100644 index 0000000..1520f34 --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserDailyUse.html @@ -0,0 +1,123 @@ + + + + + +
+

+

+ +

+

+Navigation: ( CryptoBoxUser/en, CryptoBoxUserConfiguration/en, CryptoBoxUserDailyUse) + +

+
+

Daily use of the CryptoBox

+

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. +

+

Use your encrypted data

+

Linux - command line

+

+To use the encrypted data partition with regular user rights add the line below to your /etc/fstab: +

+
//192.168.0.23/public   /mnt/    smbfs   defaults,noexec,noauto,user,guest      0       0
+

+Now you can mount the encrypted data partition to /mnt: +

+
mount /mnt
+

+resp. unmount: +

+
smbumount /mnt
+

Windows

+

+Run the the Windows Explorer and choose Map network drive in the Tools menu: +

+
  • select a drive of your choice +
  • enter \\192.168.0.23\public (default setting) as target +

+en_w98_network_drive.png +

+

+Now you can use your encrypted data 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 +

+
+

Questions and Answers

+

Windows: network drive cannot be mapped

+

+en_w98_not_logged_in.png +

+

+This error message may appear, if you did not login during the booting of you windows machine (or you closed the login dialog by pressing ESC). +

+

+Solution: Choose Logout in the Start menu and login again. +

+

+en_w98_login.png +

+

Linux: only root can unmount //192.168.0.23/public

+

+You can't unmount the partition with umount. +

+

+Solution: Use smbumount instead: +

+
smbumount /mnt
+

Linux: Operation not permitted / smbmnt failed: 1

+

+The attempt to mount the partition as a regular user ends up with: +

+
cannot mount on /mnt/: Operation not permitted
+smbmnt failed: 1
+

+Solution: Set the directory's owner to the same user that mounts the share (e.g. phil): +

+
chown phil. /mnt
+

+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserGettingStarted.html b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserGettingStarted.html new file mode 100644 index 0000000..0ee4f8e --- /dev/null +++ b/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxUserGettingStarted.html @@ -0,0 +1,64 @@ + + + + + +
+

+

+

Table of Contents

+
    +
  1. First Steps
  2. +
  3. Hints / Caveats
  4. +
  5. Comments
  6. +
+
+ +

+

+Navigation: ( CryptoBoxUser/en, CryptoBoxUserConfiguration/en, CryptoBoxUserGettingStarted) + +

+
+

Getting started

+

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. Then download the latest version of the CryptoBox as an iso-image and burn this image onto a CD. +
  3. 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. +
  4. Insert the shiny new CryptoBox CD you've just burned and start the computer. +

+ +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. +

+

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 current disk sizes! +
  • 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 +

+
+

Comments

+

+ +

+
diff --git a/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/confirm_text.html b/v0.2.1/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.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw.html b/v0.2.1/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.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/crypto_pw_repeat.html b/v0.2.1/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.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw.html b/v0.2.1/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.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/new_admin_pw_repeat.html b/v0.2.1/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.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/prove_admin_pw.html b/v0.2.1/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.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_ip_address.html b/v0.2.1/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.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_language.html b/v0.2.1/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.1/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.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/hints/set_timeout.html b/v0.2.1/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.1/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.1/cbox-tree.d/var/www/cgi-bin/cryptobox.pl b/v0.2.1/cbox-tree.d/var/www/cgi-bin/cryptobox.pl new file mode 100755 index 0000000..a7bc184 --- /dev/null +++ b/v0.2.1/cbox-tree.d/var/www/cgi-bin/cryptobox.pl @@ -0,0 +1,600 @@ +#!/usr/bin/perl +# $Id$ +# +# 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.1/cbox-tree.d/var/www/cryptobox b/v0.2.1/cbox-tree.d/var/www/cryptobox new file mode 120000 index 0000000..f2f2b71 --- /dev/null +++ b/v0.2.1/cbox-tree.d/var/www/cryptobox @@ -0,0 +1 @@ +cgi-bin/cryptobox.pl \ No newline at end of file diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/antlogo100px.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/antlogo100px.png new file mode 100644 index 0000000..4347cf2 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/antlogo100px.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/backg.gif b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/backg.gif new file mode 100644 index 0000000..8e37ccc Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/backg.gif differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/list.gif b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/list.gif new file mode 100644 index 0000000..fe15cc9 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/list.gif differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_config.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_config.png new file mode 100644 index 0000000..3dc3228 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_config.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_init.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_init.png new file mode 100644 index 0000000..abb7b2a Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_init.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_mount.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_mount.png new file mode 100644 index 0000000..37920b2 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_mount.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_login.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_login.png new file mode 100644 index 0000000..f7cef41 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_login.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_network_drive.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_network_drive.png new file mode 100644 index 0000000..da72c6f Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_network_drive.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_not_logged_in.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_not_logged_in.png new file mode 100644 index 0000000..33a6766 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/de_w98_not_logged_in.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_config.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_config.png new file mode 100644 index 0000000..e74b416 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_config.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_mount.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_mount.png new file mode 100644 index 0000000..eca7049 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_mount.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_login.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_login.png new file mode 100644 index 0000000..9ff45fb Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_login.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_network_drive.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_network_drive.png new file mode 100644 index 0000000..d1e89d7 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_network_drive.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_not_logged_in.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_not_logged_in.png new file mode 100644 index 0000000..adb129a Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/screenshots/en_w98_not_logged_in.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/smile.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/smile.png new file mode 100644 index 0000000..b51b3ff Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/smile.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/smile4.png b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/smile4.png new file mode 100644 index 0000000..f8f5b52 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/smile4.png differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox-img/somerights20.gif b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/somerights20.gif new file mode 100644 index 0000000..0860fa9 Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/cryptobox-img/somerights20.gif differ diff --git a/v0.2.1/cbox-tree.d/var/www/cryptobox.css b/v0.2.1/cbox-tree.d/var/www/cryptobox.css new file mode 100644 index 0000000..0dfc975 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/var/www/errors/err404.html b/v0.2.1/cbox-tree.d/var/www/errors/err404.html new file mode 100644 index 0000000..ca6ceb2 --- /dev/null +++ b/v0.2.1/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.1/cbox-tree.d/var/www/favicon.ico b/v0.2.1/cbox-tree.d/var/www/favicon.ico new file mode 100644 index 0000000..85660ef Binary files /dev/null and b/v0.2.1/cbox-tree.d/var/www/favicon.ico differ diff --git a/v0.2.1/cbox-tree.d/var/www/index.html b/v0.2.1/cbox-tree.d/var/www/index.html new file mode 120000 index 0000000..f2f2b71 --- /dev/null +++ b/v0.2.1/cbox-tree.d/var/www/index.html @@ -0,0 +1 @@ +cgi-bin/cryptobox.pl \ No newline at end of file diff --git a/v0.2.1/configure-examples.d/README b/v0.2.1/configure-examples.d/README new file mode 100644 index 0000000..fa21f7c --- /dev/null +++ b/v0.2.1/configure-examples.d/README @@ -0,0 +1,35 @@ +1) Overview +the files in this directory are examples for specific hook scripts to change the +configuration of the box + +2) How to use these scripts +Copy the scripts, you would like to use into 'configure-local.d'. +They will be sourced in alphabetic order AFTER the default configuration of the +cryptobox. + +3) The examples + +set_root_pw + - replace the empty root password (the default) with a choosen password + - useful if your development cryptobox: + - is located in an insecure environment + - or your development team is geographically distributed, so the + cryptobox for testing has to be publicly available + +import_authorized_keys + - create a new rsa key (etc-local.d/id_rsa) and copy the public + key to the image directory + - this is useful, if you secured the development cryptobox with a + password (see 'set_root_pw') + +set_default_??? + - change the default setting for: + - IP + - language + - or idle timeout + +set_hostname + - change the default hostname ("cryptobox") + +set_scan_devices + - change the default selection of devices, that can be used as the crypto harddisk diff --git a/v0.2.1/configure-examples.d/import_authorized_keys b/v0.2.1/configure-examples.d/import_authorized_keys new file mode 100644 index 0000000..17cba07 --- /dev/null +++ b/v0.2.1/configure-examples.d/import_authorized_keys @@ -0,0 +1,19 @@ +# import a public rsa key into the cryptobox for ssh authentication +# +# see README in configure-examples.d for details +# + +SSH_KEY_FILE="$LOCALCONF_DIR/id_rsa" + +# create a rsa key if it does not yet exist +if [ ! -e "$SSH_KEY_FILE" ] + then echo "Creating ssh key ($SSH_KEY_FILE) ..." + mkdir -p $(dirname "$SSH_KEY_FILE") + ssh-keygen -t rsa -b 1024 -N '' -q -f "$SSH_KEY_FILE" + fi + +# copy new public ssh key to ~/.ssh/authorized_keys on cryptobox +echo "Copying local public ssh key file to the box ..." +mkdir -p "$IMAGE_DIR/opt/dfsbuild/runtimerd/root/.ssh" +cp "${SSH_KEY_FILE}.pub" "$IMAGE_DIR/opt/dfsbuild/runtimerd/root/.ssh/authorized_keys" + diff --git a/v0.2.1/configure-examples.d/set_default_ip b/v0.2.1/configure-examples.d/set_default_ip new file mode 100644 index 0000000..73fe2aa --- /dev/null +++ b/v0.2.1/configure-examples.d/set_default_ip @@ -0,0 +1,3 @@ +# set the default IP of the cryptobox + +echo -n "192.168.0.23" >"$IMAGE_DIR"/usr/share/cryptobox/defaults/ip diff --git a/v0.2.1/configure-examples.d/set_default_language b/v0.2.1/configure-examples.d/set_default_language new file mode 100644 index 0000000..b398a09 --- /dev/null +++ b/v0.2.1/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.1/configure-examples.d/set_default_timeout b/v0.2.1/configure-examples.d/set_default_timeout new file mode 100644 index 0000000..7c5c495 --- /dev/null +++ b/v0.2.1/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.1/configure-examples.d/set_hostname b/v0.2.1/configure-examples.d/set_hostname new file mode 100644 index 0000000..66f0c09 --- /dev/null +++ b/v0.2.1/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.1/configure-examples.d/set_root_pw b/v0.2.1/configure-examples.d/set_root_pw new file mode 100644 index 0000000..432898f --- /dev/null +++ b/v0.2.1/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.1/configure-examples.d/set_scan_devices b/v0.2.1/configure-examples.d/set_scan_devices new file mode 100644 index 0000000..93f509a --- /dev/null +++ b/v0.2.1/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.1/cover/antlogo-big.jpg b/v0.2.1/cover/antlogo-big.jpg new file mode 100644 index 0000000..986cc51 Binary files /dev/null and b/v0.2.1/cover/antlogo-big.jpg differ diff --git a/v0.2.1/cover/antlogo-big.png b/v0.2.1/cover/antlogo-big.png new file mode 100644 index 0000000..e716c77 Binary files /dev/null and b/v0.2.1/cover/antlogo-big.png differ diff --git a/v0.2.1/cover/antlogo-small.png b/v0.2.1/cover/antlogo-small.png new file mode 100644 index 0000000..b9fd8ff Binary files /dev/null and b/v0.2.1/cover/antlogo-small.png differ diff --git a/v0.2.1/cover/cover_de.pdf b/v0.2.1/cover/cover_de.pdf new file mode 100644 index 0000000..9bf4437 --- /dev/null +++ b/v0.2.1/cover/cover_de.pdf @@ -0,0 +1,1048 @@ +%PDF-1.4 +% +1 0 obj +<< /Length 2 0 R +>> +stream +0 w +q 0 -0.4 842 595.4 re W* n +q 345.9 0 0 343 73.7 130.2 cm + /Im3 Do Q +q 262.5 0 0 312.7 462.7 145.3 cm + /Im4 Do Q +q 0 0 0 rg +BT +82.3 448.9 Td /F1 12 Tf <44696520> Tj +ET +Q +q 0 0 0 rg +BT +111.1 448.9 Td /F2 12 Tf <43727970746F426F78> Tj +ET +Q +q 0 0 0 rg +BT +175.9 448.9 Td /F1 12 Tf <206973742065696E6520626F6F7466E4686967652043442C20646965> Tj +ET +Q +q 0 0 0 rg +BT +82.3 435.7 Td /F1 12 Tf <6A6564656E20526563686E657220696E2077656E6967656E204D696E7574656E20696E20 +65696E656E> Tj +ET +Q +q 0 0 0 rg +BT +82.3 422.5 Td /F1 12 Tf <7665727363686CFC7373656C6E64656E2044617465697365727665722076657277616E64 +656C742E> Tj +ET +Q +q 0 0 0 rg +BT +82.3 409.3 Td /F1 12 Tf <536F6D6974206B616E6E7374206475206465696E6520507269766174737068E472652065 +6666656B746976> Tj +ET +Q +q 0 0 0 rg +BT +82.3 396.1 Td /F1 12 Tf <766F7220646572204E657567696572646520416E646572657220736368FC747A656E2E> Tj +ET +Q +q 0 0 0 rg +BT +82.3 369.7 Td /F3 12 Tf <496E68616C743A> Tj +ET +Q +q 0 0 0 rg +BT +82.3 356.5 Td /F4 9 Tf <01> Tj +ET +Q +q 0 0 0 rg +BT +96.4 356.5 Td /F1 12 Tf <65696E652044656269616E2D6261736965727465204C696E75782D4C6976654344> Tj +ET +Q +q 0 0 0 rg +BT +82.3 343.3 Td /F4 9 Tf <01> Tj +ET +Q +q 0 0 0 rg +BT +96.4 343.3 Td /F1 12 Tf <65696E206B6F6D666F727461626C6573205765622D496E74657266616365> Tj +ET +Q +q 0 0 0 rg +BT +82.3 330.1 Td /F4 9 Tf <01> Tj +ET +Q +q 0 0 0 rg +BT +96.4 330.1 Td /F1 12 Tf <4145532D5665727363686CFC7373656C756E6720283235362042697429> Tj +ET +Q +q 0 0 0 rg +BT +82.3 316.9 Td /F4 9 Tf <01> Tj +ET +Q +q 0 0 0 rg +BT +96.4 316.9 Td /F1 12 Tf <65696E204E75747A657268616E6462756368> Tj +ET +Q +q 0 0 0 rg +BT +82.3 294.2 Td /F5 10 Tf <5B> Tj +6 0 Td <44> Tj +6 0 Td <69> Tj +6 0 Td <65> Tj +6 0 Td <20> Tj +6 0 Td <43> Tj +6 0 Td <72> Tj +6 0 Td <79> Tj +6 0 Td <70> Tj +6 0 Td <74> Tj +6 0 Td <6F> Tj +6 0 Td <42> Tj +6 0 Td <6F> Tj +6 0 Td <78> Tj +6 0 Td <20> Tj +6 0 Td <6C> Tj +5.9 0 Td Tj +6.1 0 Td <73> Tj +6 0 Td <73> Tj +6 0 Td <74> Tj +6 0 Td <20> Tj +6 0 Td <73> Tj +6 0 Td <69> Tj +6 0 Td <63> Tj +6 0 Td <68> Tj +6 0 Td <20> Tj +6 0 Td <7A> Tj +6 0 Td <75> Tj +6 0 Td <73> Tj +6 0 Td <61> Tj +6 0 Td <6D> Tj +6 0 Td <6D> Tj +6 0 Td <65> Tj +5.9 0 Td <6E> Tj +6.1 0 Td <20> Tj +6 0 Td <6D> Tj +6 0 Td <69> Tj +6 0 Td <74> Tj +6 0 Td <20> Tj +6 0 Td <6A> Tj +6 0 Td <65> Tj +6 0 Td <64> Tj +6 0 Td <65> Tj +6 0 Td <6D> Tj +6 0 Td <20> Tj +6 0 Td <57> Tj +6 0 Td <69> Tj +6 0 Td <6E> Tj +6 0 Td <64> Tj +5.9 0 Td <6F> Tj +6.1 0 Td <77> Tj +6 0 Td <73> Tj +6 0 Td <2D> Tj +6 0 Td <2C> Tj +ET +Q +q 0 0 0 rg +BT +82.3 283.2 Td /F5 10 Tf <4D> Tj +6 0 Td <61> Tj +6 0 Td <63> Tj +6 0 Td <2D> Tj +6 0 Td <20> Tj +6 0 Td <6F> Tj +6 0 Td <64> Tj +6 0 Td <65> Tj +6 0 Td <72> Tj +6 0 Td <20> Tj +6 0 Td <2A> Tj +6 0 Td <6E> Tj +6 0 Td <69> Tj +6 0 Td <78> Tj +6 0 Td <2D> Tj +6 0 Td <52> Tj +5.9 0 Td <65> Tj +6.1 0 Td <63> Tj +6 0 Td <68> Tj +6 0 Td <6E> Tj +6 0 Td <65> Tj +6 0 Td <72> Tj +6 0 Td <20> Tj +6 0 Td <76> Tj +6 0 Td <65> Tj +6 0 Td <72> Tj +6 0 Td <77> Tj +6 0 Td <65> Tj +6 0 Td <6E> Tj +6 0 Td <64> Tj +6 0 Td <65> Tj +6 0 Td <6E> Tj +6 0 Td <20> Tj +6 0 Td <75> Tj +6 0 Td <6E> Tj +6 0 Td <64> Tj +6 0 Td <20> Tj +6 0 Td <65> Tj +6 0 Td <72> Tj +6 0 Td <66> Tj +6 0 Td <6F> Tj +6 0 Td <72> Tj +6 0 Td <64> Tj +6 0 Td <65> Tj +6 0 Td <72> Tj +6 0 Td <74> Tj +ET +Q +q 0 0 0 rg +BT +82.3 272.1 Td /F5 10 Tf <6B> Tj +6 0 Td <65> Tj +6 0 Td <69> Tj +6 0 Td <6E> Tj +6 0 Td <65> Tj +6 0 Td <72> Tj +6 0 Td <6C> Tj +6 0 Td <65> Tj +6 0 Td <69> Tj +6 0 Td <20> Tj +6 0 Td <74> Tj +6 0 Td <65> Tj +6 0 Td <63> Tj +6 0 Td <68> Tj +6 0 Td <6E> Tj +6 0 Td <69> Tj +5.9 0 Td <73> Tj +6.1 0 Td <63> Tj +6 0 Td <68> Tj +6 0 Td <65> Tj +6 0 Td <73> Tj +6 0 Td <20> Tj +6 0 Td <57> Tj +6 0 Td <69> Tj +6 0 Td <73> Tj +6 0 Td <73> Tj +6 0 Td <65> Tj +6 0 Td <6E> Tj +6 0 Td <2E> Tj +6 0 Td <5D> Tj +ET +Q +q 0 0 0 rg +BT +82.3 247.1 Td /F1 11 Tf <44> Tj +6.6 0 Td <75> Tj +6.6 0 Td <20> Tj +6.6 0 Td <6B> Tj +6.6 0 Td <61> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <73> Tj +6.6 0 Td <74> Tj +6.6 0 Td <20> Tj +6.6 0 Td <6D> Tj +6.6 0 Td <69> Tj +6.6 0 Td <74> Tj +6.6 0 Td <20> Tj +6.6 0 Td <64> Tj +6.6 0 Td <69> Tj +6.6 0 Td <65> Tj +6.5 0 Td <73> Tj +6.6 0 Td <65> Tj +6.6 0 Td <72> Tj +6.7 0 Td <20> Tj +6.6 0 Td <4C> Tj +6.6 0 Td <69> Tj +6.6 0 Td <76> Tj +6.6 0 Td <65> Tj +6.6 0 Td <2D> Tj +6.6 0 Td <43> Tj +6.6 0 Td <44> Tj +6.6 0 Td <20> Tj +6.6 0 Td <66> Tj +6.6 0 Td <61> Tj +6.6 0 Td <73> Tj +6.6 0 Td <74> Tj +6.6 0 Td <20> Tj +6.6 0 Td <61> Tj +6.6 0 Td <6C> Tj +6.6 0 Td <6C> Tj +6.6 0 Td <65> Tj +6.6 0 Td <73> Tj +6.6 0 Td <20> Tj +6.6 0 Td <6D> Tj +6.6 0 Td <61> Tj +6.6 0 Td <63> Tj +6.6 0 Td <68> Tj +6.6 0 Td <65> Tj +6.6 0 Td <6E> Tj +ET +Q +q 0 0 0 rg +BT +82.3 234.8 Td /F1 11 Tf <28> Tj +6.6 0 Td <69> Tj +6.5 0 Td <6E> Tj +6.6 0 Td <73> Tj +6.6 0 Td <62> Tj +6.6 0 Td <65> Tj +6.6 0 Td <73> Tj +6.6 0 Td <6F> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <64> Tj +6.6 0 Td <65> Tj +6.6 0 Td <72> Tj +6.6 0 Td <65> Tj +6.6 0 Td <3A> Tj +6.7 0 Td <20> Tj +6.6 0 Td <20> Tj +6.6 0 Td <6B> Tj +6.5 0 Td <6F> Tj +6.6 0 Td <70> Tj +6.6 0 Td <69> Tj +6.6 0 Td <65> Tj +6.6 0 Td <72> Tj +6.6 0 Td <65> Tj +6.6 0 Td <6E> Tj +6.7 0 Td <20> Tj +6.6 0 Td <75> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <64> Tj +6.6 0 Td <20> Tj +6.6 0 Td <77> Tj +6.6 0 Td <65> Tj +6.6 0 Td <69> Tj +6.6 0 Td <74> Tj +6.6 0 Td <65> Tj +6.5 0 Td <72> Tj +6.6 0 Td <67> Tj +6.6 0 Td <65> Tj +6.6 0 Td <62> Tj +6.6 0 Td <65> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <29> Tj +6.6 0 Td <2C> Tj +ET +Q +q 0 0 0 rg +BT +82.3 222.6 Td /F1 11 Tf <73> Tj +6.6 0 Td <6F> Tj +6.5 0 Td <6C> Tj +6.6 0 Td <61> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <67> Tj +6.6 0 Td <65> Tj +6.7 0 Td <20> Tj +6.6 0 Td <64> Tj +6.6 0 Td <75> Tj +6.6 0 Td <20> Tj +6.6 0 Td <73> Tj +6.6 0 Td <69> Tj +6.6 0 Td <65> Tj +6.6 0 Td <20> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <69> Tj +6.5 0 Td <63> Tj +6.6 0 Td <68> Tj +6.6 0 Td <74> Tj +6.6 0 Td <2D> Tj +6.7 0 Td <70> Tj +6.6 0 Td <72> Tj +6.6 0 Td <6F> Tj +6.6 0 Td <66> Tj +6.6 0 Td <69> Tj +6.6 0 Td <74> Tj +6.6 0 Td <6F> Tj +6.6 0 Td <72> Tj +6.6 0 Td <69> Tj +6.6 0 Td <65> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <74> Tj +6.6 0 Td <69> Tj +6.5 0 Td <65> Tj +6.6 0 Td <72> Tj +6.6 0 Td <74> Tj +6.7 0 Td <20> Tj +6.6 0 Td <76> Tj +6.6 0 Td <65> Tj +6.6 0 Td <72> Tj +6.6 0 Td <77> Tj +6.6 0 Td <65> Tj +6.6 0 Td <6E> Tj +6.6 0 Td <64> Tj +6.6 0 Td <65> Tj +6.6 0 Td <73> Tj +6.6 0 Td <74> Tj +6.6 0 Td <2E> Tj +ET +Q +q 0 0 0 rg +BT +82.3 197.3 Td /F1 12 Tf <56657273696F6E3A20302E322E31> Tj +ET +Q +q 0 0 0 rg +BT +82.3 170.9 Td /F1 12 Tf <486F6D65706167653A20687474703A2F2F63727970746F626F782E6F7267> Tj +ET +Q +q 0 0 0 rg +BT +82.3 146.9 Td /F1 9 Tf <65727374656C6C7420766F6E20> Tj +ET +Q +q 0 0 0 rg +BT +152.5 146.9 Td /F5 9 Tf <73656E73652E6C6162> Tj +ET +Q +q 0 0 0 rg +BT +201.1 146.9 Td /F1 9 Tf <20962068747470733A2F2F73797374656D61757366616C6C2E6F7267> Tj +ET +Q +0 0 0 rg +73.7 130.1 0.1 343 re f* +73.7 473 694.5 0.1 re f* +73.7 130.1 694.5 0.1 re f* +768.2 130.1 0.1 343 re f* +Q endstream +endobj + +2 0 obj + 7010 +endobj + +3 0 obj +<< /Type /XObject + /Subtype /Image + /Width 1024 + /Height 768 + /BitsPerComponent 8 + /Length 5 0 R + /Filter /FlateDecode + /ColorSpace [ /Indexed /DeviceRGB 255 < +000000 010101 020202 030303 040404 050505 060606 070707 +080808 090909 0A0A0A 0B0B0B 0C0C0C 0D0D0D 0E0E0E 0F0F0F +101010 111111 121212 131313 141414 151515 161616 171717 +181818 191919 1A1A1A 1B1B1B 1C1C1C 1D1D1D 1E1E1E 1F1F1F +202020 212121 222222 232323 242424 252525 262626 272727 +282828 292929 2A2A2A 2B2B2B 2C2C2C 2D2D2D 2E2E2E 2F2F2F +303030 313131 323232 333333 343434 353535 363636 373737 +383838 393939 3A3A3A 3B3B3B 3C3C3C 3D3D3D 3E3E3E 3F3F3F +404040 414141 424242 434343 444444 454545 464646 474747 +484848 494949 4A4A4A 4B4B4B 4C4C4C 4D4D4D 4E4E4E 4F4F4F +505050 515151 525252 535353 545454 555555 565656 575757 +585858 595959 5A5A5A 5B5B5B 5C5C5C 5D5D5D 5E5E5E 5F5F5F +606060 616161 626262 636363 646464 656565 666666 676767 +686868 696969 6A6A6A 6B6B6B 6C6C6C 6D6D6D 6E6E6E 6F6F6F +707070 717171 727272 737373 747474 757575 767676 777777 +787878 797979 7A7A7A 7B7B7B 7C7C7C 7D7D7D 7E7E7E 7F7F7F +808080 818181 828282 838383 848484 858585 868686 878787 +888888 898989 8A8A8A 8B8B8B 8C8C8C 8D8D8D 8E8E8E 8F8F8F +909090 919191 929292 939393 949494 959595 969696 979797 +989898 999999 9A9A9A 9B9B9B 9C9C9C 9D9D9D 9E9E9E 9F9F9F +A0A0A0 A1A1A1 A2A2A2 A3A3A3 A4A4A4 A5A5A5 A6A6A6 A7A7A7 +A8A8A8 A9A9A9 AAAAAA ABABAB ACACAC ADADAD AEAEAE AFAFAF +B0B0B0 B1B1B1 B2B2B2 B3B3B3 B4B4B4 B5B5B5 B6B6B6 B7B7B7 +B8B8B8 B9B9B9 BABABA BBBBBB BCBCBC BDBDBD BEBEBE BFBFBF +C0C0C0 C1C1C1 C2C2C2 C3C3C3 C4C4C4 C5C5C5 C6C6C6 C7C7C7 +C8C8C8 C9C9C9 CACACA CBCBCB CCCCCC CDCDCD CECECE CFCFCF +D0D0D0 D1D1D1 D2D2D2 D3D3D3 D4D4D4 D5D5D5 D6D6D6 D7D7D7 +D8D8D8 D9D9D9 DADADA DBDBDB DCDCDC DDDDDD DEDEDE DFDFDF +E0E0E0 E1E1E1 E2E2E2 E3E3E3 E4E4E4 E5E5E5 E6E6E6 E7E7E7 +E8E8E8 E9E9E9 EAEAEA EBEBEB ECECEC EDEDED EEEEEE EFEFEF +F0F0F0 F1F1F1 F2F2F2 F3F3F3 F4F4F4 F5F5F5 F6F6F6 F7F7F7 +F8F8F8 F9F9F9 FAFAFA FBFBFB FCFCFC FDFDFD FEFEFE FFFFFF +> ] +>> +stream +x̽{9k73==NjyYEDщt@"&dfQԢKF\^SZm'ykZjmuUZOt:vl4+J9iһR 5w F6L(njcO-~ +o`77;";w0HyJ 5m$` poۏ +{b6J;K/ՀF^qOoJQ[ïzmRԦHK>a)Lgh?ORRAH Ed" }TU^KTMe>*HmǬM&çzPo=# ~FOv{zèk],G^bF_a~D0/q-*"k=0=@U]D @2OhR 5lZ@Dn1x v?7i7䅟z%6hfA$У0ED]? ~|]zKF+Ea}lcP~CNpIWS.Q۟tS/{Ccu#CϥhM|zO)_+&C; +CUPrQ)FLƻ@;=ܢ~R"0{i`ϣI**pf!]~<Π G~?z;:k* (/MʿpB5jhNz9Vv~ OOHjN0x߁|7p@#'^N&< +1Xa_։o2EiS쇂?>$3~%O?X??>1UO T?qD~m4wv@1 +*h(wT]zoF?}qgl. pџ+~v$;oszs"*o YP?\%jugD㎐`5QŦ?1t?/VQP+@/v !g/%mfR 0an(Nn-\e0}}!.UPJbS' ~]@I ۳< h bhxM^M"ݷnE?ľ`IP'0^U!?/F3~u{̟Jv3id`t=QC}ohښ +RDho"#X5<;y8v@A{yv5'iYU@PD62*~:{O4'W.;Vv?'ӟos2៾~G`Dvb6}w:QVH:`_@@ie'_c?]nXӛ[b^pw7aEӛF.O&N}fzQ'ui'qZ`"cހ?i3<3يFDhl5@Kl'1N  !a#"sO;U_ 1Fo7#;y+P|8'l]D{|,{`opgCG +`|G(.+¼_> }__w~h9?RO } }C |˽Jv;f=3Qi?ϋ~Lw_wO#Uʽ- } #!QzW8"%h(އ@zFpYt>}ۖ JZlq?b 3ljvMthGE +L?9fvh^.<LyA`4:ʕ|!u{ J6۳-A Ϫ6 'Sg2fD)PD=M T p% +?߲~++,G!|G"z-8rO|n1S9dg*B嫸%:LCяpD=!}go_, ^Q(hΒFO dϙ\ _7<ѮQRu. @g1~gFJ߉?y/;NNzC Ɂ{'X6AM?O & +M ր Pt 9^WowC6/wvD gps,Qli;zY2@'Wa]zETm]lC/K +/PPc?`쎓 POFan\m&&ۀNP3|?~cM.ߝiȿvU^9t%I&}h { |y@{?ӴÌx,bF !Of\hp$CVʌ P??g&b?e\8")?#wS +6luboWLQ8WZr0.XbݜLxf|s@Vy n=DZ\q?rٔr )kq@̇^C9;5/W"߮)@io1Vܺ83o<,7n /VW׶=Co; u OƟ^tOϭwƻx>[B?F^ mΦYk?sUxw)@(>rr2nGC7?f(~y3oOˏfV!?4^!)7+`܏m)v:1E SbĿuYm2Y{yY#养$O߸>?c!}}b*5`?=_ [;,ɃsXL>@nWӏWzƫE?B3}lN04@A/~}`Op ++Gf /\;NMO{&~7$)0 +iZBC_5ð\}K%H +3FW@%zKO?)ޜ:{ʰ=gCw*g͎y$:࠶z ?T@0L ?< f9 pģ?4Bpm0 @@>/`#5u.T!(@F}סN|D§Ƌ՟~=Y)c=#~ߦ.}gWYr'7W^wF."SPL9GsA?|A|/E*?19l)/,n omvh$w<gWO2'P5G`l}a ZM1R]wO!`P4ځ3OY>䫈_B}:P~[ɡG +@yS(H7(MahсNQd݉}ɥ}#Bi]5_B_E.< vY>:T!F? t<jg߼DZ Ƕ=*`j١?;+}kO͙ 85apOo=eH,&o^AzecI7ܪ~}V螘Ŀ-5*}1 t0~IO߅/z4sRU( +'SM=w7~_LWAޠ .Ɏ,y5$@W|Ngg߹5e tqzo4 , YНejP鍫ۚS;8^Ea!71C(^n*1FCO޺c^`F-e@$TC2#O,0=6?rK*K>,FП>jV0~ډʓ.(ݳ'7o ;|n Go^䪦Ul` " `RuW V__W|/>l=Φܥ"6}`߯ 9k<%z$-0% +K\7A+f ?%>RD!jWM}6P} |L~_ysx&ICpןȞe6L^"ɓEm8> 4Jna܆࿏[TYߘjnv5w b$~K,O^C!vK}%zԀsp}*!Ϙ+uGX/ pjCN%6"D ^. h;t@Q'F?<R`G͉|Q0~@2,v 4q~ `-@tn|% +0Mx4O +ީYfgc4@[C~~ +9G"x{"tNi["Xڏxg_c7d}-f.\״ ͼ?<f=~3!wg}`A9 NCZv2>::<8v;mc&xR C08GRa<]?~~ }Q*?Spt}jf5 H7?8$Q?Nƣ^ըV;坝rRUZ%{z5NON1n9hh5AGX Ϳ/C>L `,ANi̞hPZ߭NP _XswoNq -~锁_lGԗku/j*sۃ(RKcL hQ5/-" 1:/yy swkGL1Bdgߖ +':Ӡb +` <PLv)?~6اͤQ9 ߻Hw ؽ& +/Q>jJZ(ޯT~VKHu?o&ct8 + H@ fB_?] +?d x4!$ bz~"LvZs@]0 ?<HI;A~3m +~C_J&_,.DP5`;vjO"@B>)1oW"kg MSO/3 p@8:> + ~|[_Ck |ߢ?HOTq={uP&5}{I).|LT%)Vjy6A u*۰ѯm۟*"jSmM|mQœ_TxWɡo6ӿ\nK0.:Q?@ +bXZ Rhc0H'mg_3,)e0l·DHl7-?޳[*Ti}0Z.;qfW8'>ЇS;d:5c5WMݹG*dH-\O +`-͏NRi ?xy3vw?앁4Dw`Xact] հ_a=M|zPOAg ,=M" X!@Fq!OjV)Sާ E@ug)_' +L0LD"ߣHp:"IAdq?+n kh2̫gUG' ?3 #:Ѐvcr}%کh s[?>q__?e6@fߋ=`duga⟑z {hZfe}mD1@ÿS   !1Ak{ ;4@eN;} ˸N;~ ~9woSH~`N|\ FqZ>)o:Ӯmc;,jru ~\( +G.Ob-}SeW% ?7`@~gX@'Ȉ z)3~kRPTZj0T> +P<y@POoqgx3Wui܏?M K0~~o<,fb?Ҵ=EU~νjjel@ P**m8} s~ +~+~i͘ÿmHy[Y~}? |q\T$Y/}nj:eEdiIwpaw3$*1+nڗ(ÿP:| D wGT&Jpd=nO*ƪšB$Ȥ?l>[qB-Q+Hς0ЧZqh? @mJRfbjʺvըUk?ށ +p V?D%K֯InB }}g~k6Lok-:ڹ7+VϰI9SA%K2S`6 +pzcVR쳳1߻C)u` +m=0ɰЯ HJ?{2iq77c{]} Y_h>MĿ(هdz\{S"Xm0kOi.Z>+CUAB,v>|xJcK^4JrV1{SO`]>t?Tg<Δh[:5T=d#*`u(?_o 8e|=nGjy ?L>s] :@mml_+ +6":z9~~h8:<,j6Ӽߦ?t { >,ا;`A{8r٬砟4ƿ~3WWVp\駃K +?Ob𔊾=47!v_W\Gҁ&/r\1 T@{,?0@_-AoD^|ct=(/əiO]_V.oh3Uя?~ZC7_p'hoBBOb ~l'Dl! Эh@ydрrAm=Ҷ]'zLP^c󵲒П/fjk,& ~c;@tRT`{|rvgDtt9C@PT0@~>h9\?}~˨-.WrsNebֆIO~HpP Ѯ([?uvF?=F D> _\!FGӞ?_`~nW:TD,#X?POV}.>a-Tbo f?vrv]΍>,V@QB (-ʿ' tЏodIAA~AM zx?7s(rPw0񿴺ӌ@bgMQ][ڸ `1hi_%t񷗩(@hdΟ" +g}q +A?_nnay}lblO?Z{_1ph >@K8?K`$C>m[2~ZO&aF~O!q͈(ت4㢛B~ׇ`ҩ%`ޟ㿣x?dSL%>+pctvr8;z\ݻ*A?G͇嵍F3BflxSZ}{Ͽ-d]@K` %[~!u2lٷ+xoG95Ѫ\ʵS  Kk[;MYwkI7GK,G='xiWJsfX +'u?R߱/8 p4] }d3[?Ib?9uk՝rd|˞zM*@ @WK;5m2qӬl.>\&NJ,pڶO?51=tʟs?Vu/ w}.OO&^Sf95.$.t`@">},X]+fl9t)|!쳺_ M')r3 h~~#a$97[ usv~g#?GVީTZz8wM\*~qťHv*Ն{zl0o(y۵jesyN5̿RT w T״0U_>j$>@w"^r}fK{~s֋XV|LQ]>9תW+[+so_xn@8 Ƈ=/tڝ}yr{?]JOEbLhe՚d(@ J@ T,pYZ0RVo1LQVk~^=v}>;"I;z4ճwlf`"W~Y># Ϫ2ShЁ?-සv_*zbw;X~zJQ :`Znr(\/==ol'O|ԁL,1^>w[Fu{cuyÛ?FS5.N~$/X3x}>|7ξE?Y@>i7}TK?Dj7,Xvl6!< +(Nv<5nF6֖޽|E (oJm~~?N?2O~~7$=fFϱ?R>OY̯pߐ;& /u lEۋo߳ +NlER)E@Bǒ_凿$ py4 }O3IggF>~Ƨ~U+!< 1ovQ `euu @iƖțy&,N˂~G*vQ) ?}$#0?߉w%)29cO'$ma֯;= YЏ3Bdtc~YIО,h@ߘQeq v&! Ur_ܷ2=6Y)mn_ώ:7n9?fXۿ{?S{#Rɮ~~P'^}jI@^&WQū(0gD)|K&fÚ+}^ӪWŹo^_Y!*hE+| ]#Gi͒ ՝UWORO0uK %Ul = Uv艄>?Z*n; ߼|?3OD+T?34Mm(6oџ9UtZQFOjB'on<{ `m]@Zcc)i36~vUJ,f=z(ȳ!jeY/T|]O@-]~yǶ龘C` +=}յߞ@,bpsk4-^ꛃfI4֋-~ϔk<4i9Uׂ~ 1fC7fAc{ɥ7@wI~N7,_> 6 +Z|m\)E?Й)y-6ф@kzbj+ +~?WaNƽvG}\ +P^}2 ŧ,oE]`"b%(ۿQ-_9tǿoL4Ar~1ώ>>TU}vroL;v}7 $ +PkFp4a@0!@tv|רߏ#xjb*[]ܨ ~^'bH1}_VWOC6߾8Ax/~o@w~]o$?8zk|wy`)?rB9ry #7W#Gӏl/g޴_{\Gk?;6cB0{; eφĨ<1Mfs.w.<4C(;4ږTIOUg}e0"~?}?■^"C@g ~ʾNVj?N~5$$^;DI 7Otg[co,'a@=Edžw(UY1;+DK.ܵ{ #} ~Ny?#+ۿ|W:g>~k+YsޏH_dg$ ؛*| ,[ +ym<\5=#,`9`}'lMPiIf݊}/Ie)kq/釿zaSI"Lfo8?~}Kߚ 44' |F?``/gzt?}8ϛѬW1n_CXVm8h$[YlV$~,̟?sP릓~:^7ldط!csfD a_Do~ʅ`hګTwR~Fm _?G\O_|pX]SR*k8@^6/s~ o+o&2ؿBgVe>rC!>ٗ  W?wO7z(3/ށnn+ϙQ ^rP$ E${HEK_p_п(bW/": d-HͿEA- a#c /N~ݪ9} 33[3s<xQ{+!Bx,b$ $ ܆\ϫ~kkC_K~~VoD'K^XH/G#?~Yv/$cjD&#{je1|cb֟ϺgkV˥8<`\6_ + $ཐx^0O" D@D|ㇹq"&A?  O`hyqYooNeX=3}ь?#Xt?t}N_;4jk,\_N|:xx@$ Ma;mmX= ߅sO2W8A- ?Ϡg]]G~VO%)^I~ zF~.6G~^'W|-dRL-ƸڪEa޾}%_~\ß+98U&- "(_=>7ے>.M*ž 44 F!k~J>T죲_8^ݲ V٬ت}f}T@b|ūr\F0"zqi@mee9&)L ~?ޔwOًQ4dw ̆N~B?#.柅~^؄-U +]u~MlH9[.I}n3]O_e`F(`TZxLh23`.De-n`W/dޕ{'lbG=u& ?h׹7J\˪kD) 1~g}8|_8n)6חFV-N/Nvu>m^mYKb_+ĕ̩oD_JOW"# a@ޟ X4ոO>?_t(tM)&:7}?_} 6KL_X[0S ^v +z%Ӂqc9 ^Fwc-ϳ?Qp.*BCbOV IPgtul>b*myA݊|ܞ $ E0nU_*ZTcxiWZ}D> (\?>R ? q +*wpm_ W?e]V׳$gi{$ԟalwQP '|1贶~oضA|-M}o*2Ԁbߡ?:7B`bT'Z +q_QJ`yr~Zo?s&{,gގ'*py~?6[^?ůFo{~~a}C/?W@m9/"H[&Mu1xگ'>v +03࿭ﳳx]?goG˷D" +pROS˯iRRNϤT +m`W.A@`0Ǫ,TS{H~ZqU M?޳1`^3~1^MLk|*c/o +oC d,h Ɵ:G_v=l߽Wew~ݧp=Ƨ$!q$ۘbj}UGj )>UoV +@p(ɿ%)2 m~V)@??}Ow2aWW~vso o~5"8P@"'W-#Zx_/ߛb})}܂%+ݹkgOa'{ E:LRTea?W[G[>kI?˽vpdC(D"K2?~ +%0~U*t?E<6PWc~rGk++KKso_4e ZZ=C$F+ë=%NP?Y >$0.e.u?0oZcZ9oŇĆ[ _?Jw 9@$ܭd4I=#uG/wRcO[ټxF;$ iOr+z)!pzR4ޟl'6?뇯.M!Նr ?9=e?iрZ. PCTO;S1 'nM#xI'>:>7c4_-}?.mK'mν8} i xҨ7"E0}ӳo(U x>.go/'%32Y'q-Og;Qg3~ȟW~ľ,'U56,mn?2vƻ/gpǾ+\M/):po-84+P4˿}Mf?2˟??; zխd~ +ɛSokBCt>v 7?1Իuڱ@WM nE#gtC\W׀chbG7A[?-) CRO:<bT#D"KWYe-S  рm}< ?E? fAoO~܏߲`7*2?8jscqԩN~}VxE;#t@઩Mh@ğjw.4wOs#-bۮl&>3ϓ#!:ާw8[uھ_5j}派-$_6֫G|"$ $`i0=ҺVR +Y\fo͎&bй]hگЏ ,'x8n~~V:??jKOIsi/KӘ?A?:aH5odR}ݞ~Ϭo:]j6:o]bcx_uMݔGZ}+9(?30wל`%wȏ$z̷OU|b_to$2'pozlSkO_ZΖN#ff\xzpx()dO,+VE, g8ߒ{we|d-9ƷVkTy1Fg\:/gFY4gfixM3R0S7_(> p}xW&m9m}u}o|yqn:No/Nֹ@zYthm*WR&~>gxJQ}G}); +Fd8.}^>(?pUá8#ajc,H Wj^?lp5yTWuz@%JZ)jq8k蟙~2X_*e~ ?~=V'גRos{ߟ_2_ +q^|R?XmZ2]mZW,=oHY~N+q?(\}~U}y}rBZӛ(|#D1@8p5]0H 4K)}\ME @|#&_Cc?3I'wċy@VĘ_a-a%Z?=_ǛYEM0|R=T7M &?}V듳|Q3iz_CoۣS+GfoyL5Nw |>옽?So8%_ΦXŇp_akgsؾO1Gb~} sدTx(a;x?_vs^!Ѐwzh1V??Ip,7$gӗu5kh?p 'S"t~>CͥO(#M͈?m *@hெ=Psz7y}[e^?G\\~`-3L>4szY`'xĿm^^?~t[D}*H Ha%^q*N"ѯS&;}~]5adϯ>˹R :%kw*\y4}z?k=4O3ҟw +G2}xM=|ò~/ b{uC|kV#鳲άa_^(H?濈})l}E9d=YP5Ng?+7Ovm׀5NjDJ8 qcr|\kľnPU E?oS~st1G6XwS;Qrߤ_뗯_Qm{^d`!a*@H BrB??HIo\)Q?>ۺCNs5F̯?H6HdϦ'xWK9?V^wց#? I +_[؆w+kxNߏf?zoVIdž,II_?WլNhO ?# +P׆!fW6|9<Џ7 [rx3s?X3&`?ճH&+ Nsn0' M5/;7z:<07@*|M.+FϋWfz Oߛ|`r! ֎??ݚ[?o-)+s{ֵ}zUߨqO gs1PK_YzSgx5Wf?2hp=2@U +>G?~B#LŘcEXMmOOl+3{!x~~c_>߼cT9&vo >1l[˹rPx<^ +3B r[H +2@OcNDSpO~}kھocr%g_~Dۼc}2<8=zW̟{aAz?k/?l7gx8V@}-IY@ʘ'ҟ+W6 7qxҖïjx>Ce~(OYKʍ{*1ڰ@y[0Vz~V_-}{ȍ6Z]J?d_L %rx܊@40x'Q?,rԓ7דo?׮7[h/Չ+?.)x{_z<7ٶGPR+ύʿ;#%|F.|E?KehY/ݬJkQb=9fwd;dm`8BZw ?0}\ȧQدYk{+y26E +z~$O.?4/ڟ~΋wn6!?Q>9T`fτ~Xf}Ĺ/4w*Wumә {/f.R jL_ܣ,߯֌^>߶Nc~ا /̯3ߏ+?ȿp##O{Yݎ@&w@f PM8 A祟+l'mo|S-ltm{tЫ}uޘF3b_m'zϏ ?`z`u<^ 1~ +\D@ό?(ᇹOϪ򘞘PJ:igo_Wu+gqIt<'=Se/]F, +p H_7 Z;a}F:E+PUs^pըXc/y࿾I3;=~."ׯ-:3l@\UH ÿ9q;?8_(հ͑{W[V =/ } >'>/IKU}[l?/l#/) 3s{w{BOVc*P@,`Y?+36Sa =ځS}}=٭oU}6Ʒ;;Mj1p{soT\'ϗ[:gVmdpa*Gv,9'd%+,@|ܼCk|^}kǮ*27b¾)*d+ *# ꯝS|L {5Wnwn_H(^bOLWsD#3۾?H|l_͟2c9Plߜ̯;^P[ެf /=qZ}z<d~ 2ڀm_?g?Ԕ_s?Ǧg6$omy|w7h?@4PZil}R)$x ],o[^:IݫoS)'e~}S/c?^Ux$~ }rG\Og#ɿW! Pp,n> 5~^}V(WsK*PW⍋}d~‡%.Z߇cKNpB_+g/gw: d @8*{R{)O!B'zniCg}> S7|ߜ׷?ZA3 F<[~>֯앶>~~Kx6o[A@6c[lmSN_ m5Qj/o1 E_>3{Z_2Y?R4}MUWV~=_"/lM~+^m]tPÿI{umsu୼ŷ4_f@ bqΗ"P\J럄. /n"YMge6o~=o3e?ח$e~o"(l&k7+/WB~}toWτ~Q/T + +d';O `v6k2c<6=2_lׇٓ|?b/9=OK +d7_[,dVs/`WoGro֞=Jo '?oSU +ȏJ7ieN_8X~m3]dViʼqѯ{%zOp]O_}k;;݉ZuuXB`Aщ2/Qcl7t߉M6 ^щ +ZPQTH@lSYf?n"Xdǁ*#gkס<tA pK ?N.GƏnvԫ->lMxG1Xib3#9(7sfne#Iov6sqz_}|+ }}B+kG<\_^q>1`3 ]Ms燣_/T g [g`w|"p;lJzf_'5 ƯkMv2WWJ}Xe9iqq~uyk]( m'~[Y{ lwߑAF `t ZOk5D:Ȇ~Fy<֞=؆]Jau%bϳ1 c{>O:JG*- :Ep|g2@ЀHhTעUP>+iw;K ܫKk nyK><.uoط7BDfGvx̧GULXσwo<>\f)1׿}:kvkN;[̛ۅMV¼o] +GwF8$RUJo?5NJ?Ⓧ(kЯ_>νb%?~#W0 D4@kql6&!ן f\eg{k+xYR2MwMu?$gDݾwT8` KQ@$ ͅAm%ԫ[;痶;]GW,`KBf/44}3_¨Zz#,W` ?n>>" +-mu_; Mym~__g\~|6zzg3&)k@3k;g->1v_;~BQ[\^]]RzF]Y}Fdvڝ]Y%wN=?_]_p/ ?nj(%?-2v&38S/]Z[x; *旘pc_\?^/+}fdߣ;bE7B=>IW?20g}m6(Un?[lVu2U7mXݻ )<"W7*}+Kq?ayriE1alۻ))pxvumy?rod}&OF<{aoi#gܠ>A\ȳ=}DcrƷo*$?<9e7*+7cj? - % ?(_Gr'~m쯖ϊlnV^[bu(Y>$_V-ocIvΓ_~``0 i ]YTnRR}wj!%P$U\DRRfe'{#{o]HfNwf)%D19qbk;?e-H_p|Osw +8/vS(W:M?O&}FGK,w%`g Hvq3:l/M%b qTY's3ӓ !l.[ j{=ܧw ލ/Ὧ +dAÝPs:;F;p7[>@G>> 2 YZD_/#~SXu?iZYLĆ}7Xffgf02>LOocgon* iÿ }뾋\/~kw,}GNm1:m-8gWL^ h87^+˫}סߵ&w7gbo7"Ç82Ϡwfg6|BL?ޙ=x-&w㡃&HCy>>f߀YK%Iw_|_B_#@7=+' ?nk}d;۫K3c?k>T g[_?{j.psTz'Q\6cwID +Z7fVJEr-!\7Xηi6K(u~M>N.GS$+P+++do?n"?;9>s:3|&y"9;5/@ꇸzbQ̛BY.b&jj@i2F"//C>O?fO~A({k@SRX>cM[k+KL }u||I`"Q%3߸tRDX/Wn\3'svF1Rl2 zVϤ3Q,_pPNa~Vuw#}NGŸ[D@IZDzWAnoow + ϝ7n[zbYd_WDzI-G'?P":z)v\ow +fj"滏5&0Mx-ةw\^þ]|?-[w@y]F-Khzp@#5)ҾӥN?<*[Ln+g ʽH迺:?Bpߣ#\[]Y\@|Ӈ7rRm`p𓈩GɜdF|%ϕ&_lK 3#uh V<7wב~ϓﺻONn+gs½ +)uïy}.$a֡?\zoo"[DZQ-YDzRS">m#>BN zrlww˯1752'O2ːgQj:'d~7G'G( z+2K1nKhk|'lYPЯBKe T֪pՐ-8aS 룩ҎK6oO?1?2v/'A|q?0O8*߾||># -B Jv\Jw=>B=[[e7yKteUښ+ҏ_gg;KF?pFr3?:<4_^ZIxlgnĤsc;o "`,9^S`l}@_Tޕ|->.woFx:Wߍ^\[~GM (`Z,YvSh=ݾȿugRƾKSs;-=~p$/aPa.?Ar5oo?TG>}5F),vJ*܍i0t3CN:Kzܱ$}Lls_(@~wZ?Cf=%\JW\=G?cE/ "p6^ί鹳M!I&%G +_,ޝzIŔx~[wE gbc 8胨Jg|ǵO?2WNQ?\\C +}sƙ BW^WJ ՟ŠrGsKE-өK߹_z"ӟ͞ˮ%G<MRJx2GRBww8sxsӤv+0f_ ?_QϤO=^[fH^/*<(//"O?)5o7US$)p +yF%&_GsRڞPC@QogҩZϱӀsKcߠ`ᏋH?}*;vbe?'T/aC=Sԥ1o@?#d[ LU5࿹Z K=~.Q쿱0 x &[aó,|RFgx yZ~iWe? \ S[>?sNuͽo }?ok~B1$ ?q?}=sAQooсlz{o}[,*ow/]LWb?$-g?ƿnNnG%C_Ho_Xg? P2~ciaRdžPə f9i2_Hf.;z69W͑dA  {<+ȿ&(2Ο/M]\Moߧ3+@ ~~a6[[YZZ8r#ݺtm?ySI w9r+zs8~=]G?믈#~@.P%w+2Q\c9(I~{85 Gg ?*tMf$i7c<E.=*}8v(DU{/}~E?zHGq8 &;;4p&G$?+w?LÃ?J>7-C,v-' `;U/hU_0w__8Uȍ`}?}TSڗ&33-cO>8uy⏗N?L @h!Do{xxUi/]˷ݾU*EjCVW߉}]W jg" +@5ޛE߂]K@?-/8vs\\tg[=4@ ?/6/f (.~wU:?xJ~)~uAڗrQ&AnwߧRiޟui oa.gaߐ}w3A5 | ]ߝ. _}t * }῱zazf?~c;++?#4^jMgI, Hve _ݺl`/.:H @ ?_ _Kg~]ssN_7cj?F?i?ihW+aXoue<ד|qk. +z3UľX\8]tB{ O>B?z7{''&ւ^;.u=.`$`;y)WLnk(_}/Ox? ++dǦfg6p`m?Cd?[K~L?'>C՛涤6~"N@+*M_ߛ O)hG8GM _7W\~H~n/3<,Ć>nTrZ]$+Oh8eJS?+Aҧ^e~ x2,Vsˉ8k* +y({{~.0??c#M0V!4p {+c}ߦr+.?}_C_H/]n~{43?~u *şpO?KGߡe?41~#ONC o{dS眒whkXȏp&_:W}?s\G+s K[\G?<:1OR?e ѿ07;;={~Ǭ݌BWIZNEqN?_`~?򏿕{}pN~NF',m{Ky02?1O_^-?s3ǷSg??DX.A~O*u%c[;`5'=Wa?JX.?KC 8:rvsUXV7wvTJpo1%]\4qx,5lc?ϒxҥ4/+3rj"i;gY}W_I +QT? 0M3)@{;oI_y U ed,d=2ߊ?dy_@?nO?ixH?_7-}5 +/9 -6?j¯-U|Я +~3 +K?Hf,,,nlc P8KP>`_ԃ\ñC*qCv*ccᶜKamW3 @&@x?G{Dw4$[On? .~r[ib @`): P2~wރgm~ g}T/VANw7^ pHw3W7 ? 5oT['1"+I/2|@?CQ,LR"Ҁ͝]Qs"p|Xo '~fqG?ªлg +gg@>\E_V{E:Я~{7 WU > #05 VV`<#˙Gt >cp(U(džP._nls?p/ȚQ^eˏψ}-Uwȓ/4ƿ}7>"M(  +\YY]]C*N$7 s<|>ed~ L? Nɟّ ./ m ¯~_WUd;Ī>oD5sDq/,---! wiA0[ 5Ң['I_486/!{?g{ +sx_9I>|6amG *w4R'@!" [-We{Ly}`e~3(OIۅݞxц真f?5g:`oo7y*%z~{nӁa+m"ݜ~Sbo@>!m@D@fQ + V`CLF?do2?!z;vd֎0߶/.o`kouW>tP_9`aoCCL "R% +ioSFê'c})_|t!- +rC6/Һ_X46Hܔw_S3W<}yY?8G@ 0LvDAXX"c+eV/`-?\~G7i_7W[A?X' ( I髢CM@$dP)Ͽ|x=R8xLLL` +6X/1Ϗ'5?G49?=K~9Lߔ}__]:All^h'3,;ZD 0wEa &w MAl"@ C ̀3)?l!S)7?7F?o{RT_HJ@@}2sw-a]Ŀg @? RDyycd97~/[x5s? umE0-n;?*OhJ4we/bQ@5)@P!`6HH$|zI?I> x`#y=&z(M?=DdgR+")A̿;Q O?hbxm@ Jj6h ``9 }`$~ +?6p?q3K]չQ~"ﲗD&@ƿ/"?Ti_3^?J`_mQVΑ"))  6/JG=`O ?O͗T|?:2'~j\f`A,_-'o2\cPӏZ)xT $ӦU/Lp&'c79Gf=D3egJ +a<̅(?;GzK/$7X .p5`2c|~g`9s `]>˦ ۂvS N${;οz \T_?+J߿FxSІ@TS #0b0@>F}<뿭;I:np;JY#KcdXg[o =k^6[u>,a${ >& ?+s67K7$` #P[QXYP* hJ.ƀ'߽~1qbw}kzT@i`JᏘթщ=T{ģ^۫)D# 0| C MZP9o|՛0q!Sם>aodn*DG Z-||%9[v=7+pM-|xpTHC"CC_|?{V7]+Ps lA`/uY9a GKGnnd|dlC((0 T``w޾|fd-wm>uTkO4K@oWg~;|v}id|Jv P\5:l`ćo@0~~x~>"/_K]86 _aOu@cGlw *K'?}}qd&վ#Wl +ű_#@N *l3 lc[W%=/VyP#PްߣyܠI*o?G\T穝{2N oh~/ތ$ֶ3W7@]޵IO?88^@E龹5J N3"W4`/\3Z ˵JLfٟOGp\]lq,~;%X5@^߂|^( bRժp4Os.tI0xQk/#"b"4ÏyMo3Hw)@Og* +x? #OF~Ǒ,!إ%~/H Ƀr=>#DT?DϿ&A l4m.$?.7HV:# +wqn: \#`=dP@$U' 8n`ߠvwWYM`]Z?6~4_?ebN?:F` '7g??  @;>w-wŸ&8-{4wOM/o@~aɞY_+R 82L@|bD!{gκ:];/  +@/lbt,,ҽ@ +;~ߝ݌o4Nr_$|LQA_(duW_X瀌~]]?$RjzC2;2S'gq{/$r&(W!cab_FX1gB0 + H`QwJ?41^l$N)޾+;\Q$._B &Q9g2CER0`Ӌ‹UCF?U^r& +KܜFb(6%h"~ܯs _ 8G(g Q } @8~XbG7zk?7į Mlks@:KklCP@[ol%OM<(' 3`2_%,`_[C~~~YO{|).q6ׂC/KGSI?@n0[?W6%`уb,$K^ 5(Hx`TGDvq" +px& ĂÏ2~X|?r>Uv_Ksd@޺D0S'}/a`/ 5ycf+ y|YnN:7jF866c&)0HI -pDVc_oK |` +@LXЀǿpLL@N)uodb񙝨wl0w._9z#/_ 7D;fO0 `Tӳ B`0w~H/.C&R?SwǿMoE˿C W~?$US>(~ߖN {irp"a~ߥ%`H ~?T@~cqnP_7 @H(D??Q(1,=RWkUk7o?%o3l0 P}1LEI$cm.994)#&`,## +{wXߏױT`A%&foI75/g_I'7p_Zſۮv68Nx%(ξkNƝ 8An>f 8>$- zVWzЋ|(e>;-Qۆ4˰ G,\SI! +@%{C;r? x:/C>r5Ÿ}Ze:>MaD'\0M +Ø/tÖ(Q85@X&DFO:}%LM` 4<,:=LE5''}HΊ-xv}{ߪ×FbL0.x);{~gQpuϾtRW+}ߺ[A~O͏rEQŕڕq'Ogq>['+ԋ<[ +0b*LA`n(&rnuYpt~  ĿF_v({|tW^w_8W`ׁ +س:D2/%~\jnu, +0a  B4Vhbf r& L>~*dg/<*@/Zwj'~s ![wpVI +1k+ ZGO?<96^`_56GS6wk&so[$Iuo׋ E1*dŕ +JQv0Nixgcs$1J ӍGOVJP\zdۍR?4c8:S1LA +v?dHȿ/)'㣷H$ Bm+'b\ҿmo(_NV5s?+{dC;ifhK, -M3ÿ< 7̿3:#W~>;_Cd]Ip[d2 +Ib09a(,>@<<~#tx‚sÿ?3t`SXt_%x[YgO@"\D`z- +Uؘx0hjzP_^j{`.ѧ΍㢟x?'_JN_' ʾbRU~d ^ +qn3ɾESl  oſ;Axeߊ5>YyXw*`uDŽl1)RT=~?_+"3>7[ ?B@`B㐟-;'Y@_Wժeߍ`gª qG$4=`ˢ9ʿNꀓ]պ@o @we_8/_kaSQj 2Mp`\Ѡ}^}@{~& }oZױ1sP7?iwV]@W6GrK//4%QT߯U*rgX k ˆ v6Ю!f&{˿ 8&Gɿ=r0pP?=ɤ(em+X+W/3 󇒿H# +|$HcstT V] +e?0c,ts##F"?@_ +%Bo֣Wbp'U (C 8“B_d5.*.4[GqO [q]KGa.,ɿYţ/*tVL)c@!l |[TgoǪ&e_ +9( @A/OKW$;o;+S⸑+U +PwoOr} +cOD)2@GYGQ_Bg\$KV-8g+ @<'N7,lp +`+wH@'ԣ~!jAbcPّ@O+SV~߃~#nnV-ɿ%'omsC$_dL?qgߑHNXA<@3uAP 0o_'6M?$@ t͛MU*Kּs( {,'l@ϰ*m, p8KO.<ٷ(1*8i0h gG. @_)/hȓ;N=G_2 |ŷ8 $ +3?#@E{,n_=~_h '7 _!9I?gkf(@oVDxZP1vs1ЮG:#Gr| @?[ PǿW55xIC7:9jG;9N?d꣧8m(w̿!10m=!̾/e{4[xOş\y M@^d ^Y7?l 0"NJ{/&n y@ xv]^__A* +"@q]O~wF;o?<'O&X,ÿfidEѬ  A)` ǃ׶, +#vϰ-,e7n$fvzFg? +|"~ `j!ިK|ΥwO]j5rܪ) p4hw+pI8?摆|Cppf4@KY-<l#P7s';dWŵj\$}IC4 ~m{ͿcCuğ;;-'OWvS?Wӊvj[nt+w9jYRaؐ@mB!8>>^RR{>pr\;P)8x` Mg%@ʿng]{REaA0Qܑہm4V&J@EQZ$*@/V @LQJ WzǾJ2QUP-].w,I*?t*9;6/n}Ӧ@ +㇄n b`ecxG(\@.@هU,>D7~maC0? UނF?W[eia"@A8qxH؄9,<4Y «{#o5䋧S +'{$3P~m__ -߅K97RKߊ['Qk;t EnP e"QQdиfG";?TE ut|XP@۲@!>v?ԾC"eχH?TZ6% J;$ ;|pȢyQ +u1`jzf{|8y +@ƁhT8cdhHja ! @Wϸ jR*r ~V\°mVI Œ hh`4<@ <7$ M$0E=oiC}`?'O IK ]/lϓVM?nֿJ?&KZM!.6)?"8@gMwåAs`h>WL`B[4oO)N;YhO*_Jl\=E/ʕ=d~tq +4R =[$v ZdP (Ӥ_} H. ە gE%1:>H&53 K$ {{EϿ?0.'ѸwY +j + |n ` +6O[lǧM@!c +L||jm=P:tɿr78 +?\t<]^uH41  :9W {'z?E7J-WE뭮 V4|9Θ +pԇ6_b. ‚A3d502>5^T˅E~޿n=~̵FUNlEH +@wOLNU= +Ѳ?1S'}6nӽ Hbjfq/@ ,9%;g9` WS +\q: 1>@?3 +_>rfnx?nR?T0w#+5\:ENP +А(_HGM7`W=:O @&}\' mq'HbbzN=7%@gpB++Y?Ο2ګ>RVQ/Ky110?x0EQ6abvSs*? +߃wf4boU= B?h !F&faРG;|W +'[S}4XvI"E0cGV0mD 7'r!cqjrO~{Oׂ\զx1n<}Y;{T +Hg"`]+?ӳ;3?%Axd eG=~OYK(x +VFd`}.~skIB'ľ+(bqr/z4)0@A5ٰt{>7g+;P +I`º` " +6=)jRg&@z%陹t%{QHP]ō8_~wE@U0$WATxTZm-=gq'&=ߊqa/- +n]GuVX-uMvsc٬`ZУA@eOj8`hb +L/( + xZ 5ףߖ.V6 H${1X <g` I"'&CdHӲYA闶~ʿ faC=_a_D"_Hbb + +Ɍ? mA EoD`L"`pVN1FW%Y Vc?0ſO: u^v!3#c8;* j`3JZ`%5E2?2` DhQ0 h(iz` #q4 2Nē\='_d +`fFbvXv>LBb +Rid8s˰ {SNOSXMy_~;-ۚKnTp0-ʍ<>[+82A[G{1[\Z:F\y><? p_IWOmZQݺµ b`b`)@'TȖoA)?;) $%": +v_XrmBNY;* +Bñ̰-ho-9@!c63;{|"0EO+ʿLoſwA7ے.}$0@`WR> 2GFi[SQ h$Z(čZ_~k4;@FH5|zL=};0G^/!\q zE?nmlQ-G GFY!4Mտu +D|/_!: TˀBz 4GwMq +`_POp#  Tv` ˫;{I!h0;”#H?OdݧFbWqzxUfPQfceGͣAލ_Ÿ_ZFx<&̡`}sk{gww>48jC.o8 + 7א4pG{ pUY8x9ro熠_B?"5*o!6: @Tߌ= HX@C>+N3ɕ}%˿>n߽; lI歙 +Ш : +`\< :)3%/'(+6|/5diŽ).f 4v3MqQq+$Ÿ+ϭ4:")X8(9;^2/#`zAfl!?+oȤOn,l^XZ[Icƶ%xUMzB`(G AThڅߞq .OEO(8zIXE +Jo 8$NpZRh.tWN]a痋xbFں=6d€%:숮azA%LVbg}ab0>ѮݫoEmW낿'4odU(3DN +0C 2/oЀLÏ>O-+kX5'/v.BԊ͕`B}ܯwM1WT{x0X; +& ++@: qa/so}+WVVVcֆu V㰱!*ĦM&D\_ G)r ~/?JY6kn$ + [ ǃS\ϿJNS~`iyez{ +\e +a5+_[-_5ߠ_R؁ۀ†.Zg0>YQX e|4(l8PNB,cxҢs~}PC + #o K ^ۀ?7%NKMh' +p+1̶NQcOUB?g Ⱦ_&Gx ¼s,H?( 8Bel+gïA5~ʿqP/m!z hYd`{|QNsF ˮ>޳~, 111=3?7??a.wߥ~a?PHNED=@>nWMMW6 +0`O1bZүg xOpi{7[SA>]aXtt`zFmPTNouנo`@Y>XG>~ /չ"^|Bے|I|Onף -we^@XZMMw(z}/? G@Ixl%#o^o1οj8X綿Ң?_5,<HSQ*>f;T' ]@ch_ſ٧S:й~޿೸o><8 RV:`:,)8v~:#\ ~xn 9ёe~|”N4w@]Hm ̀>@e!f IP9HH=sBfq`qmsyg0znG?o?14D~)|%.޽oT1T@O¶A!XWL[Y#<DÁCAZ5|zڈ +~xE޾{WŇՃ|^W0$-CˆN\ gLNCmU@ +_~~Bt o^q?_odׯޕC? P?7p dCT$&rn65B~4O]o_W^~ʚ_ƿW +Ϳ3%<4ǂ=`Af>>=17HjdC|3^@@JVzWwvv|zyyyE_EʿNwwwVVP ̛7 7m]r8޿?[\CVuNl/N {3sjO p_~[߻w7)'PnW쮡dU5*k 03V%2!D`k.7Ű*V/ F68Kn-͌Ӈ5Q}R7 %+&떿~yw@"UNCŒYPv2Xj)gܰ|f +,ٙQ];X/_:z~x s +^%?_~ttج +rU +7+< + +p<@z@R?1}r6~Y*772G.3!@8u}ȟ0nwHlrد ;C, +0H*3]?>>?J?v + |ե߯1/=?w bk %-"PINY *`n~a~ yZ_]^Xǯ?s|a|A%şh*Y~o#?dϗUu(ꀨ^# ocmyav.0P`O?c4æM _Wtps*gFUn@Ntm@f\:ƶ#~j? F'O?LB*@Ed~L~`?~]>`\Q+f͵T3kI7¿|Y7'd~M˓եl@j]0.(@¹ +`@:&/?;=M'\?D| pЄ`Om ^&Q8q(xhx῍񟞈4H*P+F 4%GW_xo +@?Qe?eP(sL*YGz?9G }_ye! h-WLV+J?CgpiM4|W< A/.Á}u:6OLX t[Ȩ @*&/ȷQ|`v;@T +3B!}OO>y1#]r ~W1ׇ݄য়B5]z1W$6ipRqN. *@}ۛx/m[j 8< @t^H{퇃`@kAgæߑN9~̎Cؕ3dL(;Q$Zɽo߰$)Yv +0veU9 -$< ?1_EQⷳO da?VvG>/!;6h.Mr*6"H +Fq_'G{;ƑO޼&NR8T,%@W(ʵr)]RYdZfßH +`J` +Ig7Wqt?@-! J *O7knUğ߮qXWi`Fa`pW>d-PVT a>K."淬񅊾DFH!,?ؓU0{$}M SWȆ*`f=/7_5}_V}hK &6Pk^@\ )*@Ӿ޽?;/m(~ggF+R?Y[|)5hQtdޢ7{dWfPQ ËӾd''|DK!|1΍#87~ o0hh yYXG<@z z75ĂJp߸ga?#''c{I@]~q tT6^ dd[@74@FGeL +@K[ +$o};m+?b@5-A7ͩ5$v z ܜa0 +gU0)`kYQ?__Lm_¿7h\X/b=r>b J@xoK6O~}Sw)p_$'ZGf$c?#~o_%w\'F]@"n(:`'?ϛ3c)l7fF5 bW{5pNb; +)S?} яqϹV|/\.-h𧟑 dGx8 _'?pm5`x.*]O-E>z!!_|i=F\4:dfX !z@T3#[K,7Ltr1lV %u|k}>"(H2@M+A=l +$&`qU3jwMo"iW5 ~S;px05@AO"ሀ؞~оWoe eЏV0`( X\Z^Z\o~3?2ư/e?uǿ{;kQg/*yw.O^ӲTwߵ(}œQ?_޿{$X?FY ++T`$ ~G@50 {LKs󝆺+?}S +8;!{G6;~;ZN M ? N=Axy~BuStݝ_ZڥߺnxՋ'7_-U*n 9j")7O6 ?~N㭺 > z߉V>3~Z\ Z6)SXʼft#sWe<$7` +?rykZJP_{QTOA);s_znHUHC|?cg'@[T!ЂÝS#ڥSO/Fv%Zd/Oׯq ﶬ%X}߻C0@Tn\9/A忸< *]3_?d$J28(P0>}`o_|i"7e-8R>}qj@¿H⯭Ee?%X 훧#]M$f}]KgwџJw0žΟW⯬? _~q="M.ÿ/Hǿœ}B{WWFUwٟox/] +gccݟ  uill?/5rO??JӤWwO߻@_*y ΧI.YXs@ܿ) aׯ^xȍ9&>w4Z(o:S??-~ OzY_u XȀ'[[6_;/v[ͿHUA^x@~*|Whm7=Vt|O~X??KŸԯi-9 !Q`#F g}r ʄ[k6]$KAs@pejLF I) @ˁtVR{g ?wݟt ?v '@86 2?=O_h(?q'%8 ~F7?'1@1`0#`M\??yAΫ9쿚kb$uC +u-m Z$}PN՟rNl@?ď pVK5?C/_o﯀8ē&2# };ηZG3@^ ]^RJnQT#5[v py“TGF T@(>5}e% $@gjο @*#9y #~?Yr PFZ0?Q!ofv@ z/ft1I@*&(")8LcxW?} q +3 j?@< +L70PpwӿX ?Sg闘I.qC 񷙎:=_+ۀgts-&'@$ wxʿ_9c.2 #>@ ߦUͿbUL_$[C_ Csdɟ?~õQlE/x X' >|wNL??l.m@/_^rO, +23߿qG-Ϋ=TK+WHn'.Kh7HhBm%_?^VW`5/Y@^|VA(pC E73H +x +O_v~9T+ ws _GK4!@^ ʿRyi5'M, Iŋz ; D V Te523/C$.Js_n|` "`Z;Uo7߿hq$P˅ۿ|!I$ $FCifw tR~7f*_g'\  `zy?{1W\prʅ_.x@K֡?;^ jKWy32VQN%W+ԏ:gƟiq{xl{W-R +-   _/+t)?A046Q`D?M>R&~U0(Z S`lamL.įǡ?yex꽍q =B99'kmtn|(E"uZ0?U)ElKw)Y^08JW> Ez_N,ޝ XJ܇wF:zF' +k_܄5r _~?灄G}E;=C{&iY0t ~#5 ;ۻg* _@?~ jKVOYE, > `7?x|_+{Mߛ_1$%+y_'}ٿ$ 1@uyp^)W·l{?GmZ:{'6yIL0RݺPF ?l@Q_7͝Ut Ms/_TеqWwu `?Xﻚ; pP<4P!KOH_A? A ?;>_R@Ϳf +g~Fyԧ96 ll MsW_!,k0_3_QlRo7vvML,VG b) gTf los;a546 +%ͅ&i' 7[@OƇrb¿6t;0219| HN#ٞךʡ:HV埩_UD\'W>&8=o"µϕTk?3bKI??S +7w?K3?s~eK7[ڗ꿴TQz?MקbSȽܪٿ%N鷺Bh&'.@KijvX  mo/_?Xn5 0h>?Pǵa\ AR?Jk2;uwZ;`plrn[xr`0/j*Ѿdͷ-psE }<s*V+mK[u# }d߅'7_~(_F7@J&C# -/?-o9@o߿0??kWJm;;UU?Kl篱`&"<sUkf@qsrPV%vTJ\Y_c/m'jp`4= 9@8ϕHucΓں[^ @@F ༲03ߡ?ѿ*7t߶ft j`R3 XO S^??Y_ lkP씊snЅGhpw>s_/t.Kot7:Яis6utzz`LO=}Wno.Ӿ=mgO? ~=K[ߘ' +:o)Nϫ=tV/oiG/ Loʊ(dg_Oe_` wNz.)8^躽?!jReA u4##g{ +/G`}z=io?ooj?i:eC~dr0]hUjnoOm_6B۾3+n6463Bf/{<7. %h?џI4P`G^8?pq^?ӿIOQ~cK<(=v=d82653=sq̦Ktwk2uZ\RG cS.G*Ŀ7(MjeS333`toz4Ss?{L_~K[a84 @<(tu@)C'K݅+?iCβ/TOhlj!` 0 `nqpYq{kO_'[ h.D=6/-jOi{mO_U T^v]Y tV`7]hxbǎ:hySv)5lJ`澵s@Pw׳߫nc_ߜǟ#ͿwÍzt0O-q0 +W.?Yr_+~:p68@f(giS@#3@{3|ҙKo?5GM?D`:247?4^cdl?v; '@646`] +, vww_xϿJNrſTH;[w[@W?Z\1:?ďΆKg}{\x?[iϠ[M8u-xxxtl^ 8=`8]h빓mϷׯ??p5CxP7G\oSϻ~('~~Sz|@[G,3wǚP[o\C +booD?^#4k @@]Ӊ?h=WonOaKafZ?k.?7_KlOWw $jӏ @xGh@@{'V/G~-//Cտ :g.Jug5γv8B F9 ëz1/9[?'3@<S@`na 0?Zw`iOAYW/??3%t_f)z3@cMMmxhlKNg +e@V鿑|O_. @pCt Zڃ?yٛt7_|'韒~'V,xXs'd'~/? !-@=i;uMUd8]M?s컯l_ݫjOw'7_> 7K%P{? Np0e `?Gc`x?~/?* me,]{|_T"G_/B-Jqp 6,_~ښ+.=>߿,/W?5qB@K" t +^ nP}//OMG9O߰-Y" s߼}i#5S 9S^ +Q4Z׿8; meX~{KP[իRz->$w/ƿ\5nЀ )`$ ?>ſ?tKP?75GSUc5O/6 +Y[/ȿD M- c{蚿[7]˹' +t?Egj/c/F獿wo Zx- =߮1Zͯ??l?ILϟ_c/n_,T[/f;V /`.rFn `9 @Unʯ?;sw_z_+]Se˿>r)?pB x-@SjLM{'- W}S}w6]~?9xսW#u@*my/'dcRt-@a 9AǐO ^zş?r[]CD's/?04e'E7o5!@K[;t90<:EFn kfkxǏ>.n%W +/ߞ~9@p I 驩9-ه~XΦzX\'<"GZk4_unտ}:n NsS$T _^|09؏w5ߪ;#w )4ߒsL/#& %@$F'IL<Aؐ|o;K8}d)SzO?oQ<IVp@sN n D/G ?3'~q?&-O +Y +0%ۤ e) lZ8A{0>OMzvHN8K s`ۏJog3ʯ~>ӀaPSg쟡_ZIPw `3~ +!n Л"`& v fE`anjlU_wZΞ>73&@?1$_?w'6w8hn '&` tC`^|'ľJH}C?,=wnׯ?s +G~PׯkU+m B-> #&}`тyXЯ:_t ϬoO ?a.b]ܨp@Y>Dz]L``MNݝ}b`a![¹Ϝ<~C7mπo6k=hnr7~OQ|U`䴛+Z`at5.^[Fϟ_*X!Yy ]_?\[=M8,;p< d/.</)556B n rG(?O BojbXZx|la`wxG2`̀Q~| +əsA3 K@ h3<};~_C_.­??A?Zt V?U}KTOU +MEwl:lnmAm6;p3o p7c$9h~~aqqKsS#P~vww45ANϭ}O v[(&m<s`. ܅3N@5 +~fzݿ`v=f&FG`ǫ܌Ƶ/L?%_?[J_3VOpk,>oI`+N$С@o{6.CC#kxhx^<.=_hkalEN?yݓ JFghY@- +|P:YoNNn{ " }~ 'cx!rW?*}=~{{[kK@?q~ccGs|K 6 "uO ouEP|9XK x} +w// FIm? ᇷ:;:Z[}o~To-?rk2_yqS@ԿU6\^s 06/m^ zN x |L(~>s?7_MW=+|~\ }rut_  7 +BO7܆=݁U "#B7p쏊?-u+ke1 4m7?_~Uy n;|P/F<$ 6o~НPZ +=~+K?/~8| sR?~iȃz֊LCg =? df @' +#.kI𷓺~H?nϝ=scG@W_<Z_Y[zs'WO w k 7~믭_nQ-_mr ukay矗oN? $Nq-Fg@b4$ +B0|B޵@'?;I{2 |oi_/yJZMb55(Fdw&@` 4Dm8 =_]@?VjBB7, 2hn_p[};&>T.wޏJE\O:C~ٷS*?unn[4 ,zwy{a_@NQ' OJo`knHի<7{p5WjC +9Zud@Uw]ӨAz|-a?55d6hTTq>zի$~ wS^=?j#OvFNk/,Hokg_/Qwp8pnodՒ~-`'Oy= ~wA+([i# 0U.o3W`Br(xȯ#><CC?86?M _i[_}(02 ʂqG }\O>~~T!?] K?5Ew_s= e܅~ +{CNf!k+ѾW#'߰uӾ]^ MhdmTErxzR@>lagG~&…m/ߘLgmRvPkdL-g_{"Ї=? +~x?{kE }]U_& Ot+(.@x}߇u`%/{ſWяQ| +Ǐ8w4+Wגk Tn_cg@kɑ4"Hckgo_uOLtן?:âjk V<Vd}72SzPυL)vwuH  oA<}o-=5֓'| دoN~*O!/ʡLo]>Y@bQl__ *jE2<<RC+S?XOOmt;ſ]$@~[Ы '?iW#7Y| < _E'_93io{|mX(~K B2ٲ*w)|@zm៪":'^DNu6RE`k|_o0*ϿKA!DbOƟ5/g7ZxѢr)} +Dԯɿw=dU=(4_T\jG@-u-@>8x?u7ĿJ&\bX`Y%5@ώUi?({V,Jmv5_Iϊ$_=Y_b`+*+nx`?2Oԇ r,P~O_^Xo^o@Ɋ采,+pV$5@[.??gXURO$'&7ro@K,@{>&rO a/bK#v/_~WSUkh9M'pR@˶b_?Uvi[ |G>@r H_n ?3_DŽ)1 +dL{wdTQ P̿)c @ w@Cw8#@?w/O_??h-kh:s;zH֟_O=bEY- @?w _j9){MO@A <  oq7/& 2K&GmRp /_w7@$~uf@ο@ _Dy?:F BI/߶Cӿ=& {yZ$~`M^?,?W>yGHP oX7ډOG 2\^s`-NV P _!ypIϲ޿ȯ~{+=y QrfܿH?Y?@B  J[ Pb7 +y:/=oȧ^ = !`/JU_| ??k/K4m5)H؉H@*({/ 8}$\[o$'5 ?E= +?a7D05 $W '7tc@@Zp@n_ `d! ?UY7U?y T}Af{=5<ԿvR@FE={;Jj ?:[ +*{)0&s+}ߩgr5[/瀱Amړ$z0m4_}oϓP-"Pus:Oj'l M9HjDgڷ_&Inmտ @/P&hRcAZ=@3@_Ko~ĝ J /=)ߞM1@2- `-ADZ +Iz u|:7 |Ϣ*І#_~WL#c @?= :EkE]2M9~te6]_#m' CH j?gY?ǿW/6JJӂ󿓨OjZwg$y ᲊoT+ET#Ͽie .x/p)%:zg@j%;b pCO +Cc'5/foٿjTs@KR/X+nl_u'Yl%.f'{.R@.SBGV0mJoj+d螀T1<7Q3 +\ہ$Z`Dw_lY/[iC!vovʿouYJH`[dWi4?إ?&=KzS&@Q@ cݷ?.ǟy8P@$*v B b?AI:RYc>V)WVrUm|>' qBgE# +endstream +endobj + +5 0 obj +78028 +endobj + +4 0 obj +<< /Type /XObject + /Subtype /Image + /Width 350 + /Height 417 + /BitsPerComponent 8 + /ColorSpace /DeviceRGB + /Filter /DCTDecode + /Length 11529 +>> +stream +JFIFC + + +   ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO^" + }!1AQa"q2#BR$3br +%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz + w!1AQaq"2B #3Rbr +$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(1|]b~&o ¼tj7 *Gq+]kזzg#@;Jhufi,Wۨ^\BA"2EPEPEPEPEPEPEPEPEPEPEPEPEPEPH̨P2I8UmOQҬdE +IOx|c} [X/ǿӠh~"LiQa8~=[޸ۿxo@@z"ԠmxV`,z^,I,lC)_=װ?7 ۞ٚ9EQE 'PxJMhϫ麉R6_C{MV$_b΀8$js +F6,۹j?շãPN+"=Es} +M VS?x7 j2߻v?X^ץQEQEQEQEQEQEQEQEQEQEQEQESTԭt ooԞW[Iss" JYݺ+ļ[YG"DӥC_^xP3NJ[">hEP2Emn啂"lޕ_*tFNjG1)ُ?jtZ{m@U-F7OX̣xźv#{ǑM^x;R|'Z8Ew +uk@?*HޑOPWPEy_<&j:Le$KɇzUeȯEw{ OҼ9ᕆ>+פ:gjR~F-c^x˚GUpA(O+MrZ^8+vWWY@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@2N'v4M2_R? x7GN;;~~Ȣ"(ē 'Moo=[ZD!¢ ^ämԂM}W>Q?&A{^P#ź繦xbco2@qORm??謻i~o>qʯh*( +&FD٣_?Һ,K/ƀ<>_ 2j"y}@(oא-faWIEx&^i7i E⩲׼k:=fm:5#?GhΣ} `=wV4SDۑר5D"m!_o^2Keysye)hU>>|)koX\Gw9=A(((((((((x4XOe}A'~?Pyf 71#RN* 9$zJK#I+3rI=H@jhzwDŽ_7AZuֶsuwת։ke + +tUg9a[lM>g[Q@Q@+]@z?kX2*F?sh |>l̉[y| iN(ҵ(9/˥B;X3^^[^]͌?ܷ--qCW(\hqGיOZ3@Q@Q@Eso ݻIJ # *Z(<[gk0X׫E}kwUtdu 0AWx٬ڎ6Ly>*t*;LsFrb=+-{?Y2"~yW:iuswg3Ep1[('b@MxTb|mvI?ΙTaEm 6z5<_nO޿-n"Z{@QEQEAsykf"}]W'x)c L??bQpFOF/F\wlxf {n?΀:*+k.[JNkSN4>D>տ[񯌢!k+Y5Q=ϿIyfvG%=!/,$r$RjTZkMǗk1En_ݽ; +j‘zYz3_n^"U +ԴQ@Q@Q@A5v?޷C+?r[7Czz{7|ꮿ/rUs#klgv+t_ԟ^^'|j  +ʃ@(JKj;?y$+<lxSEPEPEPHꮌ +E-5isa'?׎uro鮳"J)ECzzW_Z+m{PaX2Eija7cT]jZdM9]C)PM"hݕBM0ԋ: p:n,׶ѓaI֓z!ʨ4YسPN% LI Ԛ$ e`VEGjbր4eǦ\Kq\EhEG76z?z=?}[jm{zU܃>@Q@Q@Q@Q@Yeq?~M׮-yJ~. ^m_?@\跰rwJk>ˉuH #qz=h&.rL}7WHlp ?J3Lv,@ /JOX{"5xƽ%EQEQETwmo$6R}J<Hqas~*׵y~˒DŽyڽYԫmD=dg) I=M0?]jӀ#@i`پ^PSS:2oCA5C2n_zPɤ4nhPi@iIlnXQޠ&.z +%rIcހ,\IC9EEB#Htje(kHdob8;NTp{׮XeݳUܤ׆۟2dy`:`nJ7OFv5r +( +( +(<\]+о/OR$<k]#$?eת׍o'V U$0+(3ijz[i1*@MxL5_g<v?5tLk|"Vm^)1k"Nm@Q@Q@Se!啂FYu4tp[r>q#;Gv?Y%I gRWԥ ?>kPmQ1ji47:R1DWL^zO;zr:0GjL7/=jӭ@@@x4>z7X-L!wRzZ&JiKv(4YIRЋSR!TrhDf`2Ƭxh#>Qnɧ ԪjV6|=O߉D?zq\h x0ޗ-y&'WBh_@$fܦO`kݫpCf9WB(>d*(W'ݮ 6?r'?Zᗄ&5yNƯ׶|<MI:J( +( +{m),c$IxHlv`>S^e;e)l(jfZ!jf +0jR) `r*%R_^Y* PtI +jt:b ?򬗇= g2uu~efxҦJƠ@N;UQj3*ښ9΀Ve}/Nz +O'hKƺ5 H( Ǯ(;Ȏ"r1Yv5vL* +ԋIzzԫQTPV.eu;}OƪLw1^Yus u>f_~v%Rﵾ`2𮢀 +( +(<ޑ%y&!4%y&,kܼ/?|1˜nO?ʼ5zÉ[ra??5p2?`DmW3+_Ʋ3ԟ@ʁ+!T׶;xMϤ1f5~] 3'bh((fKӻJ~I:o_̇ PBQ P,*&; +@£aSȠJE&(T 4 +x=aS$=*HEN(>hK1M#=Vbj2*b)PxN((TS@PT)*Exs,ےG)Ы|1(Ě{2?%`?R+Ԩ((2%y&'"io$+!4s+ϻIsyJ~KN$oր8rO?Z޺U$5SLR׽16xCJ19}Eht=#PR1=I&cRc8cQLhFTY(澓qk@1mp ܣO+*((d,BvD*~b0R0 =ث̼AkMz V93?'? +aQSȠHSM"!"TRbP)JHL'c~€I؝?@FPxI1@ (R@ AYpj 7>?4n*R)1@ +~)@O +p(RR(  +Dd-"=? +<k>yJ((  n? о$g+|d~N?\Wu MK1PBjղoh?go!s~LEPESiE91uڼ\.m!i3~QʽiG\`?LW}@Q@Q@q;'IqП Q2?ҹN,wgrDTdU\_ޣ"!"ELE4qIc9?B}*~cPDRRI1F(R.F4)P4S[U?_~^-k5ۀn]Bv[Qkס,-_]c╁P|G7sW ׷qZۮfpWHgA?ߏ#CᯆNeve-ч9@aZEL95n((O*A !¨ɧuMt?$g-ޟRfizJRb2utAUU>$o{J~]ѱ8@rqHEZ{bI'3b62j@d#f~"$ qs?3}}^(sFP!B*b)PDSqRI1F(R8 +pPLeA\EL8 +.[IT2`=A~g9D/ + bIE$jhCT䀦CAP^>46L۱Ha@¨*H R'GoZG=}Oc@袊(+ϵBo7ܡῡ+uWB#(M{kٸu]J\8?p.[lvr2wVvkpEEQEQEfy?Sڹsy$5{Z9XOQWV:1F)أZ#-:#5b͵Nta?0S@M""EDE4iHGLT܄>P8@F)0 +pR@ 8 +P((( ^%gy?73`?1+{ɞ;9?-(ZxZpZ`Z]p:Pzz?Z}Ty{8G*QEQE5FuvE.r3((("3QKTi6X/(<4д,:6zP ("QO[qQ-ݤ=p!pEj[\k`?cJk*ޑd @*ghUtf6 =SHH""&*6\>"y""KJ +Hò-a]8Q!>^1wE +`0Y14ccYD`J=P2Ylx sx 2q@N +5˰Qh@nnAU5X{HI$4W,prMznh:|\w=\GӨz~]*ZMUoz O7@GޠyJ:5+@rdztI63S((Q@Q@Q@Q@Q@ekM>?ZԎ_@BӂӂӂN \jx(ѕb_eoC?*׬w<3(hRq^]ɒ@AAog%oLeoÊ;_ٻeo1sx?󮤚j?ͼ،x:`8Q@M!5:?SBi X{q=`xhOݯ3@^|o5ICUaw2jziz׳j߇HX'ޠ/M/@<ҤQ)gr@jz'7 ûPKڦl,]1jgޫ^IUoz1P9' \ޫ==0V|WI KI#+mVM'Џ(((((([SmVD3?΀! J J8-8- hZ{@IWO< + yn䵺,g QXGm)^F?w'c{*kk>nhᕿ" A!9/#}-kr"{8#tQE5Asg)jlws?Z}B=/K2aWOp$Ҷ$bOry4 ziz4B^-mV_1(-LAk- +) (4P;R@&aR@LaRL"!"EJE0f+Kn#5q@QEQEQEQEQEVcx:Ӫ2/D +-.ڐ-.`ZP)R(L2MihndxD wH?w2W_zcI@Cx~GAd){R4%UdA_ul\F?o3 iѺ1VSGPkn՛BwgV,DKC_@Y5P;8?CZ5cS-^z+ z~^zާ}6*yA 3Y.aM?pE7Kq;W.MMks@3UIO=5l;~~iZ6ІǷ@^y˛S_-[~cuۤikH`**ܢKySS%o>)*NEB£aSҞ\c +}izPr)T̍QQ@ s?,Vv_EPEPEPEPEPUf_:P0ʀ# KTm-KK@ZZ-1 --Fe0M@'urqUjJOz4hOO&m.r~uC@2[;~6IG5 ):xa}*BhѲ8EK%БvHцEW&M+'+iM&iUon1ozu@Ǣ[C,OA@4i5K'$T;LK&#w֔m*^%"EGN4TSH)o +̏Vo,kQEQEQEQEQETW*Z#楢2ۗ ZHzO,4 KP4/D &( M?I8 MAP - 9bS8ϚTw5?]{pŏZK$a]MG)q@s{ӱObm?hiB ImBc=;ivPaZL1Pd3]E& (# ${M`GPw7?((((((V`K{Jt5ȋ$mɘZKI:ʟQ@(?b1O9S=zPj: Q(K;\R)أR碊b~\{ +Qb1Ob SK@)hS7m.)3SKf)q~)6eNh`Z4 +z +Z((((((+/\7!yEr801RvaDK)M\h_Zv)qK@ R"w4y=*LP1F)Qv)JmP a4bSF(Qn(?bQbPȥ1xqHKBq륨m㹅rP)Ǹ}k9~hݒ tQf(;bcKs@ )qA@bSF(Qf(?b1N.(Qf)˕4$xEͱ2/oޒd*ޕ )B8~ *N(((((((((lREʚ̖-~^Zգ !T5#-=c=?OҠIF)F)R +f()أQ~(7b1@ bPqF)R❊g¥B9H}{j;Ȓ?ִ(ƑF5 +((((((((((((lB>3xyp7mYЌV5$]*#4d$=O. ;wb@(FZ?ZOq >.(0\DT|_ ?bsS~8\ qF)]#ԋgw't~gkQ*?;sl +!8m#]΋O_Z @b@jJ(((((((((((((((((n( tQ@· +( ((((((((( +endstream +endobj + +7 0 obj +<< /Type /Page + /Parent 6 0 R + /MediaBox [ 0 0 842 595 ] + /Contents 1 0 R +>> +endobj + +8 0 obj +<< /Length 9 0 R + /Filter /FlateDecode + /Length1 1428 +>> +stream +xkAƟM5[njFSJEd$ӧ!>EV2}d%ӧx!̗Q K2e?<QF {7J\sd3mPq׶Nq#>nGz+ LL,7SwچZ4kyBGc-_6ܺW +endstream +endobj + +9 0 obj +626 +endobj + +10 0 obj +<< /Type /FontDescriptor + /FontName /EAAAAA+OpenSymbol + /Flags 4 + /FontBBox [ -179 -312 1082 916 ] + /ItalicAngle 0 + /Ascent 916 + /Descent -312 + /CapHeight 916 + /StemV 80 + /FontFile2 8 0 R +>> +endobj + +11 0 obj +<< /Length 232 + /Filter /FlateDecode >> +stream +x]j Fp` +݄@2Eh0zܘE޾ sSҒ>؛# ,6=(+1ofA +n#N- Z +9 +g{|;[dG#OuK?8!E(h8lo'ckzLk {7-AdM#JQEHd^~0\&z*wof콗YS<\e+s >doendstream +endobj + +12 0 obj +<< /Type /Font + /Subtype /TrueType + /BaseFont /EAAAAA+OpenSymbol + /FirstChar 0 + /LastChar 1 + /Widths [ 500 655 ] + /FontDescriptor 10 0 R + /ToUnicode 11 0 R +>> +endobj + +13 0 obj +<< /Type /Font + /Subtype /Type1 + /BaseFont /Courier + /Encoding /WinAnsiEncoding +>> +endobj + +14 0 obj +<< /Type /Font + /Subtype /Type1 + /BaseFont /Courier-Oblique + /Encoding /WinAnsiEncoding +>> +endobj + +15 0 obj +<< /Type /Font + /Subtype /Type1 + /BaseFont /Courier-Bold + /Encoding /WinAnsiEncoding +>> +endobj + +16 0 obj +<< /Type /Font + /Subtype /Type1 + /BaseFont /Courier-BoldOblique + /Encoding /WinAnsiEncoding +>> +endobj + +17 0 obj +<< /F1 13 0 R + /F2 15 0 R + /F3 16 0 R + /F4 12 0 R + /F5 14 0 R + >> +endobj + +18 0 obj +<< /Im3 3 0 R + /Im4 4 0 R + >> +endobj + +19 0 obj +<< + /Font 17 0 R + /XObject 18 0 R + /ProcSet [ /PDF /ImageC /ImageI ] +>> +endobj + +6 0 obj +<< /Type /Pages + /Resources 19 0 R + /MediaBox [ 0 0 595 842 ] + /Kids [ 7 0 R + ] + /Count 1 +>> +endobj + +20 0 obj +<< /Type /Catalog + /Pages 6 0 R +>> +endobj + +21 0 obj +<< /Creator +/Producer +/CreationDate (D:20051021192140+02'00') +>> +endobj + +xref +0 22 +0000000000 65535 f +0000000017 00000 n +0000007087 00000 n +0000007114 00000 n +0000087224 00000 n +0000087198 00000 n +0000101321 00000 n +0000098959 00000 n +0000099066 00000 n +0000099797 00000 n +0000099821 00000 n +0000100061 00000 n +0000100376 00000 n +0000100578 00000 n +0000100692 00000 n +0000100814 00000 n +0000100933 00000 n +0000101059 00000 n +0000101161 00000 n +0000101218 00000 n +0000101458 00000 n +0000101518 00000 n +trailer +<< /Size 22 + /Root 20 0 R + /Info 21 0 R +>> +startxref +101725 +%%EOF diff --git a/v0.2.1/cover/cover_de.sxw b/v0.2.1/cover/cover_de.sxw new file mode 100644 index 0000000..3c809ab Binary files /dev/null and b/v0.2.1/cover/cover_de.sxw differ diff --git a/v0.2.1/cover/cover_en.pdf b/v0.2.1/cover/cover_en.pdf new file mode 100644 index 0000000..92e3b33 Binary files /dev/null and b/v0.2.1/cover/cover_en.pdf differ diff --git a/v0.2.1/cover/cover_en.sxw b/v0.2.1/cover/cover_en.sxw new file mode 100644 index 0000000..10e71c2 Binary files /dev/null and b/v0.2.1/cover/cover_en.sxw differ diff --git a/v0.2.1/etc-defaults.d/README b/v0.2.1/etc-defaults.d/README new file mode 100644 index 0000000..3f6e4c9 --- /dev/null +++ b/v0.2.1/etc-defaults.d/README @@ -0,0 +1,4 @@ +this directory contains some configuration files for the development of the CryptoBox + +If you want to use different local settings, then you should copy the respective +configuration file to the directory "etc-local.d" and adapt it to your needs. diff --git a/v0.2.1/etc-defaults.d/cbox-dev.conf b/v0.2.1/etc-defaults.d/cbox-dev.conf new file mode 100644 index 0000000..2777e02 --- /dev/null +++ b/v0.2.1/etc-defaults.d/cbox-dev.conf @@ -0,0 +1,50 @@ +# some local settings for cbox-build.sh and validate.sh +# +# previously defined settings: +# - ROOT_DIR +# + + +####################### cbox-build ######################## + +# the build directory (will be ERASED without warning) +BUILD_DIR="$ROOT_DIR/_builddir" + +# the cryptobox development files +TEMPLATE_DIR="$ROOT_DIR/cbox-tree.d" + +# the iso image +IMAGE_FILE="$BUILD_DIR/cryptobox.iso" + +# temporary directory +TMP_DIR="/tmp/`basename $0`-$$" + +# the virtual harddisk image used for qemu +HD_IMAGE="/tmp/`basename $0`-testplatte.img" + +# mkisofs options (the option "-U" is not clean, but it prevents long +# filenames from getting mapped) +MKISOFS_OPTIONS="-allow-multidot -U -D -iso-level 3 -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 1 -boot-info-table -pad -R" + +# for burning a CD +CDWRITER="2,0,0" + + +####################### validation ######################## + +# language of validation (select web interface language) +VALIDATE_LANGUAGE=en + +# directory of the test-cases +VALIDATE_TEST_CASES_DIR=$ROOT_DIR/validation/test-cases + +# override these settings if the CryptoBox uses a non-default IP +VALIDATE_HOST_IP_DEFAULT=192.168.0.23 +VALIDATE_HOST_IP_CHANGED=192.168.0.24 + +# destination directories for the results +VALIDATE_REPORT_DIR=/tmp/cryptobox-validation-$$ +VALIDATE_REPORT_DIR=$ROOT_DIR/validation/report +VALIDATE_SUMMARY_TEMPLATE_DIR=$ROOT_DIR/validation/templates + + diff --git a/v0.2.1/etc-defaults.d/dfs-cbox.conf b/v0.2.1/etc-defaults.d/dfs-cbox.conf new file mode 100644 index 0000000..dd08c20 --- /dev/null +++ b/v0.2.1/etc-defaults.d/dfs-cbox.conf @@ -0,0 +1,245 @@ +# arch-tag: Default configuration file +# Copyright (c) 2004 John Goerzen + +[DEFAULT] +###################################################################### +# Overall settings, set defaults for all archs +###################################################################### + +# Name of generated disc & hostname +# BEWARE: hostname does not work - you have to set the hostname manually at the end of this file +name = CryptoBox + +# Version of generated disc +version = 0.2.1 + +# Person that built it +builder = sense.lab + +# Repositories to mirror. Details about each one are configured below. +dlrepos = stable + +# Repository to build the CD with. Must be in above list. +suite = stable + +# Whether or not to use zftree compression on ISO image +compress = no + +# Files to never compress if the above is yes +# If a dir is given, that dir and everything below is not compressed +dontcompress = /boot + /etc/*boot* + /opt/dfsruntime/initrd.dfs + +# Location of dfsbuild support files +libdir = /usr/lib/dfsbuild + +# Location of docs for CD +docdir = /usr/share/doc/dfsbuild + +# Bootloader to place on CD. Choices are: +# grub-hd GRUB with ElTorito hard disk emulation (not working yet) +# grub-no-emul "raw" ElTorito image +# aboot Alpha SRM bootloader +# yaboot PowerPC bootloader +# (usually set in arch area) +#bootloader = grub-no-emul + + +# Packages to install on live FS, on all archs, besides base system +allpackages = util-linux + grub + parted + dmsetup + e2tools + e2fsprogs + perl + vim + nano + ssh + less + zip + unzip + tar + bash + coreutils + module-init-tools + iputils-tracepath + iputils-ping + iptraf + iptables + ifupdown + # TODO: remove bzip2 dhcp-client iptraf iputils-tracepath zip unzip + dhcp-client + bzip2 + busybox-static + usbutils + pciutils + hotplug + discover + hdparm + binutils + e2fsprogs + debconf + sysutils + thttpd + stunnel + samba + cryptsetup + hashalot + kudzu + elinks + ssh + strace + python-clearsilver + # needed for validation + curl + # needed for cryptobox.pl + libconfigfile-perl + ## unnoetig + #gawk + #e2undel + #dfsbuild + #kernel-package + #libncurses5-dev + #tla + #build-essential + #g++ + #smbclient + #debhelper + #bind9-host + #whois + #dnsutils + #cpio + #devscripts + #cdebootstrap + #diff + #patch + + +# select a mirror for the repository (apt-cacher, apt-proxy, no caching) by +# uncommenting the line of your choice +# (1) apt-cacher (default) +mirror = http://127.0.0.1/apt-cacher/ftp.debian.org/debian +# (2) apt-proxy +#mirror = http://localhost:9999/debian +# (3) no caching proxy for apt +#mirror = http://ftp.debian.org/debian + + +# Devices to probe for CD +devices = scd0 scd1 scd2 scd3 scd4 hda hdb hdc hdd hde hdf hdg + +# Files to place on the ramdisk +ramdisk_files = /etc/resolv.conf + /etc/lvm* + /tmp + /var/tmp + /dev + /etc/fstab + /var/lib/dhcp + /var/lib/samba + /var/log + /var/cache/samba + /var/lock + /var/run + /var/state + /etc/mtab + /root + /etc/network + /var/lib/misc + /var/lib/urandom + /etc/hotplug/.run + /var/spool/cron + +# Directories to create on live fs +makedirs = /root/.elinks + +# Files to delete from live fs +deletefiles = /etc/rcS.d/*discover + /etc/rcS.d/*hotplug + /etc/rcS.d/*lvm + +###################################################################### +# Arch settings: i386 +###################################################################### + +[i386] +# Name of any kernel images to install directly from your current filesystem +#kernels = /boot/vmlinuz-2.4.27-2-386 + +# Modules to copy from host filesystem +#modules = /lib/modules/2.4.27-2-386 + +# Debs from local fs to unpack on live FS (will not be configured) +#unpackdebs = kernel/kernel-image-2.6.8_1.dfs_i386.deb +unpackdebs = kernel/kernel-image-2.6.12.6_cryptobox0.2.1_i386.deb + +# Other packages to install besides the list in DEFAULT +packages = %(allpackages)s + +# Debs from local fs to isntall on live fs +# installdebs = + +# Bootloader (see options under default) +bootloader = grub-no-emul + +# Extra lines for grub config +grubconfig = timeout 0 + password -md5 this_invalid_hash_protects_grub_config + +##################################################################### +# Repository configuration +###################################################################### + +# Repositories to download +[repo stable] +suite = stable + +[repo testing] +suite = testing + +[repo unstable] +suite = unstable + +[repo amd64] +suite = unstable +# Override default mirror +mirror = http://debian-amd64.alioth.debian.org/pure64/ +# Override default arch +arch = amd64 + +###################################################################### +# Text to add to existing files +###################################################################### + +[appendfiles] +/etc/fstab = /dev/mapper/staub /mnt/crypto auto noauto,defaults 0 0 + +/etc/network/interfaces = auto lo + iface lo inet loopback + +# /etc/modules = + +/etc/profile = export TERM=vt100 + +###################################################################### +# Files to create or truncate +###################################################################### + +[createfiles] +/etc/hostname = CryptoBox + +/etc/syslog.conf = *.* /dev/tty8 + *.info /dev/tty7 + +/etc/hosts = 127.0.0.1 localhost + +/etc/kernel-img.conf = do_initrd = Yes + +###################################################################### +# Symlinks to create (from = to format) +###################################################################### + +[symlinks] +/etc/mtab = /proc/mounts diff --git a/v0.2.1/etc-defaults.d/qemu-ifup b/v0.2.1/etc-defaults.d/qemu-ifup new file mode 100755 index 0000000..6ba4c7b --- /dev/null +++ b/v0.2.1/etc-defaults.d/qemu-ifup @@ -0,0 +1,57 @@ +#!/bin/sh +# +# this is the qemu-ifup script that should be run at qemu's boot +# +# maybe you have to include this script in your /etc/sudoers file because it has to run as root +# + +# 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.1/etc-defaults.d/qemu-ifup.default b/v0.2.1/etc-defaults.d/qemu-ifup.default new file mode 100755 index 0000000..b3d5664 --- /dev/null +++ b/v0.2.1/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.1/etc-defaults.d/ssh-options.default b/v0.2.1/etc-defaults.d/ssh-options.default new file mode 100644 index 0000000..de831bd --- /dev/null +++ b/v0.2.1/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.1/etc-defaults.d/ssh_config b/v0.2.1/etc-defaults.d/ssh_config new file mode 100644 index 0000000..4e78e56 --- /dev/null +++ b/v0.2.1/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.1/etc-defaults.d/userdocexport.sh b/v0.2.1/etc-defaults.d/userdocexport.sh new file mode 100755 index 0000000..fc58d25 --- /dev/null +++ b/v0.2.1/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.1/hints/codecoop-website-upload.txt b/v0.2.1/hints/codecoop-website-upload.txt new file mode 100644 index 0000000..756d37e --- /dev/null +++ b/v0.2.1/hints/codecoop-website-upload.txt @@ -0,0 +1,6 @@ +by scp or webdav - the last one is the better choice + +1) webdav +apt-get install davfs2 +modprobe coda +mount -t davfs https://upload.codecoop.org/groups/cryptobox/ /mnt/ttt diff --git a/v0.2.1/hints/dev-requirements b/v0.2.1/hints/dev-requirements new file mode 100644 index 0000000..531c050 --- /dev/null +++ b/v0.2.1/hints/dev-requirements @@ -0,0 +1,5 @@ +developer requirements: +- dfsbuild +- wget +- curl +- (qemu) diff --git a/v0.2.1/hints/install_clearsilver.txt b/v0.2.1/hints/install_clearsilver.txt new file mode 100644 index 0000000..d2edb92 --- /dev/null +++ b/v0.2.1/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.1/hints/kernel-build.txt b/v0.2.1/hints/kernel-build.txt new file mode 100644 index 0000000..42ddbb4 --- /dev/null +++ b/v0.2.1/hints/kernel-build.txt @@ -0,0 +1,23 @@ +Hints for building and integrating a new kernel into the cryptobox: + +1) get the source +download it from http://kernel.org (at least 2.6.11) + +2) configure +- copy the current kernel config from the cryptobox/trunk/kernel + directory to the kernel source directory as ".config" (the .config + can also be found in the current kernel-image-cryptoboxX.Y.deb packagefile) +- make menuconfig +- make-kpkg --rootcmd fakeroot --revision=cryptoboxY.X kernel_image + (replace "Y.X" by the current cryptobox release) + +3) integrating +- copy the debian kernel package (see above) and the config file to cryptobox/trunk/kernel +- change the "unpackdebs" setting in cryptobox/trunk/etc-default.d/dfs-cbox.conf +- add the new kernel package and the config file to the repository (svn add) + +4) afterwork +- run "cryptobox/trunk/scripts/cbox-build.sh dfsbuild" to create a fresh base system + including the new kernel +- test the box with your new kernel +- enjoy it! :) diff --git a/v0.2.1/hints/release-policy.txt b/v0.2.1/hints/release-policy.txt new file mode 100644 index 0000000..14a97f2 --- /dev/null +++ b/v0.2.1/hints/release-policy.txt @@ -0,0 +1,24 @@ +1) set current version + - README + - cbox-tree.d/usr/share/cryptobox/templates/footer.cs + - cover/cover_[en|de].[swx|pdf] + +2) build image + - 'scripts/cbox-build.sh release' + +4) release notes + - https://systemausfall.org/trac/wiki/ReleaseNotes + +3) upload to codecoop + - type "scp $FILE $USERNAME@shell.codecoop.org:." + - upload a dummy file with the same name via upload-web-interface to codecoop + - ask Jan Kanzleiter to replace the dummy with the the scp-file + - upload the checksumfile created by "md5sum cryptobox_vY.X.iso >cryptobox_vY.X.iso.md5sum" + - add release notes and changelog + - upload cover_[en|de].pdf + +4) release announcement + - http://codecoop.org + - http://distrowatch.com + - http://livedistro.org + - http://linuxlinks.com diff --git a/v0.2.1/hints/starting_uml.txt b/v0.2.1/hints/starting_uml.txt new file mode 100644 index 0000000..71a50fe --- /dev/null +++ b/v0.2.1/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.1/hints/trac-wiki.txt b/v0.2.1/hints/trac-wiki.txt new file mode 100644 index 0000000..c233382 --- /dev/null +++ b/v0.2.1/hints/trac-wiki.txt @@ -0,0 +1,27 @@ +some useful macros: +* [[TOC]] - at the beginning of the document +* [[AutoNav]] - below [[TOC]], followed by a line with "----" +* [[AddComment]] - at the end of the page (below "----") +* [[WikiInclude($PAGENAME)]] - include another wiki page +* [[redirect(wiki:$PAGENAME)]] - redirect to another page (useful to redirect to default lang) +* [[Image(file/trunk/cbox-tree.d/var/www/cryptobox-img/screenshots/$NAME)]] - beware: you may use "wiki" or "ticket" instead of "file" - very unusual syntax +* [[FootNote(Text)]] - creates a reference to a footnote - the list of footnotes is expanded by "[[FootNote]]" + +special things: +* the first level heading ("= TEXT =") is considered as the page title - only lower level headings will be a part of the table of contents +* links like "CryptoBoxUser/de" are not recogniced - use "[wiki:CryptoBoxUser/de CryptoBoxUser]" instead +* for a deeper level of items or enumerations, you have to add two(!) additional spaces in front of the symbol ("*" or "1.") - this is obviously strange ... + +default page layout: +[[TOC]] +[[AutoNav]] +---- + += Title = + +== Heading ... == +... + +---- +== Comments == +[[AddComment]] diff --git a/v0.2.1/kernel/config-2.6.12.6_cryptobox0.2.1 b/v0.2.1/kernel/config-2.6.12.6_cryptobox0.2.1 new file mode 100644 index 0000000..36dfe45 --- /dev/null +++ b/v0.2.1/kernel/config-2.6.12.6_cryptobox0.2.1 @@ -0,0 +1,1267 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.12.6 +# Thu Oct 20 16:59: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=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# 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_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_PRINTK=y +CONFIG_BUG=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +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 +CONFIG_BASE_SMALL=0 + +# +# 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_MGEODEGX1 is not set +# CONFIG_MCYRIXIII is not set +# CONFIG_MVIAC3_2 is not set +CONFIG_X86_GENERIC=y +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_X86_REBOOTFIXUPS 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 +CONFIG_SECCOMP=y + +# +# Power management options (ACPI, APM) +# +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +# CONFIG_SOFTWARE_SUSPEND is not set + +# +# ACPI (Advanced Configuration and Power Interface) Support +# +CONFIG_ACPI=y +CONFIG_ACPI_BOOT=y +CONFIG_ACPI_INTERPRETER=y +# CONFIG_ACPI_SLEEP is not set +# CONFIG_ACPI_AC is not set +# CONFIG_ACPI_BATTERY is not set +# CONFIG_ACPI_BUTTON is not set +# CONFIG_ACPI_VIDEO is not set +# CONFIG_ACPI_FAN is not set +# CONFIG_ACPI_PROCESSOR is not set +# CONFIG_ACPI_ASUS is not set +# CONFIG_ACPI_IBM is not set +# 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_DMA_API=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 + +# +# 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_GSC 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 is not set +# 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=y +# CONFIG_BLK_DEV_CMD640_ENHANCED 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=y +# CONFIG_PDC202XX_BURST is not set +CONFIG_BLK_DEV_PDC202XX_NEW=y +# CONFIG_PDC202XX_FORCE is not set +CONFIG_BLK_DEV_SVWKS=y +CONFIG_BLK_DEV_SIIMAGE=y +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=y +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_CHR_DEV_SG=y + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set + +# +# SCSI Transport Attributes +# +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_ATTRS=m +# 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_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_DMX3191D is not set +# CONFIG_SCSI_DTC3280 is not set +# CONFIG_SCSI_EATA 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_PSI240I is not set +# CONFIG_SCSI_QLOGIC_FAS is not set +# CONFIG_SCSI_QLOGIC_FC is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +CONFIG_SCSI_QLA2XXX=y +# CONFIG_SCSI_QLA21XX is not set +# CONFIG_SCSI_QLA22XX is not set +# CONFIG_SCSI_QLA2300 is not set +# CONFIG_SCSI_QLA2322 is not set +# CONFIG_SCSI_QLA6312 is not set +# CONFIG_SCSI_LPFC 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 is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set + +# +# 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=y + +# +# Protocol Drivers +# +# CONFIG_IEEE1394_VIDEO1394 is not set +CONFIG_IEEE1394_SBP2=y +# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set +# CONFIG_IEEE1394_ETH1394 is not set +# CONFIG_IEEE1394_DV1394 is not set +CONFIG_IEEE1394_RAWIO=y +# 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_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_DGRS is not set +CONFIG_EEPRO100=y +CONFIG_E100=y +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_ACENIC is not set +CONFIG_DL2K=y +CONFIG_E1000=y +# CONFIG_E1000_NAPI is not set +CONFIG_NS83820=y +CONFIG_HAMACHI=y +CONFIG_YELLOWFIN=y +CONFIG_R8169=y +# CONFIG_R8169_NAPI is not set +CONFIG_SK98LIN=y +CONFIG_VIA_VELOCITY=y +CONFIG_TIGON3=y +CONFIG_BNX2=y + +# +# 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=800 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=600 +# 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 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 + +# +# Hardware I/O ports +# +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 +# CONFIG_GAMEPORT 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_SERIAL_JSM is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_PRINTER 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 + +# +# TPM devices +# +# CONFIG_TCG_TPM 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_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB=y +# 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 + +# +# USB Host Controller Drivers +# +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_SPLIT_ISO is not set +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_UHCI_HCD=y +# 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 is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +CONFIG_USB_STORAGE_FREECOM=y +CONFIG_USB_STORAGE_ISD200=y +CONFIG_USB_STORAGE_DPCM=y +# CONFIG_USB_STORAGE_USBAT is not set +# 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 + +# +# USB Multimedia devices +# +# CONFIG_USB_DABUSB is not set + +# +# 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 +# CONFIG_USB_MON 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_EMI62 is not set +# 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_SISUSBVGA 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=y +# CONFIG_XFS_RT is not set +CONFIG_XFS_QUOTA=y +CONFIG_XFS_SECURITY=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_QUOTA is not set +CONFIG_QUOTACTL=y +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_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=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=y +# 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=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=y +CONFIG_NLS_ISO8859_3=y +CONFIG_NLS_ISO8859_4=y +CONFIG_NLS_ISO8859_5=y +CONFIG_NLS_ISO8859_6=y +CONFIG_NLS_ISO8859_7=y +CONFIG_NLS_ISO8859_9=y +CONFIG_NLS_ISO8859_13=y +CONFIG_NLS_ISO8859_14=y +CONFIG_NLS_ISO8859_15=y +CONFIG_NLS_KOI8_R=y +CONFIG_NLS_KOI8_U=y +# CONFIG_NLS_UTF8 is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +# CONFIG_DEBUG_KERNEL is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_EARLY_PRINTK=y + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=y +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_TGR192 is not set +CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_SERPENT is not set +CONFIG_CRYPTO_AES_586=y +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_MICHAEL_MIC is not set +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_TEST is not set + +# +# Hardware crypto devices +# +CONFIG_CRYPTO_DEV_PADLOCK=y +CONFIG_CRYPTO_DEV_PADLOCK_AES=y + +# +# Library routines +# +CONFIG_CRC_CCITT=y +CONFIG_CRC32=y +CONFIG_LIBCRC32C=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_X86_BIOS_REBOOT=y +CONFIG_PC=y diff --git a/v0.2.1/kernel/info.txt b/v0.2.1/kernel/info.txt new file mode 100644 index 0000000..0d737cc --- /dev/null +++ b/v0.2.1/kernel/info.txt @@ -0,0 +1,3 @@ +BEWARE: the uml kernel does not work correctly - see ../hints/starting_uml.txt for details + +see hints/kernel-build.txt for details on how to build and include a new kernel diff --git a/v0.2.1/kernel/kernel-image-2.6.12.6_cryptobox0.2.1_i386.deb b/v0.2.1/kernel/kernel-image-2.6.12.6_cryptobox0.2.1_i386.deb new file mode 100644 index 0000000..4290fc7 Binary files /dev/null and b/v0.2.1/kernel/kernel-image-2.6.12.6_cryptobox0.2.1_i386.deb differ diff --git a/v0.2.1/kernel/uml-kernel-2.6.12.3-cryptobox b/v0.2.1/kernel/uml-kernel-2.6.12.3-cryptobox new file mode 100755 index 0000000..072d2a8 Binary files /dev/null and b/v0.2.1/kernel/uml-kernel-2.6.12.3-cryptobox differ diff --git a/v0.2.1/logo/ameisenkopp.svg b/v0.2.1/logo/ameisenkopp.svg new file mode 100644 index 0000000..065f710 --- /dev/null +++ b/v0.2.1/logo/ameisenkopp.svg @@ -0,0 +1,2883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2.1/logo/antlogo100px.png b/v0.2.1/logo/antlogo100px.png new file mode 100644 index 0000000..454709d Binary files /dev/null and b/v0.2.1/logo/antlogo100px.png differ diff --git a/v0.2.1/logo/boesetest.svg b/v0.2.1/logo/boesetest.svg new file mode 100644 index 0000000..f987d53 --- /dev/null +++ b/v0.2.1/logo/boesetest.svg @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2.1/logo/bubblebutton.svg b/v0.2.1/logo/bubblebutton.svg new file mode 100644 index 0000000..92cfc73 --- /dev/null +++ b/v0.2.1/logo/bubblebutton.svg @@ -0,0 +1,774 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2.1/logo/entwurf.svg b/v0.2.1/logo/entwurf.svg new file mode 100644 index 0000000..456a84a --- /dev/null +++ b/v0.2.1/logo/entwurf.svg @@ -0,0 +1,945 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + doire wrote to mention a Physicsweb piecerevealing some of the first bits of data fromthe Deep Impact mission. From the article:"Based on data from the flyby spacecraft andthe impactor, Michael O'Hearn of theUniversity of Maryland and colleagues saythat Tempel 1 belongs to the Jupiter family ofcomets, although its overall shape and surfacefeatures are quite different from the nuclei ofthe two other comets that have been studiedin detail -- Wild 2 and Borelly. They also reportthat Tempel 1 consists largely of extremelyfine particles that seem to be very looselybound together: in other words, the comet ismore like a pile of powder than a solid rock."Looks like the Electric Universe folks were off.Yours sincerely,Big Brother + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2.1/logo/evil_stick.png b/v0.2.1/logo/evil_stick.png new file mode 100644 index 0000000..0f711c6 Binary files /dev/null and b/v0.2.1/logo/evil_stick.png differ diff --git a/v0.2.1/logo/evil_stick.svg b/v0.2.1/logo/evil_stick.svg new file mode 100644 index 0000000..adb361e --- /dev/null +++ b/v0.2.1/logo/evil_stick.svg @@ -0,0 +1,811 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + During the course of our ongoing review of the Secure Flight program,we found that TSA did not fully disclose to the public its use of personalinformation in its fall 2004 privacy notices as required by the Privacy Act.In particular, the public was not made fully aware of, nor had theopportunity to comment on, TSA's use of personal information drawnfrom commercial sources to test aspects of the Secure Flight program.In September 2004 and November 2004, TSA issued privacy notices inthe Federal Register that included descriptions of how such informationwould be used. However, these notices did not fully inform the publicbefore testing began about the procedures that TSA and its contractorswould follow for collecting, using, and storing commercial data. Inaddition, the scope of the data used during commercial data testing wasnot fully disclosed in the notices. Specifically, a TSA contractor, acting onbehalf of the agency, collected more than 100 million commercial datarecords containing personal information such as name, date of birth, andtelephone number without informing the public. As a result of TSA'sactions, the public did not receive the full protections of the Privacy Act.Yours sincerely,Big Brother + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2.1/logo/evil_stick2.png b/v0.2.1/logo/evil_stick2.png new file mode 100644 index 0000000..a7a48a9 Binary files /dev/null and b/v0.2.1/logo/evil_stick2.png differ diff --git a/v0.2.1/logo/evil_stick2.svg b/v0.2.1/logo/evil_stick2.svg new file mode 100644 index 0000000..4153b9b --- /dev/null +++ b/v0.2.1/logo/evil_stick2.svg @@ -0,0 +1,820 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + During the course of our ongoing review of the Secure Flight program,we found that TSA did not fully disclose to the public its use of personalinformation in its fall 2004 privacy notices as required by the Privacy Act.In particular, the public was not made fully aware of, nor had theopportunity to comment on, TSA's use of personal information drawnfrom commercial sources to test aspects of the Secure Flight program.In September 2004 and November 2004, TSA issued privacy notices inthe Federal Register that included descriptions of how such informationwould be used. However, these notices did not fully inform the publicbefore testing began about the procedures that TSA and its contractorswould follow for collecting, using, and storing commercial data. Inaddition, the scope of the data used during commercial data testing wasnot fully disclosed in the notices. Specifically, a TSA contractor, acting onbehalf of the agency, collected more than 100 million commercial datarecords containing personal information such as name, date of birth, andtelephone number without informing the public. As a result of TSA'sactions, the public did not receive the full protections of the Privacy Act.Yours sincerely,Big Brother + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2.1/logo/evil_stick3.png b/v0.2.1/logo/evil_stick3.png new file mode 100644 index 0000000..efc372c Binary files /dev/null and b/v0.2.1/logo/evil_stick3.png differ diff --git a/v0.2.1/logo/evil_stick3.svg b/v0.2.1/logo/evil_stick3.svg new file mode 100644 index 0000000..1d59177 --- /dev/null +++ b/v0.2.1/logo/evil_stick3.svg @@ -0,0 +1,909 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + During the course of our ongoing review of the Secure Flight program,we found that TSA did not fully disclose to the public its use of personalinformation in its fall 2004 privacy notices as required by the Privacy Act.In particular, the public was not made fully aware of, nor had theopportunity to comment on, TSA's use of personal information drawnfrom commercial sources to test aspects of the Secure Flight program.In September 2004 and November 2004, TSA issued privacy notices inthe Federal Register that included descriptions of how such informationwould be used. However, these notices did not fully inform the publicbefore testing began about the procedures that TSA and its contractorswould follow for collecting, using, and storing commercial data. Inaddition, the scope of the data used during commercial data testing wasnot fully disclosed in the notices. Specifically, a TSA contractor, acting onbehalf of the agency, collected more than 100 million commercial datarecords containing personal information such as name, date of birth, andtelephone number without informing the public. As a result of TSA'sactions, the public did not receive the full protections of the Privacy Act.Yours sincerely,Big Brother + + + + + + + + + + + + + + + + + + + + + + + diff --git a/v0.2.1/logo/vault_pingu_gross.png b/v0.2.1/logo/vault_pingu_gross.png new file mode 100644 index 0000000..51c320a Binary files /dev/null and b/v0.2.1/logo/vault_pingu_gross.png differ diff --git a/v0.2.1/logo/vault_pingu_uncut.png b/v0.2.1/logo/vault_pingu_uncut.png new file mode 100644 index 0000000..c367dd4 Binary files /dev/null and b/v0.2.1/logo/vault_pingu_uncut.png differ diff --git a/v0.2.1/scripts/cbox-build.sh b/v0.2.1/scripts/cbox-build.sh new file mode 100755 index 0000000..097d9d9 --- /dev/null +++ b/v0.2.1/scripts/cbox-build.sh @@ -0,0 +1,165 @@ +#!/bin/sh +# $Id$ +# +# managing our work at the cryptobox +# +# usual workflow: +# dfsbuild - create the image directory with dfsbuild +# config - apply cryptobox specific changes to the image directory +# harden - remove unnecessary packages and disable developer features +# iso - create the iso image +# isoz - create a compressed iso image +# burn - burns the image on a cd-rw +# +# final action: +# release - the same as "dfsbuild config harden iso" +# +# +# problems of this script: +# - has to run as root +# - 'harden' is strangely integrated +# +# you may run this script with multiple arguments, e.g.: +# cb-build.sh dfsbuild config iso +# +# the action "release" does what it says :) +# (all developer's features like sshd, writable templates and +# the test-suite are deactivated, some packages get removed) +# + +set -ue + +# include common functions and settings +source $(dirname $0)/common.sh.inc + + +################### some settings ###################### + +# dfsbuild config +DFS_CONFIG=$(get_config_file dfs-cbox.conf) + + +####################### functions ###################### + +function run_dfsbuild() +{ + [ ! -e "$BUILD_DIR" ] && mkdir -p "$BUILD_DIR" && echo "das BuildDir ($BUILD_DIR) wurde angelegt ..." + dfsbuild -c "$DFS_CONFIG" -w "$BUILD_DIR" + + # remove iso image of dfsbuild - it is not necessary + [ -e "$BUILD_DIR/image.iso" ] && rm "$BUILD_DIR/image.iso" +} + + +function create_iso() +{ + echo "Creating the iso ..." + mkisofs $MKISOFS_OPTIONS -o "$IMAGE_FILE" "$IMAGE_DIR" +} + + +function create_compressed_iso() +{ + echo "Creating the compressed iso ..." + [ -e "$IMAGEZ_DIR" ] && rm -r "$IMAGEZ_DIR" + mkdir "$IMAGEZ_DIR" + for a in $(ls "$IMAGE_DIR") + do if echo "$UNCOMPRESSED_ITEMS" | grep -q -w "$a" + then echo " Copying uncompressed item: $a ..." + cp -a "$IMAGE_DIR/$a" "$IMAGEZ_DIR" + else if [ -h "$IMAGE_DIR/$a" ] + then echo " Copying link: $a ..." + cp -a "$IMAGE_DIR/$a" "$IMAGEZ_DIR" + else echo " Compressing item: $a ..." + mkzftree "$IMAGE_DIR/$a" "$IMAGEZ_DIR/$a" + fi + fi + done + mkisofs -z $MKISOFS_OPTIONS -o "$IMAGEZ_FILE" "$IMAGEZ_DIR" +} + + +function configure_cb() +{ + if [ ! -e "$IMAGE_DIR" ]; then + echo -e "Directory \"$IMAGE_DIR\" not found!" + echo -e "Did you run \"$0 dfsbuild\"?" + exit + fi + + echo "Copying files to the box ..." + [ -e "$TMP_DIR" ] && rm -rf "$TMP_DIR" + svn export --force "$TEMPLATE_DIR/." "$IMAGE_DIR" + + echo "Configuring the cryptobox ..." + chroot "$IMAGE_DIR" "$CHROOT_START" /usr/lib/cryptobox/configure-cryptobox.sh normal + + # source local configure scripts + [ -d "$CUSTOM_CONFIGURE_DIR" ] && \ + find "$CUSTOM_CONFIGURE_DIR" -xtype f | sort | while read file + do echo "Sourcing custom configure script $(basename $file):" + # execute it in its own environment (to be safe) + # 'source' implicitly imports all current settings + # indent these lines to improve the output + ( source "$file" ) 2>&1 | sed 's/^/\t/' + done +} + + +function blanknburn_cdrw() +{ + cdrecord -v dev=$CDWRITER blank=fast + cdrecord -v dev=$CDWRITER $IMAGE_FILE +} +################ do it! ###################### + +[ $# -eq 0 ] && echo "[`basename $0`] - no arguments supplied - maybe you want to use '--help'" + +# initialize local directories (easier for users) +for a in $LOCALCONF_DIR $CUSTOM_CONFIGURE_DIR + do [ ! -e "$a" ] && mkdir "$a" && chown --reference=. "$a" + done + +# check for uid=0 (necessary for all operations) +[ "$(id -u)" -ne 0 ] && echo "this script ($0) has to be called as root" >&2 && exit 1 + +while [ $# -gt 0 ] + do case "$1" in + dfsbuild ) + # check if we are in ROOT_DIR - otherwise we will have problems with + # relative paths in dfs-box.conf + [ "$ROOT_DIR" -ef "$(pwd)" ] || error_die 1 "Sorry: you have to run $0 while you are in '$ROOT_DIR'!" + run_dfsbuild + ;; + config ) + configure_cb normal + ;; + iso ) + create_iso + ;; + isoz ) + create_compressed_iso + ;; + harden ) + chroot "$IMAGE_DIR" "$CHROOT_START" /usr/lib/cryptobox/configure-cryptobox.sh secure + ;; + burn ) + blanknburn_cdrw + ;; + release ) + $0 dfsbuild config harden isoz + ;; + help|--help ) + echo "Syntax: `basename $0` ( release | dfsbuild | config | harden | iso | isoz | burn | help )" + echo " (you may specify more than one action)" + echo + ;; + * ) + echo -e "unknown action: $1" + echo + $0 help + exit 1 + ;; + esac + shift + done diff --git a/v0.2.1/scripts/cbox-dev.sh b/v0.2.1/scripts/cbox-dev.sh new file mode 100755 index 0000000..74b3f75 --- /dev/null +++ b/v0.2.1/scripts/cbox-dev.sh @@ -0,0 +1,159 @@ +#!/bin/sh +# $Id$ +# +# managing our work at the cryptobox +# +# development actions: +# chroot - run first tests in a chroot environment +# qemu - run the qemu emulation with the uncompressed image +# qemuz - run the qemu emulation with the compressed image +# upload - copy your local files to tmpfs on a running cryptobox +# diff - compare tmpfs-files on a running cryptobox with the original +# merge - apply the diff to the local copy +# ssh - open a ssh connection to a running cryptobox +# +# problems of this script: +# - chroot has to run as root +# + +set -ue + +# include common functions and settings +source $(dirname $0)/common.sh.inc + +################### some settings ##################### + +# qemu network configuration file +QEMU_IFUP_FILE=$(get_config_file qemu-ifup) + +# to connect to a development cryptobox with ssh +SSH_CONFIG_FILE=$(get_config_file ssh_config) + +# extract the hostname of the cryptobox from the ssh_config file +SSH_HOST=$(grep "^Host " "$SSH_CONFIG_FILE" | head -1 | sed 's/^Host *\(.*\)$/\1/') + + +# read some cryptobox settings (especially "DEV_FEATURES_SCRIPT") +if [ -e "$TEMPLATE_DIR/etc/cryptobox/cryptobox.conf" ] + then source "$TEMPLATE_DIR/etc/cryptobox/cryptobox.conf" + else echo "cryptobox.conf ($TEMPLATE_DIR/etc/cryptobox/cryptobox.conf) does not exist!" >&2 + fi + +####################### functions ###################### + + +function qemu_boot() +# parameter: iso_image_file +{ + # create a virtual harddisk image file + if [ ! -e "$HD_IMAGE" ] + then echo "Creating temporary harddisk image ..." + dd if=/dev/zero of="$HD_IMAGE" bs=1M count=20 + fi + echo "Starting qemu ..." + qemu -cdrom "$1" -m 96 -hda "$IMAGE_FILE" -boot d -n "$QEMU_IFUP_FILE" || true + # remove iptables rules + "$QEMU_IFUP_FILE" stop +} + + +function upload2box() +# upload local files to a development cryptobox +# this is necessary to use an "old" development cd with +# new code - this affects only the web-interface and the +# cbox-manage.sh-script (the boot behaviour stays the same) +# +# of course, only the directories that are mapped to tmpfs can +# be updated this way +{ + local DIRS="var/www usr/share/cryptobox usr/lib/cryptobox" + [ -e "$TMP_DIR" ] || mkdir -p "$TMP_DIR" + for a in $DIRS + do mkdir -p "$TMP_DIR/$a" + cp -r "$TEMPLATE_DIR/$a/." "$TMP_DIR/$a" + done + find "$TMP_DIR" -type d -name '\.svn' | while read a + do rm -rf "$a" + done + echo "Copying local files to the cryptobox ... " + if scp -F "$SSH_CONFIG_FILE" -rpq "$TMP_DIR/." cryptobox:/tmp/mirror + then echo "Set the base for future diffs to current state ..." + ssh -F "$SSH_CONFIG_FILE" "$SSH_HOST" "$DEV_FEATURES_SCRIPT" set_diff_base + else echo 'ERROR: copying failed!' + fi + rm -rf "$TMP_DIR" +} + + +function merge_from_box() +# merge a diff from a running development cryptobox into +# your local copy +{ + echo "Check for collisions ... (dry-run)" + if box_diff | patch --dry-run -p1 -d "$TEMPLATE_DIR" + then echo + echo "Applying diff ..." + box_diff | patch -p1 -d "$TEMPLATE_DIR" + echo + echo "Set the base for future diffs to current state ..." + ssh -F "$SSH_CONFIG_FILE" "$SSH_HOST" "$DEV_FEATURES_SCRIPT" set_diff_base + else echo "Merging will fail - do it manually!" + fi +} + + +# get the diff of a running cryptobox system between its current state +# and its original content +function box_diff() +{ + ssh -F "$SSH_CONFIG_FILE" "$SSH_HOST" "$DEV_FEATURES_SCRIPT" diff +} + + +############################# main ##################################### + +[ $# -eq 0 ] && echo "[`basename $0`] - no arguments supplied - maybe you want to use '--help'" + +ACTION=--help +[ $# -gt 0 ] && ACTION=$1 + +case "$1" in + diff ) + # get a diff from a running development cryptobox + box_diff + ;; + merge ) + merge_from_box + ;; + upload ) + upload2box + ;; + chroot ) + # chroot may only be called as root + [ "$(id -u)" -ne 0 ] && echo "the action 'chroot' may only be called as root!" >&2 && exit 1 + if [ ! -x "$IMAGE_DIR/$CHROOT_START" ] + then echo "the chroot init script ("$IMAGE_DIR/$CHROOT_START") is not executable" + echo "maybe you should run '`basename $0` cb-config' first" + else chroot "$IMAGE_DIR" "$CHROOT_START" + fi + ;; + qemu ) + qemu_boot "$IMAGE_FILE" + ;; + qemuz ) + qemu_boot "$IMAGEZ_FILE" + ;; + ssh ) + ssh -F "$SSH_CONFIG_FILE" "$SSH_HOST" + ;; + help|--help ) + echo "Syntax: `basename $0` ( qemu | qemuz | chroot | upload | diff | merge | ssh | help )" + echo + ;; + * ) + echo -e "unknown action: $1" + echo + $0 help + exit 1 + ;; + esac diff --git a/v0.2.1/scripts/common.sh.inc b/v0.2.1/scripts/common.sh.inc new file mode 100644 index 0000000..17fdcfc --- /dev/null +++ b/v0.2.1/scripts/common.sh.inc @@ -0,0 +1,61 @@ +# +# common settings and functions for cryptobox scripts +# + +#################### some functions #################### + +# get the path of a configuration file - local configuration files +# supersede default files +# parameter: base name of the configuration file +function get_config_file() +{ + [ -e "$LOCALCONF_DIR/$1" ] && echo "$LOCALCONF_DIR/$1" && return 0 + [ -e "$DEFAULTCONF_DIR/$1" ] && echo "$DEFAULTCONF_DIR/$1" && return 0 + echo "configuration file ($1) not found!" >&2 + exit 1 +} + +function error_die() +{ + echo "$2" >&2 + exit $1 +} + + +################### general settings ################### + +# the base directory of your local development files +ROOT_DIR=$(dirname "$0")/.. + +# the template (default) configuration directory +DEFAULTCONF_DIR="$ROOT_DIR/etc-defaults.d" + +# your local configuration directory (existing files supersede the defaults) +LOCALCONF_DIR="$ROOT_DIR/etc-local.d" + +# local configuration directory - contains scripts to be executed after +# 'configure' +CUSTOM_CONFIGURE_DIR="$ROOT_DIR/configure-local.d" + +# template directory for cryptobox specific configuration +TEMPLATE_DIR="cbox-tree.d" + +# the chroot-wrapper within the cryptobox +CHROOT_START="/usr/lib/cryptobox/chroot-start.sh" + + +############# include local configuration ############## + +if [ -e "$(get_config_file cbox-dev.conf)" ] + then source "$(get_config_file cbox-dev.conf)" + else echo "local cbox-dev.conf ($(get_config_file cbox-dev.conf)) does not exist!" >&2 + exit 1 + fi + +# image directory created by dfsbuild +# the BUILD_DIR is defined in the local cbox-dev.conf +IMAGE_DIR="$BUILD_DIR/image" +IMAGEZ_DIR="$BUILD_DIR/image.z" +IMAGEZ_FILE="${IMAGE_FILE/\.iso/_compressed.iso}" +UNCOMPRESSED_ITEMS="_offline autorun.inf start.html var boot opt" + diff --git a/v0.2.1/scripts/show_TODO.sh b/v0.2.1/scripts/show_TODO.sh new file mode 100755 index 0000000..4611417 --- /dev/null +++ b/v0.2.1/scripts/show_TODO.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +grep "TODO" $(find "$(dirname $0)/.." -type f | grep -v "\.svn" | grep -v "$(basename $0)") diff --git a/v0.2.1/scripts/userdocexport.sh b/v0.2.1/scripts/userdocexport.sh new file mode 100755 index 0000000..22efc38 --- /dev/null +++ b/v0.2.1/scripts/userdocexport.sh @@ -0,0 +1,126 @@ +#!/bin/sh +# +# export wiki pages to the cryptobox development tree +# this creates static and integrated pages +# + +set -ue + +# root directory of the cryptobox development environment +ROOT_DIR="$(dirname $0)/.." + +# retrieve these pages from the wiki +PAGES="CryptoBox CryptoBoxUser CryptoBoxUserGettingStarted + CryptoBoxUserConfiguration CryptoBoxUserDailyUse CryptoBoxDev + CryptoBoxDevPreparation CryptoBoxDevCustomBuild CryptoBoxDevWorkFlow + CryptoBoxDevValidation CryptoBoxDevCustomConfigure CryptoBoxDevBackground + CryptoBoxDevKnownProblems" +#PAGES="CryptoBox" + +# base URL +WIKI_HOST="https://systemausfall.org" +# the trailing slash is important +WIKI_URL=/trac/cryptobox/wiki/ + +CBOX_CGI="/cryptobox?action=doc\&page=" + +LANGUAGES="de en" + +DEST_DIR="$ROOT_DIR/cbox-tree.d/usr/share/doc/cryptobox/html" +OFFLINE_DIR="$ROOT_DIR/cbox-tree.d/_offline/doc" +IMAGE_DIR="$ROOT_DIR/cbox-tree.d/var/www/cryptobox-img" +TMP_DIR=/tmp/$(basename $0)-$$.d + +HEADER_FILE=doc_header.inc +FOOTER_FILE=doc_footer.inc + +[ ! -e "$DEST_DIR" ] && echo "$DEST_DIR does not exist" && exit 1 + +for LANG in $LANGUAGES; do + for PAGE in $PAGES; do + PAGE_SRC="$WIKI_HOST$WIKI_URL$PAGE/$LANG" + echo "Importing $PAGE/$LANG:" + + # replace sub-page-style '/' like moin does it (by '_2f') + TMP_FILE=$TMP_DIR/${PAGE}.html + mkdir -p "$TMP_DIR" + + echo " downloading the page ..." + wget --quiet --output-document="$TMP_FILE" "$PAGE_SRC" || { echo "Downloading ($PAGE_SRC) failed!"; exit 1; } + + # check if this moin page exists (by looking for the template selection) + if grep -q "^describe $PAGE/$LANG here$" "$TMP_FILE" + then rm "$TMP_FILE" + PAGE_SRC=$(dirname $PAGE_SRC) + echo " trying to download default language page instead" + wget --quiet --output-document="$TMP_FILE" "$PAGE_SRC" || { echo "Downloading ($PAGE_SRC) failed!" >&2; exit 1; } + # check, if there is even no default page + grep -q "^describe $PAGE/$LANG here$" "$TMP_FILE" && echo "This page ($PAGE_SRC) was not found!" >&2 && exit 1 + fi + + echo " removing header and footer ..." + # break lines before start of content + sed -i 's#
#_END_OF_HEADER_\n#' "$TMP_FILE" + # the 'edit' buttons mark the end of the page + sed -i 's#
#\n_START_OF_FOOTER_#' "$TMP_FILE" + # cut off a possible comment - section + sed -i "s#
]*\#commentpreview#\n_START_OF_FOOTER_#" "$TMP_FILE" + # remove all lines before and after "body" + sed -i '1,/_END_OF_HEADER_/d; /_START_OF_FOOTER_/,$d' "$TMP_FILE" + + # close open divs + while [ "$(grep '' "$TMP_FILE" | wc -l)" ] + do echo "
" >>"$TMP_FILE" + done + + #echo " removing link images (moin specific) ..." + # remove inter-wiki images + #sed -i 's#<[^<]*moin-inter.png[^>]*>##g' "$TMP_FILE" + # remove moin-www images + #sed -i 's#<[^<]*moin-www.png[^>]*> ##g' "$TMP_FILE" + + # not necessary, because everything is a part of the repository + #echo " downloading requisites ..." + #wget --quiet --ignore-tags=a --no-clobber --page-requisites --convert-links --no-directories --base="$WIKI_HOST$WIKI_URL" --directory-prefix="$TMP_DIR" --html-extension --force-html --input-file="$TMP_FILE" || { echo "Downloading requisites for ($PAGE_SRC) failed!"; exit 1; } + + echo " adjusting links for images ..." + sed -i "s#='[^']*/cryptobox-img/\([^']*\)'#='/cryptobox-img/\1'#g" "$TMP_FILE" + + echo " adjusting wiki links ..." + # redirect wiki links to cryptobox cgi + sed -i "s#=\"$WIKI_URL\([^\.]*\)\"#=\"$CBOX_CGI\1\"#g" "$TMP_FILE" + # do it twice - somehow, the "g" flag does not work (it should replace multiple occurrences on a line) + sed -i "s#=\"$WIKI_URL\([^\.]*\)\"#=\"$CBOX_CGI\1\"#g" "$TMP_FILE" + # remove language specific part of moin link + for TLANG in $LANGUAGES + do sed -i "s#=\"$CBOX_CGI\([^\"]*\)/$TLANG#=\"$CBOX_CGI\1#g" "$TMP_FILE" + done + + + # build the static pages + echo " building static doc page" + offline_file=$OFFLINE_DIR/$LANG/$(basename $TMP_FILE) + mkdir -p "$OFFLINE_DIR/$LANG" + cat "$OFFLINE_DIR/$HEADER_FILE" "$OFFLINE_DIR/$LANG/$HEADER_FILE" "$TMP_FILE" "$OFFLINE_DIR/$LANG/$FOOTER_FILE" "$OFFLINE_DIR/$FOOTER_FILE" >"$offline_file" + sed -i "s%=\"$CBOX_CGI\([^\"#]*\)%=\"\1.html%g" "$offline_file" + # do it twice - this should not be necessary + sed -i "s%=\"$CBOX_CGI\([^#\"]*\)%=\"\1.html%g" "$offline_file" + sed -i "s#='/cryptobox-img#='../../../var/www/cryptobox-img#g" "$offline_file" + + # split language specific part of moin link and replace it by current language + for TLANG in $LANGUAGES + do sed -i "s#=\"\([^/]*\)/${TLANG}.html\"#=\"\1.html\"#g" "$offline_file" + done + + # some last changes to the dynamic pages (must be done _after_ the static pages) + # add weblang for current language to query string + sed -i "s#=\"$CBOX_CGI\(.*\)\"#=\"$CBOX_CGI\1\&weblang=$LANG\"#g" "$TMP_FILE" + # move cgi-doc + mv "$TMP_FILE" "$DEST_DIR/$LANG" + + echo " finished!" + done + done + +[ -n "$(find "$TMP_DIR" -type f)" ] && mv "$TMP_DIR"/* "$IMAGE_DIR" +rmdir "$TMP_DIR" diff --git a/v0.2.1/scripts/validate.sh b/v0.2.1/scripts/validate.sh new file mode 100755 index 0000000..3c5b9f2 --- /dev/null +++ b/v0.2.1/scripts/validate.sh @@ -0,0 +1,141 @@ +#!/bin/sh +# +# do a validation +# +# use "--help" for a list of possible actions +# + +set -eu + +# include common functions and settings +source $(dirname $0)/common.sh.inc + +# extract confirmation text from language file +confirmtext=$(grep "\" "$TEMPLATE_DIR/usr/share/cryptobox/lang/${VALIDATE_LANGUAGE}.hdf" | sed 's/[^=]*=[^a-zA-Z]*\(.*\)$/\1/; s/ /%20/g; s/!/%21/g; s/,/%2C/g') + +##################### some functions ######################## + +function do_single() +# Parameter: "test case dir" "output directory for results" +{ + local TESTNAME=$(basename $1) + # replace IPs and ports in the curl-file by local settings + cat "$1/input.curl" | substitute_constants | curl --insecure --silent --output "${2}/${TESTNAME}.html" --config - + # remove possible refresh-redirect + sed -i 's/]*>//g' "${2}/${TESTNAME}.html" + # there is no status in certain cases - e.g. for error 404 + if [ -e "${2}/${TESTNAME}.html" ] + then sed "1,/CBOX-STATUS-begin/d; /CBOX-STATUS-end/,\$d" "${2}/${TESTNAME}.html" >"${2}/${TESTNAME}.status" + # the diff option "-B" is required, because the status output of + # the cryptobox.pl script contains some blank lines + cat "$1/output" | substitute_constants | diff -NB - "${2}/${TESTNAME}.status" | sed 's//\>/g' >"${2}/${TESTNAME}.diff" || true + rm "${2}/${TESTNAME}.status" + fi + cp "$1/description" "${2}/${TESTNAME}.desc" + # sleep, if a file called 'delay' exists + [ -e "$1/delay" ] && sleep "$(<$1/delay)" + true +} + + +function do_series() +# parameter: name of the test case +{ + [ -d "$VALIDATE_REPORT_DIR/$1" ] && rm -r "$VALIDATE_REPORT_DIR/$1" + mkdir -p "$VALIDATE_REPORT_DIR/$1" + find "$VALIDATE_TEST_CASES_DIR/$1" -maxdepth 1 -mindepth 1 -type d | grep -v "/\.[^/]*$" | sort | while read a + do do_single "$a" "$VALIDATE_REPORT_DIR/$1" + done + create_summary "$1" >"$VALIDATE_REPORT_DIR/summary-$1.html" +} + + +function create_summary() +# parameter: name of test series +{ + cat "$VALIDATE_SUMMARY_TEMPLATE_DIR/header" + find "$VALIDATE_REPORT_DIR/$1" -maxdepth 1 -type f -name \*.desc | sort | while read a + do TESTNAME=$(basename ${a%.desc}) + TESTDESCRIPTION=$(cat $a) + sed "s#_TESTSERIES_#$1#g; s#_TESTNAME_#$TESTNAME#g; s/_TESTDESCRIPTION_/$TESTDESCRIPTION/" "$VALIDATE_SUMMARY_TEMPLATE_DIR/single_header" + local DIFF_FILE=${a%.desc}.diff + if [ -s "$DIFF_FILE" ] + then cat "$VALIDATE_SUMMARY_TEMPLATE_DIR/result-error" + sed 's#$#
#' "$DIFF_FILE" + else cat "$VALIDATE_SUMMARY_TEMPLATE_DIR/result-ok" + echo "no differences found" + # remove empty diff + [ -e "$DIFF_FILE" ] && rm "$DIFF_FILE" + fi + cat "$VALIDATE_SUMMARY_TEMPLATE_DIR/single_footer" + # remove description file + rm "$a" + done + cat "$VALIDATE_SUMMARY_TEMPLATE_DIR/footer" +} + + +function import_style() +# get the stylesheet file and images +# change the stylesheet link +{ + [ -d "$VALIDATE_REPORT_DIR/cryptobox-img" ] && rm -r "$VALIDATE_REPORT_DIR/cryptobox-img" + mkdir -p "$VALIDATE_REPORT_DIR/cryptobox-img" + [ -e "$VALIDATE_REPORT_DIR/cryptobox.css" ] && rm "$VALIDATE_REPORT_DIR/cryptobox.css" + wget -q -O "$VALIDATE_REPORT_DIR/cryptobox.css" http://$VALIDATE_HOST_IP_DEFAULT/cryptobox.css + # extract image file names + grep "url(cryptobox-img/" "$VALIDATE_REPORT_DIR/cryptobox.css" | sed 's#^.*url(cryptobox-img/\(.*\)).*$#\1#' | while read a + do wget -q -O "$VALIDATE_REPORT_DIR/cryptobox-img/$a" "http://$VALIDATE_HOST_IP_DEFAULT/cryptobox-img/$a" + done + + # change the stylesheet link in every html file in REPORT_DIR + find "$VALIDATE_REPORT_DIR" -type f -name \*.html | while read a + do sed -i '/stylesheet/s#href=\"/cryptobox.css\"#href=\"../cryptobox.css\"#g' "$a" + done +} + + +function substitute_constants() +{ + sed "s/_HOST_IP_DEFAULT_/$VALIDATE_HOST_IP_DEFAULT/g; \ + s/_HOST_IP_CHANGED_/$VALIDATE_HOST_IP_CHANGED/g; \ + s/_IFACE_LANG_/$VALIDATE_LANGUAGE/g; + s/_CONFIRM_TEXT_/$confirmtext/g" +} + +##################### main ########################### + +# do all checks, if nothing is specified +ACTION="check_all" +[ $# -gt 0 ] && ACTION=$1 + +case "$ACTION" in + list ) + find "$VALIDATE_TEST_CASES_DIR" -maxdepth 1 -mindepth 1 -type d | grep -v "/\.[^/]*$" | sort | while read a + do echo $(basename "$a") + done + ;; + check ) + [ $# -ne 2 ] && error_die 1 "Syntax: $(basename $0) check NAME" + case_dir="$VALIDATE_TEST_CASES_DIR/$2" + [ ! -d "$case_dir" ] && error_die 2 "the test case was not found ($case_dir)!" + do_series "$2" + import_style + ;; + check_all ) + # default action + "$0" list | sort | while read a + do echo -n "Validating $a ..." + "$0" check "$a" + echo + done + ;; + * ) + echo "Syntax of $(basename $0)" + echo -e "\t check_all \t - execute all test cases [default]" + echo -e "\t check NAME \t - execute a test case" + echo -e "\t list \t\t - show a list of available test cases" + echo -e "\t help \t\t - this syntax information" + echo + ;; + esac diff --git a/v0.2.1/validation/templates/README b/v0.2.1/validation/templates/README new file mode 100644 index 0000000..a1f2417 --- /dev/null +++ b/v0.2.1/validation/templates/README @@ -0,0 +1,17 @@ +every report summary will be constructed this way: + +- header + + - single_header + - result-ok | result-error + + - single_footer + + - single_header + - result-ok | result-error + + - single_footer + + ... + +- footer diff --git a/v0.2.1/validation/templates/footer b/v0.2.1/validation/templates/footer new file mode 100644 index 0000000..64ab34f --- /dev/null +++ b/v0.2.1/validation/templates/footer @@ -0,0 +1,12 @@ +
+ +
+ + + +
+
+ + diff --git a/v0.2.1/validation/templates/header b/v0.2.1/validation/templates/header new file mode 100644 index 0000000..bfdbba7 --- /dev/null +++ b/v0.2.1/validation/templates/header @@ -0,0 +1,25 @@ + + + + +CryptoBox + + + + + + + + +
+ + +
+ +
+ +
+ diff --git a/v0.2.1/validation/templates/result-error b/v0.2.1/validation/templates/result-error new file mode 100644 index 0000000..46002e1 --- /dev/null +++ b/v0.2.1/validation/templates/result-error @@ -0,0 +1 @@ +

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

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

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

/_TESTNAME_

+

_TESTDESCRIPTION_

+ diff --git a/v0.2.1/validation/test-cases/1-init/000-main/description b/v0.2.1/validation/test-cases/1-init/000-main/description new file mode 100644 index 0000000..09b8487 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/000-main/description @@ -0,0 +1 @@ +show the main page diff --git a/v0.2.1/validation/test-cases/1-init/000-main/input.curl b/v0.2.1/validation/test-cases/1-init/000-main/input.curl new file mode 100644 index 0000000..d0405a7 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/000-main/output b/v0.2.1/validation/test-cases/1-init/000-main/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/003-no_ssl/description b/v0.2.1/validation/test-cases/1-init/003-no_ssl/description new file mode 100644 index 0000000..17a6f45 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/003-no_ssl/input.curl b/v0.2.1/validation/test-cases/1-init/003-no_ssl/input.curl new file mode 100644 index 0000000..9c925b3 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/003-no_ssl/output b/v0.2.1/validation/test-cases/1-init/003-no_ssl/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/005-file_not_found_404/description b/v0.2.1/validation/test-cases/1-init/005-file_not_found_404/description new file mode 100644 index 0000000..2a30bfd --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/005-file_not_found_404/input.curl b/v0.2.1/validation/test-cases/1-init/005-file_not_found_404/input.curl new file mode 100644 index 0000000..85d2b7c --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/005-file_not_found_404/output b/v0.2.1/validation/test-cases/1-init/005-file_not_found_404/output new file mode 100644 index 0000000..e69de29 diff --git a/v0.2.1/validation/test-cases/1-init/007-index_url/description b/v0.2.1/validation/test-cases/1-init/007-index_url/description new file mode 100644 index 0000000..8a59974 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/007-index_url/description @@ -0,0 +1 @@ +try root directory index diff --git a/v0.2.1/validation/test-cases/1-init/007-index_url/input.curl b/v0.2.1/validation/test-cases/1-init/007-index_url/input.curl new file mode 100644 index 0000000..3d65077 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/007-index_url/output b/v0.2.1/validation/test-cases/1-init/007-index_url/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/010-init_ask/description b/v0.2.1/validation/test-cases/1-init/010-init_ask/description new file mode 100644 index 0000000..021c5a8 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/010-init_ask/description @@ -0,0 +1 @@ +display the init form diff --git a/v0.2.1/validation/test-cases/1-init/010-init_ask/input.curl b/v0.2.1/validation/test-cases/1-init/010-init_ask/input.curl new file mode 100644 index 0000000..e898059 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/010-init_ask/output b/v0.2.1/validation/test-cases/1-init/010-init_ask/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/020-init_empty_pw/description b/v0.2.1/validation/test-cases/1-init/020-init_empty_pw/description new file mode 100644 index 0000000..152094d --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/020-init_empty_pw/description @@ -0,0 +1 @@ +try initialisation with empty passwords diff --git a/v0.2.1/validation/test-cases/1-init/020-init_empty_pw/input.curl b/v0.2.1/validation/test-cases/1-init/020-init_empty_pw/input.curl new file mode 100644 index 0000000..c5b04d4 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/020-init_empty_pw/output b/v0.2.1/validation/test-cases/1-init/020-init_empty_pw/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/030-init_different_pw/description b/v0.2.1/validation/test-cases/1-init/030-init_different_pw/description new file mode 100644 index 0000000..7cda7f8 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/030-init_different_pw/description @@ -0,0 +1 @@ +try initialisation with different passwords diff --git a/v0.2.1/validation/test-cases/1-init/030-init_different_pw/input.curl b/v0.2.1/validation/test-cases/1-init/030-init_different_pw/input.curl new file mode 100644 index 0000000..f9020f8 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/030-init_different_pw/output b/v0.2.1/validation/test-cases/1-init/030-init_different_pw/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/040-init_wrong_confirmation/description b/v0.2.1/validation/test-cases/1-init/040-init_wrong_confirmation/description new file mode 100644 index 0000000..5d192f7 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/040-init_wrong_confirmation/description @@ -0,0 +1 @@ +try initialisation with wrong confirmation text diff --git a/v0.2.1/validation/test-cases/1-init/040-init_wrong_confirmation/input.curl b/v0.2.1/validation/test-cases/1-init/040-init_wrong_confirmation/input.curl new file mode 100644 index 0000000..b76832c --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/040-init_wrong_confirmation/output b/v0.2.1/validation/test-cases/1-init/040-init_wrong_confirmation/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/050-mount_ask_before_init/description b/v0.2.1/validation/test-cases/1-init/050-mount_ask_before_init/description new file mode 100644 index 0000000..c17e908 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/050-mount_ask_before_init/description @@ -0,0 +1 @@ +display mount form before initialisation diff --git a/v0.2.1/validation/test-cases/1-init/050-mount_ask_before_init/input.curl b/v0.2.1/validation/test-cases/1-init/050-mount_ask_before_init/input.curl new file mode 100644 index 0000000..3a22bd9 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/050-mount_ask_before_init/output b/v0.2.1/validation/test-cases/1-init/050-mount_ask_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/060-mount_do_before_init/description b/v0.2.1/validation/test-cases/1-init/060-mount_do_before_init/description new file mode 100644 index 0000000..71bb94d --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/060-mount_do_before_init/description @@ -0,0 +1 @@ +try mounting before initialisation diff --git a/v0.2.1/validation/test-cases/1-init/060-mount_do_before_init/input.curl b/v0.2.1/validation/test-cases/1-init/060-mount_do_before_init/input.curl new file mode 100644 index 0000000..d1aeaf6 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/060-mount_do_before_init/output b/v0.2.1/validation/test-cases/1-init/060-mount_do_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/070-umount_ask_before_init/description b/v0.2.1/validation/test-cases/1-init/070-umount_ask_before_init/description new file mode 100644 index 0000000..74666c4 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/070-umount_ask_before_init/description @@ -0,0 +1 @@ +display umount form before initialisation diff --git a/v0.2.1/validation/test-cases/1-init/070-umount_ask_before_init/input.curl b/v0.2.1/validation/test-cases/1-init/070-umount_ask_before_init/input.curl new file mode 100644 index 0000000..6e3c39f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/070-umount_ask_before_init/output b/v0.2.1/validation/test-cases/1-init/070-umount_ask_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/080-umount_do_before_init/description b/v0.2.1/validation/test-cases/1-init/080-umount_do_before_init/description new file mode 100644 index 0000000..b29462c --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/080-umount_do_before_init/description @@ -0,0 +1 @@ +try unmounting before initialisation diff --git a/v0.2.1/validation/test-cases/1-init/080-umount_do_before_init/input.curl b/v0.2.1/validation/test-cases/1-init/080-umount_do_before_init/input.curl new file mode 100644 index 0000000..454df66 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/080-umount_do_before_init/output b/v0.2.1/validation/test-cases/1-init/080-umount_do_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/090-config_ask_before_init/description b/v0.2.1/validation/test-cases/1-init/090-config_ask_before_init/description new file mode 100644 index 0000000..f892aae --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/090-config_ask_before_init/description @@ -0,0 +1 @@ +display configuration form before initialisation diff --git a/v0.2.1/validation/test-cases/1-init/090-config_ask_before_init/input.curl b/v0.2.1/validation/test-cases/1-init/090-config_ask_before_init/input.curl new file mode 100644 index 0000000..527d61d --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/090-config_ask_before_init/output b/v0.2.1/validation/test-cases/1-init/090-config_ask_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/100-config_do_before_init/description b/v0.2.1/validation/test-cases/1-init/100-config_do_before_init/description new file mode 100644 index 0000000..7bc7c71 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/100-config_do_before_init/description @@ -0,0 +1 @@ +try configuring before initialisation diff --git a/v0.2.1/validation/test-cases/1-init/100-config_do_before_init/input.curl b/v0.2.1/validation/test-cases/1-init/100-config_do_before_init/input.curl new file mode 100644 index 0000000..4a56ac2 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/100-config_do_before_init/output b/v0.2.1/validation/test-cases/1-init/100-config_do_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/105-status_before_init/description b/v0.2.1/validation/test-cases/1-init/105-status_before_init/description new file mode 100644 index 0000000..0ea24d8 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/105-status_before_init/description @@ -0,0 +1 @@ +ask for status before initialisation diff --git a/v0.2.1/validation/test-cases/1-init/105-status_before_init/input.curl b/v0.2.1/validation/test-cases/1-init/105-status_before_init/input.curl new file mode 100644 index 0000000..32934b5 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/105-status_before_init/output b/v0.2.1/validation/test-cases/1-init/105-status_before_init/output new file mode 100644 index 0000000..c141546 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/110-init_valid/description b/v0.2.1/validation/test-cases/1-init/110-init_valid/description new file mode 100644 index 0000000..c3f6acf --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/110-init_valid/description @@ -0,0 +1 @@ +initialize the box diff --git a/v0.2.1/validation/test-cases/1-init/110-init_valid/input.curl b/v0.2.1/validation/test-cases/1-init/110-init_valid/input.curl new file mode 100644 index 0000000..cf162f3 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/110-init_valid/output b/v0.2.1/validation/test-cases/1-init/110-init_valid/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/120-mount_ask_during_init/description b/v0.2.1/validation/test-cases/1-init/120-mount_ask_during_init/description new file mode 100644 index 0000000..a5fcf46 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/120-mount_ask_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/120-mount_ask_during_init/input.curl new file mode 100644 index 0000000..3a22bd9 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/120-mount_ask_during_init/output b/v0.2.1/validation/test-cases/1-init/120-mount_ask_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/130-mount_do_during_init/description b/v0.2.1/validation/test-cases/1-init/130-mount_do_during_init/description new file mode 100644 index 0000000..f1f65df --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/130-mount_do_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/130-mount_do_during_init/input.curl new file mode 100644 index 0000000..d1aeaf6 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/130-mount_do_during_init/output b/v0.2.1/validation/test-cases/1-init/130-mount_do_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/140-umount_ask_during_init/description b/v0.2.1/validation/test-cases/1-init/140-umount_ask_during_init/description new file mode 100644 index 0000000..302bbfb --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/140-umount_ask_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/140-umount_ask_during_init/input.curl new file mode 100644 index 0000000..6e3c39f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/140-umount_ask_during_init/output b/v0.2.1/validation/test-cases/1-init/140-umount_ask_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/150-umount_do_during_init/description b/v0.2.1/validation/test-cases/1-init/150-umount_do_during_init/description new file mode 100644 index 0000000..fe1a227 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/150-umount_do_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/150-umount_do_during_init/input.curl new file mode 100644 index 0000000..454df66 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/150-umount_do_during_init/output b/v0.2.1/validation/test-cases/1-init/150-umount_do_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/160-config_ask_during_init/description b/v0.2.1/validation/test-cases/1-init/160-config_ask_during_init/description new file mode 100644 index 0000000..b13458b --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/160-config_ask_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/160-config_ask_during_init/input.curl new file mode 100644 index 0000000..527d61d --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/160-config_ask_during_init/output b/v0.2.1/validation/test-cases/1-init/160-config_ask_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/170-config_do_during_init/description b/v0.2.1/validation/test-cases/1-init/170-config_do_during_init/description new file mode 100644 index 0000000..6d70373 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/170-config_do_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/170-config_do_during_init/input.curl new file mode 100644 index 0000000..55d414b --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/170-config_do_during_init/output b/v0.2.1/validation/test-cases/1-init/170-config_do_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/180-init_ask_during_init/description b/v0.2.1/validation/test-cases/1-init/180-init_ask_during_init/description new file mode 100644 index 0000000..f6eb07b --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/180-init_ask_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/180-init_ask_during_init/input.curl new file mode 100644 index 0000000..e898059 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/180-init_ask_during_init/output b/v0.2.1/validation/test-cases/1-init/180-init_ask_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/190-init_do_during_init/delay b/v0.2.1/validation/test-cases/1-init/190-init_do_during_init/delay new file mode 100644 index 0000000..d61f00d --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/190-init_do_during_init/delay @@ -0,0 +1 @@ +90 diff --git a/v0.2.1/validation/test-cases/1-init/190-init_do_during_init/description b/v0.2.1/validation/test-cases/1-init/190-init_do_during_init/description new file mode 100644 index 0000000..ba98e9a --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/190-init_do_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/190-init_do_during_init/input.curl new file mode 100644 index 0000000..cf162f3 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/190-init_do_during_init/output b/v0.2.1/validation/test-cases/1-init/190-init_do_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/200-status_during_init/description b/v0.2.1/validation/test-cases/1-init/200-status_during_init/description new file mode 100644 index 0000000..c686f09 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/200-status_during_init/description @@ -0,0 +1 @@ +ask for status during initialisation diff --git a/v0.2.1/validation/test-cases/1-init/200-status_during_init/input.curl b/v0.2.1/validation/test-cases/1-init/200-status_during_init/input.curl new file mode 100644 index 0000000..32934b5 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/200-status_during_init/output b/v0.2.1/validation/test-cases/1-init/200-status_during_init/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/900-reset_configuration/description b/v0.2.1/validation/test-cases/1-init/900-reset_configuration/description new file mode 100644 index 0000000..2dd8667 --- /dev/null +++ b/v0.2.1/validation/test-cases/1-init/900-reset_configuration/description @@ -0,0 +1 @@ +reset configuration to defaults diff --git a/v0.2.1/validation/test-cases/1-init/900-reset_configuration/input.curl b/v0.2.1/validation/test-cases/1-init/900-reset_configuration/input.curl new file mode 100644 index 0000000..4a56ac2 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/1-init/900-reset_configuration/output b/v0.2.1/validation/test-cases/1-init/900-reset_configuration/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/010-mount_ask/description b/v0.2.1/validation/test-cases/2-mount/010-mount_ask/description new file mode 100644 index 0000000..5d80f37 --- /dev/null +++ b/v0.2.1/validation/test-cases/2-mount/010-mount_ask/description @@ -0,0 +1 @@ +display mount form diff --git a/v0.2.1/validation/test-cases/2-mount/010-mount_ask/input.curl b/v0.2.1/validation/test-cases/2-mount/010-mount_ask/input.curl new file mode 100644 index 0000000..3a22bd9 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/010-mount_ask/output b/v0.2.1/validation/test-cases/2-mount/010-mount_ask/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/020-mount_empty_pw/description b/v0.2.1/validation/test-cases/2-mount/020-mount_empty_pw/description new file mode 100644 index 0000000..955c3e3 --- /dev/null +++ b/v0.2.1/validation/test-cases/2-mount/020-mount_empty_pw/description @@ -0,0 +1 @@ +try mounting with empty password diff --git a/v0.2.1/validation/test-cases/2-mount/020-mount_empty_pw/input.curl b/v0.2.1/validation/test-cases/2-mount/020-mount_empty_pw/input.curl new file mode 100644 index 0000000..1e25041 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/020-mount_empty_pw/output b/v0.2.1/validation/test-cases/2-mount/020-mount_empty_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/025-mount_no_pw/description b/v0.2.1/validation/test-cases/2-mount/025-mount_no_pw/description new file mode 100644 index 0000000..ef8182a --- /dev/null +++ b/v0.2.1/validation/test-cases/2-mount/025-mount_no_pw/description @@ -0,0 +1 @@ +try mounting without password diff --git a/v0.2.1/validation/test-cases/2-mount/025-mount_no_pw/input.curl b/v0.2.1/validation/test-cases/2-mount/025-mount_no_pw/input.curl new file mode 100644 index 0000000..b4315b8 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/025-mount_no_pw/output b/v0.2.1/validation/test-cases/2-mount/025-mount_no_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/030-mount_do_invalid_pw/description b/v0.2.1/validation/test-cases/2-mount/030-mount_do_invalid_pw/description new file mode 100644 index 0000000..084b9b9 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/030-mount_do_invalid_pw/input.curl b/v0.2.1/validation/test-cases/2-mount/030-mount_do_invalid_pw/input.curl new file mode 100644 index 0000000..ef70090 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/030-mount_do_invalid_pw/output b/v0.2.1/validation/test-cases/2-mount/030-mount_do_invalid_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/040-mount_do_valid/description b/v0.2.1/validation/test-cases/2-mount/040-mount_do_valid/description new file mode 100644 index 0000000..78d4574 --- /dev/null +++ b/v0.2.1/validation/test-cases/2-mount/040-mount_do_valid/description @@ -0,0 +1 @@ +mount it successfully diff --git a/v0.2.1/validation/test-cases/2-mount/040-mount_do_valid/input.curl b/v0.2.1/validation/test-cases/2-mount/040-mount_do_valid/input.curl new file mode 100644 index 0000000..d1aeaf6 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/040-mount_do_valid/output b/v0.2.1/validation/test-cases/2-mount/040-mount_do_valid/output new file mode 100644 index 0000000..2adc898 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/050-mount_ask_while_mounted/description b/v0.2.1/validation/test-cases/2-mount/050-mount_ask_while_mounted/description new file mode 100644 index 0000000..4512d72 --- /dev/null +++ b/v0.2.1/validation/test-cases/2-mount/050-mount_ask_while_mounted/description @@ -0,0 +1 @@ +display mount form while mounted diff --git a/v0.2.1/validation/test-cases/2-mount/050-mount_ask_while_mounted/input.curl b/v0.2.1/validation/test-cases/2-mount/050-mount_ask_while_mounted/input.curl new file mode 100644 index 0000000..3a22bd9 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/050-mount_ask_while_mounted/output b/v0.2.1/validation/test-cases/2-mount/050-mount_ask_while_mounted/output new file mode 100644 index 0000000..2adc898 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/060-mount_do_while_mounted/description b/v0.2.1/validation/test-cases/2-mount/060-mount_do_while_mounted/description new file mode 100644 index 0000000..dde6b6e --- /dev/null +++ b/v0.2.1/validation/test-cases/2-mount/060-mount_do_while_mounted/description @@ -0,0 +1 @@ +try mounting while mounted diff --git a/v0.2.1/validation/test-cases/2-mount/060-mount_do_while_mounted/input.curl b/v0.2.1/validation/test-cases/2-mount/060-mount_do_while_mounted/input.curl new file mode 100644 index 0000000..d1aeaf6 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/060-mount_do_while_mounted/output b/v0.2.1/validation/test-cases/2-mount/060-mount_do_while_mounted/output new file mode 100644 index 0000000..2adc898 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/070-umount_ask/description b/v0.2.1/validation/test-cases/2-mount/070-umount_ask/description new file mode 100644 index 0000000..53369c6 --- /dev/null +++ b/v0.2.1/validation/test-cases/2-mount/070-umount_ask/description @@ -0,0 +1 @@ +display umount form diff --git a/v0.2.1/validation/test-cases/2-mount/070-umount_ask/input.curl b/v0.2.1/validation/test-cases/2-mount/070-umount_ask/input.curl new file mode 100644 index 0000000..6e3c39f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/070-umount_ask/output b/v0.2.1/validation/test-cases/2-mount/070-umount_ask/output new file mode 100644 index 0000000..2adc898 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/080-umount_do/description b/v0.2.1/validation/test-cases/2-mount/080-umount_do/description new file mode 100644 index 0000000..375ebee --- /dev/null +++ b/v0.2.1/validation/test-cases/2-mount/080-umount_do/description @@ -0,0 +1 @@ +unmount diff --git a/v0.2.1/validation/test-cases/2-mount/080-umount_do/input.curl b/v0.2.1/validation/test-cases/2-mount/080-umount_do/input.curl new file mode 100644 index 0000000..454df66 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/2-mount/080-umount_do/output b/v0.2.1/validation/test-cases/2-mount/080-umount_do/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/100-config_invalid_lang/description b/v0.2.1/validation/test-cases/3-config/100-config_invalid_lang/description new file mode 100644 index 0000000..8d13350 --- /dev/null +++ b/v0.2.1/validation/test-cases/3-config/100-config_invalid_lang/description @@ -0,0 +1 @@ +try to set an invalid language diff --git a/v0.2.1/validation/test-cases/3-config/100-config_invalid_lang/input.curl b/v0.2.1/validation/test-cases/3-config/100-config_invalid_lang/input.curl new file mode 100644 index 0000000..4302fcb --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/100-config_invalid_lang/output b/v0.2.1/validation/test-cases/3-config/100-config_invalid_lang/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/110-config_invalid_ip/description b/v0.2.1/validation/test-cases/3-config/110-config_invalid_ip/description new file mode 100644 index 0000000..0c1ada2 --- /dev/null +++ b/v0.2.1/validation/test-cases/3-config/110-config_invalid_ip/description @@ -0,0 +1 @@ +try to set an invalid IP diff --git a/v0.2.1/validation/test-cases/3-config/110-config_invalid_ip/input.curl b/v0.2.1/validation/test-cases/3-config/110-config_invalid_ip/input.curl new file mode 100644 index 0000000..b29977f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/110-config_invalid_ip/output b/v0.2.1/validation/test-cases/3-config/110-config_invalid_ip/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/120-config_invalid_timeout/description b/v0.2.1/validation/test-cases/3-config/120-config_invalid_timeout/description new file mode 100644 index 0000000..3c69e9d --- /dev/null +++ b/v0.2.1/validation/test-cases/3-config/120-config_invalid_timeout/description @@ -0,0 +1 @@ +try to set an invalid timeout diff --git a/v0.2.1/validation/test-cases/3-config/120-config_invalid_timeout/input.curl b/v0.2.1/validation/test-cases/3-config/120-config_invalid_timeout/input.curl new file mode 100644 index 0000000..0eacc74 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/120-config_invalid_timeout/output b/v0.2.1/validation/test-cases/3-config/120-config_invalid_timeout/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/500-config_valid/delay b/v0.2.1/validation/test-cases/3-config/500-config_valid/delay new file mode 100644 index 0000000..209e3ef --- /dev/null +++ b/v0.2.1/validation/test-cases/3-config/500-config_valid/delay @@ -0,0 +1 @@ +20 diff --git a/v0.2.1/validation/test-cases/3-config/500-config_valid/description b/v0.2.1/validation/test-cases/3-config/500-config_valid/description new file mode 100644 index 0000000..4c9f0df --- /dev/null +++ b/v0.2.1/validation/test-cases/3-config/500-config_valid/description @@ -0,0 +1 @@ +configure the box diff --git a/v0.2.1/validation/test-cases/3-config/500-config_valid/input.curl b/v0.2.1/validation/test-cases/3-config/500-config_valid/input.curl new file mode 100644 index 0000000..325317f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/500-config_valid/output b/v0.2.1/validation/test-cases/3-config/500-config_valid/output new file mode 100644 index 0000000..f53f8d6 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/510-config-restore/delay b/v0.2.1/validation/test-cases/3-config/510-config-restore/delay new file mode 100644 index 0000000..209e3ef --- /dev/null +++ b/v0.2.1/validation/test-cases/3-config/510-config-restore/delay @@ -0,0 +1 @@ +20 diff --git a/v0.2.1/validation/test-cases/3-config/510-config-restore/description b/v0.2.1/validation/test-cases/3-config/510-config-restore/description new file mode 100644 index 0000000..0041d44 --- /dev/null +++ b/v0.2.1/validation/test-cases/3-config/510-config-restore/description @@ -0,0 +1 @@ +restore default settings diff --git a/v0.2.1/validation/test-cases/3-config/510-config-restore/input.curl b/v0.2.1/validation/test-cases/3-config/510-config-restore/input.curl new file mode 100644 index 0000000..9768eed --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/3-config/510-config-restore/output b/v0.2.1/validation/test-cases/3-config/510-config-restore/output new file mode 100644 index 0000000..c9284df --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/010-init_different_admin_pw/description b/v0.2.1/validation/test-cases/4-admin_pw/010-init_different_admin_pw/description new file mode 100644 index 0000000..f18f3a2 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/010-init_different_admin_pw/input.curl b/v0.2.1/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.1/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.1/validation/test-cases/4-admin_pw/010-init_different_admin_pw/output b/v0.2.1/validation/test-cases/4-admin_pw/010-init_different_admin_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/020-init_with_admin_pw/delay b/v0.2.1/validation/test-cases/4-admin_pw/020-init_with_admin_pw/delay new file mode 100644 index 0000000..d61f00d --- /dev/null +++ b/v0.2.1/validation/test-cases/4-admin_pw/020-init_with_admin_pw/delay @@ -0,0 +1 @@ +90 diff --git a/v0.2.1/validation/test-cases/4-admin_pw/020-init_with_admin_pw/description b/v0.2.1/validation/test-cases/4-admin_pw/020-init_with_admin_pw/description new file mode 100644 index 0000000..0e382f0 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/020-init_with_admin_pw/input.curl b/v0.2.1/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.1/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.1/validation/test-cases/4-admin_pw/020-init_with_admin_pw/output b/v0.2.1/validation/test-cases/4-admin_pw/020-init_with_admin_pw/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/description b/v0.2.1/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/description new file mode 100644 index 0000000..5672ab6 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/input.curl b/v0.2.1/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.1/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.1/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/output b/v0.2.1/validation/test-cases/4-admin_pw/050-config_wrong_admin_pw/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/060-config_right_admin_pw/delay b/v0.2.1/validation/test-cases/4-admin_pw/060-config_right_admin_pw/delay new file mode 100644 index 0000000..d61f00d --- /dev/null +++ b/v0.2.1/validation/test-cases/4-admin_pw/060-config_right_admin_pw/delay @@ -0,0 +1 @@ +90 diff --git a/v0.2.1/validation/test-cases/4-admin_pw/060-config_right_admin_pw/description b/v0.2.1/validation/test-cases/4-admin_pw/060-config_right_admin_pw/description new file mode 100644 index 0000000..6a971d8 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/060-config_right_admin_pw/input.curl b/v0.2.1/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.1/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.1/validation/test-cases/4-admin_pw/060-config_right_admin_pw/output b/v0.2.1/validation/test-cases/4-admin_pw/060-config_right_admin_pw/output new file mode 100644 index 0000000..c123a8d --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/description b/v0.2.1/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/description new file mode 100644 index 0000000..648fe5e --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/input.curl b/v0.2.1/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.1/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.1/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/output b/v0.2.1/validation/test-cases/4-admin_pw/070-init_wrong_admin_pw/output new file mode 100644 index 0000000..c123a8d --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/delay b/v0.2.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/delay new file mode 100644 index 0000000..d61f00d --- /dev/null +++ b/v0.2.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/delay @@ -0,0 +1 @@ +90 diff --git a/v0.2.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/description b/v0.2.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/description new file mode 100644 index 0000000..9ada3d1 --- /dev/null +++ b/v0.2.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/description @@ -0,0 +1 @@ +remove admin password diff --git a/v0.2.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/input.curl b/v0.2.1/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.1/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.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/output b/v0.2.1/validation/test-cases/4-admin_pw/200-init_remove_admin_pw/output new file mode 100644 index 0000000..71767bf --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/5-misc/010-logfile/description b/v0.2.1/validation/test-cases/5-misc/010-logfile/description new file mode 100644 index 0000000..c18cc63 --- /dev/null +++ b/v0.2.1/validation/test-cases/5-misc/010-logfile/description @@ -0,0 +1 @@ +show the log diff --git a/v0.2.1/validation/test-cases/5-misc/010-logfile/input.curl b/v0.2.1/validation/test-cases/5-misc/010-logfile/input.curl new file mode 100644 index 0000000..733988e --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/5-misc/010-logfile/output b/v0.2.1/validation/test-cases/5-misc/010-logfile/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/5-misc/020-docpage-first/description b/v0.2.1/validation/test-cases/5-misc/020-docpage-first/description new file mode 100644 index 0000000..33707f2 --- /dev/null +++ b/v0.2.1/validation/test-cases/5-misc/020-docpage-first/description @@ -0,0 +1 @@ +show the first doc page diff --git a/v0.2.1/validation/test-cases/5-misc/020-docpage-first/input.curl b/v0.2.1/validation/test-cases/5-misc/020-docpage-first/input.curl new file mode 100644 index 0000000..071af8c --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/5-misc/020-docpage-first/output b/v0.2.1/validation/test-cases/5-misc/020-docpage-first/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/5-misc/030-docpage-another/description b/v0.2.1/validation/test-cases/5-misc/030-docpage-another/description new file mode 100644 index 0000000..df776de --- /dev/null +++ b/v0.2.1/validation/test-cases/5-misc/030-docpage-another/description @@ -0,0 +1 @@ +show another doc page diff --git a/v0.2.1/validation/test-cases/5-misc/030-docpage-another/input.curl b/v0.2.1/validation/test-cases/5-misc/030-docpage-another/input.curl new file mode 100644 index 0000000..2d8a148 --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/5-misc/030-docpage-another/output b/v0.2.1/validation/test-cases/5-misc/030-docpage-another/output new file mode 100644 index 0000000..1d5b63f --- /dev/null +++ b/v0.2.1/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.1/validation/test-cases/README b/v0.2.1/validation/test-cases/README new file mode 100644 index 0000000..7391dd9 --- /dev/null +++ b/v0.2.1/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