<p>Das erste Release der <ahref="CryptoBox.html">CryptoBox</a> wird im Oktober bei <ahref="http://codecoop.org/projects/cryptobox/">http://codecoop.org/projects/cryptobox/</a> verfügbar sein. </p>
<p>Die <ahref="CryptoBox.html">CryptoBox</a> ist eine <aclass="interwiki"title="WikiPediaDe"href="http://de.wikipedia.org/wiki/Live-cd">Live-CD</a> 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 <aclass="interwiki"title="WikiPediaDe"href="http://de.wikipedia.org/wiki/Kryptografie">Kryptografie</a> wissen musst. </p>
<p>Die Dokumentation der <ahref="CryptoBox.html">CryptoBox</a> ist bisher in folgenden Sprachen verfügbar: </p>
<ul>
<li><p><ahref="CryptoBox.html">deutsch</a></p>
</li>
<li><p><ahref="CryptoBox.html">english</a></p>
</li>
</ul>
<p>Wir freuen uns über weitere Übersetzugen <imgsrc="../../../var/www/cryptobox-img/smile.png"alt=":)"height="15"width="15"></p>
<p><aclass="interwiki"title="WikiPediaDe"href="http://de.wikipedia.org/wiki/Advanced_Encryption_Standard">AES</a> via device-mapper</p>
</td>
</tr>
</table>
</div>
<p>Das Web-Interface der <ahref="CryptoBox.html">CryptoBox</a> ünterstützt derzeit folgende Sprachen: </p>
<ul>
<li><p> deutsch </p>
</li>
<li><p> englisch </p>
</li>
<li><p> slowenisch </p>
</li>
</ul>
<p>Du kannst gern weitere <aclass="interwiki"title="SubVersion"href="/websvn/cryptobox/trunk/cbox-tree.d/usr/share/cryptobox/lang/en.hdf">Übersetzungen</a> in andere Sprachen hinzufügen (idealerweise utf-encodiert). </p>
<p>Beteilige dich an der Entwicklung der <ahref="CryptoBox.html">CryptoBox</a> und werde reich und schön! <imgsrc="../../../var/www/cryptobox-img/smile4.png"alt=";)"height="15"width="15"><br>
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 <em>cryptobox[at]systemausfall.org</em> und hab Spaß. </p>
<p>Fehler kannst du in unserer <aclass="external"href="https://systemausfall.org/trac/cryptobox">Fehlerdatenbank</a> eintragen. </p>
<p>Die Entwickler-Doku findest du unter <ahref="CryptoBoxDev.html">CryptoBoxDev</a> (bisher nur englisch). </p>
<li><p>Alle Skripte unterliegen der <aclass="external"href="http://www.fsf.org/licensing/licenses/gpl.html">GPL</a> - sie sind also quasi vollständig frei. </p>
</li>
<li><p>Die Dokumentation unterliegt einer <em><aclass="external"href="http://creativecommons.org/licenses/by-sa-nc/2.0/">Creative Commons</a></em>-Lizenz, damit wird die Möglichkeit der freien Verbreitung des gesammelten Wissens gewährleistet. </p>
</li>
<li><p>Wir übernehmen keinerlei Haftung für eventuelle Folgen, die durch die Nutzung einer <ahref="CryptoBox.html">CryptoBox</a> entstehen könnten. </p>
Das erste Release der <ahref="CryptoBox.html">CryptoBox</a> ist unter <aclass="ext-link"title="https://codecoop.org/projects/cryptobox/"href="https://codecoop.org/projects/cryptobox/">https://codecoop.org/projects/cryptobox/</a> verfügbar.
</p>
<h2id="berblick">Überblick</h2>
<p>
Die <ahref="CryptoBox.html">CryptoBox</a> ist eine <aclass="ext-link"title="http://de.wikipedia.org/wiki/Live-cd"href="http://de.wikipedia.org/wiki/Live-cd">Live-CD</a> 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 <aclass="ext-link"title="http://de.wikipedia.org/wiki/Kryptografie"href="http://de.wikipedia.org/wiki/Kryptografie">Kryptografie</a> wissen musst.
</td></tr><tr><td>Verschlüsselung</td><td><aclass="ext-link"title="http://de.wikipedia.org/wiki/Advanced_Encryption_Standard"href="http://de.wikipedia.org/wiki/Advanced_Encryption_Standard">AES</a> via device-mapper
</td></tr></table>
<p>
Das Web-Interface der <ahref="CryptoBox.html">CryptoBox</a> ünterstützt derzeit folgende Sprachen:
</p>
<ul><li>deutsch
</li><li>englisch
</li><li>slowenisch
</li></ul><p>
Du kannst gern weitere <ahref="/trac/cryptobox/browser/trunk/cbox-tree.d/usr/share/cryptobox/lang/en.hdf">Übersetzungen</a> in andere Sprachen hinzufügen (idealerweise utf-encodiert).
</p>
<h2id="Dokumentation">Dokumentation</h2>
<p>
Das Nutzerhandbuch ist unter <ahref="CryptoBoxUser.html">CryptoBoxUser</a> verfügbar.
</p>
<h2id="Entwicklung">Entwicklung</h2>
<p>
Beteilige dich an der Entwicklung der <ahref="CryptoBox.html">CryptoBox</a> und werde reich und schön! ;) <br/>
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 <i>cryptobox[at]systemausfall.org</i> und hab Spaß.
</p>
<p>
Probleme und Anregungen kannst du in unserer <aclass="ext-link"title="https://systemausfall.org/trac/cryptobox/newticket"href="https://systemausfall.org/trac/cryptobox/newticket">Fehlerdatenbank</a> melden.
</p>
<p>
Die englischsprachige Entwickler-Doku findest du unter <ahref="CryptoBoxDev.html">CryptoBoxDev</a>.
</p>
<p>
Die Quell-Daten kannst du <ahref="/trac/cryptobox/browser/">hier</a> begutachten.
</p>
<p>
Für allgemeine Fragen, schreibe eine Email an <i>cryptobox[at]systemausfall.org</i>.
</p>
<h2id="Mitwirkende">Mitwirkende</h2>
<p>
<ul><li>Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation
<ol><li>Alle Skripte unterliegen der <aclass="ext-link"title="http://www.fsf.org/licensing/licenses/gpl.html"href="http://www.fsf.org/licensing/licenses/gpl.html">GPL</a> - sie sind also quasi vollständig frei.
</li><li>Die Dokumentation unterliegt einer <i><aclass="ext-link"title="http://creativecommons.org/licenses/by-sa-nc/2.0/"href="http://creativecommons.org/licenses/by-sa-nc/2.0/">Creative Commons</a></i>-Lizenz, damit wird die Möglichkeit der freien Verbreitung des gesammelten Wissens gewährleistet.
</li><li>Wir übernehmen keinerlei Haftung für eventuelle Folgen, die durch die Nutzung einer <ahref="CryptoBox.html">CryptoBox</a> entstehen könnten.
<p>The following pages are written for developers only. Users of the <ahref="CryptoBox.html">CryptoBox</a> should read <ahref="CryptoBoxUser.html">CryptoBoxUser</a> instead. </p>
<p>Please use our issue tracker, if you discover problems: <ahref="https://systemausfall.org/trac/cryptobox">https://systemausfall.org/trac/cryptobox</a></p>
You may browse the <ahref="/trac/cryptobox/browser/">source code</a>.
</p>
<h2id="Contact">Contact</h2>
<p>
We are waiting for your emails to <i>cryptobox[at]systemausfall.org</i>.
</p>
<h2id="Bugreports">Bug reports</h2>
<p>
Please use our issue tracker, if you discover problems: <aclass="ext-link"title="https://systemausfall.org/trac/cryptobox/newticket"href="https://systemausfall.org/trac/cryptobox/newticket">https://systemausfall.org/trac/cryptobox/newticket</a>
<p>The base system of the <ahref="CryptoBox.html">CryptoBox</a> Live-CD is created by <aclass="interwiki"title="DebianPackage"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=dfsbuild">dfsbuild</a>. </p>
<p>It is recommended to use some kind of caching tool for the retrieval of the debian packages (e.g.: <aclass="interwiki"title="DebianPackage"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=apt-cacher">apt-cacher</a> or <aclass="interwiki"title="DebianPackage"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=apt-proxy">apt-proxy</a>). This saves a lot of bandwidth and time. </p>
<p>The documentation for <aclass="interwiki"title="DebianPackage"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=dfsbuild">dfsbuild</a> is sparse. But it is quite unlikely, that you will get in direct contact with it, as it is wrapped by <em>cbox-build</em>. However the following links may help you for specific problems: </p>
<ul>
<li><p><aclass="external"href="http://www.debian-administration.org/articles/125">Debian Administration: Building Debian CD-ROMS Part 1 - dfsbuild</a></p>
</li>
<li><p><aclass="external"href="http://www.debian-administration.org/articles/149">Debian Administration: Getting in deep with dfsbuild</a></p>
<p>The linux kernel for the <ahref="CryptoBox.html">CryptoBox</a> is compiled statically. If you want to change it, you could follow this steps: </p>
<oltype="1">
<li><p>get the sources: <tt>apt-get install kernel-tree-2.6.11</tt> (or the version of your choice) </p>
</li>
<li><p>copy the exisiting config file <em>kernel/config-2.6.11</em> as <em>.config</em> into your kernel source directory </p>
</li>
<li><p>build the debian kernel package <tt>make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image</tt></p>
</li>
<li><p>change the kernel in the <em>unpackdebs</em> setting in <em>dfs-cbox.conf</em> (see <ahref="CryptoBoxDevCustomBuild.html">CryptoBoxDevCustomBuild</a> for details) </p>
<p><aclass="external"href="http://fabrice.bellard.free.fr/qemu/">Qemu</a> 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. </p>
<p>We tried some other LiveCDs before we decided to use <aclass="interwiki"title="DebianPackage"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=dfsbuild">dfsbuild</a>. The following pages describe their advantages and disadvantages as the base system for the <ahref="CryptoBox.html">CryptoBox</a>: </p>
<h1id="DetailsoftheCryptoBox">Details of the CryptoBox</h1>
<h2id="dfsbuild">dfsbuild</h2>
<p>
The base system of the <ahref="CryptoBox.html">CryptoBox</a> Live-CD is created by <aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=dfsbuild"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=dfsbuild">dfsbuild</a>.
</p>
<p>
It is recommended to use some kind of caching tool for the retrieval of the debian packages (e.g.: <aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=apt-cacher"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=apt-cacher">apt-cacher</a>, <aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=apt-proxy"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=apt-proxy">apt-proxy</a> or <aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=approx"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=approx">approx</a>). This saves a lot of bandwidth and time.
</p>
<p>
The documentation for <aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=dfsbuild"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=dfsbuild">dfsbuild</a> is sparse. But it is quite unlikely, that you will get in direct contact with it, as it is wrapped by <ahref="/trac/cryptobox/browser/trunk/scripts/cbox-build.sh">cbox-build</a>. However the following links may help you for specific problems:
</p>
<ul><li><aclass="ext-link"title="http://www.debian-administration.org/articles/125"href="http://www.debian-administration.org/articles/125">Debian Administration: Building Debian CD-ROMS Part 1 - dfsbuild</a>
</li><li><aclass="ext-link"title="http://www.debian-administration.org/articles/149"href="http://www.debian-administration.org/articles/149">Debian Administration: Getting in deep with dfsbuild</a>
</li></ul><h2id="thekernel">the kernel</h2>
<p>
The linux kernel for the <ahref="CryptoBox.html">CryptoBox</a> is compiled statically. If you want to change it, you could follow this steps:
</p>
<ol><li>get the sources: <tt>apt-get install kernel-tree-2.6.11</tt> (or the version of your choice)
</li><li>copy the exisiting config file <i>kernel/config-2.6.11</i> as <i>.config</i> into your kernel source directory
</li><li>build the debian kernel package <tt>make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image</tt>
</li><li>change the kernel in the <i>unpackdebs</i> setting in <ahref="/trac/cryptobox/browser/trunk/etc-defaults.d/dfs-cbox.conf">dfs-cbox.conf</a> (see <ahref="CryptoBoxDevCustomBuild.html">CryptoBoxDevCustomBuild</a> for details)
</li></ol><h2id="qemu">qemu</h2>
<p>
<aclass="ext-link"title="http://fabrice.bellard.free.fr/qemu/"href="http://fabrice.bellard.free.fr/qemu/">Qemu</a> 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.
We tried some other LiveCDs before we decided to use <aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=dfsbuild"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=dfsbuild">dfsbuild</a>. The following pages describe their advantages and disadvantages as the base system for the <ahref="CryptoBox.html">CryptoBox</a>:
<p>The following sections are useful, if you want to change the default settings of your personal <ahref="CryptoBox.html">CryptoBox</a> development environment. </p>
<p>You should have completed the steps described in <ahref="CryptoBoxDevPreparation.html">CryptoBoxDevPreparation</a>. </p>
<p>All settings for <em>dfsbuild</em> can be found in <em>etc-defaults.d/dfs-cbox.conf</em>. </p>
<p>If you want to change any of them, you should do the following: </p>
<oltype="1">
<li><p>copy <em>etc-defaults.d/dfs-cbox.conf</em> file to <em>etc-local.d/</em></p>
</li>
<li><p>change <em>etc-local.d/dfs-cbox.conf</em> according to your needs </p>
</li>
</ol>
<p>This allows you to use your own (personal) settings, without interfering with files under version control. </p>
<h3id="head-c2ae24a50a3706711c1a42e26176768438d4f160">CryptoBox development configuration</h3>
<p>Some settings regarding the building, configuring and validating of the <ahref="CryptoBox.html">CryptoBox</a> can be found in <em>etc-defaults.d/cbox-dev.conf</em>. </p>
<p>If you want to change any of them, you should do the following: </p>
<oltype="1">
<li><p>copy <em>etc-defaults.d/cbox-dev.conf</em> file to <em>etc-local.d/</em></p>
</li>
<li><p>change <em>etc-local.d/cbox-dev.conf</em> according to your needs </p>
<p>The file <em>etc-defauolts.d/qemu-ifup</em> is used for the <ahref="CryptoBox.html">CryptoBox</a> emulation with <em>qemu</em>. See <tt>man qemu</tt> for details. </p>
<p>If you want to change some settings, you should do the following: </p>
<oltype="1">
<li><p>copy <em>etc-defaults.d/qemu-ifup</em> file to <em>etc-local.d/</em></p>
</li>
<li><p>change <em>etc-local.d/qemu-ifup</em> according to your needs </p>
<h1id="CustombuildsoftheCryptoBox">Custom builds of the CryptoBox</h1>
<h2id="Overview">Overview</h2>
<p>
The following sections are useful, if you want to change the default settings of your personal <ahref="CryptoBox.html">CryptoBox</a> development environment.
</p>
<p>
You should have completed the steps described in <ahref="CryptoBoxDevPreparation.html">CryptoBoxDevPreparation</a>.
</p>
<h2id="Settings">Settings</h2>
<h3id="dfsbuildsettings">dfsbuild settings</h3>
<p>
All settings for <i>dfsbuild</i> can be found in <ahref="/trac/cryptobox/browser/trunk/etc-defaults.d/dfs-cbox.conf">etc-defaults.d/dfs-cbox.conf</a>.
</p>
<p>
If you want to change any of them, you should do the following:
</p>
<ol><li>copy <i>etc-defaults.d/dfs-cbox.conf</i> file to <i>etc-local.d/</i>
</li><li>change <i>etc-local.d/dfs-cbox.conf</i> according to your needs
</li></ol><p>
This allows you to use your own (personal) settings, without interfering with files under version control.
</p>
<h3id="CryptoBoxdevelopmentconfiguration">CryptoBox development configuration</h3>
<p>
Some settings regarding the building, configuring and validating of the <ahref="CryptoBox.html">CryptoBox</a> can be found in <ahref="/trac/cryptobox/browser/trunk/etc-defaults.d/cbox-dev.conf">etc-defaults.d/cbox-dev.conf</a>.
</p>
<p>
If you want to change any of them, you should do the following:
</p>
<ol><li>copy <i>etc-defaults.d/cbox-dev.conf</i> file to <i>etc-local.d/</i>
</li><li>change <i>etc-local.d/cbox-dev.conf</i> according to your needs
The file <ahref="/trac/cryptobox/browser/trunk/etc-defaults.d/ssh_config">ssh_config</a> is used to establish a connection to a running <ahref="CryptoBox.html">CryptoBox</a> system.
</p>
<p>
It can be necessary to change these settings, if:
</p>
<ul><li>you do not want to use the default IP for the <ahref="CryptoBox.html">CryptoBox</a>
</li><li>or the <ahref="CryptoBox.html">CryptoBox</a> is not within your local network.
</li></ul><p>
If you want to change some settings, you should do the following:
</p>
<ol><li>copy <i>etc-defaults.d/ssh_config</i> file to <i>etc-local.d/</i>
</li><li>change <i>etc-local.d/ssh_config</i> according to your needs
The file <ahref="/trac/cryptobox/browser/trunk/etc-defauolts.d/qemu-ifup">etc-defauolts.d/qemu-ifup</a> is used for the <ahref="CryptoBox.html">CryptoBox</a> emulation with <i>qemu</i>. See <i>man qemu</i> for details.
</p>
<p>
If you want to change some settings, you should do the following:
</p>
<ol><li>copy <i>etc-defaults.d/qemu-ifup</i> file to <i>etc-local.d/</i>
</li><li>change <i>etc-local.d/qemu-ifup</i> according to your needs
<p>You may change nearly every aspect of the <ahref="CryptoBox.html">CryptoBox</a> by using the custom configuration hook directory. </p>
<p>Any script inside of this directory will be executed after the default configuration procedure (see <ahref="CryptoBoxDevWorkFlow.html">CryptoBoxDevWorkFlow</a>). </p>
<p>The order of execution is defined by the names of the scripts (alphabetically). </p>
<h1id="CustomconfigurationoftheCryptoBox">Custom configuration of the CryptoBox</h1>
<h2id="Overview">Overview</h2>
<p>
You may change nearly every aspect of the <ahref="CryptoBox.html">CryptoBox</a> by using the custom configuration hook directory.
</p>
<p>
Any script inside of this directory will be executed after the default configuration procedure (see <ahref="CryptoBoxDevWorkFlow.html">CryptoBoxDevWorkFlow</a>).
</p>
<p>
The order of execution is defined by the names of the scripts (alphabetically).
</p>
<h2id="Locations">Locations</h2>
<p>
Some example customization scripts can be found in <ahref="/trac/cryptobox/browser/trunk/configure-examples.d">configure-examples.d/</a>.
</p>
<p>
You may put your scripts into <i>configure-local.d/</i>. They will be sourced by <ahref="/trac/cryptobox/browser/trunk/scripts/cbox-build.sh">cbox-build.sh</a>.
</p>
<h2id="Examples">Examples</h2>
<p>
The examples in <ahref="/trac/cryptobox/browser/trunk/configure-examples.d">configure-examples.d/</a> can be copied to <i>configure-local.d/</i> and adjusted to your needs.
</p>
<tableclass="wiki">
<tr><td>set_default_ip</td><td>change the default IP address of the CryptoBox
</td></tr><tr><td>set_default_language</td><td>set the default language
</td></tr><tr><td>set_default_timeout</td><td>set the default idle time for automatic unmounting
</td></tr><tr><td>set_hostname</td><td>change the default hostname
</td></tr><tr><td>set_root_pw</td><td>change the password of root (only useful for a development <ahref="CryptoBox.html">CryptoBox</a>)
</td></tr><tr><td>import_authorized_keys</td><td>upload a <i>ssh</i> key for passwordless access to a development CryptoBox
</td></tr><tr><td>set_scan_devices</td><td>where to look for usable harddisks
<p>We use <aclass="external"href="http://debian.org">Debian</a> as our development environment. This was a natural choice, as the <ahref="CryptoBox.html">CryptoBox</a>-LiveCD is also based on Debian. Other distributions should work too, of course - <aclass="interwiki"title="Acronym"href="http://www.acronymfinder.com/af-query.asp?String=exact&Acronym=YMMV">YMMV</a>. </p>
<li><p><aclass="interwiki"title="DebianPackage"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=apt-cacher">apt-cacher</a>, <aclass="interwiki"title="DebianPackage"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=apt-proxy">apt-proxy</a> or <aclass="interwiki"title="DebianPackage"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=approx">approx</a></p>
<p>If you want to use <aclass="external"href="http://fabrice.bellard.free.fr/qemu/">qemu</a> to test your <ahref="CryptoBox.html">CryptoBox</a> in a virtual environment, then you will need the <em>tun/tap</em> kernel feature.
<p>run <tt>scripts/cbox-build.sh release</tt> as <em>root</em> - hopefully, there should be no errors <imgsrc="../../../var/www/cryptobox-img/smile.png"alt=":)"height="15"width="15"></p>
<p>Hint: This step will fail, if you did not install <em>apt-cacher</em>. See <ahref="CryptoBoxDevCustomBuild.html">CryptoBoxDevCustomBuild</a> for details on how to change the build-configuration settings (in this case: <em>mirror</em> in <em>dfs-cbox.conf</em>). </p>
<p>Now you can start to pariticipate in the development of the <ahref="CryptoBox.html">CryptoBox</a> or simply customize your own <ahref="CryptoBox.html">CryptoBox</a>-LiveCD. </p>
<p>See <ahref="CryptoBoxDevWorkFlow.html">CryptoBoxDevWorkFlow</a> for details of how to use the developer's tools of the <ahref="CryptoBox.html">CryptoBox</a>. </p>
<p><ahref="CryptoBoxDevCustomBuild.html">CryptoBoxDevCustomBuild</a> shows some examples for local customizations of the <ahref="CryptoBox.html">CryptoBox</a>. </p>
<hr/>
<h1id="Preparationsfordevelopers">Preparations for developers</h1>
We use <aclass="ext-link"title="http://debian.org"href="http://debian.org">Debian</a> 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 - <i>your mileage may vary</i>.
<ul><li><aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=apt-cacher"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=apt-cacher">apt-cacher</a>, <aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=apt-proxy"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=apt-proxy"> apt-proxy</a> or <aclass="ext-link"title="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=approx"href="http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=0&version=all&release=all&keywords=approx">approx</a>
If you want to use <aclass="ext-link"title="http://fabrice.bellard.free.fr/qemu/"href="http://fabrice.bellard.free.fr/qemu/">qemu</a> to test your <ahref="CryptoBox.html">CryptoBox</a> in a virtual environment, then you will need the <i>tun/tap</i> kernel feature.
</p>
<preclass="wiki">CONFIG_TUN=m
</pre><h2id="Getthesource">Get the source</h2>
<p>
Download the latest release from our <aclass="ext-link"title="http://subversion.tigris.org"href="http://subversion.tigris.org">subversion</a>-Repository:
run <tt>scripts/cbox-build.sh release</tt> as <i>root</i> - hopefully, there should be no errors :)
</p>
<p>
Hint: This step will fail, if you did not install <i>apt-cacher</i>. See <ahref="CryptoBoxDevCustomBuild.html">CryptoBoxDevCustomBuild</a> for details on how to change the build-configuration settings (in this case: <i>mirror</i> in <i>dfs-cbox.conf</i>).
</p>
<h2id="Finished">Finished</h2>
<p>
Now you can start to pariticipate in the development of the <ahref="CryptoBox.html">CryptoBox</a> or simply customize your own CryptoBox-LiveCD.
</p>
<p>
See <ahref="CryptoBoxDevWorkFlow.html">CryptoBoxDevWorkFlow</a> for details of how to use the developer's tools of the <ahref="CryptoBox.html">CryptoBox</a>.
</p>
<p>
<ahref="CryptoBoxDevCustomBuild.html">CryptoBoxDevCustomBuild</a> shows some examples for local customizations of the <ahref="CryptoBox.html">CryptoBox</a>.
<p>The validation feature allows to check the programming logic of the <ahref="CryptoBox.html">CryptoBox</a>. A lot of test cases are defined to test as many functions of the <ahref="CryptoBox.html">CryptoBox</a> as possible. </p>
<p>The requests are processed with <aclass="external"href="http://curl.haxx.se/">curl</a>. </p>
<p>The received web page is saved to allow a later design review or css debugging. </p>
<p>The current state of the <ahref="CryptoBox.html">CryptoBox</a> is represented by ten single values (e.g.: <em>box is configured</em>, <em>IP of the box</em>, <em>current language setting</em>, ...), 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. </p>
<p>Similar test cases are pooled into test groups (e.g.: <em>initialization</em>, <em>configuration</em> and <em>mounting</em>). </p>
<p>Run <tt>scripts/validate.sh check_all</tt> to conduct all tests of all groups. See <tt>scripts/validate.sh help</tt> for other actions. </p>
<p>The results will be saved in <em>validation/report</em>. </p>
<p>In addition to every single retrieved page, a html page called <em>summary.html</em> is created, which contains the state checks of all tests in a group. </p>
<h2id="head-5634566bd24f83d397b43525fc62685f6e678fbf">How to create a test</h2>
</div>
<p>All test cases can be found in <em>validation/test-cases</em>. </p>
<p>Every test consists of: </p>
<dl>
<dt>input.curl</dt>
<dd><p>the configuration file for the <em>curl</em> request </p>
</dd>
<dt>output</dt>
<dd><p>the predicted state of the <ahref="CryptoBox.html">CryptoBox</a> after the call </p>
</dd>
<dt>description</dt>
<dd><p>a short description of the test (will be used for the summary) </p>
</dd>
<dt>delay</dt>
<dd><p>[optional] time to wait after this test </p>
</dd>
</dl>
<p>Use the existing test cases as templates for new tests. </p>
<p>Any logical path of the web interface CGI should be validated by a test case. </p>
<h1id="ValidationoftheCryptoBox">Validation of the CryptoBox</h1>
<h2id="Overview">Overview</h2>
<p>
The validation feature helps you to check the programming logic of the <ahref="CryptoBox.html">CryptoBox</a>. A lot of test cases are defined to verify as many functions of the <ahref="CryptoBox.html">CryptoBox</a> as possible.
</p>
<p>
The requests are processed with <aclass="ext-link"title="http://curl.haxx.se/"href="http://curl.haxx.se/">curl</a>.
</p>
<p>
The received web page is saved to allow a later design review or css debugging.
</p>
<p>
The current state of the <ahref="CryptoBox.html">CryptoBox</a> is represented by ten single values (e.g.: <i>box is configured</i>, <i>IP of the box</i>, <i>current language setting</i>, ...), 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.
</p>
<p>
Similar test cases are pooled into test groups (e.g.: <i>initialization</i>, <i>configuration</i> and <i>mounting</i>).
</p>
<h2id="Validate">Validate</h2>
<p>
Run <i><ahref="/trac/cryptobox/browser/trunk/scripts/validate.sh">scripts/validate.sh</a>]</i> to conduct all tests of all groups. See <i>scripts/validate.sh help</i> for other actions.
</p>
<p>
The results will be saved in <i>validation/report</i>.
</p>
<p>
In addition to every single retrieved page, a html page called <i>summary-?.html</i> is created, which contains the state checks of all tests in a group.
</p>
<h2id="Howtocreateatest">How to create a test</h2>
<p>
All test cases can be found in <i>validation/test-cases</i>.
</p>
<p>
Every test consists of the following files:
</p>
<tableclass="wiki">
<tr><td>input.curl</td><td>the configuration file for the <i>curl</i> request
</td></tr><tr><td>output</td><td>the predicted state of the <ahref="CryptoBox.html">CryptoBox</a> after the call
</td></tr><tr><td>description</td><td>a short description of the test (will be used for the summary)
</td></tr><tr><td>delay</td><td>[optional] time to wait after this test
</td></tr></table>
<p>
Use the existing test cases as templates for new tests.
</p>
<p>
Read <ahref="/trac/cryptobox/browser/trunk/validation/test-cases/README">validation/test-cases/README</a> for details.
</p>
<p>
Every logical path of the web interface CGI should be validated by a test case.