#! /bin/bash
PATH=/bin:/usr/bin

read user
read oldpw
read newpw

SHA512="$(doveadm pw -s SHA512-CRYPT -p ${newpw})"

OLDHASH="$(grep ${user} /etc/dovecot/users | cut -d: -f2)"

doveadm auth test $user $oldpw >/dev/null || (echo wrong user/oldpass; exit 1)


sed -i~ -e "/^${user}/ s,${OLDHASH},${SHA512}," /etc/dovecot/users

DATE=$(date -Iseconds)
cp /etc/dovecot/users~ /etc/dovecot/users.bak/users.bak.${DATE}
