You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.0 KiB
85 lines
2.0 KiB
_parse_gpg_system_name() {
|
|
if [ ! -x $XGPG_APP ]; then
|
|
echo -e "Please install the gpg program!\n"
|
|
return 1
|
|
fi
|
|
if [ $(which pass | wc -l) -ne 1 ]; then
|
|
echo "You should install the pass program!"
|
|
echo -e "pass: the standard unix password manager.\n"
|
|
fi
|
|
if [ ! -d "$XGPG_PASS_STORE" ]; then
|
|
echo -e "GPG PASS program has not made the ~/.password-store folder yet! Bailing!\n"
|
|
return 1
|
|
fi
|
|
if [ -z $(which mktemp) ]; then
|
|
XNP_GPG_TEMP=/tmp/np
|
|
else
|
|
XNP_GPG_TEMP=$(mktemp)
|
|
fi
|
|
|
|
saveIFS=$IFS
|
|
IFS="/"
|
|
local parts=($1)
|
|
IFS=$saveIFS
|
|
local count_gp=${#parts[@]}
|
|
|
|
local part1=${parts[0]}
|
|
if [ $count_gp -eq 1 ]; then
|
|
myGPG_folder=""
|
|
myGPG_file="$part1"
|
|
return 0
|
|
fi
|
|
if [ $count_gp -eq 2 ]; then
|
|
local part2=${parts[1]}
|
|
myGPG_folder="$XGPG_PASS_STORE/$part1"
|
|
myGPG_file="$part2"
|
|
return 0
|
|
fi
|
|
if [ $count_gp -gt 2 ]; then
|
|
local part2=${parts[1]}
|
|
local lastthing=${1##*/}
|
|
myGPG_folder="$XGPG_PASS_STORE/$part1/$part2"
|
|
myGPG_file="$lastthing"
|
|
return 0
|
|
fi
|
|
echo "Invaild System Name."
|
|
return 1
|
|
}
|
|
|
|
_do_gpg_stuff() {
|
|
if [ -f $XNP_GPG_TEMP.gpg ]; then
|
|
rm $XNP_GPG_TEMP.gpg
|
|
fi
|
|
|
|
read -r -p "Enter extra comments (optional):" comments
|
|
if [ -n "$comments" ]; then
|
|
echo "$comments" >> $XNP_GPG_TEMP
|
|
fi
|
|
|
|
if [ -z "$1" ]; then
|
|
$XGPG_APP -r "$XGPG_EMAIL" --encrypt $XNP_GPG_TEMP
|
|
if [ $? -ne 0 ]; then
|
|
echo "GPG unable to find user's email of $GPG_EMAIL"
|
|
echo "Edit by: cmd gpg --edit"
|
|
rm $XNP_GPG_TEMP
|
|
return 1
|
|
fi
|
|
else
|
|
$XGPG_APP -r "$1" --encrypt $XNP_GPG_TEMP
|
|
if [ $? -ne 0 ]; then
|
|
echo "GPG unable to find user's email of $1"
|
|
rm $XNP_GPG_TEMP
|
|
return 1
|
|
fi
|
|
fi
|
|
|
|
cat $XNP_GPG_TEMP
|
|
rm $XNP_GPG_TEMP
|
|
|
|
if [ -n "$myGPG_folder" ]; then
|
|
mkdir -p "$myGPG_folder"
|
|
mv $XNP_GPG_TEMP.gpg "$myGPG_folder/$myGPG_file.gpg"
|
|
else
|
|
mv $XNP_GPG_TEMP.gpg "$XGPG_PASS_STORE/$myGPG_file.gpg"
|
|
fi
|
|
}
|
|
|