summaryrefslogtreecommitdiff
path: root/amavis/mkaddon.sh
blob: 98400533502b04d9f18e83cfc9f3f4bf7ad2b5df (plain)
  1. #!/bin/sh
  2. set -e
  3. basedir="/etc/local-COMMON/amavis"
  4. destfile="amavisd.conf.addon"
  5. >"$basedir"/"$destfile".new cat <<EOF
  6. ### WARNING: This file is generated automatically.
  7. ### Please edit $destfile.in and run mkaddon.sh
  8. EOF
  9. cat "$basedir"/"$destfile".in >> "$basedir"/"$destfile".new
  10. domainfiles="`find "$basedir" -name 'local_domains_*' -type f`"
  11. maildomains=""
  12. for domainfile in $domainfiles; do
  13. maildomain="`basename $domainfile | sed 's/local_domains_//'`"
  14. maildomain_="`echo $maildomain | sed 's/\./_/g'`"
  15. maildomains="$maildomains $maildomain"
  16. domains="`cat "$domainfile" | grep -v '^#' | sed 's/#.*//'`"
  17. eval "domains_$maildomain_=\"$domains\""
  18. done
  19. for thing in virus spam; do
  20. echo >> "$basedir"/"$destfile".new
  21. echo "\$${thing}_admin = {" >> "$basedir"/"$destfile".new
  22. for maildomain in $maildomains; do
  23. maildomain_="`echo $maildomain | sed 's/\./_/g'`"
  24. eval "domains=\"\$domains_$maildomain_\""
  25. for domain in $domains; do
  26. echo " '.$domain' => '${thing}alert@$maildomain'," >> "$basedir"/"$destfile".new
  27. done
  28. done
  29. echo " '.' => \"${thing}alert\\@\$mydomain\"," >> "$basedir"/"$destfile".new
  30. echo "};" >> "$basedir"/"$destfile".new
  31. done
  32. cp -af "$basedir"/"$destfile" "$basedir"/"$destfile".old
  33. mv "$basedir"/"$destfile".new "$basedir"/"$destfile"