#!/bin/bash
#
-# mailman-update-table: Make an associated list mapping list names and
-# the domain that they are associated with.
+# mailman-update-exim-db: Make an associated list mapping list names
+# and the domain that they are associated with.
#
# This table is then used by Exim to verify that the list name and
# domain are correct.
#
-# This script is meant to be called from a cron job.
+# This script is meant to be called from a cron job, and run as root.
MMDIR=/var/lib/mailman
LISTDIR=$MMDIR/lists
BINDIR=$MMDIR/bin
TABLE=/etc/exim4/mailmandb
+TABLE_EXT=/etc/exim4/mailmandb-ext
# Use return as separator, never space or tab.
IFS="
grep -E "^host_name = '.+'" 2>/dev/null | \
sed -r -e "s/host_name = '(.+)'/\\1/")
if test -n "$LIST" && test -n "$DOMAIN"; then
- echo "$LIST: $DOMAIN" >> $TABLE
+ echo "$LIST@$DOMAIN: true" >> $TABLE
fi
done
+
+# Add extras file, for aliases of domains and whatnot
+if test -f $TABLE_EXT; then
+ cat $TABLE_EXT >> $TABLE
+fi