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,
-                          '''s/images/PythonPoweredSmall.png) 
 '''
-                          % self.__d))
+        p.sidebar.append((None, """\
+
s/images/PythonPoweredSmall.png) 
 | + | - | + | - | + | - -
 | ||||||||||||||||||||||||
| + 
 | ||||||||||||||||||||||||||||||||||||||||||||||||
| +© 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: