When making a new list, set web interface to be https://lists.hcoop.net by default.
authormwolson_admin <mwolson_admin@deleuze.hcoop.net>
Tue, 4 Dec 2007 01:54:15 +0000 (20:54 -0500)
committermwolson_admin <mwolson_admin@deleuze.hcoop.net>
Tue, 4 Dec 2007 01:54:15 +0000 (20:54 -0500)
change-list-url [new file with mode: 0755]
listnew

diff --git a/change-list-url b/change-list-url
new file mode 100755 (executable)
index 0000000..5ead67a
--- /dev/null
@@ -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 (executable)
--- 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 </dev/null
 
-echo "Updating mailman definitions for Exim ..."
-/afs/hcoop.net/common/etc/scripts/mailman-update-exim-db
+# By default, use our list admin website for the public interface.
+# This can be changed after the user has set up their mailMan
+# directive.  We do this because the default is
+# http://lists.hcoop.net, without SSL, which makes list admin not work
+# at all.
+/afs/hcoop.net/common/etc/scripts/change-list-url $1 $DEFAULT_URL
 
-echo "Sucessfully imported list $1"
+echo "Sucessfully created list $1"