Revision: 8168
http://svn.sourceforge.net/mailman/?rev=8168&view=rev
Author: msapiro
Date: 2007-03-20 16:12:18 -0700 (Tue, 20 Mar 2007)
Log Message:
-----------
- Fixed a bug in OldStyleMemberships.addNewMember that allowed adding an address
with upper case in the domain if the local part was all lower case.
- Changed the semantics of OldStyleMemberships.changeMemberAddress os that
in the case of a straightforward address change, i.e. nodelete = 0,
delivery status and time are preserved if BYUSER or BYADMIN.
Modified Paths:
--------------
branches/Release_2_1-maint/mailman/Mailman/OldStyleMemberships.py
branches/Release_2_1-maint/mailman/NEWS
Modified: branches/Release_2_1-maint/mailman/Mailman/OldStyleMemberships.py
===================================================================
--- branches/Release_2_1-maint/mailman/Mailman/OldStyleMemberships.py
2007-03-20 06:36:28 UTC (rev 8167)
+++ branches/Release_2_1-maint/mailman/Mailman/OldStyleMemberships.py
2007-03-20 23:12:18 UTC (rev 8168)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2003 by the Free Software Foundation, Inc.
+# Copyright (C) 2001-2007 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
@@ -12,7 +12,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+# USA.
"""Old style Mailman membership adaptor.
@@ -201,7 +202,7 @@
value = 0
else:
value = member
- member = member.lower()
+ member = member.lower()
if digest:
self.__mlist.digest_members[member] = value
else:
@@ -243,6 +244,8 @@
password = self.__mlist.passwords.get(memberkey,
Utils.MakeRandomPassword())
lang = self.getMemberLanguage(memberkey)
+ delivery = self.__mlist.delivery_status.get(member.lower(),
+ (MemberAdaptor.ENABLED,0))
# First, possibly delete the old member
if not nodelete:
self.removeMember(memberkey)
@@ -252,6 +255,11 @@
# Set the entire options bitfield
if flags:
self.__mlist.user_options[newaddress.lower()] = flags
+ # If this is a straightforward address change, i.e. nodelete = 0,
+ # preserve the delivery status and time if BYUSER or BYADMIN
+ if delivery[0] in (MemberAdaptor.BYUSER, MemberAdaptor.BYADMIN)\
+ and not nodelete:
+ self.__mlist.delivery_status[newaddress.lower()] = delivery
def setMemberPassword(self, memberkey, password):
assert self.__mlist.Locked()
Modified: branches/Release_2_1-maint/mailman/NEWS
===================================================================
--- branches/Release_2_1-maint/mailman/NEWS 2007-03-20 06:36:28 UTC (rev
8167)
+++ branches/Release_2_1-maint/mailman/NEWS 2007-03-20 23:12:18 UTC (rev
8168)
@@ -14,6 +14,10 @@
list's admin or moderator password and to accept the password if the
roster is public.
+ - Changed OldStyleMemberships.py to preserve delivery statuses BYADMIN
+ and BYUSER on a straight change of address. Also fixed a bug that
+ could result in a member key with uppercase in the domain.
+
2.1.9 (12-Sep-2006)
Security
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org