summaryrefslogtreecommitdiff
path: root/amavis
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2007-10-17 12:25:39 +0000
committerJonas Smedegaard <dr@jones.dk>2007-10-17 12:25:39 +0000
commit6e33aca721a7386338a5c24f53d1a3ff217d50b6 (patch)
treec6dbe4ce2dc38f0c1c1f6bd1056163586a8e3a1e /amavis
parente6405aee236d9ef56c30e711eda737759ff368a7 (diff)
Add support for host-specific exceptions and additions.
Diffstat (limited to 'amavis')
-rwxr-xr-xamavis/mklists.sh20
1 files changed, 17 insertions, 3 deletions
diff --git a/amavis/mklists.sh b/amavis/mklists.sh
index 7a5a370..a6bf1eb 100755
--- a/amavis/mklists.sh
+++ b/amavis/mklists.sh
@@ -3,7 +3,7 @@
# /etc/local-COMMON/amavis/mklists.sh
# Copyright 2007 Jonas Smedegaard <dr@jones.dk>
#
-# $Id: mklists.sh,v 1.1 2007-09-25 12:22:10 jonas Exp $
+# $Id: mklists.sh,v 1.2 2007-10-17 12:25:39 jonas Exp $
#
# Resolve own mail domains and MX backup domains
@@ -27,7 +27,14 @@ catfilefromownrealm() {
thisrealm="$(cat /etc/local-ORG/realm || dnsdomainname | tr '[a-z]' '[A-Z]')"
- cat "$realmsdir/$thisrealm/$file"
+ if [ -r /etc/local/$"file"_exceptions ]; then
+ grep -vFf /etc/local/"$file"_exceptions "$realmsdir/$thisrealm/$file"
+ else
+ cat "$realmsdir/$thisrealm/$file"
+ fi
+ if [ -r /etc/local/"$file"_additions ]; then
+ cat /etc/local/"$file"_additions
+ fi
}
catallfilesfromotherrealms() {
@@ -40,9 +47,16 @@ catallfilesfromotherrealms() {
for realm in $realms; do
if [ "$thisrealm" != "$realm" ]; then
- cat "$realmsdir/$realm/$file"
+ if [ -r /etc/local/$"file"_additions ]; then
+ grep -vFf /etc/local/"$file"_additions "$realmsdir/$realm/$file"
+ else
+ cat "$realmsdir/$realm/$file"
+ fi
fi
done
+ if [ -r /etc/local/"$file"_exceptions ]; then
+ cat /etc/local/"$file"_exceptions
+ fi
}
catfilefromownrealm maildomains | sort > "$domainconfdir/local_domains"