Index: NEWS
===================================================================
RCS file: /cvsroot/mailman/mailman/NEWS,v
retrieving revision 1.25.2.13
retrieving revision 1.25.2.14
diff -u -r1.25.2.13 -r1.25.2.14
--- NEWS 3 Apr 2002 22:50:10 -0000 1.25.2.13
+++ NEWS 9 Apr 2002 20:57:40 -0000 1.25.2.14
@@ -4,6 +4,14 @@
Here is a history of user visible changes to Mailman.
+2.0.10 (09-Apr-2002)
+
+ - Closed another small race condition.
+
+ - Add the RFC-2822 recommended Message-ID: header on internally
+ generated outgoing messages. Not all MTAs add this field if
+ missing (read: Qmail).
+
2.0.9 (02-Apr-2002)
- Closed a race condition which could, under rare circumstances,
Index: Mailman/Message.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Message.py,v
retrieving revision 1.40.2.2
retrieving revision 1.40.2.3
diff -u -r1.40.2.2 -r1.40.2.3
--- Mailman/Message.py 3 Apr 2002 22:40:41 -0000 1.40.2.2
+++ Mailman/Message.py 4 Apr 2002 21:14:59 -0000 1.40.2.3
@@ -196,10 +196,14 @@
# make sure that the first line does NOT contain a colon!
Message.__init__(self, StringIO(text))
# RFC 2822 requires a Date: header, and while most MTAs add one if
- # it's missing, Qmail does not.
+ # it's missing, qmail does not.
if not self.get('date'):
self['Date'] = Utils.formatdate(localtime=1)
-
+ # RFC 2822 recommends a Message-ID: header, and while most MTAs add
+ # one if it's missing, qmail does not.
+ if not self.get('message-id'):
+ self['Message-ID'] = Utils.make_msgid(idstring='Mailman')
+
class UserNotification(OutgoingMessage):
Index: Mailman/Utils.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Utils.py,v
retrieving revision 1.104.2.5
retrieving revision 1.104.2.6
diff -u -r1.104.2.5 -r1.104.2.6
--- Mailman/Utils.py 3 Apr 2002 22:47:12 -0000 1.104.2.5
+++ Mailman/Utils.py 4 Apr 2002 21:14:23 -0000 1.104.2.6
@@ -28,6 +28,8 @@
import string
import re
import time
+import socket
+import random
from UserDict import UserDict
from types import StringType
import random
@@ -737,3 +739,28 @@
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][now[1] - 1],
now[0], now[3], now[4], now[5],
zone)
+
+
+
+def make_msgid(idstring=None):
+ """Returns a string suitable for RFC 2822 compliant Message-ID:, e.g:
+
+ <20020201195627.33539.96671@nightshade.la.mastaler.com>
+
+ Optional idstring if given is a string used to strengthen the
+ uniqueness of the Message-ID, otherwise an empty string is used.
+ """
+ timeval = time.time()
+ utcdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(timeval))
+ pid = os.getpid()
+ randint = random.randrange(100000)
+ if idstring is None:
+ idstring = ''
+ else:
+ idstring = '.' + idstring
+ try:
+ idhost = socket.getfqdn()
+ except AttributeError:
+ idhost = socket.gethostbyaddr(socket.gethostname())[0]
+ msgid = '<%s.%s.%s%s@%s>' % (utcdate, pid, randint, idstring, idhost)
+ return msgid
Index: Mailman/Version.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Version.py,v
retrieving revision 1.20.2.9
retrieving revision 1.20.2.10
diff -u -r1.20.2.9 -r1.20.2.10
--- Mailman/Version.py 2 Apr 2002 23:36:35 -0000 1.20.2.9
+++ Mailman/Version.py 9 Apr 2002 21:06:16 -0000 1.20.2.10
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Mailman version
-VERSION = "2.0.9"
+VERSION = "2.0.10"
# 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 = 9
+MICRO_REV = 10
REL_LEVEL = FINAL
# at most 15 beta releases!
REL_SERIAL = 0
Index: admin/www/MMGenerator.py
===================================================================
RCS file: /cvsroot/mailman/mailman/admin/www/MMGenerator.py,v
retrieving revision 1.2.2.2
retrieving revision 1.2.2.3
diff -u -r1.2.2.2 -r1.2.2.3
--- admin/www/MMGenerator.py 5 Jan 2001 16:23:07 -0000 1.2.2.2
+++ admin/www/MMGenerator.py 4 Apr 2002 17:51:53 -0000 1.2.2.3
@@ -5,7 +5,9 @@
http://www.wooz.org/users/barry/software/pyware.html
"""
+import time
import os
+import re
from Skeleton import Skeleton
from Sidebar import Sidebar, BLANKCELL
@@ -13,6 +15,8 @@
from HTParser import HTParser
from LinkFixer import LinkFixer
+COMMA = ','
+
sitelinks = [
@@ -49,18 +53,26 @@
self.__d = {'rootdir': rootdir}
self.__linkfixer.massage(p.sidebar, self.__d)
# tweak
- p.sidebar.append((None,
- '''
'''
- % self.__d))
+ p.sidebar.append((None, """\
+
+ |
![]() |
-+ | - | + |
-
|
-||||||||||||||||||||||||
+
| ||||||||||||||||||||||||||||||||||||||||||||||||
+© 1998,1999,2000,2001,2002 Free Software Foundation, Inc. +Verbatim copying and distribution of this entire article is permitted in +any medium, provided this notice is preserved. +Please send comments on these pages to +<webmasters@gnu.org>, other questions to <gnu@gnu.org>. + + |
+ |
![]() |
-+ | - | + |
-
|
-||||||||||||||||||||||||
+
| ||||||||||||||||||||||||||||||||||||||||||||
+© 1998,1999,2000,2001,2002 Free Software Foundation, Inc. +Verbatim copying and distribution of this entire article is permitted in +any medium, provided this notice is preserved. +Please send comments on these pages to +<webmasters@gnu.org>, other questions to <gnu@gnu.org>. + + |
Mailman is being developed on SourceForge. Please use the SourceForge bug tracker to -report any bugs; I've retired the old Jitterbug database on -python.org. If you have patches you'd like to submit, the best place +report any bugs. If you have patches you'd like to submit, the best place to do that is on the SourceForge patch manager. -
+ |
![]() |
-+ | - | + |
-
|
-||||||||||||||||||||||||
+
| ||||||||||||||||||||||||||||||||||||||||||||||||
+© 1998,1999,2000,2001,2002 Free Software Foundation, Inc. +Verbatim copying and distribution of this entire article is permitted in +any medium, provided this notice is preserved. +Please send comments on these pages to +<webmasters@gnu.org>, other questions to <gnu@gnu.org>. + + |
Mailman currently runs only on Unix-y systems, such as Linux, +
Mailman currently runs only on Unix-y systems, such as GNU/Linux, Solaris, *BSD, etc. It should work on MacOSX but not earlier versions of MacOS. It probably does not work on Windows, although it's possible you could get it running on a Cygwin system (please @@ -26,7 +25,7 @@ Before you can run Mailman, you need to make sure that Python is installed. Mailman requires at least Python 1.5.2 and is known to work with Python 1.6 -and Python 2.0. Most Linux systems come with Python pre-installed, so +and Python 2.0. Most GNU/Linux systems come with Python pre-installed, so you just need to make sure you're running an up-to-date version. You can do this by executing the following at your shell's command line: @@ -40,17 +39,13 @@ -
You will also need an SMTP server (a.k.a. mail transport agent or -MTA) for mail delivery and reception. -Sendmail is the oldest and most -widely-used MTA, and comes pre-installed on most Unix systems, however it -is not the recommended MTA to use with Mailman. It works, but you may -get better results from one of the newer MTAs. Good results are -reported on the Mailman mailing lists from -people using Postfix, -Exim, and -Qmail. Most Mailman development -is done with Postfix. +
You will also need a mail server (a.k.a. SMTP server, mail +transport agent or MTA) for mail delivery and reception. +Mailman is MTA-agnostic, meaning it should work with just about any +mail server. Among the servers used by the Mailman community include +Postfix, +Exim, +Sendmail, and Qmail.
You will need a web server. Apache is certainly the most @@ -65,9 +60,9 @@
Version -(2.0.9, +(2.0.10, released on -Apr 3 2002) +Apr 17 2002) is the current GNU release. It is available from the following mirror sites:
+ |
![]() |
-+ | - | + |
-
|
-||||||||||||||||||||||||
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+© 1998,1999,2000,2001,2002 Free Software Foundation, Inc. +Verbatim copying and distribution of this entire article is permitted in +any medium, provided this notice is preserved. +Please send comments on these pages to +<webmasters@gnu.org>, other questions to <gnu@gnu.org>. + + |
Mailman currently runs only on Unix-y systems, such as Linux, +
Mailman currently runs only on Unix-y systems, such as GNU/Linux, Solaris, *BSD, etc. It should work on MacOSX but not earlier versions of MacOS. It probably does not work on Windows, although it's possible you could get it running on a Cygwin system (please @@ -208,7 +211,7 @@ Before you can run Mailman, you need to make sure that Python is installed. Mailman requires at least Python 1.5.2 and is known to work with Python 1.6 -and Python 2.0. Most Linux systems come with Python pre-installed, so +and Python 2.0. Most GNU/Linux systems come with Python pre-installed, so you just need to make sure you're running an up-to-date version. You can do this by executing the following at your shell's command line: @@ -222,17 +225,13 @@ -
You will also need an SMTP server (a.k.a. mail transport agent or -MTA) for mail delivery and reception. -Sendmail is the oldest and most -widely-used MTA, and comes pre-installed on most Unix systems, however it -is not the recommended MTA to use with Mailman. It works, but you may -get better results from one of the newer MTAs. Good results are -reported on the Mailman mailing lists from -people using Postfix, -Exim, and -Qmail. Most Mailman development -is done with Postfix. +
You will also need a mail server (a.k.a. SMTP server, mail +transport agent or MTA) for mail delivery and reception. +Mailman is MTA-agnostic, meaning it should work with just about any +mail server. Among the servers used by the Mailman community include +Postfix, +Exim, +Sendmail, and Qmail.
You will need a web server. Apache is certainly the most @@ -247,9 +246,9 @@
Version -(2.0.9, +(2.0.10, released on -Apr 3 2002) +Apr 17 2002) is the current GNU release. It is available from the following mirror sites: