X-Git-Url: http://git.hcoop.net/clinton/scripts.git/blobdiff_plain/a630b57aebf7ab4cafeb529e648e4d2afc19d224..d5a2aadaef874a5215bfed89064fe98b4b4d2073:/import-list diff --git a/import-list b/import-list index 14e7edb..8965669 100755 --- a/import-list +++ b/import-list @@ -11,8 +11,9 @@ LISTDIR=$MMDIR/lists WORKDIR=/tmp/mmdir function usage() { - echo "Usage: import-list [--new] [--archive MBOX-FILE] [--conf CONF-FILE]" - echo " [--url WEB-PAGE-URL] LIST" + echo >&2 "Usage: import-list [--new] [--archive MBOX-FILE]" \ + "[--conf CONF-FILE]" + echo >&2 " [--domain DOMAIN] [--url WEB-PAGE-URL] LIST" } function newlist() { @@ -35,9 +36,16 @@ function newlist() { echo } +if test "$UID" != "0"; then + echo "This program must be run as root" + usage + exit 1 +fi + # Argument processing ARCH= CONF= +DOM= NEW=n URL= @@ -51,6 +59,14 @@ while test "forever"; do CONF=$1 shift continue + elif test "$1" = "--domain"; then + shift + DOM=$1 + shift + continue + elif test "$1" = "--help"; then + usage + exit 0 elif test "$1" = "--new"; then NEW=y shift @@ -75,7 +91,6 @@ elif test -n "$2"; then exit 1 else LIST=$1 - URL=$2 fi # Create list if --new passed @@ -107,8 +122,18 @@ if test -n "$CONF"; then echo fi +# Change domain for accepting email +if test -n "$DOM"; then + echo "Changing email domain for $LIST to $DOM ..." + echo "host_name = '$DOM'" > $WORKDIR/$LIST.cfg + chown list:list $WORKDIR/$LIST.cfg + sudo -u list $BINDIR/config_list -i $WORKDIR/$LIST.cfg $LIST + rm -f $WORKDIR/$LIST.cfg + echo +fi + # Change URL for web interface -if test -n "$CONF" && test -n "$URL"; then +if test -n "$URL"; then echo "Changing web page URL for $LIST to $URL ..." echo "web_page_url = '$URL'" > $WORKDIR/$LIST.cfg chown list:list $WORKDIR/$LIST.cfg @@ -134,7 +159,7 @@ echo "Reloading mailman ..." /etc/init.d/mailman reload echo -if test -n "$CONF"; then +if test -n "$CONF" || test -n "$DOM"; then echo "Updating mailman definitions for Exim ..." /afs/hcoop.net/common/etc/scripts/mailman-update-exim-db echo