From a9379007b1df9b4c0481c209274b2ef8b8e5264a Mon Sep 17 00:00:00 2001 From: Ernesto Alfonso Date: Sat, 28 Oct 2023 23:28:05 -0400 Subject: [PATCH] Fix failing when the sole dovecot user is updated. When a single dovecot user exists and their password is updated, the `grep -v` command intended to remove the user's old password will not match any lines and fail, causing the entire script to fail. --- docker/add-user.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docker/add-user.sh b/docker/add-user.sh index b2aedf6..9250079 100755 --- a/docker/add-user.sh +++ b/docker/add-user.sh @@ -34,11 +34,7 @@ ENCPASS=$(doveadm pw -u "${EMAIL}" -p "${PASSWORD}") # Edit dovecot users: remove user if it exits. mkdir -p /data/dovecot touch /data/dovecot/users -if grep -q "^${EMAIL}:" /data/dovecot/users; then - cp /data/dovecot/users /data/dovecot/users.old - grep -v "^${EMAIL}:" /data/dovecot/users.old \ - > /data/dovecot/users -fi +sed -i "/^${EMAIL}:/d" /data/dovecot/users # Edit dovecot users: add user. echo "${EMAIL}:${ENCPASS}::::" >> /data/dovecot/users