From b85c4e3b81323ae074aaa27a052666c0c374b30a Mon Sep 17 00:00:00 2001 From: mwolson_admin Date: Mon, 3 Dec 2007 20:54:15 -0500 Subject: [PATCH] When making a new list, set web interface to be https://lists.hcoop.net by default. --- change-list-url | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ listnew | 11 ++++++--- 2 files changed, 68 insertions(+), 3 deletions(-) create mode 100755 change-list-url diff --git a/change-list-url b/change-list-url new file mode 100755 index 0000000..5ead67a --- /dev/null +++ b/change-list-url @@ -0,0 +1,60 @@ +#!/bin/bash +# +# Change a mailing list's web page URL. +# +# This must be run as root. + +MMDIR=/var/lib/mailman +BINDIR=$MMDIR/bin +LISTDIR=$MMDIR/lists +WORKDIR=/tmp/mmdir + +function usage() { + echo "Usage: change-list-url LIST WEBURL [BASEURL]" +} + +# Argument check +if test -z "$2"; then + echo "Not enough arguments" + usage + exit 1 +elif test -n "$4"; then + echo "Too many arguments" + usage + exit 1 +else + LIST=$1 + WEBURL=$2 + BASEURL=$3 +fi + +# Check list existence +if test ! -d $LISTDIR/$LIST; then + echo "List $LIST does not exist" + exit 1 +fi + +# Make working directory +if test ! -d $WORKDIR; then + mkdir -p $WORKDIR + chown list:list $WORKDIR + chmod ug=rwX,o= $WORKDIR +fi + +# Change URL +echo "web_page_url = '$WEBURL'" > $WORKDIR/$LIST.cfg +if test -n "$BASEURL"; then + echo "host_name = '$BASEURL'" >> $WORKDIR/$LIST.cfg +fi +chown list:list $WORKDIR/$LIST.cfg +sudo -u list $BINDIR/config_list -i $WORKDIR/$LIST.cfg $LIST +rm -f $WORKDIR/$LIST.cfg + +echo +echo "Changed web page URL for $LIST to $WEBURL" +if test -n "$BASEURL"; then + echo " and also base URL to $BASEURL" +fi + +echo "Updating mailman definitions for Exim ..." +/afs/hcoop.net/common/etc/scripts/mailman-update-exim-db diff --git a/listnew b/listnew index 1f475a0..90ea197 100755 --- a/listnew +++ b/listnew @@ -5,10 +5,15 @@ # Usage: listnew LISTNAME LISTDOMAIN USER RANDOM_PASSWORD BIN=/var/lib/mailman/bin +DEFAULT_URL=https://lists.hcoop.net sudo -u list $BIN/newlist $1@$2 $3@hcoop.net $4