summaryrefslogtreecommitdiff
path: root/encedit.in
blob: a295add8f5515c18b4f536b88cc0c715a01403ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash

. #ETCDIR#/passwort-tresor.konf

if [ "$1" == "" ]
then
 s=$(dialog --stdout --fselect /mnt/141.35.50.159_home/Dokumente/todolist.gpg 14 70)
 [ "$s" == "" ] && exit 1
 if [ "$(basename $s)" != "$(basename $s .gpg).gpg" ]
 then
  echo "File must end on \".gpg\", \"$s\" does not!"
  exit 1
 fi
else
 s="$1"
 if [ $(basename $s) != $(basename $s .gpg).gpg ]
 then
  echo "Usage: etea encrypted.gpg"
  echo " or:   etea"
  exit 1
 fi
fi

if [ "$(dirname $s)" == "/mnt/141.35.50.159_home/Dokumente" ]
then
 sha512sum -c ~/.sums/$(basename $s .gpg).512 || dialog --msgbox "Die Prüfsumme stimmt nicht!" 14 70
fi

i=0
while [ -e /tmp/efile.$i ] || [ -e /tmp/emsg.$i ] || [ -e /tmp/ecrpt.$i ]
do
 i=$[$i+1]
done

gpg -o /tmp/efile.$i -d $s 2> /tmp/emsg.$i || exit 1
if [ ! $(grep -c "Good signature from \"Erich Eckner \([^\"]*\)\?<erich@eckner.net>\"" /tmp/emsg.$i) -eq 1 ] || [ ! $(grep -c "Signature made .* using RSA key ID 0AEEC90755DA7B5A" /tmp/emsg.$i) -eq 1 ]
then
 dialog --textbox /tmp/emsg.$i 14 70
fi
touch /tmp/emsg.$i
tea /tmp/efile.$i || exit 1
if [ ! $(ls -1t /tmp/efile.$i /tmp/emsg.$i | wc -l) -eq 2 ] || [ ! $(ls -1t /tmp/efile.$i /tmp/emsg.$i | head -n1) == "/tmp/emsg.$i" ]
then
 gpg -o /tmp/ecrpt.$i -r erich@eckner.net -e -s /tmp/efile.$i || exit 1
 mv /tmp/ecrpt.$i $s 2> /dev/null || exit 1
 if [ "$(dirname $s)" == "/mnt/141.35.50.159_home/Dokumente" ]
 then
  sha512sum $s > ~/.sums/$(basename $s .gpg).512
 fi
fi
rm /tmp/efile.$i
rm /tmp/emsg.$i