tomb

the crypto undertaker
git clone git://parazyd.org/tomb.git
Log | Files | Refs | README | LICENSE

commit 2bff19e0e42fcb49421364444de8adfc4c598298
parent 6e51e049c2dad2b69a3e71264aa47aca4589bef8
Author: Jaromil <jaromil@dyne.org>
Date:   Sun, 30 Jan 2011 11:37:50 +0100

fixes after testing on debian and better documentation

Diffstat:
MMakefile.am | 2+-
Mdoc/web/views/index.muse | 40++++++++++++++++++++++++++++------------
Msrc/tomb | 2+-
Msrc/tomb-open | 4++--
Msrc/tomb-status.c | 22++++++++++++++++++----
5 files changed, 50 insertions(+), 20 deletions(-)

diff --git a/Makefile.am b/Makefile.am @@ -1 +1 @@ -SUBDIRS = src share +SUBDIRS = src share doc diff --git a/doc/web/views/index.muse b/doc/web/views/index.muse @@ -61,20 +61,19 @@ distributors because of liability reasons, see [[http://bugs.debian.org/cgi-bin/ [[http://tom.noflag.org.uk/cryptkeeper.html][Cryptkeeper]] is the best alternative to Tomb out there and its main advantage consists in not needing root access on the machine it's being used. But Cryptkeeper still has drawbacks: it uses [[http://www.arg0.net/encfs][EncFS]] which -implements weaker encryption than dm-crypt, its encrypted archives -aren't transportable and it doesn't promotes the separated storage of -keys. +implements weaker encryption than dm-crypt and it doesn't promotes the +separated storage of keys. -At last, the [[https://we.riseup.net/debian/automatically-mount-encrypted-home][Encrypted home]] on operating systems as Debian and Ubuntu -adopts dm-crypt and encryption algorithms as strong as Tomb does, but -it needs to be configured when one installs the system and it cannot -be easily transported, plus again it doesn't promotes separated -storage of keys. +At last, the [[https://we.riseup.net/debian/automatically-mount-encrypted-home][Encrypted home]] mechanisms on operating systems as Debian +and Ubuntu adopt encryption algorithms as strong as Tomb does, but +they need to be configured when the machine is installed, they cannot +be easily transported and again they don't promote separated storage +of keys. With Tomb we try to overcome all these limitations providing strong encryption, encouraging users to separate keys from data and letting -them transport tombs around easily. To facilitate auditing and usage -we intend to: +them transport tombs around easily. Also to facilitate auditing and +customization we intend to: - write short and readable code, linking shared libs - provide easy to use graphical interfaces and desktop integration @@ -97,8 +96,25 @@ When a tomb is open your panel will have a little icon in the tray reminding you that a tomb is open, offering to explore it or close it. See the [[manual][manpage]] for more information on how to operate Tomb from the -commandline, also the back-end tool **tomb** comes complete with a brief ---help. +text terminal. +<example> +[*] Tomb - simple commandline tool for encrypted storage + . version 0.9 (Jan/2011) by Jaromil @ dyne.org + . +[*] Syntax: tomb [options] command [file] [mountpoint] + . +[*] Options: + . -h print this help + . -v print out the version information for this tool + . -s size of the storage file when creating one (in MB) + . -k path to the key to use for decryption + . -S acquire super user rights if possible + . +[*] Commands: + . create create a new encrypted storage FILE and keys + . open open an existing tomb FILE on MOUNTPOINT + . close closes the tomb on MOUNTPOINT +</example> *** Where do we learn more from diff --git a/src/tomb b/src/tomb @@ -223,7 +223,6 @@ done id | grep root > /dev/null if [ $? != 0 ]; then - error "This program must be run as root to produce results" if [ "$GETPRIV" = "true" ]; then which gksu > /dev/null if [ $? = 0 ]; then @@ -239,6 +238,7 @@ if [ $? != 0 ]; then fi exit 1 else + error "This program must be run as root to produce results" exit 1 fi fi diff --git a/src/tomb-open b/src/tomb-open @@ -127,11 +127,11 @@ cat <<EOF job, but in order to do so you will need to provide your sudo password: EOF -sudo tomb -S create ${filename}.tomb $size +tomb -S create ${filename}.tomb $size if ! [ -r /usr/share/applications/tomb.desktop ]; then echo " Well done!" echo " Now the last thing to do is to install Tomb on your desktop:" - sudo tomb install + sudo tomb -S install fi exit 0 diff --git a/src/tomb-status.c b/src/tomb-status.c @@ -191,7 +191,7 @@ gboolean right_click(GtkWidget *w, GdkEvent *e) { 1, gtk_get_current_event_time()); } gboolean cb_about(GtkWidget *w, GdkEvent *e) { - const gchar *authors[] = {"Denis Roio aka Jaromil - http://jaromil.dyne.org",NULL}; + const gchar *authors[] = {"Tomb is written by Jaromil - http://jaromil.dyne.org",NULL}; const gchar *artists[] = {"Jordi aka Món Mort - http://monmort.blogspot.org", "Asbesto Molesto - http://freaknet.org/asbesto", NULL}; @@ -199,7 +199,7 @@ gboolean cb_about(GtkWidget *w, GdkEvent *e) { gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(dialog), PACKAGE); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), VERSION); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), - "(C)2007-2010 Denis Roio aka Jaromil"); + "(C)2007-2011 Denis Roio aka Jaromil"); gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(dialog), artists); gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), authors); @@ -208,12 +208,26 @@ gboolean cb_about(GtkWidget *w, GdkEvent *e) { "\n" "This program helps people keeping their bones together by taking care of their private data inside encrypted storage filesystems that are easy to access and transport.\n" "\n" -"The level of security provided by this program is fairly good: it uses an accelerated AES/SHA256 (cbc-essiv) to access the data on the fly, as if it would be a mounted volume.\n" +"The level of security provided by this program is fairly good: it uses an accelerated AES/SHA256 (cbc-essiv) to access the data on the fly, as if it would be a mounted volume, so that the data is physically stored on your disc only in an encrypted form.\n" +"Tomb encourages users to store key files in a different place and to separate them from the data during transports\n" "\n" -"To start digging your tomb be ready to get your hands dirty and use the commandline utility 'tomb' from a text terminal." ); gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), PACKAGE_URL); gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), pb_monmort); + gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(dialog), "monmort"); + // this below is active since gtk 3.0 so too early for it now + // gtk_about_dialog_set_license_type(GTK_ABOUT_DIALOG(dialog), GtkLicense.GTK_LICENSE_GPL_3_0); + gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(dialog), +"This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License along with this program.\n" +"If not, see http://www.gnu.org/licenses\n" +"\n" +"Tomb is Copyright (C) 2007-2011 by Denis \"Jaromil\" Roio\n" +"Shared libraries and external software used by Tomb are copyright by their respective authors, licensed and distributed as free software\n"); + gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(dialog), TRUE); gtk_dialog_run(GTK_DIALOG (dialog)); gtk_widget_destroy(dialog); }