diff options
| author | Luke Smith <luke@lukesmith.xyz> | 2026-10-17 23:58:31 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-17 23:58:31 -0400 |
| commit | aefc7a88f95a049a7f6a1adb4050633b69869bc6 (patch) | |
| tree | dc63b26618c7d5184aed4b47ac640e2be76450b5 | |
| parent | 905ac6c7d479b7070cae79c344e8e78107208a22 (diff) | |
| parent | efb0aa7de357731a2553c2ac750981460cb4b76c (diff) | |
Fix bash-only syntax and fix missing login_maps.pcre entry in adddomain.sh
| -rwxr-xr-x | adddomain.sh | 11 |
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 |
