mailman-2.16; ok jakob@

This commit is contained in:
djm 2005-06-23 07:34:56 +00:00
parent 8d2bbfc6c9
commit 85e40547bd
9 changed files with 176 additions and 409 deletions

View File

@ -1,9 +1,9 @@
# $OpenBSD: Makefile,v 1.33 2005/04/24 19:31:25 jakob Exp $
# $OpenBSD: Makefile,v 1.34 2005/06/23 07:34:56 djm Exp $
COMMENT= "mailing list manager with web interface"
DISTNAME= mailman-2.1.5
PKGNAME= ${DISTNAME}p5
DISTNAME= mailman-2.1.6
PKGNAME= ${DISTNAME}
CATEGORIES= mail www
HOMEPAGE= http://www.gnu.org/software/mailman/
@ -42,7 +42,9 @@ CONFIGURE_ARGS+= --prefix='${MMHOME}' \
--with-python=${LOCALBASE}/bin/python${PYTHON_VER} \
--with-urlhost=localhost.my.domain \
--with-var-prefix='${MMSPOOL}' \
--without-permcheck
--without-permcheck \
--with-username=_mailman \
--with-groupname=_mailman
FLAVORS= postfix
FLAVOR?=

View File

@ -1,4 +1,4 @@
MD5 (mailman-2.1.5.tgz) = f5f56f04747cd4aff67427e7a45631af
RMD160 (mailman-2.1.5.tgz) = 9de569d00b521a9992e72829e427d035955fbce7
SHA1 (mailman-2.1.5.tgz) = d3f9639c76d437c58e6fcc2f0efc96c043e2f2e4
SIZE (mailman-2.1.5.tgz) = 5745912
MD5 (mailman-2.1.6.tgz) = 4e0f9d09c1553bd1a0a5327052179ca2
RMD160 (mailman-2.1.6.tgz) = 37107687d49d2a67e788fd51e11df5cb4b4e7929
SHA1 (mailman-2.1.6.tgz) = cfabc1629feba109f85e51b85c1f64e4491e7ac4
SIZE (mailman-2.1.6.tgz) = 6482726

View File

@ -1,30 +0,0 @@
$OpenBSD: patch-Mailman_Cgi_private_py,v 1.1 2005/02/10 14:58:06 jakob Exp $
--- Mailman/Cgi/private.py.orig Sat Feb 8 08:13:50 2003
+++ Mailman/Cgi/private.py Thu Feb 10 15:50:22 2005
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2003 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2005 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -35,13 +35,17 @@ from Mailman.Logging.Syslog import syslo
_ = i18n._
i18n.set_language(mm_cfg.DEFAULT_SERVER_LANGUAGE)
+SLASH = '/'
+
def true_path(path):
"Ensure that the path is safe by removing .."
- path = path.replace('../', '')
- path = path.replace('./', '')
- return path[1:]
+ parts = path.split(SLASH)
+ safe = [x for x in parts if x not in ('.', '..')]
+ if parts <> safe:
+ syslog('mischief', 'Directory traversal attack thwarted')
+ return SLASH.join(safe)[1:]

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-Mailman_Defaults_py_in,v 1.6 2005/02/11 19:33:55 jakob Exp $
--- Mailman/Defaults.py.in.orig Sun Apr 25 04:30:03 2004
+++ Mailman/Defaults.py.in Fri Feb 11 20:30:06 2005
@@ -410,7 +410,22 @@ SMTPPORT = 0
$OpenBSD: patch-Mailman_Defaults_py_in,v 1.7 2005/06/23 07:34:56 djm Exp $
--- Mailman/Defaults.py.in.orig Fri May 13 12:34:39 2005
+++ Mailman/Defaults.py.in Fri Jun 10 07:40:33 2005
@@ -424,7 +424,22 @@ SMTPPORT = 0
# Command for direct command pipe delivery to sendmail compatible program,
# when DELIVERY_MODULE is 'Sendmail'.

View File

