#!/bin/sh

GROUP=crypto
CIPHER=$HOME/.cifrado
PLAIN=$HOME/cifrado

read() {
   local settings

   if [ "$1" = "-s" ]; then
      shift
      settings=$(stty -g)
      stty -echo
   fi

   command read "$@"

   [ -n "$settings" ] && stty "$settings"
}


ingroup() {
   id -Gn | grep -qE "\b$1\b"
}

read -s -p "Contraseña antigua: " OLD
echo

while true; do
   read -s -p "Contraseña nueva: " NEW1
   echo
   read -s -p "Repita la contraseña: " NEW2
   echo
   [ "$NEW1" = "$NEW2" ] && break
   echo "Las contraseñas no coinciden"
done

printf "$OLD\n$NEW1\n$NEW2" | /usr/bin/passwd

[ $? -eq 0 ] || exit 1
ingroup "$GROUP" || exit 0
[ -d "$CIPHER" ] || exit 0

printf "$OLD\n$NEW1\n$NEW2" | gocryptfs -passwd "$CIPHER"
