mirror of
https://github.com/Llewellynvdm/Tomb.git
synced 2024-11-25 22:27:34 +00:00
colors! :) and documentation for tomb list
This commit is contained in:
parent
3ef6398019
commit
052549a4f9
30
TODO.org
30
TODO.org
@ -5,24 +5,10 @@ you are welcome to send patches to jaromil@dyne.org
|
|||||||
|
|
||||||
* Release 1.0 :90%:
|
* Release 1.0 :90%:
|
||||||
|
|
||||||
** [#A] fix operation without DISPLAY (over SSH) :hellekin:
|
** TODO [#C] make one single status handle more tombs
|
||||||
** TODO [#A] SLAM tomb and kill all applications using it
|
** TODO [#C] decorate creation wizard with ASCII art
|
||||||
|
|
||||||
using lsof and fuser(1) we can do that easily
|
** DONE [#B] remove gnome dependencies from tomb core :jaromil:
|
||||||
|
|
||||||
we should ask user confirmation when closing a tomb if to slam
|
|
||||||
|
|
||||||
tomb-askpass will become tomb-ask managing such user interaction,
|
|
||||||
using libassuan and pinentry from the gpg project.
|
|
||||||
|
|
||||||
** [#A] incremental backup system using bup :jaromil:
|
|
||||||
|
|
||||||
tombs are modifed only where needed so file changes are local to
|
|
||||||
the file segment where data is stored. duplicity handles this using
|
|
||||||
gpg for backup sets and rdiff for incremental storage. its more
|
|
||||||
stable than bup at this moment.
|
|
||||||
|
|
||||||
** TODO [#B] remove gnome dependencies from tomb core
|
|
||||||
|
|
||||||
gksu is deeply connected to gnome in all its packages. actually
|
gksu is deeply connected to gnome in all its packages. actually
|
||||||
libgksu2-dev is and that doesn't helps.
|
libgksu2-dev is and that doesn't helps.
|
||||||
@ -35,10 +21,16 @@ you are welcome to send patches to jaromil@dyne.org
|
|||||||
to sudo and provide it an interface to ask the password graphically
|
to sudo and provide it an interface to ask the password graphically
|
||||||
via pinentry
|
via pinentry
|
||||||
|
|
||||||
** TODO [#C] make one single status handle more tombs
|
** DONE [#B] SLAM tomb and kill all applications using it :anathema:
|
||||||
** TODO [#C] decorate creation wizard with ASCII art
|
|
||||||
|
|
||||||
|
using lsof and fuser(1) we can do that easily
|
||||||
|
|
||||||
|
we should ask user confirmation when closing a tomb if to slam
|
||||||
|
|
||||||
|
tomb-askpass will become tomb-ask managing such user interaction,
|
||||||
|
using libassuan and pinentry from the gpg project.
|
||||||
|
|
||||||
|
** DONE [#B] fix operation without DISPLAY (over SSH) :hellekin:
|
||||||
** DONE [#A] steganography to store tomb key :jaromil:
|
** DONE [#A] steganography to store tomb key :jaromil:
|
||||||
|
|
||||||
steghide can hide keys in JPG, BMP, WAV or AU files it also takes
|
steghide can hide keys in JPG, BMP, WAV or AU files it also takes
|
||||||
|
@ -48,6 +48,14 @@ a \fIsecond argument\fR is given it will indicate the \fImountpoint\fR
|
|||||||
where the tomb should be made accessible, if not then the tomb is
|
where the tomb should be made accessible, if not then the tomb is
|
||||||
mounted in a directory named after the filename and inside /media.
|
mounted in a directory named after the filename and inside /media.
|
||||||
|
|
||||||
|
.B
|
||||||
|
.IP "list"
|
||||||
|
|
||||||
|
List all the tombs found open, including information about the time
|
||||||
|
they were opened and the hooks that they mounted. If the \fIfirst
|
||||||
|
argument\fR is present, then shows only the tomb named that way or
|
||||||
|
returns an error if its not found.
|
||||||
|
|
||||||
.B
|
.B
|
||||||
.IP "close"
|
.IP "close"
|
||||||
Closes a currently open tomb. When \fIan argument\fR is specified, it
|
Closes a currently open tomb. When \fIan argument\fR is specified, it
|
||||||
|
44
src/tomb
44
src/tomb
@ -21,19 +21,21 @@
|
|||||||
# Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
VERSION=1.0
|
VERSION=1.0
|
||||||
DATE=Feb/2011
|
DATE=May/2011
|
||||||
TOMBEXEC=$0
|
TOMBEXEC=$0
|
||||||
TOMBOPENEXEC="tomb-open"
|
TOMBOPENEXEC="tomb-open"
|
||||||
STEGHIDE=1
|
STEGHIDE=1
|
||||||
|
|
||||||
# PATH=/usr/bin:/usr/sbin:/bin:/sbin
|
# PATH=/usr/bin:/usr/sbin:/bin:/sbin
|
||||||
|
|
||||||
|
autoload colors; colors
|
||||||
|
|
||||||
# standard output message routines
|
# standard output message routines
|
||||||
# it's always useful to wrap them, in case we change behaviour later
|
# it's always useful to wrap them, in case we change behaviour later
|
||||||
notice() { if ! [ $QUIET ]; then echo "[*] $1" >&2; fi }
|
notice() { if ! [ $QUIET ]; then print "$fg_bold[green][*]$fg_no_bold[white] $1" >&2; fi }
|
||||||
act() { if ! [ $QUIET ]; then echo " . $1" >&2; fi }
|
act() { if ! [ $QUIET ]; then print "$fg_bold[white] . $fg_no_bold[white] $1" >&2; fi }
|
||||||
error() { if ! [ $QUIET ]; then echo "[!] $1" >&2; fi }
|
error() { if ! [ $QUIET ]; then print "$fg[red][!]$fg[white] $1" >&2; fi }
|
||||||
func() { if [ $DEBUG ]; then echo "[D] $1" >&2; fi }
|
func() { if [ $DEBUG ]; then print "$fg[blue][D]$fg[white] $1" >&2; fi }
|
||||||
|
|
||||||
|
|
||||||
check_bin() {
|
check_bin() {
|
||||||
@ -215,6 +217,7 @@ Commands:
|
|||||||
|
|
||||||
create create a new tomb FILE and its keys
|
create create a new tomb FILE and its keys
|
||||||
open open an existing tomb FILE on PLACE
|
open open an existing tomb FILE on PLACE
|
||||||
|
list list all open tombs or the one called FILE
|
||||||
close close the open tomb called FILE (or all)
|
close close the open tomb called FILE (or all)
|
||||||
slam close tomb FILE and kill all pids using it
|
slam close tomb FILE and kill all pids using it
|
||||||
bury hide a tomb key FILE inside a jpeg PLACE
|
bury hide a tomb key FILE inside a jpeg PLACE
|
||||||
@ -809,11 +812,11 @@ list_tombs() {
|
|||||||
|
|
||||||
if ! [ $mounted_tombs ]; then
|
if ! [ $mounted_tombs ]; then
|
||||||
if [ $1 ]; then
|
if [ $1 ]; then
|
||||||
notice "There seems to be no open tomb engraved as [${1}]"
|
error "There seems to be no open tomb engraved as [${1}]"
|
||||||
else
|
else
|
||||||
notice "I can't see any open tomb, may they all rest in peace."
|
error "I can't see any open tomb, may they all rest in peace."
|
||||||
fi
|
fi
|
||||||
return
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -827,23 +830,23 @@ list_tombs() {
|
|||||||
|
|
||||||
tombsince=`date --date=@${mapper[(ws:.:)3]} +%c`
|
tombsince=`date --date=@${mapper[(ws:.:)3]} +%c`
|
||||||
# breaking up such strings is good for translation
|
# breaking up such strings is good for translation
|
||||||
echo -n $tombname
|
print -n "$fg[green]$tombname"
|
||||||
echo -n " open on "
|
print -n "$fg[white] open on "
|
||||||
echo -n $tombmount
|
print -n "$fg_bold[white]$tombmount"
|
||||||
echo -n " using "
|
print -n "$fg_no_bold[white] using "
|
||||||
echo -n "$tombfs $tombfsopts"
|
print -n "$fg_bold[white]$tombfs $tombfsopts"
|
||||||
echo -n " since "
|
print -n "$fg_no_bold[white] since "
|
||||||
echo $tombsince
|
print "$fg_bold[white]$tombsince$fg_no_bold[white]"
|
||||||
|
|
||||||
# now check hooks
|
# now check hooks
|
||||||
mtomb=`sed 's:\/:\\\/:g' <<< $tombmount`
|
mtomb=`sed 's:\/:\\\/:g' <<< $tombmount`
|
||||||
mounted_hooks=`mount | awk "/^$mtomb/"' {print $1 ";" $3}'`
|
mounted_hooks=`mount | awk "/^$mtomb/"' {print $1 ";" $3}'`
|
||||||
for h in ${(f)mounted_hooks}; do
|
for h in ${(f)mounted_hooks}; do
|
||||||
echo -n $tombname
|
print -n "$fg[green]$tombname"
|
||||||
echo -n " hooks "
|
print -n "$fg_no_bold[white] hooks "
|
||||||
echo -n `basename ${h[(ws:;:)1]}`
|
print -n "$fg_bold[white]`basename ${h[(ws:;:)1]}`"
|
||||||
echo -n " on "
|
print -n "$fg_no_bold[white] on "
|
||||||
echo ${h[(ws:;:)2]}
|
print "$fg_bold[white]${h[(ws:;:)2]}$fg_no_bold[white]"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@ -990,6 +993,7 @@ main () {
|
|||||||
close) check_priv ; umount_tomb ${CMD2} ;;
|
close) check_priv ; umount_tomb ${CMD2} ;;
|
||||||
slam) check_priv ; SLAM=1; umount_tomb ${CMD2} ;;
|
slam) check_priv ; SLAM=1; umount_tomb ${CMD2} ;;
|
||||||
list) list_tombs ${CMD2} ;;
|
list) list_tombs ${CMD2} ;;
|
||||||
|
help) usage ;;
|
||||||
bury) if [ "$STEGHIDE" = 0 ]; then
|
bury) if [ "$STEGHIDE" = 0 ]; then
|
||||||
error "steghide not installed. Cannot bury your key"
|
error "steghide not installed. Cannot bury your key"
|
||||||
return 1
|
return 1
|
||||||
|
Loading…
Reference in New Issue
Block a user