@ -1,81 +0,0 @@
$OpenBSD: patch-Mailman_Utils_py,v 1.1 2005/02/11 19:33:55 jakob Exp $
--- Mailman/Utils.py.orig Fri Dec 26 23:50:04 2003
+++ Mailman/Utils.py Fri Feb 11 20:23:16 2005
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2003 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2004 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -27,12 +27,13 @@ from __future__ import nested_scopes
import os
import re
-import random
-import urlparse
+import cgi
import sha
-import errno
import time
-import cgi
+import errno
+import base64
+import random
+import urlparse
import htmlentitydefs
import email.Header
import email.Iterators
@@ -297,11 +298,52 @@ for v in _vowels:
_syllables.append(v+c)
del c, v
-def MakeRandomPassword(length=6):
+def UserFriendly_MakeRandomPassword(length):
syls = []
while len(syls) * 2 < length:
syls.append(random.choice(_syllables))
return EMPTYSTRING.join(syls)[:length]
+
+
+def Secure_MakeRandomPassword(length):
+ bytesread = 0
+ bytes = []
+ fd = None
+ try:
+ while bytesread < length:
+ try:
+ # Python 2.4 has this on available systems.
+ newbytes = os.urandom(length - bytesread)
+ except (AttributeError, NotImplementedError):
+ if fd is None:
+ try:
+ fd = os.open('/dev/urandom', os.O_RDONLY)
+ except OSError, e:
+ if e.errno <> errno.ENOENT:
+ raise
+ # We have no available source of cryptographically
+ # secure random characters. Log an error and fallback
+ # to the user friendly passwords.
+ from Mailman.Logging.Syslog import syslog
+ syslog('error',
+ 'urandom not available, passwords not secure')
+ return UserFriendly_MakeRandomPassword(length)
+ newbytes = os.read(fd, length - bytesread)
+ bytes.append(newbytes)
+ bytesread += len(newbytes)
+ s = base64.encodestring(EMPTYSTRING.join(bytes))
+ # base64 will expand the string by 4/3rds
+ return s.replace('\n', '')[:length]
+ finally:
+ if fd is not None:
+ os.close(fd)
+
+
+def MakeRandomPassword(length=mm_cfg.MEMBER_PASSWORD_LENGTH):
+ if mm_cfg.USER_FRIENDLY_PASSWORDS:
+ return UserFriendly_MakeRandomPassword(length)
+ return Secure_MakeRandomPassword(length)
+
def GetRandomSeed():
chr1 = int(random.random() * 52)

View File

