summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthePurpyel <fdijkdrent@gmail.com>2026-10-17 22:50:57 +0200
committerthePurpyel <fdijkdrent@gmail.com>2026-10-17 22:50:57 +0200
commitefb0aa7de357731a2553c2ac750981460cb4b76c (patch)
treedc63b26618c7d5184aed4b47ac640e2be76450b5
parent905ac6c7d479b7070cae79c344e8e78107208a22 (diff)
Fix bash-only syntax in adddomain.sh, fix domain not being added to login_maps.pcre in adddomain.sh
-rwxr-xr-xadddomain.sh11
1 files changed, 7 insertions, 4 deletions
diff --git a/adddomain.sh b/adddomain.sh
index 74b20ad..e07c357 100755
--- a/adddomain.sh
+++ b/adddomain.sh
@@ -3,10 +3,12 @@
domain="$1"
# Input validation to allow only valid domain characters
-if ! [[ "$domain" =~ ^[a-zA-Z0-9.-]+$ ]]; then
- echo "Give a valid domain as an argument to add mail server for it. Only alphanumeric characters, dashes, and dots are allowed."
- exit 1
-fi
+case "$domain" in
+ ""|*[!a-zA-Z0-9.-]*)
+ echo "Give a valid domain as an argument to add mail server for it. Only alphanumeric characters, dashes, and dots are allowed."
+ exit 1
+ ;;
+esac
subdom="mail"
maildomain="mail.$(cat /etc/mailname)"
@@ -24,6 +26,7 @@ chmod -R g+r /etc/postfix/dkim/*
# Add entries to keytable and signing table
echo "$subdom._domainkey.$domain $domain:$subdom:/etc/postfix/dkim/$domain/$subdom.private" >> /etc/postfix/dkim/keytable
echo "*@$domain $subdom._domainkey.$domain" >> /etc/postfix/dkim/signingtable
+echo "/^(.*)@$(echo "$domain" | sed 's/\./\\./')\$/ \${1}" >> /etc/postfix/login_maps.pcre
systemctl reload opendkim postfix