Index: NEWS
===================================================================
RCS file: /cvsroot/mailman/mailman/NEWS,v
retrieving revision 1.25.2.1
retrieving revision 1.25.2.2
diff -u -r1.25.2.1 -r1.25.2.2
--- NEWS 2001/01/03 07:08:33 1.25.2.1
+++ NEWS 2001/03/03 06:51:26 1.25.2.2
@@ -4,6 +4,36 @@
Here is a history of user visible changes to Mailman.
+2.0.2 (03-Mar-2001)
+
+ Security fix:
+
+ - A fix for a potential privacy exploit where a clever list
+ administrator could gain access to user passwords. This doesn't
+ allow them to do much more harm to the user then they normally
+ could, but they still shouldn't have access to the passwords.
+
+ Bug fixes:
+
+ - In the admindb page, don't complain when approving a
+ subscription of someone who's already on the list (SF bug
+ #222409 - Thomas Wouters).
+
+ Also, quote for HTML the Subject: text printed for held
+ messages, otherwise messages with e.g. "Subject: </table>" could
+ royally screw page formatting.
+
+ - In Netscape.py bounce processor, don't bomb out on ill-formed
+ messages (no semi-colon separating parameters), otherwise mail
+ delivery could grind to a halt. Bug reported by Kambiz
+ Aghaiepour.
+
+ - Docstring fix bin/newlist to remove mention of "immediate"
+ argument (Thomas Wouters).
+
+ - Fix for bin/update when PREFIX != VAR_PREFIX (SF bug #229794 --
+ Thomas Wouters).
+
2.0.1 (03-Jan-2001)
Bug fix release, namely fixes a buglet in bin/withlist affecting
Index: UPGRADING
===================================================================
RCS file: /cvsroot/mailman/mailman/UPGRADING,v
retrieving revision 1.16.2.2
retrieving revision 1.16.2.3
diff -u -r1.16.2.2 -r1.16.2.3
--- UPGRADING 2001/01/03 06:35:43 1.16.2.2
+++ UPGRADING 2001/03/03 06:54:25 1.16.2.3
@@ -33,6 +33,11 @@
http://mail.python.org/pipermail/mailman-users/2000-September/006826.html
+UPGRADING FROM 2.0.1 to 2.0.2
+
+ Nothing much more than running "make install" (after upgrading)
+ should be necessary.
+
UPGRADING FROM 2.0 to 2.0.1
Nothing much more than running "make install" (after upgrading)
@@ -47,7 +52,7 @@
The cron jobs for Mailman 2.0 final have changed considerably,
including the frequency with which they run. You should reload
- misc/crontab.in for the `mailman' user to get the right settings.
+ cron/crontab.in for the `mailman' user to get the right settings.
See the INSTALL file for details.
FAILURE TO DO THIS WILL RESULT IN A LESS THAN OPTIMALLY FUNCTIONAL
Index: Mailman/ListAdmin.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/ListAdmin.py,v
retrieving revision 1.47
retrieving revision 1.47.2.1
diff -u -r1.47 -r1.47.2.1
--- Mailman/ListAdmin.py 2000/11/08 19:19:55 1.47
+++ Mailman/ListAdmin.py 2001/03/02 23:32:15 1.47.2.1
@@ -326,9 +326,13 @@
else:
# subscribe
assert value == mm_cfg.SUBSCRIBE
- self.ApprovedAddMember(addr, password, digest)
- # TBD: disgusting hack: ApprovedAddMember() can end up closing the
- # request database.
+ try:
+ self.ApprovedAddMember(addr, password, digest, lang)
+ except Errors.MMAlreadyMember:
+ # User has already been subscribed, after sending the request
+ pass
+ # TBD: disgusting hack: ApprovedAddMember() can end up closing
+ # the request database.
self.__opendb()
return REMOVE
Index: Mailman/Version.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Version.py,v
retrieving revision 1.20.2.1
retrieving revision 1.20.2.2
diff -u -r1.20.2.1 -r1.20.2.2
--- Mailman/Version.py 2001/01/03 06:49:34 1.20.2.1
+++ Mailman/Version.py 2001/03/03 06:19:15 1.20.2.2
@@ -1,4 +1,4 @@
-# Copyright (C) 1998,1999,2000 by the Free Software Foundation, Inc.
+# Copyright (C) 1998,1999,2000,2001 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
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Mailman version
-VERSION = "2.0.1"
+VERSION = "2.0.2"
# And as a hex number in the manner of PY_VERSION_HEX
ALPHA = 0xa
@@ -27,7 +27,7 @@
MAJOR_REV = 2
MINOR_REV = 0
-MICRO_REV = 1
+MICRO_REV = 2
REL_LEVEL = FINAL
# at most 15 beta releases!
REL_SERIAL = 0
Index: Mailman/Bouncers/Netscape.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Bouncers/Netscape.py,v
retrieving revision 1.5
retrieving revision 1.5.2.2
diff -u -r1.5 -r1.5.2.2
--- Mailman/Bouncers/Netscape.py 2000/06/20 05:40:36 1.5
+++ Mailman/Bouncers/Netscape.py 2001/02/20 23:25:08 1.5.2.2
@@ -49,8 +49,10 @@
# multipart/mixed;
# TBD: should we tighten this check?
if msg.getmaintype() <> 'multipart':
- return None
+ return
boundary = msg.getparam('boundary')
+ if boundary is None:
+ return
msg.fp.seek(0)
mfile = multifile.MultiFile(msg.fp)
mfile.push(boundary)
Index: Mailman/Cgi/admindb.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Cgi/admindb.py,v
retrieving revision 1.36
retrieving revision 1.36.2.1
diff -u -r1.36 -r1.36.2.1
--- Mailman/Cgi/admindb.py 2000/09/29 00:05:05 1.36
+++ Mailman/Cgi/admindb.py 2001/03/03 06:02:01 1.36.2.1
@@ -1,4 +1,4 @@
-# Copyright (C) 1998,1999,2000 by the Free Software Foundation, Inc.
+# Copyright (C) 1998,1999,2000,2001 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
@@ -186,7 +186,7 @@
t.AddRow([Bold('From:'), sender])
row, col = t.GetCurrentRowIndex(), t.GetCurrentCellIndex()
t.AddCellInfo(row, col-1, align='right')
- t.AddRow([Bold('Subject:'), subject])
+ t.AddRow([Bold('Subject:'), cgi.escape(subject)])
t.AddCellInfo(row+1, col-1, align='right')
t.AddRow([Bold('Reason:'), reason])
t.AddCellInfo(row+2, col-1, align='right')
Index: Mailman/Handlers/Decorate.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Handlers/Decorate.py,v
retrieving revision 1.7
retrieving revision 1.7.2.1
diff -u -r1.7 -r1.7.2.1
--- Mailman/Handlers/Decorate.py 2000/09/15 17:19:19 1.7
+++ Mailman/Handlers/Decorate.py 2001/03/03 06:49:11 1.7.2.1
@@ -30,6 +30,9 @@
# Digests already have their own header and footers attached.
return
d = Utils.SafeDict(mlist.__dict__)
+ # Certain attributes are sensitive
+ del d['password']
+ del d['passwords']
d['cgiext'] = mm_cfg.CGIEXT
# interpolate into the header
try:
Index: admin/www/download.ht
===================================================================
RCS file: /cvsroot/mailman/mailman/admin/www/download.ht,v
retrieving revision 1.5.2.1
retrieving revision 1.5.2.2
diff -u -r1.5.2.1 -r1.5.2.2
--- admin/www/download.ht 2001/01/03 06:53:29 1.5.2.1
+++ admin/www/download.ht 2001/03/03 06:18:47 1.5.2.2
@@ -65,9 +65,9 @@
<h3>Downloading</h3>
<p>Version
-(<!-VERSION--->2.0.1<!-VERSION--->,
+(<!-VERSION--->2.0.2<!-VERSION--->,
released on
-<!-DATE--->Jan 3 2001<!-DATE--->)
+<!-DATE--->Mar 3 2001<!-DATE--->)
is the current GNU release. It is available from the following mirror sites:
<ul>
Index: admin/www/download.html
===================================================================
RCS file: /cvsroot/mailman/mailman/admin/www/download.html,v
retrieving revision 1.6.2.3
retrieving revision 1.6.2.4
diff -u -r1.6.2.3 -r1.6.2.4
--- admin/www/download.html 2001/01/05 16:23:07 1.6.2.3
+++ admin/www/download.html 2001/03/03 06:18:47 1.6.2.4
@@ -1,6 +1,6 @@
<HTML>
<!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. -->
-<!-- Fri Jan 5 11:17:23 2001 -->
+<!-- Sat Mar 3 01:06:34 2001 -->
<!-- USING HT2HTML 1.1 -->
<!-- SEE
http://www.wooz.org/barry/software/pyware.html -->
<!-- User-specified headers:
@@ -237,9 +237,9 @@
<h3>Downloading</h3>
<p>Version
-(<!-VERSION--->2.0.1<!-VERSION--->,
+(<!-VERSION--->2.0.2<!-VERSION--->,
released on
-<!-DATE--->Jan 3 2001<!-DATE--->)
+<!-DATE--->Mar 3 2001<!-DATE--->)
is the current GNU release. It is available from the following mirror sites:
<ul>
Index: bin/newlist
===================================================================
RCS file: /cvsroot/mailman/mailman/bin/newlist,v
retrieving revision 1.36
retrieving revision 1.36.2.1
diff -u -r1.36 -r1.36.2.1
--- bin/newlist 2000/11/15 12:49:18 1.36
+++ bin/newlist 2001/03/03 05:58:19 1.36.2.1
@@ -1,6 +1,6 @@
#! /usr/bin/env python
#
-# Copyright (C) 1998,1999,2000 by the Free Software Foundation, Inc.
+# Copyright (C) 1998,1999,2000,2001 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
@@ -26,7 +26,7 @@
--quiet
Normally the administrator is notified by email (after a prompt) that
their list has been created. This option suppresses that
- notification.
+ notification and the prompting.
-o file
--output=file
@@ -36,11 +36,8 @@
-h/--help
Print this help text and exit.
-You can specify as many of the arguments as you want on the command line.
-The optional <immediate> argument, if present, means to send out the notice
-immediately. Otherwise, the script hangs pending input, to give time for
-the person creating the list to customize it before sending the admin an
-email notice about the existence of the new list.
+You can specify as many of the arguments as you want on the command line:
+you will be prompted for the missing ones.
Note that listnames are forced to lowercase.
"""
Index: bin/update
===================================================================
RCS file: /cvsroot/mailman/mailman/bin/update,v
retrieving revision 1.24
retrieving revision 1.24.2.1
diff -u -r1.24 -r1.24.2.1
--- bin/update 2000/11/01 02:31:28 1.24
+++ bin/update 2001/03/02 23:19:33 1.24.2.1
@@ -72,7 +72,10 @@
def makeabs(relpath):
return os.path.join(mm_cfg.PREFIX, relpath)
+def make_varabs(relpath):
+ return os.path.join(mm_cfg.VAR_PREFIX, relpath)
+
def dolist(listname):
errors = 0
@@ -83,11 +86,12 @@
print 'WARNING: could not acquire lock for list:', listname
return 1
- mbox_dir = makeabs('archives/private/%s.mbox' % (listname))
- mbox_file = makeabs('archives/private/%s.mbox/%s' % (listname, listname))
+ mbox_dir = make_varabs('archives/private/%s.mbox' % (listname))
+ mbox_file = make_varabs('archives/private/%s.mbox/%s' % (listname,
+ listname))
- o_pub_mbox_file = makeabs('archives/public/%s' % (listname))
- o_pri_mbox_file = makeabs('archives/private/%s' % (listname))
+ o_pub_mbox_file = make_varabs('archives/public/%s' % (listname))
+ o_pri_mbox_file = make_varabs('archives/private/%s' % (listname))
html_dir = o_pri_mbox_file
o_html_dir = makeabs('public_html/archives/%s' % (listname))
@@ -193,9 +197,9 @@
# save the new variables and
# let it create public symlinks if necessary
#
- mlist.archive_directory = makeabs('archives/private/%s' % (listname))
- mlist.private_archive_file_dir = makeabs('archives/private/%s.mbox' %
- listname)
+ mlist.archive_directory = make_varabs('archives/private/%s' % (listname))
+ mlist.private_archive_file_dir = make_varabs('archives/private/%s.mbox' %
+ listname)
mlist.Save()
#
# check to see if pre-b4 list-specific templates are around