@ -1,149 +1,12 @@
$OpenBSD: patch-configure,v 1.5 2003/10/09 15:39:33 sturm Exp $
--- configure.orig 2003-09-22 04:54:04.000000000 +0200
+++ configure 2003-09-30 22:23:40.000000000 +0200
@@ -2631,65 +2631,13 @@ fi;
if test -z "$with_username"
then
- with_username="mailman"
+ with_username="_mailman"
fi
USERNAME=$with_username
echo "$as_me:$LINENO: result: $USERNAME" >&5
echo "${ECHO_T}$USERNAME" >&6
-# User `mailman' must exist
-
-echo "$as_me:$LINENO: checking for user name \"$USERNAME\"" >&5
-echo $ECHO_N "checking for user name \"$USERNAME\"... $ECHO_C" >&6
-
-# MAILMAN_USER == variable name
-# $USERNAME == user id to check for
-
-
-if test -z "$MAILMAN_USER"
-then
- cat > conftest.py <<EOF
-import pwd
-uid = ''
-for user in "$USERNAME".split():
- try:
- try:
- uname = pwd.getpwuid(int(user))[0]
- break
- except ValueError:
- uname = pwd.getpwnam(user)[0]
- break
- except KeyError:
- uname = ''
-fp = open("conftest.out", "w")
-fp.write("%s\n" % uname)
-fp.close()
-EOF
- $PYTHON conftest.py
- MAILMAN_USER=`cat conftest.out`
-fi
-
-rm -f conftest.out conftest.py
-if test -z "$MAILMAN_USER"
-then
- if test "$with_permcheck" = "yes"
- then
- { { echo "$as_me:$LINENO: error:
-***** No \"$USERNAME\" user found!
-***** Your system must have a \"$USERNAME\" user defined
-***** (usually in your /etc/passwd file). Please see the INSTALL
-***** file for details." >&5
-echo "$as_me: error:
-***** No \"$USERNAME\" user found!
-***** Your system must have a \"$USERNAME\" user defined
-***** (usually in your /etc/passwd file). Please see the INSTALL
-***** file for details." >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-echo "$as_me:$LINENO: result: okay" >&5
-echo "${ECHO_T}okay" >&6
-
+MAILMAN_USER=_mailman
# Check for some other gid to use than `mailman'
echo "$as_me:$LINENO: checking for --with-groupname" >&5
@@ -2703,66 +2651,13 @@ fi;
if test -z "$with_groupname"
then
- with_groupname="mailman"
+ with_groupname="_mailman"
fi
GROUPNAME=$with_groupname
echo "$as_me:$LINENO: result: $GROUPNAME" >&5
echo "${ECHO_T}$GROUPNAME" >&6
-
-# Target group must exist
-
-echo "$as_me:$LINENO: checking for group name \"$GROUPNAME\"" >&5
-echo $ECHO_N "checking for group name \"$GROUPNAME\"... $ECHO_C" >&6
-
-# MAILMAN_GROUP == variable name
-# $GROUPNAME == user id to check for
-
-
-if test -z "$MAILMAN_GROUP"
-then
- cat > conftest.py <<EOF
-import grp
-gid = ''
-for group in "$GROUPNAME".split():
- try:
- try:
- gname = grp.getgrgid(int(group))[0]
- break
- except ValueError:
- gname = grp.getgrnam(group)[0]
- break
- except KeyError:
- gname = ''
-fp = open("conftest.out", "w")
-fp.write("%s\n" % gname)
-fp.close()
-EOF
- $PYTHON conftest.py
- MAILMAN_GROUP=`cat conftest.out`
-fi
-
-rm -f conftest.out conftest.py
-if test -z "$MAILMAN_GROUP"
-then
- if test "$with_permcheck" = "yes"
- then
- { { echo "$as_me:$LINENO: error:
-***** No \"$GROUPNAME\" group found!
-***** Your system must have a \"$GROUPNAME\" group defined
-***** (usually in your /etc/group file). Please see the INSTALL
-***** file for details." >&5
-echo "$as_me: error:
-***** No \"$GROUPNAME\" group found!
-***** Your system must have a \"$GROUPNAME\" group defined
-***** (usually in your /etc/group file). Please see the INSTALL
-***** file for details." >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-echo "$as_me:$LINENO: result: okay" >&5
-echo "${ECHO_T}okay" >&6
-
+MAILMAN_GROUP=_mailman
echo "$as_me:$LINENO: checking permissions on $prefixcheck" >&5
echo $ECHO_N "checking permissions on $prefixcheck... $ECHO_C" >&6
@@ -3057,7 +2952,7 @@ rm -f conftest.out conftest.py
$OpenBSD: patch-configure,v 1.6 2005/06/23 07:34:56 djm Exp $
--- configure.orig Fri Dec 31 10:41:08 2004
+++ configure Fri Jun 10 08:04:20 2005
@@ -1579,7 +1579,7 @@ echo "$ac_t""$URLHOST" 1>&6
rm -f conftest.out conftest.py
# Checks for libraries.
-for ac_func in strerror setregid syslog
+for ac_func in strerror syslog
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:1586: checking for $ac_func" >&5

View File

@ -1,6 +1,6 @@
$OpenBSD: patch-misc_Makefile_in,v 1.3 2004/01/01 17:29:08 jakob Exp $
--- misc/Makefile.in.orig 2003-12-30 05:47:44.000000000 +0100
+++ misc/Makefile.in 2004-01-01 18:09:04.000000000 +0100
$OpenBSD: patch-misc_Makefile_in,v 1.4 2005/06/23 07:34:56 djm Exp $
--- misc/Makefile.in.orig Fri Apr 29 22:05:10 2005
+++ misc/Makefile.in Fri Jun 10 07:40:33 2005
@@ -73,6 +73,10 @@ ICONS= $(srcdir)/*.jpg $(srcdir)/*.png
# Rules
@ -12,7 +12,7 @@ $OpenBSD: patch-misc_Makefile_in,v 1.3 2004/01/01 17:29:08 jakob Exp $
install: install-other install-packages
@@ -89,8 +93,7 @@ install-other:
@@ -92,8 +96,7 @@ install-other:
install-packages:
for p in $(PACKAGES); \
do \

View File

@ -1,68 +0,0 @@
$OpenBSD: patch-scripts_driver,v 1.1 2005/01/26 05:28:53 brad Exp $
--- scripts/driver.orig Wed Jan 26 00:16:53 2005
+++ scripts/driver Wed Jan 26 00:20:53 2005
@@ -28,9 +28,13 @@ import sys
# comfortable with. By setting STEALTH_MODE to 1, you disable the printing of
# this information to the web pages. This information is still, and always,
# printed in the error logs.
-STEALTH_MODE = 0
+STEALTH_MODE = 1
+# This will be set to the entity escaper.
+def websafe(s):
+ return s
+
# This standard driver script is used to run CGI programs, wrapped in code
# that catches errors, and displays them as HTML. This guarantees that
@@ -53,12 +57,22 @@ STEALTH_MODE = 0
def run_main():
+ global STEALTH_MODE, websafe
+
# These will ensure that even if something between now and the
# creation of the real logger below fails, we can still get
# *something* meaningful.
logger = None
try:
import paths
+ # When running in non-stealth mode, we need to escape entities,
+ # otherwise we're vulnerable to cross-site scripting attacks.
+ try:
+ if not STEALTH_MODE:
+ from Mailman.Utils import websafe
+ except:
+ STEALTH_MODE = 1
+ raise
# Map stderr to a logger, if possible.
from Mailman.Logging.StampedLogger import StampedLogger
logger = StampedLogger('error',
@@ -140,11 +154,13 @@ please email a copy of this page to the
a description of what happened. Thanks!
<h4>Traceback:</h4><p><pre>'''
+ exc_info = sys.exc_info()
if traceback:
- traceback.print_exc(file=sys.stdout)
+ for line in traceback.format_exception(*exc_info):
+ print websafe(line),
else:
print '[failed to import module traceback]'
- print '[exc: %s, var: %s]' % sys.exc_info()[0:2]
+ print '[exc: %s, var: %s]' % [websafe(x) for x in exc_info[0:2]]
print '\n\n</pre></body>'
else:
print '''<p>Please inform the webmaster for this site of this
@@ -212,7 +228,9 @@ def print_environment(logfp=None):
'''
if os:
for k, v in os.environ.items():
- print '<tr><td><tt>', k, '</tt></td><td>', v, '</td></tr>'
+ print '<tr><td><tt>', websafe(k), \
+ '</tt></td><td>', websafe(v), \
+ '</td></tr>'
print '</table>'
else:
print '<p><hr>[failed to import module os]'

View File

@ -1,9 +1,9 @@
@comment $OpenBSD: PLIST,v 1.11 2005/02/04 09:19:35 jakob Exp $
@comment $OpenBSD: PLIST,v 1.12 2005/06/23 07:34:56 djm Exp $
@newgroup _mailman:504
@newuser _mailman:504:_mailman:daemon:Mailing List Manager:${PREFIX}/lib/mailman:/sbin/nologin
@mode 775
@owner _mailman
@group _mailman
@mode 775
lib/mailman/
lib/mailman/Mailman/
lib/mailman/Mailman/Archiver/
@ -322,8 +322,8 @@ lib/mailman/Mailman/i18n.pyc
lib/mailman/Mailman/mm_cfg.py.dist
@mode 664
@sample ${PREFIX}/lib/mailman/Mailman/mm_cfg.py
@mode
@comment lib/mailman/Mailman/mm_cfg.pyc
@mode
lib/mailman/Mailman/versions.py
lib/mailman/Mailman/versions.pyc
@mode 775
@ -357,6 +357,7 @@ lib/mailman/bin/paths.py
lib/mailman/bin/qrunner
lib/mailman/bin/rb-archfix
lib/mailman/bin/remove_members
lib/mailman/bin/reset_pw.py
lib/mailman/bin/rmlist
lib/mailman/bin/show_qfiles
lib/mailman/bin/sync_members
@ -578,6 +579,14 @@ lib/mailman/messages/uk/LC_MESSAGES/
@mode
lib/mailman/messages/uk/LC_MESSAGES/mailman.mo
lib/mailman/messages/uk/LC_MESSAGES/mailman.po
lib/mailman/messages/zh_CN/
lib/mailman/messages/zh_CN/LC_MESSAGES/
lib/mailman/messages/zh_CN/LC_MESSAGES/mailman.mo
lib/mailman/messages/zh_CN/LC_MESSAGES/mailman.po
lib/mailman/messages/zh_TW/
lib/mailman/messages/zh_TW/LC_MESSAGES/
lib/mailman/messages/zh_TW/LC_MESSAGES/mailman.mo
lib/mailman/messages/zh_TW/LC_MESSAGES/mailman.po
@mode 775
lib/mailman/pythonlib/
lib/mailman/pythonlib/email/
@ -797,35 +806,6 @@ lib/mailman/scripts/subscribe
lib/mailman/scripts/unsubscribe
@mode 775
lib/mailman/templates/
lib/mailman/templates/big5/
@mode
lib/mailman/templates/big5/admindbpreamble.html
lib/mailman/templates/big5/adminsubscribeack.txt
lib/mailman/templates/big5/adminunsubscribeack.txt
lib/mailman/templates/big5/admlogin.html
lib/mailman/templates/big5/approve.txt
lib/mailman/templates/big5/bounce.txt
lib/mailman/templates/big5/checkdbs.txt
lib/mailman/templates/big5/convert.txt
lib/mailman/templates/big5/cronpass.txt
lib/mailman/templates/big5/handle_opts.html
lib/mailman/templates/big5/headfoot.html
lib/mailman/templates/big5/help.txt
lib/mailman/templates/big5/listinfo.html
lib/mailman/templates/big5/masthead.txt
lib/mailman/templates/big5/newlist.txt
lib/mailman/templates/big5/options.html
lib/mailman/templates/big5/postack.txt
lib/mailman/templates/big5/postauth.txt
lib/mailman/templates/big5/postheld.txt
lib/mailman/templates/big5/refuse.txt
lib/mailman/templates/big5/roster.html
lib/mailman/templates/big5/subauth.txt
lib/mailman/templates/big5/subscribe.html
lib/mailman/templates/big5/subscribeack.txt
lib/mailman/templates/big5/userpass.txt
lib/mailman/templates/big5/verify.txt
@mode 775
lib/mailman/templates/ca/
@mode
lib/mailman/templates/ca/admindbdetails.html
@ -906,6 +886,49 @@ lib/mailman/templates/cs/unsub.txt
lib/mailman/templates/cs/unsubauth.txt
lib/mailman/templates/cs/userpass.txt
lib/mailman/templates/cs/verify.txt
lib/mailman/templates/da/
lib/mailman/templates/da/admindbdetails.html
lib/mailman/templates/da/admindbpreamble.html
lib/mailman/templates/da/admindbsummary.html
lib/mailman/templates/da/adminsubscribeack.txt
lib/mailman/templates/da/adminunsubscribeack.txt
lib/mailman/templates/da/admlogin.html
lib/mailman/templates/da/approve.txt
lib/mailman/templates/da/archidxfoot.html
lib/mailman/templates/da/archidxhead.html
lib/mailman/templates/da/archliststart.html
lib/mailman/templates/da/archtoc.html
lib/mailman/templates/da/archtocentry.html
lib/mailman/templates/da/archtocnombox.html
lib/mailman/templates/da/article.html
lib/mailman/templates/da/bounce.txt
lib/mailman/templates/da/checkdbs.txt
lib/mailman/templates/da/convert.txt
lib/mailman/templates/da/cronpass.txt
lib/mailman/templates/da/disabled.txt
lib/mailman/templates/da/emptyarchive.html
lib/mailman/templates/da/headfoot.html
lib/mailman/templates/da/help.txt
lib/mailman/templates/da/invite.txt
lib/mailman/templates/da/listinfo.html
lib/mailman/templates/da/masthead.txt
lib/mailman/templates/da/newlist.txt
lib/mailman/templates/da/nomoretoday.txt
lib/mailman/templates/da/options.html
lib/mailman/templates/da/postack.txt
lib/mailman/templates/da/postauth.txt
lib/mailman/templates/da/postheld.txt
lib/mailman/templates/da/private.html
lib/mailman/templates/da/probe.txt
lib/mailman/templates/da/refuse.txt
lib/mailman/templates/da/roster.html
lib/mailman/templates/da/subauth.txt
lib/mailman/templates/da/subscribe.html
lib/mailman/templates/da/subscribeack.txt
lib/mailman/templates/da/unsub.txt
lib/mailman/templates/da/unsubauth.txt
lib/mailman/templates/da/userpass.txt
lib/mailman/templates/da/verify.txt
@mode 775
lib/mailman/templates/de/
@mode
@ -998,6 +1021,14 @@ lib/mailman/templates/es/adminsubscribeack.txt
lib/mailman/templates/es/adminunsubscribeack.txt
lib/mailman/templates/es/admlogin.html
lib/mailman/templates/es/approve.txt
lib/mailman/templates/es/archidxentry.html
lib/mailman/templates/es/archidxfoot.html
lib/mailman/templates/es/archidxhead.html
lib/mailman/templates/es/archlistend.html
lib/mailman/templates/es/archliststart.html
lib/mailman/templates/es/archtoc.html
lib/mailman/templates/es/archtocentry.html
lib/mailman/templates/es/archtocnombox.html
lib/mailman/templates/es/article.html
lib/mailman/templates/es/bounce.txt
lib/mailman/templates/es/checkdbs.txt
@ -1018,6 +1049,7 @@ lib/mailman/templates/es/postack.txt
lib/mailman/templates/es/postauth.txt
lib/mailman/templates/es/postheld.txt
lib/mailman/templates/es/private.html
lib/mailman/templates/es/probe.txt
lib/mailman/templates/es/refuse.txt
lib/mailman/templates/es/roster.html
lib/mailman/templates/es/subauth.txt
@ -1192,35 +1224,6 @@ lib/mailman/templates/fr/unsubauth.txt
lib/mailman/templates/fr/userpass.txt
lib/mailman/templates/fr/verify.txt
@mode 775
lib/mailman/templates/gb/
@mode
lib/mailman/templates/gb/admindbpreamble.html
lib/mailman/templates/gb/adminsubscribeack.txt
lib/mailman/templates/gb/adminunsubscribeack.txt
lib/mailman/templates/gb/admlogin.html
lib/mailman/templates/gb/approve.txt
lib/mailman/templates/gb/bounce.txt
lib/mailman/templates/gb/checkdbs.txt
lib/mailman/templates/gb/convert.txt
lib/mailman/templates/gb/cronpass.txt
lib/mailman/templates/gb/handle_opts.html
lib/mailman/templates/gb/headfoot.html
lib/mailman/templates/gb/help.txt
lib/mailman/templates/gb/listinfo.html
lib/mailman/templates/gb/masthead.txt
lib/mailman/templates/gb/newlist.txt
lib/mailman/templates/gb/options.html
lib/mailman/templates/gb/postack.txt
lib/mailman/templates/gb/postauth.txt
lib/mailman/templates/gb/postheld.txt
lib/mailman/templates/gb/refuse.txt
lib/mailman/templates/gb/roster.html
lib/mailman/templates/gb/subauth.txt
lib/mailman/templates/gb/subscribe.html
lib/mailman/templates/gb/subscribeack.txt
lib/mailman/templates/gb/userpass.txt
lib/mailman/templates/gb/verify.txt
@mode 775
lib/mailman/templates/hr/
@mode
lib/mailman/templates/hr/admindbdetails.html
@ -1349,6 +1352,7 @@ lib/mailman/templates/it/postack.txt
lib/mailman/templates/it/postauth.txt
lib/mailman/templates/it/postheld.txt
lib/mailman/templates/it/private.html
lib/mailman/templates/it/probe.txt
lib/mailman/templates/it/refuse.txt
lib/mailman/templates/it/roster.html
lib/mailman/templates/it/subauth.txt
@ -1395,6 +1399,7 @@ lib/mailman/templates/ja/postack.txt
lib/mailman/templates/ja/postauth.txt
lib/mailman/templates/ja/postheld.txt
lib/mailman/templates/ja/private.html
lib/mailman/templates/ja/probe.txt
lib/mailman/templates/ja/refuse.txt
lib/mailman/templates/ja/roster.html
lib/mailman/templates/ja/subauth.txt
@ -1667,6 +1672,13 @@ lib/mailman/templates/pt_BR/adminsubscribeack.txt
lib/mailman/templates/pt_BR/adminunsubscribeack.txt
lib/mailman/templates/pt_BR/admlogin.html
lib/mailman/templates/pt_BR/approve.txt
lib/mailman/templates/pt_BR/archidxentry.html
lib/mailman/templates/pt_BR/archidxfoot.html
lib/mailman/templates/pt_BR/archidxhead.html
lib/mailman/templates/pt_BR/archlistend.html
lib/mailman/templates/pt_BR/archliststart.html
lib/mailman/templates/pt_BR/archtoc.html
lib/mailman/templates/pt_BR/archtocentry.html
lib/mailman/templates/pt_BR/article.html
lib/mailman/templates/pt_BR/bounce.txt
lib/mailman/templates/pt_BR/checkdbs.txt
@ -1680,6 +1692,7 @@ lib/mailman/templates/pt_BR/invite.txt
lib/mailman/templates/pt_BR/listinfo.html
lib/mailman/templates/pt_BR/masthead.txt
lib/mailman/templates/pt_BR/newlist.txt
lib/mailman/templates/pt_BR/nomoretoday.txt
lib/mailman/templates/pt_BR/options.html
lib/mailman/templates/pt_BR/postack.txt
lib/mailman/templates/pt_BR/postauth.txt
@ -1756,6 +1769,7 @@ lib/mailman/templates/ru/archlistend.html
lib/mailman/templates/ru/archliststart.html
lib/mailman/templates/ru/archtoc.html
lib/mailman/templates/ru/archtocentry.html
lib/mailman/templates/ru/archtocnombox.html
lib/mailman/templates/ru/article.html
lib/mailman/templates/ru/bounce.txt
lib/mailman/templates/ru/checkdbs.txt
@ -1775,6 +1789,7 @@ lib/mailman/templates/ru/postack.txt
lib/mailman/templates/ru/postauth.txt
lib/mailman/templates/ru/postheld.txt
lib/mailman/templates/ru/private.html
lib/mailman/templates/ru/probe.txt
lib/mailman/templates/ru/refuse.txt
lib/mailman/templates/ru/roster.html
lib/mailman/templates/ru/subauth.txt
@ -1978,6 +1993,7 @@ lib/mailman/templates/uk/archlistend.html
lib/mailman/templates/uk/archliststart.html
lib/mailman/templates/uk/archtoc.html
lib/mailman/templates/uk/archtocentry.html
lib/mailman/templates/uk/archtocnombox.html
lib/mailman/templates/uk/article.html
lib/mailman/templates/uk/bounce.txt
lib/mailman/templates/uk/checkdbs.txt
@ -1997,6 +2013,7 @@ lib/mailman/templates/uk/postack.txt
lib/mailman/templates/uk/postauth.txt
lib/mailman/templates/uk/postheld.txt
lib/mailman/templates/uk/private.html
lib/mailman/templates/uk/probe.txt
lib/mailman/templates/uk/refuse.txt
lib/mailman/templates/uk/roster.html
lib/mailman/templates/uk/subauth.txt
@ -2006,6 +2023,78 @@ lib/mailman/templates/uk/unsub.txt
lib/mailman/templates/uk/unsubauth.txt
lib/mailman/templates/uk/userpass.txt
lib/mailman/templates/uk/verify.txt
lib/mailman/templates/zh_CN/
lib/mailman/templates/zh_CN/admindbdetails.html
lib/mailman/templates/zh_CN/admindbpreamble.html
lib/mailman/templates/zh_CN/admindbsummary.html
lib/mailman/templates/zh_CN/adminsubscribeack.txt
lib/mailman/templates/zh_CN/adminunsubscribeack.txt
lib/mailman/templates/zh_CN/admlogin.html
lib/mailman/templates/zh_CN/approve.txt
lib/mailman/templates/zh_CN/archidxentry.html
lib/mailman/templates/zh_CN/archidxfoot.html
lib/mailman/templates/zh_CN/archidxhead.html
lib/mailman/templates/zh_CN/archlistend.html
lib/mailman/templates/zh_CN/archliststart.html
lib/mailman/templates/zh_CN/archtoc.html
lib/mailman/templates/zh_CN/archtocentry.html
lib/mailman/templates/zh_CN/archtocnombox.html
lib/mailman/templates/zh_CN/article.html
lib/mailman/templates/zh_CN/bounce.txt
lib/mailman/templates/zh_CN/checkdbs.txt
lib/mailman/templates/zh_CN/convert.txt
lib/mailman/templates/zh_CN/cronpass.txt
lib/mailman/templates/zh_CN/disabled.txt
lib/mailman/templates/zh_CN/emptyarchive.html
lib/mailman/templates/zh_CN/headfoot.html
lib/mailman/templates/zh_CN/help.txt
lib/mailman/templates/zh_CN/invite.txt
lib/mailman/templates/zh_CN/listinfo.html
lib/mailman/templates/zh_CN/masthead.txt
lib/mailman/templates/zh_CN/newlist.txt
lib/mailman/templates/zh_CN/nomoretoday.txt
lib/mailman/templates/zh_CN/options.html
lib/mailman/templates/zh_CN/postack.txt
lib/mailman/templates/zh_CN/postauth.txt
lib/mailman/templates/zh_CN/postheld.txt
lib/mailman/templates/zh_CN/private.html
lib/mailman/templates/zh_CN/probe.txt
lib/mailman/templates/zh_CN/refuse.txt
lib/mailman/templates/zh_CN/roster.html
lib/mailman/templates/zh_CN/subauth.txt
lib/mailman/templates/zh_CN/subscribe.html
lib/mailman/templates/zh_CN/subscribeack.txt
lib/mailman/templates/zh_CN/unsub.txt
lib/mailman/templates/zh_CN/unsubauth.txt
lib/mailman/templates/zh_CN/userpass.txt
lib/mailman/templates/zh_CN/verify.txt
lib/mailman/templates/zh_TW/
lib/mailman/templates/zh_TW/admindbpreamble.html
lib/mailman/templates/zh_TW/adminsubscribeack.txt
lib/mailman/templates/zh_TW/adminunsubscribeack.txt
lib/mailman/templates/zh_TW/admlogin.html
lib/mailman/templates/zh_TW/approve.txt
lib/mailman/templates/zh_TW/bounce.txt
lib/mailman/templates/zh_TW/checkdbs.txt
lib/mailman/templates/zh_TW/convert.txt
lib/mailman/templates/zh_TW/cronpass.txt
lib/mailman/templates/zh_TW/handle_opts.html
lib/mailman/templates/zh_TW/headfoot.html
lib/mailman/templates/zh_TW/help.txt
lib/mailman/templates/zh_TW/listinfo.html
lib/mailman/templates/zh_TW/masthead.txt
lib/mailman/templates/zh_TW/newlist.txt
lib/mailman/templates/zh_TW/options.html
lib/mailman/templates/zh_TW/postack.txt
lib/mailman/templates/zh_TW/postauth.txt
lib/mailman/templates/zh_TW/postheld.txt
lib/mailman/templates/zh_TW/refuse.txt
lib/mailman/templates/zh_TW/roster.html
lib/mailman/templates/zh_TW/subauth.txt
lib/mailman/templates/zh_TW/subscribe.html
lib/mailman/templates/zh_TW/subscribeack.txt
lib/mailman/templates/zh_TW/userpass.txt
lib/mailman/templates/zh_TW/verify.txt
@mode 775
lib/mailman/tests/
@mode
@ -2068,7 +2157,6 @@ lib/mailman/tests/fblast.py
lib/mailman/tests/msgs/
@mode
lib/mailman/tests/msgs/bad_01.txt
lib/mailman/tests/msgs/nimda.txt
lib/mailman/tests/onebounce.py
lib/mailman/tests/paths.py
lib/mailman/tests/test_bounces.py
@ -2088,16 +2176,9 @@ share/doc/mailman/FAQ
share/doc/mailman/NEWS
share/doc/mailman/README
share/doc/mailman/README-I18N.en
share/doc/mailman/README.BSD
share/doc/mailman/README.CONTRIB
share/doc/mailman/README.EXIM
share/doc/mailman/README.LINUX
share/doc/mailman/README.MACOSX
share/doc/mailman/README.NETSCAPE
share/doc/mailman/README.OpenBSD
share/doc/mailman/README.POSTFIX
share/doc/mailman/README.QMAIL
share/doc/mailman/README.SENDMAIL
share/doc/mailman/README.USERAGENT
share/doc/mailman/UPGRADING
@owner _mailman