diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2010-09-16 12:12:17 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2010-09-16 12:12:17 -0300 |
commit | ae2c26a64065e48bc2f863d9f7648b7a49b072f7 (patch) | |
tree | e323d55d32695baa8f82001a4de139c2ba9360bb | |
parent | fc8b45759049af4e1077bb28d53545c4c967212f (diff) | |
download | keyringer-ae2c26a64065e48bc2f863d9f7648b7a49b072f7.tar.gz keyringer-ae2c26a64065e48bc2f863d9f7648b7a49b072f7.tar.bz2 |
Adding 'append' action
-rw-r--r-- | README | 5 | ||||
-rwxr-xr-x | share/keyringer/append | 43 |
2 files changed, 48 insertions, 0 deletions
@@ -75,6 +75,11 @@ Re-encrypting a key keyringer <keyring> recrypt <file> +Appending information to a key +------------------------------ + + keyringer <keyring> append <file> + Editing a key ------------- diff --git a/share/keyringer/append b/share/keyringer/append new file mode 100755 index 0000000..4422e29 --- /dev/null +++ b/share/keyringer/append @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Append information into encrypted files. +# + +# Load functions +LIB="`dirname $0`/../../lib/keyringer/functions" +source $LIB + +# Config +ACTIONS="`dirname $0`" +BASEDIR="$1" +FILE="`keyringer_filename $2`" +KEYDIR="$BASEDIR/keys" +RECIPIENTS="$BASEDIR/config/recipients" +BASENAME="`basename $0`" + +if [ -z "$FILE" ]; then + echo "Usage: keyringer <keyring> `basename $0` <file>" + exit 1 +elif [ ! -f "$RECIPIENTS" ]; then + echo "No recipient config was found" + exit 1 +elif [ ! -f "$KEYDIR/$FILE" ]; then + echo "File not found: $KEYDIR/$FILE" + exit 1 +fi + +CONTENT=($(keyringer_exec decrypt $BASEDIR $FILE)) + +echo "This is the current content of $FILE:" +echo " " +echo "$CONTENT" +echo " " +echo "Now please write the content to be appended on $FILE, finnishing with Ctrl-D:" + +APPEND=($(cat -)) + +NEW=( ${CONTENT[@]} ${APPEND[@]} ) + +for element in $(seq 0 $((${#NEW[@]} - 1))); do + echo ${NEW[$element]} +done | keyringer_exec encrypt $BASEDIR $FILE |