summaryrefslogtreecommitdiff
path: root/mailman
diff options
context:
space:
mode:
Diffstat (limited to 'mailman')
-rw-r--r--mailman/mklist.inc12
-rwxr-xr-xmailman/mklist.pl16
-rw-r--r--mailman/skel/private.en.py8
-rw-r--r--mailman/skel/sig.da.py8
-rw-r--r--mailman/skel/sig.en.py8
-rw-r--r--mailman/skel/sig.no.py8
-rw-r--r--mailman/skel/team-announce.da.py8
-rw-r--r--mailman/skel/team-announce.da.py.broken8
-rw-r--r--mailman/skel/team-announce.en.py8
-rw-r--r--mailman/skel/team-announce.no.py8
-rw-r--r--mailman/skel/team.da.py8
-rw-r--r--mailman/skel/team.da.py.broken8
-rw-r--r--mailman/skel/team.en.py8
-rw-r--r--mailman/skel/team.no.py8
14 files changed, 66 insertions, 58 deletions
diff --git a/mailman/mklist.inc b/mailman/mklist.inc
index 3c38c60..65281f4 100644
--- a/mailman/mklist.inc
+++ b/mailman/mklist.inc
@@ -7,8 +7,10 @@ sharedir="/etc/local-COMMON/mailman"
skeldir="$sharedir/skel"
MAILDOMAIN="${maildomain:-`head -n 1 /etc/mailname`}"
+LISTDOMAIN="${listdomain:-lists.$MAILDOMAIN}"
+LISTWEBDOMAIN="$listwebdomain"
OWNER="${owner:-listmaster@$MAILDOMAIN}"
-LANG="${lang:-en}"
+LISTLANG="${lang:-en}"
refreshlists() {
existinglists="`/usr/sbin/list_lists -b`"
@@ -18,13 +20,13 @@ mklist() {
list="$1"; shift
type="$1"; shift
desc="$1"; shift
- lang="${1:-$LANG}"
+ lang="${1:-$LISTLANG}"
owner="${2:-$OWNER}"
- emailhost="$3"
- urlhost="$4"
+ emailhost="${3:-$LISTDOMAIN}"
+ urlhost="${4:-$LISTWEBDOMAIN}"
if ! echo "$existinglists" | grep -q "^$list\$"; then
- newlist -l "$lang" -q "$list" ${emailhost:+-e "$emailhost"} ${urlhost:+-u "$urlhost"} "$owner" "`gpw | head -n 1`"
+ newlist -l "$lang"${urlhost:+ -u "$urlhost"}${emailhost:+ -e "$emailhost"} -q "$list" "$owner" "`gpw | head -n 1`"
fi
LISTNAME="$list" LISTDESC="$desc" LISTOWNER="$owner" ${emailhost:+LISTHOST="$emailhost"} "$sharedir/mklist.pl" "$skeldir/$type.$lang.py" > "$list.py"
config_list -i "$cfgdir/$list.py" "$list"
diff --git a/mailman/mklist.pl b/mailman/mklist.pl
index c15d799..8c7e72c 100755
--- a/mailman/mklist.pl
+++ b/mailman/mklist.pl
@@ -4,7 +4,7 @@
use warnings;
-our ($listname, $listdesc, $listhost, $senders, $senderfilter, $listowner);
+our ($listname, $listdesc, $listhost, $senders, $senderfilter, $senderfilters, $listowner, $listowners);
# Load optional config
my $config_file_addon_org = "/etc/local-ORG/mailman/mklist.conf";
@@ -18,8 +18,14 @@ $listname ||= $ENV{'LISTNAME'} or die "LISTNAME missing";
$listdesc ||= $ENV{'LISTDESC'} or die "LISTDESC missing";
$listhost ||= $ENV{'LISTHOST'} or die "LISTHOST missing";
$senders ||= $ENV{'SENDERS'} or die "SENDERS missing";
-$senderfilter ||= $ENV{'SENDERFILTER'} or die "SENDERFILTER missing";
-$listowner ||= $ENV{'LISTOWNER'} or die "LISTOWNER missing";
+$senderfilter ||= $ENV{'SENDERFILTER'};
+$senderfilter ||= '';
+$senderfilters ||= $ENV{'SENDERFILTERS'};
+$senderfilters ||= "'" . $senderfilter ."'" or warn "Ignoring missing SENDERFILTER(S)";
+$listowner ||= $ENV{'LISTOWNER'};
+$listowner ||= '';
+$listowners ||= $ENV{'LISTOWNERS'};
+$listowners ||= "'" . $listowner . "'" or die "LISTOWNER(S) missing";
while (<>) {
# Replace keywords - except in comments
@@ -28,8 +34,8 @@ while (<>) {
s/^([^#]*)LISTHOST/$1$listhost/g if ($listhost);
s/^([^#]*)LISTHOST/#$1/g unless ($listhost);
s/^([^#]*)SENDERS/$1$senders/g;
- s/^([^#]*)SENDERFILTER/$1$senderfilter/g;
- s/^([^#]*)LISTOWNER/$1$listowner/g;
+ s/^([^#]*)SENDERFILTERS/$1$senderfilters/g;
+ s/^([^#]*)LISTOWNERS/$1$listowners/g;
print;
}
diff --git a/mailman/skel/private.en.py b/mailman/skel/private.en.py
index 8a506e2..1d0e0c6 100644
--- a/mailman/skel/private.en.py
+++ b/mailman/skel/private.en.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censored, public)'
info = """Closed list for LISTDESC.
@@ -85,7 +85,7 @@ obscure_addresses = 0
default_member_moderation = 0
member_moderation_action = 0
member_moderation_notice = ''
-accept_these_nonmembers = ['SENDERFILTER']
+accept_these_nonmembers = [SENDERFILTERS]
hold_these_nonmembers = []
reject_these_nonmembers = []
discard_these_nonmembers = []
diff --git a/mailman/skel/sig.da.py b/mailman/skel/sig.da.py
index 0baca23..2276d3c 100644
--- a/mailman/skel/sig.da.py
+++ b/mailman/skel/sig.da.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censureret, offentlig)'
info = """Åben liste til LISTDESC.
@@ -85,7 +85,7 @@ obscure_addresses = 0
default_member_moderation = 0
member_moderation_action = 0
member_moderation_notice = ''
-accept_these_nonmembers = ['SENDERFILTER']
+accept_these_nonmembers = [SENDERFILTERS]
hold_these_nonmembers = []
reject_these_nonmembers = []
discard_these_nonmembers = []
diff --git a/mailman/skel/sig.en.py b/mailman/skel/sig.en.py
index 64b8ab3..f0eff57 100644
--- a/mailman/skel/sig.en.py
+++ b/mailman/skel/sig.en.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censored, public)'
info = """Open list for LISTDESC.
@@ -85,7 +85,7 @@ obscure_addresses = 0
default_member_moderation = 0
member_moderation_action = 0
member_moderation_notice = ''
-accept_these_nonmembers = ['SENDERFILTER']
+accept_these_nonmembers = [SENDERFILTERS]
hold_these_nonmembers = []
reject_these_nonmembers = []
discard_these_nonmembers = []
diff --git a/mailman/skel/sig.no.py b/mailman/skel/sig.no.py
index 74ec4f6..0bbd495 100644
--- a/mailman/skel/sig.no.py
+++ b/mailman/skel/sig.no.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censureret, offentlig)'
info = """Åben liste til LISTDESC.
@@ -85,7 +85,7 @@ obscure_addresses = 0
default_member_moderation = 0
member_moderation_action = 0
member_moderation_notice = ''
-accept_these_nonmembers = ['SENDERFILTER']
+accept_these_nonmembers = [SENDERFILTERS]
hold_these_nonmembers = []
reject_these_nonmembers = []
discard_these_nonmembers = []
diff --git a/mailman/skel/team-announce.da.py b/mailman/skel/team-announce.da.py
index b7e84ba..86bd65f 100644
--- a/mailman/skel/team-announce.da.py
+++ b/mailman/skel/team-announce.da.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censureret, semi-offentlig)'
info = """Åben liste til LISTDESC.
@@ -85,7 +85,7 @@ default_member_moderation = 1
member_moderation_action = 0
member_moderation_notice = ''
accept_these_nonmembers = []
-hold_these_nonmembers = ['SENDERFILTER']
+hold_these_nonmembers = [SENDERFILTERS]
reject_these_nonmembers = []
discard_these_nonmembers = []
generic_nonmember_action = 2
diff --git a/mailman/skel/team-announce.da.py.broken b/mailman/skel/team-announce.da.py.broken
index f602798..f353a7f 100644
--- a/mailman/skel/team-announce.da.py.broken
+++ b/mailman/skel/team-announce.da.py.broken
@@ -8,11 +8,11 @@ PYTHON_PREFIX="""#!/usr/bin/python
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censureret, semi-offentlig)'
info = """Ã…ben liste til LISTDESC.
@@ -88,7 +88,7 @@ default_member_moderation = 1
member_moderation_action = 0
member_moderation_notice = ''
accept_these_nonmembers = []
-hold_these_nonmembers = ['SENDERFILTER']
+hold_these_nonmembers = [SENDERFILTERS]
reject_these_nonmembers = []
discard_these_nonmembers = []
generic_nonmember_action = 2
diff --git a/mailman/skel/team-announce.en.py b/mailman/skel/team-announce.en.py
index ef83420..f99b2de 100644
--- a/mailman/skel/team-announce.en.py
+++ b/mailman/skel/team-announce.en.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censored, semi-public)'
info = """Open list for LISTDESC.
@@ -85,7 +85,7 @@ default_member_moderation = 1
member_moderation_action = 0
member_moderation_notice = ''
accept_these_nonmembers = []
-hold_these_nonmembers = ['SENDERFILTER']
+hold_these_nonmembers = [SENDERFILTERS]
reject_these_nonmembers = []
discard_these_nonmembers = []
generic_nonmember_action = 2
diff --git a/mailman/skel/team-announce.no.py b/mailman/skel/team-announce.no.py
index 1cf88be..013771f 100644
--- a/mailman/skel/team-announce.no.py
+++ b/mailman/skel/team-announce.no.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censureret, semi-offentlig)'
info = """Åben liste til LISTDESC.
@@ -85,7 +85,7 @@ default_member_moderation = 1
member_moderation_action = 0
member_moderation_notice = ''
accept_these_nonmembers = []
-hold_these_nonmembers = ['SENDERFILTER']
+hold_these_nonmembers = [SENDERFILTERS]
reject_these_nonmembers = []
discard_these_nonmembers = []
generic_nonmember_action = 2
diff --git a/mailman/skel/team.da.py b/mailman/skel/team.da.py
index 612cf48..488d202 100644
--- a/mailman/skel/team.da.py
+++ b/mailman/skel/team.da.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censureret, semi-offentlig)'
info = """Åben liste til LISTDESC.
@@ -88,7 +88,7 @@ obscure_addresses = 0
default_member_moderation = 0
member_moderation_action = 0
member_moderation_notice = ''
-accept_these_nonmembers = ['SENDERFILTER']
+accept_these_nonmembers = [SENDERFILTERS]
hold_these_nonmembers = []
reject_these_nonmembers = []
discard_these_nonmembers = []
diff --git a/mailman/skel/team.da.py.broken b/mailman/skel/team.da.py.broken
index 142b5b1..7a48c31 100644
--- a/mailman/skel/team.da.py.broken
+++ b/mailman/skel/team.da.py.broken
@@ -8,11 +8,11 @@ PYTHON_PREFIX="""#!/usr/bin/python
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (delvist offentlig)'
info = """Ã…ben liste til LISTDESC.
@@ -90,7 +90,7 @@ obscure_addresses = 0
default_member_moderation = 0
member_moderation_action = 0
member_moderation_notice = ''
-accept_these_nonmembers = ['SENDERFILTER']
+accept_these_nonmembers = [SENDERFILTERS]
hold_these_nonmembers = []
reject_these_nonmembers = []
discard_these_nonmembers = []
diff --git a/mailman/skel/team.en.py b/mailman/skel/team.en.py
index db6e647..e66b789 100644
--- a/mailman/skel/team.en.py
+++ b/mailman/skel/team.en.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censored, semi-public)'
info = """Open list for LISTDESC.
@@ -88,7 +88,7 @@ obscure_addresses = 0
default_member_moderation = 0
member_moderation_action = 0
member_moderation_notice = ''
-accept_these_nonmembers = ['SENDERFILTER']
+accept_these_nonmembers = [SENDERFILTERS]
hold_these_nonmembers = []
reject_these_nonmembers = []
discard_these_nonmembers = []
diff --git a/mailman/skel/team.no.py b/mailman/skel/team.no.py
index 375f414..adddf59 100644
--- a/mailman/skel/team.no.py
+++ b/mailman/skel/team.no.py
@@ -5,11 +5,11 @@
# LISTDESC = list base description
# LISTHOST = maildomain
# SENDERS = permitted senders short description
-# SENDERFILTER = regexp of permitted senders
-# LISTOWNER = listmaster address
+# SENDERFILTERS = array of regexes of permitted senders
+# LISTOWNERS = array of listmaster address(es)
#
real_name = 'LISTNAME'
-owner = ['LISTOWNER']
+owner = [LISTOWNERS]
moderator = []
description = 'LISTDESC (censureret, semi-offentlig)'
info = """Åben liste til LISTDESC.
@@ -88,7 +88,7 @@ obscure_addresses = 0
default_member_moderation = 0
member_moderation_action = 0
member_moderation_notice = ''
-accept_these_nonmembers = ['SENDERFILTER']
+accept_these_nonmembers = [SENDERFILTERS]
hold_these_nonmembers = []
reject_these_nonmembers = []
discard_these_nonmembers = []