aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatarNoèl Köthe <noel@debian.org>2005-06-25 23:00:09 +0200
committerLibravatarUnit 193 <unit193@ubuntu.com>2019-12-05 16:35:02 -0500
commitb43790a240cf2eaa713a96439c2dcaa0e47795cf (patch)
tree5f18a37ff440a9d267d932427fc90f6aeb54eedf
parent9e3ee077d14e278e216bd1869dfe66409997e604 (diff)
parenta1b3c346fdd75ceb389881fade3b063c6375255b (diff)
downloadlistadmin-b43790a240cf2eaa713a96439c2dcaa0e47795cf.tar.bz2
listadmin-b43790a240cf2eaa713a96439c2dcaa0e47795cf.tar.xz
listadmin-b43790a240cf2eaa713a96439c2dcaa0e47795cf.tar.zst
Import Debian changes 2.26-1debian/2.26-1
listadmin (2.26-1) unstable; urgency=low * new upstream version
-rw-r--r--Makefile3
-rw-r--r--debian/changelog6
-rw-r--r--listadmin.man60
-rwxr-xr-xlistadmin.pl99
-rw-r--r--listadmin.txt352
5 files changed, 300 insertions, 220 deletions
diff --git a/Makefile b/Makefile
index bc59854..0cab446 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
SHELL = /bin/sh
INSTALL = install -c
-VERSION = 2.24
+VERSION = 2.26
PREFIX = /usr/local
BINDIR = $(PREFIX)/bin
@@ -39,4 +39,5 @@ WWW_DOCS = /hom/kjetilho/www_docs/hacks
publish: dist
cp listadmin.txt $(WWW_DOCS)/listadmin.txt
cp $(TARFILE) $(WWW_DOCS)/
+ cp listadmin.pl $(WWW_DOCS)/listadmin
perl -pi -e 's/listadmin-\d+\.\d+/listadmin-'$(VERSION)'/g' $(WWW_DOCS)/index.html
diff --git a/debian/changelog b/debian/changelog
index 7cc9b92..85cadb3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+listadmin (2.26-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Noèl Köthe <noel@debian.org> Sat, 25 Jun 2005 23:00:09 +0200
+
listadmin (2.24-2) unstable; urgency=medium
* urgency=medium
diff --git a/listadmin.man b/listadmin.man
index 8d29623..b6419e3 100644
--- a/listadmin.man
+++ b/listadmin.man
@@ -5,15 +5,12 @@
.if n .na
.SH NAME
listadmin \- process messages held by Mailman for approval
-
.SH SYNOPSIS
.B "listadmin [-f \fIconfigfile\fP] [-t \fIminutes\fP] [\fIlistname\fP]"
-
.SH DESCRIPTION
.I listadmin
is a textual alternative to Mailman's WWW interface for administering
mailing lists.
-
.SH OPTIONS
.IP "-f \fIconfigfile\fP"
Fetch list of mailing lists from \fIconfigfile\fP rather than the
@@ -21,25 +18,24 @@ default (\fB~/.listadmin.ini\fP).
.IP "-t \fIminutes\fP"
Stop processing after \fIminutes\fP has passed. Mostly useful for
completely automated configurations of \fBlistadmin\fP.
-
.IP "\fIlistname\fP"
Only process the lists matching \fIlistname\fP. Specify a complete
address, a substring or a regular expression.
-
.SH CONFIGURATION SYNTAX
+
The configuration file contains lines which can contain either a
comment, a directive, or a mailing list address.
-.PP
+
A line can be continued by putting a backslash character at the end of
the line. Any leading whitespace on the following line is removed.
-.PP
+
Comments begin with the character # and extend to the end of line.
Backslash continuation is not applied to comments.
-.PP
+
The argument to the directive can be put in double quotes to protect
space characters. Inside double quotes, \\" can be used to include a \""
literal double quote, and \\\\ for a literal backslash.
-.PP
+
.SH DIRECTIVES
A directive affects all the mailing lists addresses which follow after
it in the configuration file. The directives are:
@@ -135,6 +131,42 @@ server\fP.
.IP
The filename \fBnone\fP turns off logging.
.RE
+.SH INTERACTIVE USE
+
+The user interface to \fBlistadmin\fP is line oriented with single
+letter commands. By pressing Return, the default action is chosen.
+The default action is printed in brackets in the prompt. The
+available actions are:
+
+.RS
+.IP a
+Approve sending the message to all members of the list.
+.IP r
+Reject the message and notify sender of the decision.
+.IP d
+Discard the message silently, don't notify sender.
+.IP s
+Skip the message, leave its status as pending unchanged.
+.IP b
+View Body, display the first 20 lines of the message.
+.IP f
+View Full, display the complete message, including headers.
+.IP \fInumber\fP
+Jump forward or backward to message \fInumber\fP.
+.IP /\fIpattern\fP
+Search (case-insensitively) for the next message with matching From or
+Subject. If \fIpattern\fP is left out, the previous value will be
+used.
+.IP ?\fIpattern\fP
+As above, but backwards.
+.IP q
+Quit processing this list and go on to the next.
+.RE
+
+Changes will not take effect until the end of the list has been
+reached. At that time, the user will be prompted whether the changes
+should be submitted to Mailman (see also "confirm" directive above).
+
.SH EXAMPLE
An example configuration file:
.nf
@@ -180,21 +212,17 @@ An example configuration file:
The default configuration file.
.SH BUGS
-.PP
-The default behaviour with no adminurl specified in the configuration
-file is only useful at the University of Oslo.
-.PP
The SpamAssassin score is fetched from the header X-Spam-Level, the
value is the number of asterisks following. It will also check a
header specific to the University of Oslo. If this does not match
your setup, you will need to change the Perl code. I'd be interested
in ideas on how to best make this configurable.
-.PP
+
The HTML parser is quite fragile and depends on Mailman not to change
the format of its generated code.
-.PP
+
Mailman 2.1 is not supported.
-.PP
+
ISO 8859-1 environment is assumed.
.SH AUTHOR
diff --git a/listadmin.pl b/listadmin.pl
index ade12ae..e638d0e 100755
--- a/listadmin.pl
+++ b/listadmin.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
#
-# listadmin version 2.24
+# listadmin version 2.26
# Written 2003 - 2005 by
# Kjetil Torgrim Homme <kjetilho+listadmin@ifi.uio.no>
# Released into public domain.
@@ -92,7 +92,9 @@ for my $list (@lists) {
my %change = ();
process_subscriptions ($list, $info, $config->{$list}, \%change);
- approve_messages ($list, $info, $config->{$list}, \%change);
+ my $num = undef;
+ restart_approval:
+ approve_messages ($list, $info, $config->{$list}, \%change, $num);
if ($config->{$list}->{"confirm"}) {
if (scalar %change) {
@@ -108,6 +110,9 @@ _END_
if ($c =~ /^\s*(no?|nei|skip)\s*$/i) {
print "skipping ...\n";
next;
+ } elsif ($c =~ /^\d$/) {
+ $num = $c - 1;
+ goto restart_approval;
} elsif ($c !~ /^\s*(|ja?|y|yes)\s*$/i) {
goto redo_confirm;
}
@@ -181,7 +186,7 @@ end
}
sub approve_messages {
- my ($list, $info, $config, $change) = @_;
+ my ($list, $info, $config, $change, $num) = @_;
my $listdef = $config->{"default"};
my $spamlevel = $config->{"spamlevel"};
@@ -192,7 +197,13 @@ sub approve_messages {
my $dis_reas = $config->{"discard_if_reason"};
my $count = keys (%{$info}) - 1; # subtract 1 for globals
- my $num = 0;
+ my $search_pattern = "";
+ my $dont_skip_forward = 0;
+ if (!defined ($num)) {
+ $num = 0;
+ } else {
+ $dont_skip_forward = 1;
+ }
my $prompt = 'Approve/Reject/Discard/Skip/view Body/view Full/jump #/Help/Quit';
my @num_to_id = grep { ! /^global$/ } sort keys %{$info};
msgloop:
@@ -220,7 +231,8 @@ sub approve_messages {
if $dis_reas && got_match ($reason, $dis_reas);
$ans ||= "d" if $match;
$ans = undef if (($ns_subj && $subject =~ $ns_subj) ||
- ($ns_from && $from =~ $ns_from));
+ ($ns_from && $from =~ $ns_from) ||
+ $dont_skip_forward);
if ($ans && $match) {
if ($match eq "spam") {
@@ -245,13 +257,43 @@ sub approve_messages {
last msgloop;
} elsif ($ans eq "s") {
delete $change->{$id};
+ $dont_skip_forward = 0;
next msgloop;
} elsif ($ans =~ /^\d+$/ && $ans > 0 && $ans <= $count) {
$num = $ans - 1;
+ $dont_skip_forward = 1;
next msgloop;
} elsif ($ans eq "a" || $ans eq "d") {
$change->{$id} = [ $ans ];
+ $dont_skip_forward = 0;
last;
+ } elsif ($ans =~ m,([/?])(.*),) {
+ my $i = $num - 1;
+ my $direction = 1;
+ my $fencepost = $count - 1;
+ if ($1 eq "?") {
+ $direction = -1;
+ $fencepost = 1;
+ }
+ # If no pattern is specified, reuse previous pattern.
+ $search_pattern = $2 unless $2 eq "";
+ if ($search_pattern eq "") {
+ print "No search pattern specified. Try 'help'\n";
+ next;
+ }
+ while ($i != $fencepost) {
+ $i += $direction;
+ my $id = $num_to_id[$i];
+ my $search_from = $info->{$id}{"from"};
+ my $search_subject = $info->{$id}{"subject"} || "";
+ if ($search_from =~ /$search_pattern/i ||
+ $search_subject =~ /$search_pattern/i) {
+ $num = $i;
+ $dont_skip_forward = 1;
+ next msgloop;
+ }
+ }
+ print "Pattern not found\n"
} elsif ($ans eq "r") {
redo_reject:
my $def_reason = $info->{$id}{"rejreason"};
@@ -268,6 +310,7 @@ sub approve_messages {
}
$change->{$id} = [ "r", $r ];
+ $dont_skip_forward = 0;
last;
} elsif ($ans eq "f") {
print $info->{$id}{"headers"}, "\n\n", $info->{$id}{"body"};
@@ -299,13 +342,15 @@ sub approve_messages {
Choose one of the following actions by typing the corresponding letter
and pressing Return.
- a Approve -- the message will be sent to all member of the list
+ a Approve -- the message will be sent to all members of the list
r Reject -- notify sender that the message was rejected
d Discard -- throw message away, don't notify sender
s Skip -- don't decide now, leave it for later
b view Body -- display the first 20 lines of the message
f view Full -- display the complete message, including headers
# jump -- jump backward or forward to message number #
+ /pattern -- search for next message with matching From or Subject
+ ?pattern -- search for previous message with matching From or Subject
q Quit -- go on to the next list
end
@@ -332,32 +377,32 @@ sub mailman_params {
return \%params;
}
+sub uio_adminurl {
+ my ($domain) = @_;
+ return 'https://{domain}/mailman/{domain}/admindb/{list}'
+ if ($domain eq 'lister.ping.uio.no');
+ return 'http://{domain}/mailman/admindb/{list}@{domain}'
+ if ($domain eq "lister.uio.no");
+ return 'http://{subdomain}-lists.uio.no/mailman/admindb/{list}@{domain}'
+ if ($domain =~ /^(\w+\.)?uio\.no$/);
+ undef;
+}
+
sub mailman_url {
my ($list, $pattern) = @_;
my ($lp, $domain) = split ('@', $list);
- if ($pattern) {
- my $url = $pattern;
- my $subdom = $domain;
- $subdom = $` if $subdom =~ /\./;
- $url =~ s/\{list\}/$lp/g;
- $url =~ s/\{domain\}/$domain/g;
- $url =~ s/\{subdomain\}/$subdom/g;
- return $url;
- }
- my $www = $domain;
- if ($domain eq "lister.ping.uio.no") {
- return "https://$domain/mailman/$domain/admindb/$lp";
- } elsif ($domain =~ /^(\w+)\.uio\.no$/) {
- $www = "$1-lists.uio.no";
- } elsif ($domain eq "uio.no") {
- $www = "uio-lists.uio.no";
- } elsif ($hostname =~ /uio.no$/) {
- # horrific. this default should be split into a site specific file.
- $www = "lister.uio.no";
- }
- return "http://$www/mailman/admindb/$list";
+ $pattern ||= uio_adminurl ($domain);
+ $pattern ||= 'http://{domain}/mailman/admindb/{list}';
+
+ my $url = $pattern;
+ my $subdom = $domain;
+ $subdom = $` if $subdom =~ /\./;
+ $url =~ s/\{list\}/$lp/g;
+ $url =~ s/\{domain\}/$domain/g;
+ $url =~ s/\{subdomain\}/$subdom/g;
+ return $url;
}
sub get_list {
diff --git a/listadmin.txt b/listadmin.txt
index 56d9108..818df55 100644
--- a/listadmin.txt
+++ b/listadmin.txt
@@ -1,251 +1,251 @@
-
-User Commands LISTADMIN(1)
+LISTADMIN(1) LISTADMIN(1)
NAME
- listadmin - process messages held by Mailman for approval
+ listadmin - process messages held by Mailman for approval
SYNOPSIS
- listadmin [-f configfile] [-t minutes] [listname]
+ listadmin [-f configfile] [-t minutes] [listname]
DESCRIPTION
- listadmin is a textual alternative to Mailman's WWW
- interface for administering mailing lists.
+ listadmin is a textual alternative to Mailman's WWW interface for
+ administering mailing lists.
OPTIONS
- -f configfile
- Fetch list of mailing lists from configfile rather than
- the default (~/.listadmin.ini).
+ -f configfile
+ Fetch list of mailing lists from configfile rather than the
+ default (~/.listadmin.ini).
- -t minutes
- Stop processing after minutes has passed. Mostly
- useful for completely automated configurations of
- listadmin.
+ -t minutes
+ Stop processing after minutes has passed. Mostly useful for
+ completely automated configurations of listadmin.
- listname
- Only process the lists matching listname. Specify a
- complete address, a substring or a regular expression.
+ listname
+ Only process the lists matching listname. Specify a complete
+ address, a substring or a regular expression.
CONFIGURATION SYNTAX
- The configuration file contains lines which can contain
- either a comment, a directive, or a mailing list address.
+ The configuration file contains lines which can contain either a
+ comment, a directive, or a mailing list address.
- A line can be continued by putting a backslash character at
- the end of the line. Any leading whitespace on the
- following line is removed.
+ A line can be continued by putting a backslash character at the end of
+ the line. Any leading whitespace on the following line is removed.
- Comments begin with the character # and extend to the end of
- line. Backslash continuation is not applied to comments.
+ Comments begin with the character # and extend to the end of line.
+ Backslash continuation is not applied to comments.
- The argument to the directive can be put in double quotes to
- protect space characters. Inside double quotes, \" can be
- used to include a literal double quote, and \\ for a literal
- backslash.
+ The argument to the directive can be put in double quotes to protect
+ space characters. Inside double quotes, \" can be used to include a
+ literal double quote, and \\ for a literal backslash.
DIRECTIVES
- A directive affects all the mailing lists addresses which
- follow after it in the configuration file. The directives
- are:
+ A directive affects all the mailing lists addresses which follow after
+ it in the configuration file. The directives are:
- username username
- Specifies the username to use for authentication.
+ username username
+ Specifies the username to use for authentication.
-SunOS 5.8 Last change: 24 Feb 2005 1
+ password password
+ Specifies the password to use for authentication.
-User Commands LISTADMIN(1)
+ adminurl url
+ The URL for maintaining Mailman requests. Some
+ substitutions are performed: (examples below refer to the
+ hypothetical list foo-devel@example.net)
- password password
- Specifies the password to use for authentication.
+ {list} The local part of the list name, e.g., "foo-
+ devel".
- adminurl url
- The URL for maintaining Mailman requests. Some
- substitutions are performed: (examples below refer
- to the hypothetical list foo-devel@example.net)
+ {domain}
+ The domain part of the list name, e.g.,
+ "example.net".
- {list}
- The local part of the list name, e.g., "foo-
- devel".
+ {subdomain}
+ The first component of the domain part, e.g.,
+ "example".
- {domain}
- The domain part of the list name, e.g.,
- "example.net".
+ default action
+ Specifies the action to take when the user presses just
+ Return. Available actions are:
- {subdomain}
- The first component of the domain part, e.g.,
- "example".
+ approve
+ The message will be sent to all member of the
+ list.
- default action
- Specifies the action to take when the user presses
- just Return. Available actions are:
+ reject Notify sender that the message was rejected.
- approve
- The message will be sent to all member of the
- list.
+ discard
+ Throw message away, don't notify sender.
- reject
- Notify sender that the message was rejected.
+ skip Don't decide now, leave it for later.
- discard
- Throw message away, don't notify sender.
+ none Reset to no default action.
- skip Don't decide now, leave it for later.
+ action action
+ This action will be taken for all messages where none of
+ the other rules apply (e.g., spamlevel, discard_if_from
+ etc.), ie., whenever the user would have been asked what
+ to do. The same actions as for default are available,
+ although reject isn't very useful.
- none Reset to no default action.
+ spamlevel number
+ This specifies the threshold for automatic discard of
+ suspected spam messages. 12 is unlikely to have false
+ positives. No user confirmation is needed, so it is best
+ to play it safe. Less than 5 is not recommended.
- action action
- This action will be taken for all messages where
- none of the other rules apply (e.g., spamlevel,
- discard_if_from etc.), ie., whenever the user
- would have been asked what to do. The same
- actions as for default are available, although
- reject isn't very useful.
+ not_spam_if_from pattern
+ If the message's From header matches the pattern, all
+ automatic actions will be cancelled and you will be asked
+ what action to take explicitly. The pattern can use Perl
+ regexp syntax. If enclosed in slashes, some modifiers
+ can be added, a typical example being /pattern/i to match
+ case-insensitively.
- spamlevel number
- This specifies the threshold for automatic discard
- of suspected spam messages. 12 is unlikely to
- have false positives. No user confirmation is
- needed, so it is best to play it safe. Less than
- 5 is not recommended.
+ not_spam_if_subject pattern
+ As above, but matches against the Subject header.
-SunOS 5.8 Last change: 24 Feb 2005 2
+ discard_if_from pattern
+ If the message's From header matches the pattern, it will
+ be discarded automatically.
-User Commands LISTADMIN(1)
+ discard_if_subject pattern
+ As above, but matches against the Subject header.
- not_spam_if_from pattern
- If the message's From header matches the pattern,
- all automatic actions will be cancelled and you
- will be asked what action to take explicitly. The
- pattern can use Perl regexp syntax. If enclosed
- in slashes, some modifiers can be added, a typical
- example being /pattern/i to match case-
- insensitively.
+ discard_if_reason pattern
+ As above, but matches against Mailman's reason for
+ holding the message for approval.
- not_spam_if_subject pattern
- As above, but matches against the Subject header.
+ subscription_default action
+ Specifies the action to take when the user presses just
+ Return while processing subscriptions. Available actions
+ are:
- discard_if_from pattern
- If the message's From header matches the pattern,
- it will be discarded automatically.
+ accept The new subscriber will be added.
- discard_if_subject pattern
- As above, but matches against the Subject header.
+ reject Notify sender that s/he was not allowed to join
+ the list.
- discard_if_reason pattern
- As above, but matches against Mailman's reason for
- holding the message for approval.
+ skip Don't decide now, leave it for later.
- subscription_default action
- Specifies the action to take when the user presses
- just Return while processing subscriptions.
- Available actions are:
+ none Reset to no default action.
- accept
- The new subscriber will be added.
+ subscription_action action
+ This action will be taken always for all new subscribers
+ in the relevant lists, no user interaction will take
+ place. The same actions as for subscription_default are
+ available, although only skip is very useful. It is
+ better to get automatic accept and reject behaviour by
+ changing the Mailman configuration.
- reject
- Notify sender that s/he was not allowed to
- join the list.
+ confirm yes|no
+ Before submitting changes, ask for confirmation. Default
+ is "yes".
- skip Don't decide now, leave it for later.
+ log filename
+ Changes submitted to the web interface are logged. All
+ the changes for one list are sent in batches at the end
+ of processing. The format in the log is first a line
+ containing the list name and a time stamp in local time.
+ Then one line for each message, in the format
- none Reset to no default action.
+ action D:[date] F:[sender] S:[subject]
- subscription_action action
- This action will be taken always for all new
- subscribers in the relevant lists, no user
- interaction will take place. The same actions as
- for subscription_default are available, although
- only skip is very useful. It is better to get
- automatic accept and reject behaviour by changing
- the Mailman configuration.
+ This batch of lines are terminated by a line saying
+ changes sent to server.
- confirm yes|no
- Before submitting changes, ask for confirmation.
- Default is "yes".
+ The filename none turns off logging.
-SunOS 5.8 Last change: 24 Feb 2005 3
+INTERACTIVE USE
+ The user interface to listadmin is line oriented with single letter
+ commands. By pressing Return, the default action is chosen. The
+ default action is printed in brackets in the prompt. The available
+ actions are:
-User Commands LISTADMIN(1)
+ a Approve sending the message to all members of the list.
- log filename
- Changes submitted to the web interface are logged.
- All the changes for one list are sent in batches
- at the end of processing. The format in the log
- is first a line containing the list name and a
- time stamp in local time. Then one line for each
- message, in the format
+ r Reject the message and notify sender of the decision.
- action D:[date] F:[sender] S:[subject]
+ d Discard the message silently, don't notify sender.
- This batch of lines are terminated by a line
- saying changes sent to server.
+ s Skip the message, leave its status as pending unchanged.
- The filename none turns off logging.
+ b View Body, display the first 20 lines of the message.
-EXAMPLE
- An example configuration file:
- # A comment, it must appear on a line by itself.
- #
- # Settings affect all lists being listed after it.
+ f View Full, display the complete message, including
+ headers.
+
+ number Jump forward or backward to message number.
- username jdoe
- password Geheim
- default discard
- # This one works for Sourceforge:
- adminurl http://{domain}/lists/admindb/{list}
+ /pattern
+ Search (case-insensitively) for the next message with
+ matching From or Subject. If pattern is left out, the
+ previous value will be used.
- slartibartfast@lists.sourceforge.net
+ ?pattern
+ As above, but backwards.
- # This is how the default Mailman URLs look:
- adminurl http://{domain}/mailman/admindb/{list}
+ q Quit processing this list and go on to the next.
- # If the password contains quotes or spaces, you may need
- # to put it in quotes. A complex example:
- password "\"lise\\ "
+ Changes will not take effect until the end of the list has been
+ reached. At that time, the user will be prompted whether the changes
+ should be submitted to Mailman (see also "confirm" directive above).
+
+EXAMPLE
+ An example configuration file:
+ # A comment, it must appear on a line by itself.
+ #
+ # Settings affect all lists being listed after it.
- # These lists will still use the username [jdoe], but the
- # password is now ["lise\ ].
+ username jdoe
+ password Geheim
+ default discard
+ # This one works for Sourceforge:
+ adminurl http://{domain}/lists/admindb/{list}
- default approve
- discard_if_reason "Message has implicit|Too many recipients"
- discard_if_from ^(postmaster|mailer(-daemon)?|listproc|no-reply)@
+ slartibartfast@lists.sourceforge.net
- foo-devel@example.net
+ # This is how the default Mailman URLs look:
+ adminurl http://{domain}/mailman/admindb/{list}
- # No one should ever send e-mail to the next list, so throw it
- # all away, without asking any questions
- action discard
- confirm no
- foo-announce@example.net
+ # If the password contains quotes or spaces, you may need
+ # to put it in quotes. A complex example:
+ password "\"lise\\ "
-SunOS 5.8 Last change: 24 Feb 2005 4
+ # These lists will still use the username [jdoe], but the
+ # password is now ["lise\ ].
-User Commands LISTADMIN(1)
+ default approve
+ discard_if_reason "Message has implicit|Too many recipients"
+ discard_if_from ^(postmaster|mailer(-daemon)?|listproc|no-reply)@
+
+ foo-devel@example.net
+
+ # No one should ever send e-mail to the next list, so throw it
+ # all away, without asking any questions
+ action discard
+ confirm no
+ foo-announce@example.net
FILES
- $HOME/.listadmin.ini
+ $HOME/.listadmin.ini
- The default configuration file.
+ The default configuration file.
BUGS
- The default behaviour with no adminurl specified in the
- configuration file is only useful at the University of Oslo.
+ The SpamAssassin score is fetched from the header X-Spam-Level, the
+ value is the number of asterisks following. It will also check a
+ header specific to the University of Oslo. If this does not match your
+ setup, you will need to change the Perl code. I'd be interested in
+ ideas on how to best make this configurable.
- The SpamAssassin score is fetched from the header X-Spam-
- Level, the value is the number of asterisks following. It
- will also check a header specific to the University of Oslo.
- If this does not match your setup, you will need to change
- the Perl code. I'd be interested in ideas on how to best
- make this configurable.
+ The HTML parser is quite fragile and depends on Mailman not to change
+ the format of its generated code.
- The HTML parser is quite fragile and depends on Mailman not
- to change the format of its generated code.
+ Mailman 2.1 is not supported.
- Mailman 2.1 is not supported.
-
- ISO 8859-1 environment is assumed.
+ ISO 8859-1 environment is assumed.
AUTHOR
- Kjetil T. Homme <kjetilho+listadmin@ifi.uio.no>
-
-SunOS 5.8 Last change: 24 Feb 2005 5
+ Kjetil T. Homme <kjetilho+listadmin@ifi.uio.no>
+ 24 Feb 2005 LISTADMIN(1)