diff options
Diffstat (limited to 'src')
275 files changed, 309 insertions, 890 deletions
diff --git a/src/mailman/Archiver/Archiver.py b/src/mailman/Archiver/Archiver.py index 5150633ac..1e2af535f 100644 --- a/src/mailman/Archiver/Archiver.py +++ b/src/mailman/Archiver/Archiver.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/Archiver/HyperArch.py b/src/mailman/Archiver/HyperArch.py index 85e9b0e7c..cfb7813bf 100644 --- a/src/mailman/Archiver/HyperArch.py +++ b/src/mailman/Archiver/HyperArch.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/Archiver/HyperDatabase.py b/src/mailman/Archiver/HyperDatabase.py index 345979123..fecb544e8 100644 --- a/src/mailman/Archiver/HyperDatabase.py +++ b/src/mailman/Archiver/HyperDatabase.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/Archiver/__init__.py b/src/mailman/Archiver/__init__.py index 04bfb4262..be0c61ce0 100644 --- a/src/mailman/Archiver/__init__.py +++ b/src/mailman/Archiver/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/__init__.py b/src/mailman/__init__.py index 2c34e0971..943d53753 100644 --- a/src/mailman/__init__.py +++ b/src/mailman/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/bounces.py b/src/mailman/app/bounces.py index bd8b465ba..a9bed97ac 100644 --- a/src/mailman/app/bounces.py +++ b/src/mailman/app/bounces.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/commands.py b/src/mailman/app/commands.py index 0a9513927..70f0a8fa6 100644 --- a/src/mailman/app/commands.py +++ b/src/mailman/app/commands.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/domain.py b/src/mailman/app/domain.py index 1674052da..454997708 100644 --- a/src/mailman/app/domain.py +++ b/src/mailman/app/domain.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/events.py b/src/mailman/app/events.py index 2145223f6..79376cca1 100644 --- a/src/mailman/app/events.py +++ b/src/mailman/app/events.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/finder.py b/src/mailman/app/finder.py index bd1305c21..679da483a 100644 --- a/src/mailman/app/finder.py +++ b/src/mailman/app/finder.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/inject.py b/src/mailman/app/inject.py index edf4e0807..8bf907af0 100644 --- a/src/mailman/app/inject.py +++ b/src/mailman/app/inject.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/lifecycle.py b/src/mailman/app/lifecycle.py index a96bf96c1..6826d68f1 100644 --- a/src/mailman/app/lifecycle.py +++ b/src/mailman/app/lifecycle.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/membership.py b/src/mailman/app/membership.py index 88c0751f0..1d075afcd 100644 --- a/src/mailman/app/membership.py +++ b/src/mailman/app/membership.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # @@ -27,9 +27,11 @@ __all__ = [ from email.utils import formataddr +from flufl.password import lookup, make_secret from zope.component import getUtility from mailman.app.notifications import send_goodbye_message +from mailman.config import config from mailman.core.i18n import _ from mailman.email.message import OwnerNotification from mailman.interfaces.address import IEmailValidator @@ -38,7 +40,6 @@ from mailman.interfaces.member import ( MemberRole, MembershipIsBannedError, NotAMemberError) from mailman.interfaces.usermanager import IUserManager from mailman.utilities.i18n import make -from mailman.utilities.passwords import encrypt_password @@ -55,7 +56,7 @@ def add_member(mlist, email, realname, password, delivery_mode, language, :type email: str :param realname: The subscriber's full name. :type realname: str - :param password: The subscriber's password. + :param password: The subscriber's plain text password. :type password: str :param delivery_mode: The delivery mode the subscriber has chosen. :type delivery_mode: DeliveryMode @@ -96,7 +97,8 @@ def add_member(mlist, email, realname, password, delivery_mode, language, user.link(address) # Encrypt the password using the currently selected scheme. The # scheme is recorded in the hashed password string. - user.password = encrypt_password(password) + scheme = lookup(config.passwords.password_scheme.upper()) + user.password = make_secret(password, scheme) user.preferences.preferred_language = language member = mlist.subscribe(address, role) member.preferences.delivery_mode = delivery_mode diff --git a/src/mailman/app/moderator.py b/src/mailman/app/moderator.py index d2c6600ad..11eccd495 100644 --- a/src/mailman/app/moderator.py +++ b/src/mailman/app/moderator.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/notifications.py b/src/mailman/app/notifications.py index 72413845c..c5d50d5e3 100644 --- a/src/mailman/app/notifications.py +++ b/src/mailman/app/notifications.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/registrar.py b/src/mailman/app/registrar.py index 42111ef53..e1d804167 100644 --- a/src/mailman/app/registrar.py +++ b/src/mailman/app/registrar.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/replybot.py b/src/mailman/app/replybot.py index 97000c549..403288cdd 100644 --- a/src/mailman/app/replybot.py +++ b/src/mailman/app/replybot.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/subscriptions.py b/src/mailman/app/subscriptions.py index 9eba89d8b..668f97dbd 100644 --- a/src/mailman/app/subscriptions.py +++ b/src/mailman/app/subscriptions.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # @@ -26,6 +26,7 @@ __all__ = [ ] +from flufl.password import generate from operator import attrgetter from storm.expr import And, Or from uuid import UUID @@ -43,7 +44,6 @@ from mailman.interfaces.subscriptions import ( ISubscriptionService, MissingUserError) from mailman.interfaces.usermanager import IUserManager from mailman.model.member import Member -from mailman.utilities.passwords import make_user_friendly_password @@ -161,7 +161,7 @@ class SubscriptionService: # password to a system default. This will have to get reset since # it can't be retrieved. Note that none of these are used unless # the address is completely new to us. - password = make_user_friendly_password() + password = generate(int(config.passwords.password_length)) return add_member(mlist, subscriber, real_name, password, delivery_mode, system_preferences.preferred_language, role) diff --git a/src/mailman/app/tests/test_bounces.py b/src/mailman/app/tests/test_bounces.py index 1646e02ae..3e2571e55 100644 --- a/src/mailman/app/tests/test_bounces.py +++ b/src/mailman/app/tests/test_bounces.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/tests/test_inject.py b/src/mailman/app/tests/test_inject.py index c03167e1a..2815878ab 100644 --- a/src/mailman/app/tests/test_inject.py +++ b/src/mailman/app/tests/test_inject.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/tests/test_membership.py b/src/mailman/app/tests/test_membership.py index 8222dc56c..74e15d0e2 100644 --- a/src/mailman/app/tests/test_membership.py +++ b/src/mailman/app/tests/test_membership.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/tests/test_moderation.py b/src/mailman/app/tests/test_moderation.py index a907b40dd..2a75043d5 100644 --- a/src/mailman/app/tests/test_moderation.py +++ b/src/mailman/app/tests/test_moderation.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/app/tests/test_subscriptions.py b/src/mailman/app/tests/test_subscriptions.py index a906e0ec5..6ab386f7f 100644 --- a/src/mailman/app/tests/test_subscriptions.py +++ b/src/mailman/app/tests/test_subscriptions.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/archiving/mailarchive.py b/src/mailman/archiving/mailarchive.py index 4218c549f..29c0e22c2 100644 --- a/src/mailman/archiving/mailarchive.py +++ b/src/mailman/archiving/mailarchive.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/archiving/mhonarc.py b/src/mailman/archiving/mhonarc.py index c38c714b6..db0b12c3d 100644 --- a/src/mailman/archiving/mhonarc.py +++ b/src/mailman/archiving/mhonarc.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/archiving/pipermail.py b/src/mailman/archiving/pipermail.py index f1bcb3b01..03dcd97f4 100644 --- a/src/mailman/archiving/pipermail.py +++ b/src/mailman/archiving/pipermail.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/archiving/prototype.py b/src/mailman/archiving/prototype.py index 902b9a263..0a857fd77 100644 --- a/src/mailman/archiving/prototype.py +++ b/src/mailman/archiving/prototype.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/arch.py b/src/mailman/bin/arch.py index 1f2d6b626..64fd235aa 100644 --- a/src/mailman/bin/arch.py +++ b/src/mailman/bin/arch.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/bumpdigests.py b/src/mailman/bin/bumpdigests.py index c68f22264..6c8ad4984 100644 --- a/src/mailman/bin/bumpdigests.py +++ b/src/mailman/bin/bumpdigests.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/check_perms.py b/src/mailman/bin/check_perms.py index 47aff41d4..6e0d761d9 100644 --- a/src/mailman/bin/check_perms.py +++ b/src/mailman/bin/check_perms.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/checkdbs.py b/src/mailman/bin/checkdbs.py index 2f93ecc77..023dddbda 100644 --- a/src/mailman/bin/checkdbs.py +++ b/src/mailman/bin/checkdbs.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/cleanarch.py b/src/mailman/bin/cleanarch.py index 1bf530a0f..48b96d191 100644 --- a/src/mailman/bin/cleanarch.py +++ b/src/mailman/bin/cleanarch.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/config_list.py b/src/mailman/bin/config_list.py index 94870b6a8..d16a5ff3f 100644 --- a/src/mailman/bin/config_list.py +++ b/src/mailman/bin/config_list.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/disabled.py b/src/mailman/bin/disabled.py index 6058ec10c..4d7167417 100644 --- a/src/mailman/bin/disabled.py +++ b/src/mailman/bin/disabled.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/export.py b/src/mailman/bin/export.py index df4fa07e0..b278c4e2b 100644 --- a/src/mailman/bin/export.py +++ b/src/mailman/bin/export.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/find_member.py b/src/mailman/bin/find_member.py index 9571219f0..ab2386fa0 100644 --- a/src/mailman/bin/find_member.py +++ b/src/mailman/bin/find_member.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/gate_news.py b/src/mailman/bin/gate_news.py index 3d637bd82..f0cae40a0 100644 --- a/src/mailman/bin/gate_news.py +++ b/src/mailman/bin/gate_news.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/list_owners.py b/src/mailman/bin/list_owners.py index b5db2ec3c..3b40061ec 100644 --- a/src/mailman/bin/list_owners.py +++ b/src/mailman/bin/list_owners.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/mailman.py b/src/mailman/bin/mailman.py index 4e3a36971..14d25f2a7 100644 --- a/src/mailman/bin/mailman.py +++ b/src/mailman/bin/mailman.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/master.py b/src/mailman/bin/master.py index e31780a31..25a7dc444 100644 --- a/src/mailman/bin/master.py +++ b/src/mailman/bin/master.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/nightly_gzip.py b/src/mailman/bin/nightly_gzip.py index e8d899665..2d1c5b8a1 100644 --- a/src/mailman/bin/nightly_gzip.py +++ b/src/mailman/bin/nightly_gzip.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/onebounce.py b/src/mailman/bin/onebounce.py index 7811de104..85b84eaad 100644 --- a/src/mailman/bin/onebounce.py +++ b/src/mailman/bin/onebounce.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/runner.py b/src/mailman/bin/runner.py index 6e25979be..5bbe07f6e 100644 --- a/src/mailman/bin/runner.py +++ b/src/mailman/bin/runner.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/senddigests.py b/src/mailman/bin/senddigests.py index 5e95ffeef..5d227015e 100644 --- a/src/mailman/bin/senddigests.py +++ b/src/mailman/bin/senddigests.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/set_members.py b/src/mailman/bin/set_members.py index ef65d1b45..6ec66af06 100644 --- a/src/mailman/bin/set_members.py +++ b/src/mailman/bin/set_members.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/show_config.py b/src/mailman/bin/show_config.py index 80b957088..030f2eb66 100644 --- a/src/mailman/bin/show_config.py +++ b/src/mailman/bin/show_config.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/show_qfiles.py b/src/mailman/bin/show_qfiles.py index 982e535d4..08f5fb04e 100644 --- a/src/mailman/bin/show_qfiles.py +++ b/src/mailman/bin/show_qfiles.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/tests/test_master.py b/src/mailman/bin/tests/test_master.py index af00051a2..c27371c1e 100644 --- a/src/mailman/bin/tests/test_master.py +++ b/src/mailman/bin/tests/test_master.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/bin/update.py b/src/mailman/bin/update.py index 1b9a7094b..3beda2d97 100644 --- a/src/mailman/bin/update.py +++ b/src/mailman/bin/update.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/accept.py b/src/mailman/chains/accept.py index 589199fdc..b1e4b1cf0 100644 --- a/src/mailman/chains/accept.py +++ b/src/mailman/chains/accept.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/base.py b/src/mailman/chains/base.py index d42eced3e..8a2e87ee2 100644 --- a/src/mailman/chains/base.py +++ b/src/mailman/chains/base.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/builtin.py b/src/mailman/chains/builtin.py index 8bc2567e1..947d2509b 100644 --- a/src/mailman/chains/builtin.py +++ b/src/mailman/chains/builtin.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/discard.py b/src/mailman/chains/discard.py index 2839b9e93..0a4bfe9ac 100644 --- a/src/mailman/chains/discard.py +++ b/src/mailman/chains/discard.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/headers.py b/src/mailman/chains/headers.py index fd6edebc0..335c0a156 100644 --- a/src/mailman/chains/headers.py +++ b/src/mailman/chains/headers.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/hold.py b/src/mailman/chains/hold.py index dd7276aed..f095bc182 100644 --- a/src/mailman/chains/hold.py +++ b/src/mailman/chains/hold.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/moderation.py b/src/mailman/chains/moderation.py index fcba31f82..9f9633346 100644 --- a/src/mailman/chains/moderation.py +++ b/src/mailman/chains/moderation.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/reject.py b/src/mailman/chains/reject.py index 7501b7fac..cf1b86fb2 100644 --- a/src/mailman/chains/reject.py +++ b/src/mailman/chains/reject.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/chains/tests/test_hold.py b/src/mailman/chains/tests/test_hold.py index 292213da4..3c337a501 100644 --- a/src/mailman/chains/tests/test_hold.py +++ b/src/mailman/chains/tests/test_hold.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_aliases.py b/src/mailman/commands/cli_aliases.py index 31affc78c..7c1577c9c 100644 --- a/src/mailman/commands/cli_aliases.py +++ b/src/mailman/commands/cli_aliases.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_control.py b/src/mailman/commands/cli_control.py index b2dc1bdd0..2013d6745 100644 --- a/src/mailman/commands/cli_control.py +++ b/src/mailman/commands/cli_control.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_help.py b/src/mailman/commands/cli_help.py index 7a364c260..538d9c520 100644 --- a/src/mailman/commands/cli_help.py +++ b/src/mailman/commands/cli_help.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_import.py b/src/mailman/commands/cli_import.py index 6e56a8d8a..b703f3ffd 100644 --- a/src/mailman/commands/cli_import.py +++ b/src/mailman/commands/cli_import.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_info.py b/src/mailman/commands/cli_info.py index 4b7f2a2fb..24ccec4fb 100644 --- a/src/mailman/commands/cli_info.py +++ b/src/mailman/commands/cli_info.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_inject.py b/src/mailman/commands/cli_inject.py index a3e61e2a4..321a92c78 100644 --- a/src/mailman/commands/cli_inject.py +++ b/src/mailman/commands/cli_inject.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_lists.py b/src/mailman/commands/cli_lists.py index a2df63031..42e67e3a8 100644 --- a/src/mailman/commands/cli_lists.py +++ b/src/mailman/commands/cli_lists.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_members.py b/src/mailman/commands/cli_members.py index 96469c0f1..f37fb6ecb 100644 --- a/src/mailman/commands/cli_members.py +++ b/src/mailman/commands/cli_members.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # @@ -29,6 +29,7 @@ import sys import codecs from email.utils import formataddr, parseaddr +from flufl.password import generate from operator import attrgetter from zope.component import getUtility from zope.interface import implements @@ -40,7 +41,6 @@ from mailman.interfaces.command import ICLISubCommand from mailman.interfaces.listmanager import IListManager from mailman.interfaces.member import ( AlreadySubscribedError, DeliveryMode, DeliveryStatus) -from mailman.utilities.passwords import make_user_friendly_password @@ -198,7 +198,7 @@ class Members: real_name = real_name.decode(fp.encoding) email = email.decode(fp.encoding) # Give the user a default, user-friendly password. - password = make_user_friendly_password() + password = generate(int(config.passwords.password_length)) try: add_member(mlist, email, real_name, password, DeliveryMode.regular, diff --git a/src/mailman/commands/cli_qfile.py b/src/mailman/commands/cli_qfile.py index 1faa78cf1..5851388de 100644 --- a/src/mailman/commands/cli_qfile.py +++ b/src/mailman/commands/cli_qfile.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_status.py b/src/mailman/commands/cli_status.py index eee1ac73b..14b0d976b 100644 --- a/src/mailman/commands/cli_status.py +++ b/src/mailman/commands/cli_status.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_unshunt.py b/src/mailman/commands/cli_unshunt.py index ee8f347a6..4ce711b83 100644 --- a/src/mailman/commands/cli_unshunt.py +++ b/src/mailman/commands/cli_unshunt.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_version.py b/src/mailman/commands/cli_version.py index 084df5a79..4090b1173 100644 --- a/src/mailman/commands/cli_version.py +++ b/src/mailman/commands/cli_version.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/cli_withlist.py b/src/mailman/commands/cli_withlist.py index 1b5cab336..61e1bec7c 100644 --- a/src/mailman/commands/cli_withlist.py +++ b/src/mailman/commands/cli_withlist.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # @@ -21,6 +21,7 @@ from __future__ import absolute_import, unicode_literals __metaclass__ = type __all__ = [ + 'Shell', 'Withlist', ] @@ -212,3 +213,10 @@ mailing list. You could put the following function in a file called and run this from the command line: % bin/mailman withlist -r change mylist@example.com 'My List'""") + + + +class Shell(Withlist): + """An alias for `withlist`.""" + + name = 'shell' diff --git a/src/mailman/commands/eml_confirm.py b/src/mailman/commands/eml_confirm.py index 185e447df..97bb80f06 100644 --- a/src/mailman/commands/eml_confirm.py +++ b/src/mailman/commands/eml_confirm.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/eml_echo.py b/src/mailman/commands/eml_echo.py index 71f8b9e31..4686d0e4d 100644 --- a/src/mailman/commands/eml_echo.py +++ b/src/mailman/commands/eml_echo.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/eml_end.py b/src/mailman/commands/eml_end.py index 764a0d3f0..56fd705a2 100644 --- a/src/mailman/commands/eml_end.py +++ b/src/mailman/commands/eml_end.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/eml_membership.py b/src/mailman/commands/eml_membership.py index 9b0c21ebd..e68d501ee 100644 --- a/src/mailman/commands/eml_membership.py +++ b/src/mailman/commands/eml_membership.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/tests/test_control.py b/src/mailman/commands/tests/test_control.py index 73b7395ff..df9b24107 100644 --- a/src/mailman/commands/tests/test_control.py +++ b/src/mailman/commands/tests/test_control.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/commands/tests/test_create.py b/src/mailman/commands/tests/test_create.py index 75218de94..994e0cd0d 100644 --- a/src/mailman/commands/tests/test_create.py +++ b/src/mailman/commands/tests/test_create.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/config/__init__.py b/src/mailman/config/__init__.py index 391dcf453..b13d475ee 100644 --- a/src/mailman/config/__init__.py +++ b/src/mailman/config/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/config/config.py b/src/mailman/config/config.py index 7d54643c7..89d9e39ad 100644 --- a/src/mailman/config/config.py +++ b/src/mailman/config/config.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/config/mailman.cfg b/src/mailman/config/mailman.cfg index 8f64365e8..22c3a129b 100644 --- a/src/mailman/config/mailman.cfg +++ b/src/mailman/config/mailman.cfg @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/config/schema.cfg b/src/mailman/config/schema.cfg index 8f0c863fc..c94a3828b 100644 --- a/src/mailman/config/schema.cfg +++ b/src/mailman/config/schema.cfg @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # @@ -149,18 +149,6 @@ password_scheme: ssha # When Mailman generates them, this is the default length of passwords. password_length: 8 -# Specify the type of passwords to use, when Mailman generates the passwords -# itself, as would be the case for membership requests where the user did not -# fill in a password, or during list creation, when auto-generation of admin -# passwords was selected. -# -# Set this value to 'yes' for classic Mailman user-friendly(er) passwords. -# These generate semi-pronounceable passwords which are easier to remember. -# Set this value to 'no' to use more cryptographically secure, but harder to -# remember, passwords -- if your operating system and Python version support -# the necessary feature (specifically that /dev/urandom be available). -user_friendly_passwords: yes - [runner.master] # Define which runners, and how many of them, to start. diff --git a/src/mailman/core/chains.py b/src/mailman/core/chains.py index 31652a684..1dbb8429b 100644 --- a/src/mailman/core/chains.py +++ b/src/mailman/core/chains.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/constants.py b/src/mailman/core/constants.py index a504b8498..02d46a088 100644 --- a/src/mailman/core/constants.py +++ b/src/mailman/core/constants.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/errors.py b/src/mailman/core/errors.py index 8b30f2700..ea1c78967 100644 --- a/src/mailman/core/errors.py +++ b/src/mailman/core/errors.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/i18n.py b/src/mailman/core/i18n.py index 4c898be2a..2d7c382c7 100644 --- a/src/mailman/core/i18n.py +++ b/src/mailman/core/i18n.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/initialize.py b/src/mailman/core/initialize.py index bf0f8b542..8339eb825 100644 --- a/src/mailman/core/initialize.py +++ b/src/mailman/core/initialize.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/logging.py b/src/mailman/core/logging.py index fcd20b787..af04b58d1 100644 --- a/src/mailman/core/logging.py +++ b/src/mailman/core/logging.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/pipelines.py b/src/mailman/core/pipelines.py index 7efc8e329..6e439af6f 100644 --- a/src/mailman/core/pipelines.py +++ b/src/mailman/core/pipelines.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/rules.py b/src/mailman/core/rules.py index 95de29190..6aac0a64b 100644 --- a/src/mailman/core/rules.py +++ b/src/mailman/core/rules.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/runner.py b/src/mailman/core/runner.py index c24563e68..30189600d 100644 --- a/src/mailman/core/runner.py +++ b/src/mailman/core/runner.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/switchboard.py b/src/mailman/core/switchboard.py index 8b971ad33..ba8b2ec3f 100644 --- a/src/mailman/core/switchboard.py +++ b/src/mailman/core/switchboard.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/core/system.py b/src/mailman/core/system.py index 34518cea5..ce66761a7 100644 --- a/src/mailman/core/system.py +++ b/src/mailman/core/system.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/database/base.py b/src/mailman/database/base.py index bf5afd5d4..e28ca1893 100644 --- a/src/mailman/database/base.py +++ b/src/mailman/database/base.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/database/model.py b/src/mailman/database/model.py index eec88936f..9f6bf9845 100644 --- a/src/mailman/database/model.py +++ b/src/mailman/database/model.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/database/postgresql.py b/src/mailman/database/postgresql.py index 4e40558a4..9ad8f74b5 100644 --- a/src/mailman/database/postgresql.py +++ b/src/mailman/database/postgresql.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/database/sqlite.py b/src/mailman/database/sqlite.py index a68dc1eea..f48ea19c7 100644 --- a/src/mailman/database/sqlite.py +++ b/src/mailman/database/sqlite.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/database/transaction.py b/src/mailman/database/transaction.py index f0e9e5f9f..47e58d3e2 100644 --- a/src/mailman/database/transaction.py +++ b/src/mailman/database/transaction.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/database/types.py b/src/mailman/database/types.py index 21333214a..99e9870e8 100644 --- a/src/mailman/database/types.py +++ b/src/mailman/database/types.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/docs/NEWS.rst b/src/mailman/docs/NEWS.rst index ae9f502ec..c1553fd66 100644 --- a/src/mailman/docs/NEWS.rst +++ b/src/mailman/docs/NEWS.rst @@ -21,6 +21,10 @@ Architecture * Dynamically calculate the `List-Id` header instead of storing it in the database. This means it cannot be changed. +Commands +-------- + * `bin/mailman shell` is an alias for `withlist`. + Bug fixes --------- * Fixed KeyError in retry runner, contributed by Stephen A. Goss. diff --git a/src/mailman/docs/__init__.py b/src/mailman/docs/__init__.py index 2679603ad..092fc8238 100644 --- a/src/mailman/docs/__init__.py +++ b/src/mailman/docs/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/email/message.py b/src/mailman/email/message.py index 55b439530..d7bf81055 100644 --- a/src/mailman/email/message.py +++ b/src/mailman/email/message.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/email/validate.py b/src/mailman/email/validate.py index e21bb1de5..d0df7592f 100644 --- a/src/mailman/email/validate.py +++ b/src/mailman/email/validate.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interact.py b/src/mailman/interact.py index 1fb01946f..3e7715c00 100644 --- a/src/mailman/interact.py +++ b/src/mailman/interact.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/action.py b/src/mailman/interfaces/action.py index ce8983a19..c7c79f7d8 100644 --- a/src/mailman/interfaces/action.py +++ b/src/mailman/interfaces/action.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/address.py b/src/mailman/interfaces/address.py index 2f6d05bba..c26fb92c9 100644 --- a/src/mailman/interfaces/address.py +++ b/src/mailman/interfaces/address.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/archiver.py b/src/mailman/interfaces/archiver.py index 0c01b4a1b..f24e44183 100644 --- a/src/mailman/interfaces/archiver.py +++ b/src/mailman/interfaces/archiver.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/autorespond.py b/src/mailman/interfaces/autorespond.py index 584e76cb7..66a67a3ba 100644 --- a/src/mailman/interfaces/autorespond.py +++ b/src/mailman/interfaces/autorespond.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/bans.py b/src/mailman/interfaces/bans.py index d14109cc1..233a374b1 100644 --- a/src/mailman/interfaces/bans.py +++ b/src/mailman/interfaces/bans.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/bounce.py b/src/mailman/interfaces/bounce.py index f899a94a3..939d75f3e 100644 --- a/src/mailman/interfaces/bounce.py +++ b/src/mailman/interfaces/bounce.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/chain.py b/src/mailman/interfaces/chain.py index df2fddfbc..2dd3a8d7d 100644 --- a/src/mailman/interfaces/chain.py +++ b/src/mailman/interfaces/chain.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/command.py b/src/mailman/interfaces/command.py index ade69c9af..f4173792a 100644 --- a/src/mailman/interfaces/command.py +++ b/src/mailman/interfaces/command.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/database.py b/src/mailman/interfaces/database.py index 7f04be5de..e628354b1 100644 --- a/src/mailman/interfaces/database.py +++ b/src/mailman/interfaces/database.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/digests.py b/src/mailman/interfaces/digests.py index e342159c7..e45f04722 100644 --- a/src/mailman/interfaces/digests.py +++ b/src/mailman/interfaces/digests.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/domain.py b/src/mailman/interfaces/domain.py index fef32cf96..4c630f251 100644 --- a/src/mailman/interfaces/domain.py +++ b/src/mailman/interfaces/domain.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/errors.py b/src/mailman/interfaces/errors.py index 46e4c55b0..9f8610932 100644 --- a/src/mailman/interfaces/errors.py +++ b/src/mailman/interfaces/errors.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/handler.py b/src/mailman/interfaces/handler.py index dab919fce..f9a075b8c 100644 --- a/src/mailman/interfaces/handler.py +++ b/src/mailman/interfaces/handler.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/languages.py b/src/mailman/interfaces/languages.py index 844c72d54..e44534d72 100644 --- a/src/mailman/interfaces/languages.py +++ b/src/mailman/interfaces/languages.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/listmanager.py b/src/mailman/interfaces/listmanager.py index c1b7721a9..2f00b3e91 100644 --- a/src/mailman/interfaces/listmanager.py +++ b/src/mailman/interfaces/listmanager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/mailinglist.py b/src/mailman/interfaces/mailinglist.py index d96e844bf..69f50cf42 100644 --- a/src/mailman/interfaces/mailinglist.py +++ b/src/mailman/interfaces/mailinglist.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/member.py b/src/mailman/interfaces/member.py index 5073b3059..52bacc72d 100644 --- a/src/mailman/interfaces/member.py +++ b/src/mailman/interfaces/member.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/messages.py b/src/mailman/interfaces/messages.py index d364e9e60..08f5530e7 100644 --- a/src/mailman/interfaces/messages.py +++ b/src/mailman/interfaces/messages.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/mime.py b/src/mailman/interfaces/mime.py index ce99b74ee..e3c115f02 100644 --- a/src/mailman/interfaces/mime.py +++ b/src/mailman/interfaces/mime.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/mlistrequest.py b/src/mailman/interfaces/mlistrequest.py index 5e928a640..b35457c79 100644 --- a/src/mailman/interfaces/mlistrequest.py +++ b/src/mailman/interfaces/mlistrequest.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/mta.py b/src/mailman/interfaces/mta.py index 0e6fd0938..e1567f377 100644 --- a/src/mailman/interfaces/mta.py +++ b/src/mailman/interfaces/mta.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/nntp.py b/src/mailman/interfaces/nntp.py index 8bd0282f2..099e14a07 100644 --- a/src/mailman/interfaces/nntp.py +++ b/src/mailman/interfaces/nntp.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/pending.py b/src/mailman/interfaces/pending.py index 1c5b737f8..483babf4e 100644 --- a/src/mailman/interfaces/pending.py +++ b/src/mailman/interfaces/pending.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/permissions.py b/src/mailman/interfaces/permissions.py index 75a1fde04..afbad7ec4 100644 --- a/src/mailman/interfaces/permissions.py +++ b/src/mailman/interfaces/permissions.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/pipeline.py b/src/mailman/interfaces/pipeline.py index 1bdb6a836..f7cf6baf1 100644 --- a/src/mailman/interfaces/pipeline.py +++ b/src/mailman/interfaces/pipeline.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/preferences.py b/src/mailman/interfaces/preferences.py index bbf767d9f..a1382ab0b 100644 --- a/src/mailman/interfaces/preferences.py +++ b/src/mailman/interfaces/preferences.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/registrar.py b/src/mailman/interfaces/registrar.py index 6deacfea8..846ad2014 100644 --- a/src/mailman/interfaces/registrar.py +++ b/src/mailman/interfaces/registrar.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/requests.py b/src/mailman/interfaces/requests.py index 226e71c2c..55fb6395c 100644 --- a/src/mailman/interfaces/requests.py +++ b/src/mailman/interfaces/requests.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/roster.py b/src/mailman/interfaces/roster.py index 880087e77..4ec3c611c 100644 --- a/src/mailman/interfaces/roster.py +++ b/src/mailman/interfaces/roster.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/rules.py b/src/mailman/interfaces/rules.py index a41870584..bfb845341 100644 --- a/src/mailman/interfaces/rules.py +++ b/src/mailman/interfaces/rules.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/runner.py b/src/mailman/interfaces/runner.py index 1761f9426..4611fa3a7 100644 --- a/src/mailman/interfaces/runner.py +++ b/src/mailman/interfaces/runner.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/styles.py b/src/mailman/interfaces/styles.py index b9088e7dd..8dfd52145 100644 --- a/src/mailman/interfaces/styles.py +++ b/src/mailman/interfaces/styles.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/subscriptions.py b/src/mailman/interfaces/subscriptions.py index 006249922..584ca4132 100644 --- a/src/mailman/interfaces/subscriptions.py +++ b/src/mailman/interfaces/subscriptions.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/switchboard.py b/src/mailman/interfaces/switchboard.py index a0c6f784e..78ab63fad 100644 --- a/src/mailman/interfaces/switchboard.py +++ b/src/mailman/interfaces/switchboard.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/system.py b/src/mailman/interfaces/system.py index f1a28ea84..59d56f3fe 100644 --- a/src/mailman/interfaces/system.py +++ b/src/mailman/interfaces/system.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/user.py b/src/mailman/interfaces/user.py index 16dc1b0ea..ad1ac9282 100644 --- a/src/mailman/interfaces/user.py +++ b/src/mailman/interfaces/user.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/interfaces/usermanager.py b/src/mailman/interfaces/usermanager.py index c6486dfaf..b5e5d6551 100644 --- a/src/mailman/interfaces/usermanager.py +++ b/src/mailman/interfaces/usermanager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/languages/language.py b/src/mailman/languages/language.py index f27780be3..04f9c6639 100644 --- a/src/mailman/languages/language.py +++ b/src/mailman/languages/language.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/languages/manager.py b/src/mailman/languages/manager.py index e5f63d89b..1e3cc1e77 100644 --- a/src/mailman/languages/manager.py +++ b/src/mailman/languages/manager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/address.py b/src/mailman/model/address.py index 0ba0f47d5..1a891a7c7 100644 --- a/src/mailman/model/address.py +++ b/src/mailman/model/address.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/autorespond.py b/src/mailman/model/autorespond.py index 8fb2ca937..7b42205b4 100644 --- a/src/mailman/model/autorespond.py +++ b/src/mailman/model/autorespond.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/bans.py b/src/mailman/model/bans.py index 95711cfa9..9dc0c51ba 100644 --- a/src/mailman/model/bans.py +++ b/src/mailman/model/bans.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/bounce.py b/src/mailman/model/bounce.py index eaeaf33bf..8c55e3d16 100644 --- a/src/mailman/model/bounce.py +++ b/src/mailman/model/bounce.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/digests.py b/src/mailman/model/digests.py index d24b946ed..d7805ebf6 100644 --- a/src/mailman/model/digests.py +++ b/src/mailman/model/digests.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/docs/requests.rst b/src/mailman/model/docs/requests.rst index e01544490..1bc66c40a 100644 --- a/src/mailman/model/docs/requests.rst +++ b/src/mailman/model/docs/requests.rst @@ -544,7 +544,7 @@ mailing list. >>> mlist.send_welcome_msg = True >>> id_4 = moderator.hold_subscription(mlist, ... 'fperson@example.org', 'Frank Person', - ... '{NONE}abcxyz', DeliveryMode.regular, 'en') + ... 'abcxyz', DeliveryMode.regular, 'en') A message will be sent to the moderators telling them about the held subscription and the fact that they may need to approve it. @@ -695,7 +695,7 @@ Frank Person is now a member of the mailing list. >>> print member.user.real_name Frank Person >>> print member.user.password - {NONE}abcxyz + {CLEARTEXT}abcxyz Holding unsubscription requests diff --git a/src/mailman/model/domain.py b/src/mailman/model/domain.py index 78918e7a3..49c935740 100644 --- a/src/mailman/model/domain.py +++ b/src/mailman/model/domain.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/language.py b/src/mailman/model/language.py index 57f5497f5..da86b326c 100644 --- a/src/mailman/model/language.py +++ b/src/mailman/model/language.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/listmanager.py b/src/mailman/model/listmanager.py index 16185e670..91d653982 100644 --- a/src/mailman/model/listmanager.py +++ b/src/mailman/model/listmanager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/mailinglist.py b/src/mailman/model/mailinglist.py index 7e05e94ef..d506c2c00 100644 --- a/src/mailman/model/mailinglist.py +++ b/src/mailman/model/mailinglist.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/member.py b/src/mailman/model/member.py index f8168fc92..ae83fb388 100644 --- a/src/mailman/model/member.py +++ b/src/mailman/model/member.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/message.py b/src/mailman/model/message.py index c1e44d384..3345c64c9 100644 --- a/src/mailman/model/message.py +++ b/src/mailman/model/message.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/messagestore.py b/src/mailman/model/messagestore.py index 0301b2188..59490993b 100644 --- a/src/mailman/model/messagestore.py +++ b/src/mailman/model/messagestore.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/mime.py b/src/mailman/model/mime.py index fee8a6184..c611aab89 100644 --- a/src/mailman/model/mime.py +++ b/src/mailman/model/mime.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/pending.py b/src/mailman/model/pending.py index b411e6e88..72746295b 100644 --- a/src/mailman/model/pending.py +++ b/src/mailman/model/pending.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/preferences.py b/src/mailman/model/preferences.py index ca96e137b..234c7399e 100644 --- a/src/mailman/model/preferences.py +++ b/src/mailman/model/preferences.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/requests.py b/src/mailman/model/requests.py index 20ded6534..bd7fe3796 100644 --- a/src/mailman/model/requests.py +++ b/src/mailman/model/requests.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/roster.py b/src/mailman/model/roster.py index c36af108f..35ddcf438 100644 --- a/src/mailman/model/roster.py +++ b/src/mailman/model/roster.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/tests/test_bounce.py b/src/mailman/model/tests/test_bounce.py index da203e077..da2b661ea 100644 --- a/src/mailman/model/tests/test_bounce.py +++ b/src/mailman/model/tests/test_bounce.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/tests/test_domain.py b/src/mailman/model/tests/test_domain.py index c7c4ba999..9f4c72220 100644 --- a/src/mailman/model/tests/test_domain.py +++ b/src/mailman/model/tests/test_domain.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/tests/test_listmanager.py b/src/mailman/model/tests/test_listmanager.py index 5e4a38438..2022ce738 100644 --- a/src/mailman/model/tests/test_listmanager.py +++ b/src/mailman/model/tests/test_listmanager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/tests/test_member.py b/src/mailman/model/tests/test_member.py index c45bcf396..f1c9e9f65 100644 --- a/src/mailman/model/tests/test_member.py +++ b/src/mailman/model/tests/test_member.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/tests/test_uid.py b/src/mailman/model/tests/test_uid.py index bd4faf94f..9f5d31736 100644 --- a/src/mailman/model/tests/test_uid.py +++ b/src/mailman/model/tests/test_uid.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/tests/test_user.py b/src/mailman/model/tests/test_user.py index caaf9faa3..c4c07ed22 100644 --- a/src/mailman/model/tests/test_user.py +++ b/src/mailman/model/tests/test_user.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/uid.py b/src/mailman/model/uid.py index df99f497a..c3564aa40 100644 --- a/src/mailman/model/uid.py +++ b/src/mailman/model/uid.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/user.py b/src/mailman/model/user.py index 53c96c3a2..d1f59f957 100644 --- a/src/mailman/model/user.py +++ b/src/mailman/model/user.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/usermanager.py b/src/mailman/model/usermanager.py index fc1830b70..2996b6fa4 100644 --- a/src/mailman/model/usermanager.py +++ b/src/mailman/model/usermanager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/model/version.py b/src/mailman/model/version.py index 418018ac3..8d198a670 100644 --- a/src/mailman/model/version.py +++ b/src/mailman/model/version.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/aliases.py b/src/mailman/mta/aliases.py index aad8e8c1f..573160d3c 100644 --- a/src/mailman/mta/aliases.py +++ b/src/mailman/mta/aliases.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/base.py b/src/mailman/mta/base.py index e90fbcf8f..375d79fb8 100644 --- a/src/mailman/mta/base.py +++ b/src/mailman/mta/base.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/bulk.py b/src/mailman/mta/bulk.py index 9c8380277..8e9f896fd 100644 --- a/src/mailman/mta/bulk.py +++ b/src/mailman/mta/bulk.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/connection.py b/src/mailman/mta/connection.py index 369e43570..5c3c51f8a 100644 --- a/src/mailman/mta/connection.py +++ b/src/mailman/mta/connection.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/decorating.py b/src/mailman/mta/decorating.py index d8fa6be86..eca7c0b34 100644 --- a/src/mailman/mta/decorating.py +++ b/src/mailman/mta/decorating.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/deliver.py b/src/mailman/mta/deliver.py index 1d7f727ae..a3e085486 100644 --- a/src/mailman/mta/deliver.py +++ b/src/mailman/mta/deliver.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/null.py b/src/mailman/mta/null.py index c69fb3207..6b2f76a1c 100644 --- a/src/mailman/mta/null.py +++ b/src/mailman/mta/null.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/personalized.py b/src/mailman/mta/personalized.py index bb45760e6..a0b0d4b76 100644 --- a/src/mailman/mta/personalized.py +++ b/src/mailman/mta/personalized.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/postfix.py b/src/mailman/mta/postfix.py index 004e4c214..2501dc0de 100644 --- a/src/mailman/mta/postfix.py +++ b/src/mailman/mta/postfix.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/tests/test_aliases.py b/src/mailman/mta/tests/test_aliases.py index c2f8a2087..4c58cbba5 100644 --- a/src/mailman/mta/tests/test_aliases.py +++ b/src/mailman/mta/tests/test_aliases.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/mta/verp.py b/src/mailman/mta/verp.py index 4252f74d2..ee641cb42 100644 --- a/src/mailman/mta/verp.py +++ b/src/mailman/mta/verp.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/options.py b/src/mailman/options.py index 3d1119ff6..977d0f0e8 100644 --- a/src/mailman/options.py +++ b/src/mailman/options.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/acknowledge.py b/src/mailman/pipeline/acknowledge.py index cf52eb73f..8a0088ce4 100644 --- a/src/mailman/pipeline/acknowledge.py +++ b/src/mailman/pipeline/acknowledge.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/after_delivery.py b/src/mailman/pipeline/after_delivery.py index 5b447e919..46007092b 100644 --- a/src/mailman/pipeline/after_delivery.py +++ b/src/mailman/pipeline/after_delivery.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/avoid_duplicates.py b/src/mailman/pipeline/avoid_duplicates.py index ff30e2770..ffbc80c85 100644 --- a/src/mailman/pipeline/avoid_duplicates.py +++ b/src/mailman/pipeline/avoid_duplicates.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/calculate_recipients.py b/src/mailman/pipeline/calculate_recipients.py index fb866b042..6118a4561 100644 --- a/src/mailman/pipeline/calculate_recipients.py +++ b/src/mailman/pipeline/calculate_recipients.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/cleanse.py b/src/mailman/pipeline/cleanse.py index 7bf8512ac..90f2a892a 100644 --- a/src/mailman/pipeline/cleanse.py +++ b/src/mailman/pipeline/cleanse.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/cleanse_dkim.py b/src/mailman/pipeline/cleanse_dkim.py index 5a64d7fb7..d2cd32636 100644 --- a/src/mailman/pipeline/cleanse_dkim.py +++ b/src/mailman/pipeline/cleanse_dkim.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/cook_headers.py b/src/mailman/pipeline/cook_headers.py index 0afa52b0c..2d117429c 100644 --- a/src/mailman/pipeline/cook_headers.py +++ b/src/mailman/pipeline/cook_headers.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/decorate.py b/src/mailman/pipeline/decorate.py index ea62591d6..e7d011f84 100644 --- a/src/mailman/pipeline/decorate.py +++ b/src/mailman/pipeline/decorate.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/file_recipients.py b/src/mailman/pipeline/file_recipients.py index 21b7a5929..d087ff2bb 100644 --- a/src/mailman/pipeline/file_recipients.py +++ b/src/mailman/pipeline/file_recipients.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/mime_delete.py b/src/mailman/pipeline/mime_delete.py index 381514795..402d13714 100644 --- a/src/mailman/pipeline/mime_delete.py +++ b/src/mailman/pipeline/mime_delete.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/owner_recipients.py b/src/mailman/pipeline/owner_recipients.py index e0b72944f..9e4bbf174 100644 --- a/src/mailman/pipeline/owner_recipients.py +++ b/src/mailman/pipeline/owner_recipients.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/replybot.py b/src/mailman/pipeline/replybot.py index 30980b008..fc58792e8 100644 --- a/src/mailman/pipeline/replybot.py +++ b/src/mailman/pipeline/replybot.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/rfc_2369.py b/src/mailman/pipeline/rfc_2369.py index d29edcdbc..aa99b5c14 100644 --- a/src/mailman/pipeline/rfc_2369.py +++ b/src/mailman/pipeline/rfc_2369.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/scrubber.py b/src/mailman/pipeline/scrubber.py index f25c2978c..754d81f18 100644 --- a/src/mailman/pipeline/scrubber.py +++ b/src/mailman/pipeline/scrubber.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/tagger.py b/src/mailman/pipeline/tagger.py index eb6a6265a..49e004a12 100644 --- a/src/mailman/pipeline/tagger.py +++ b/src/mailman/pipeline/tagger.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/to_archive.py b/src/mailman/pipeline/to_archive.py index de6144a62..fd5259a14 100644 --- a/src/mailman/pipeline/to_archive.py +++ b/src/mailman/pipeline/to_archive.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/to_digest.py b/src/mailman/pipeline/to_digest.py index 69ff97b81..698f16e1e 100644 --- a/src/mailman/pipeline/to_digest.py +++ b/src/mailman/pipeline/to_digest.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/to_outgoing.py b/src/mailman/pipeline/to_outgoing.py index 362c49458..971f87757 100644 --- a/src/mailman/pipeline/to_outgoing.py +++ b/src/mailman/pipeline/to_outgoing.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/pipeline/to_usenet.py b/src/mailman/pipeline/to_usenet.py index b5e706abe..26a383c64 100644 --- a/src/mailman/pipeline/to_usenet.py +++ b/src/mailman/pipeline/to_usenet.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/addresses.py b/src/mailman/rest/addresses.py index d0b0fa1c9..8872f6ca8 100644 --- a/src/mailman/rest/addresses.py +++ b/src/mailman/rest/addresses.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/configuration.py b/src/mailman/rest/configuration.py index 95b8a93f0..4bff37d83 100644 --- a/src/mailman/rest/configuration.py +++ b/src/mailman/rest/configuration.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/docs/__init__.py b/src/mailman/rest/docs/__init__.py index 7688d7c1b..86816216c 100644 --- a/src/mailman/rest/docs/__init__.py +++ b/src/mailman/rest/docs/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/docs/users.rst b/src/mailman/rest/docs/users.rst index 43df35b94..145b069d9 100644 --- a/src/mailman/rest/docs/users.rst +++ b/src/mailman/rest/docs/users.rst @@ -66,7 +66,7 @@ Creating users via the API ========================== New users can be created through the REST API. To do so requires the initial -email address for the user, and optionally the user's full name and password. +email address for the user, a password, and optionally the user's full name. :: >>> transaction.abort() diff --git a/src/mailman/rest/domains.py b/src/mailman/rest/domains.py index da353ca58..30b1077b2 100644 --- a/src/mailman/rest/domains.py +++ b/src/mailman/rest/domains.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/helpers.py b/src/mailman/rest/helpers.py index 7257a78fa..2ce62b0fe 100644 --- a/src/mailman/rest/helpers.py +++ b/src/mailman/rest/helpers.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/lists.py b/src/mailman/rest/lists.py index 32aa607b6..9d3865d00 100644 --- a/src/mailman/rest/lists.py +++ b/src/mailman/rest/lists.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/members.py b/src/mailman/rest/members.py index bf739ed32..d55aa7dc2 100644 --- a/src/mailman/rest/members.py +++ b/src/mailman/rest/members.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/preferences.py b/src/mailman/rest/preferences.py index d231d1055..be598458e 100644 --- a/src/mailman/rest/preferences.py +++ b/src/mailman/rest/preferences.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/root.py b/src/mailman/rest/root.py index 9ba6ad20d..794d7510f 100644 --- a/src/mailman/rest/root.py +++ b/src/mailman/rest/root.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/tests/test_addresses.py b/src/mailman/rest/tests/test_addresses.py index d0ed70de2..f4e7cab62 100644 --- a/src/mailman/rest/tests/test_addresses.py +++ b/src/mailman/rest/tests/test_addresses.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/tests/test_domains.py b/src/mailman/rest/tests/test_domains.py index 0709a6544..89cc34630 100644 --- a/src/mailman/rest/tests/test_domains.py +++ b/src/mailman/rest/tests/test_domains.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/tests/test_lists.py b/src/mailman/rest/tests/test_lists.py index b34ebf916..78b793c6c 100644 --- a/src/mailman/rest/tests/test_lists.py +++ b/src/mailman/rest/tests/test_lists.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/tests/test_membership.py b/src/mailman/rest/tests/test_membership.py index a610b152a..568a56306 100644 --- a/src/mailman/rest/tests/test_membership.py +++ b/src/mailman/rest/tests/test_membership.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/tests/test_root.py b/src/mailman/rest/tests/test_root.py index a6a3c33ba..90d30bd80 100644 --- a/src/mailman/rest/tests/test_root.py +++ b/src/mailman/rest/tests/test_root.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/tests/test_users.py b/src/mailman/rest/tests/test_users.py index 2f2664b3b..3c1c40fd3 100644 --- a/src/mailman/rest/tests/test_users.py +++ b/src/mailman/rest/tests/test_users.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/users.py b/src/mailman/rest/users.py index 857d29471..0a1503930 100644 --- a/src/mailman/rest/users.py +++ b/src/mailman/rest/users.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # @@ -26,18 +26,18 @@ __all__ = [ ] +from flufl.password import lookup, make_secret, generate from restish import http, resource from uuid import UUID from zope.component import getUtility +from mailman.config import config from mailman.interfaces.address import ExistingAddressError from mailman.interfaces.usermanager import IUserManager from mailman.rest.addresses import UserAddresses from mailman.rest.helpers import CollectionMixin, etag, no_content, path_to from mailman.rest.preferences import Preferences from mailman.rest.validator import Validator -from mailman.utilities.passwords import ( - encrypt_password, make_user_friendly_password) @@ -101,8 +101,9 @@ class AllUsers(_UserBase): error.email)) if password is None: # This will have to be reset since it cannot be retrieved. - password = make_user_friendly_password() - user.password = encrypt_password(password) + password = generate(int(config.passwords.password_length)) + scheme = lookup(config.passwords.password_scheme.upper()) + user.password = make_secret(password, scheme) location = path_to('users/{0}'.format(user.user_id.int)) return http.created(location, [], None) diff --git a/src/mailman/rest/validator.py b/src/mailman/rest/validator.py index 60d8a22d6..7484aa260 100644 --- a/src/mailman/rest/validator.py +++ b/src/mailman/rest/validator.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rest/wsgiapp.py b/src/mailman/rest/wsgiapp.py index 48a749726..36e8ae5ac 100644 --- a/src/mailman/rest/wsgiapp.py +++ b/src/mailman/rest/wsgiapp.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/administrivia.py b/src/mailman/rules/administrivia.py index a390e29b0..790c16c19 100644 --- a/src/mailman/rules/administrivia.py +++ b/src/mailman/rules/administrivia.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/any.py b/src/mailman/rules/any.py index 0275c2928..fa42b64cc 100644 --- a/src/mailman/rules/any.py +++ b/src/mailman/rules/any.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/approved.py b/src/mailman/rules/approved.py index 51314cc02..8981f9030 100644 --- a/src/mailman/rules/approved.py +++ b/src/mailman/rules/approved.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/emergency.py b/src/mailman/rules/emergency.py index b7807e5e8..7b2100875 100644 --- a/src/mailman/rules/emergency.py +++ b/src/mailman/rules/emergency.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/implicit_dest.py b/src/mailman/rules/implicit_dest.py index 21f6a5265..321a1775d 100644 --- a/src/mailman/rules/implicit_dest.py +++ b/src/mailman/rules/implicit_dest.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/loop.py b/src/mailman/rules/loop.py index c8415da15..9e4aa0061 100644 --- a/src/mailman/rules/loop.py +++ b/src/mailman/rules/loop.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/max_recipients.py b/src/mailman/rules/max_recipients.py index 64034b2e5..79396c72f 100644 --- a/src/mailman/rules/max_recipients.py +++ b/src/mailman/rules/max_recipients.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/max_size.py b/src/mailman/rules/max_size.py index 833d2cadb..420d63571 100644 --- a/src/mailman/rules/max_size.py +++ b/src/mailman/rules/max_size.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/moderation.py b/src/mailman/rules/moderation.py index 5377b14a2..bcec47cba 100644 --- a/src/mailman/rules/moderation.py +++ b/src/mailman/rules/moderation.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/news_moderation.py b/src/mailman/rules/news_moderation.py index 2d752f38f..4ca9a0d8a 100644 --- a/src/mailman/rules/news_moderation.py +++ b/src/mailman/rules/news_moderation.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/no_subject.py b/src/mailman/rules/no_subject.py index 44c43e976..1a2bab1d5 100644 --- a/src/mailman/rules/no_subject.py +++ b/src/mailman/rules/no_subject.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/suspicious.py b/src/mailman/rules/suspicious.py index 675e5636d..a06a2d0aa 100644 --- a/src/mailman/rules/suspicious.py +++ b/src/mailman/rules/suspicious.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/rules/truth.py b/src/mailman/rules/truth.py index 96e5f6fa2..20c152e4d 100644 --- a/src/mailman/rules/truth.py +++ b/src/mailman/rules/truth.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/archive.py b/src/mailman/runners/archive.py index 1aa54d17c..cab776076 100644 --- a/src/mailman/runners/archive.py +++ b/src/mailman/runners/archive.py @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2000-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/bounce.py b/src/mailman/runners/bounce.py index da20f4a33..33bba73ce 100644 --- a/src/mailman/runners/bounce.py +++ b/src/mailman/runners/bounce.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # @@ -70,9 +70,18 @@ class BounceRunner(Runner): # done.s addresses = scan_message(msg) # If that still didn't return us any useful addresses, then send it on - # or discard it. + # or discard it. The addresses will come back from flufl.bounce as + # bytes/8-bit strings, but we must store them as unicodes in the + # database. Assume utf-8 encoding, but be cautious. if len(addresses) > 0: for address in addresses: + if isinstance(address, bytes): + try: + address = address.decode('utf-8') + except UnicodeError: + log.exception('Ignoring non-UTF-8 encoded ' + 'address: {0}'.format(address)) + continue self._processor.register(mlist, address, msg, context) else: log.info('Bounce message w/no discernable addresses: %s', diff --git a/src/mailman/runners/command.py b/src/mailman/runners/command.py index 1c58fdccf..33e320bff 100644 --- a/src/mailman/runners/command.py +++ b/src/mailman/runners/command.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/digest.py b/src/mailman/runners/digest.py index 9745100cb..82895be98 100644 --- a/src/mailman/runners/digest.py +++ b/src/mailman/runners/digest.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/incoming.py b/src/mailman/runners/incoming.py index 0ac907988..c306ddcf1 100644 --- a/src/mailman/runners/incoming.py +++ b/src/mailman/runners/incoming.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/lmtp.py b/src/mailman/runners/lmtp.py index 30d120d48..483b63049 100644 --- a/src/mailman/runners/lmtp.py +++ b/src/mailman/runners/lmtp.py @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2006-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/maildir.py b/src/mailman/runners/maildir.py index f9e0f41a9..2d3a49285 100644 --- a/src/mailman/runners/maildir.py +++ b/src/mailman/runners/maildir.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2002-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/news.py b/src/mailman/runners/news.py index 11d3dca7a..e3c6f060d 100644 --- a/src/mailman/runners/news.py +++ b/src/mailman/runners/news.py @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2000-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/outgoing.py b/src/mailman/runners/outgoing.py index 1ce668391..4bba2368e 100644 --- a/src/mailman/runners/outgoing.py +++ b/src/mailman/runners/outgoing.py @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2000-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/pipeline.py b/src/mailman/runners/pipeline.py index b088325b4..93e4fb98b 100644 --- a/src/mailman/runners/pipeline.py +++ b/src/mailman/runners/pipeline.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/rest.py b/src/mailman/runners/rest.py index cc55001c7..fcfc432ac 100644 --- a/src/mailman/runners/rest.py +++ b/src/mailman/runners/rest.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/retry.py b/src/mailman/runners/retry.py index d45e06bcc..b4fd6fc5d 100644 --- a/src/mailman/runners/retry.py +++ b/src/mailman/runners/retry.py @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2003-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/tests/test_bounce.py b/src/mailman/runners/tests/test_bounce.py index 90fd012f7..76eb65c1f 100644 --- a/src/mailman/runners/tests/test_bounce.py +++ b/src/mailman/runners/tests/test_bounce.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/tests/test_outgoing.py b/src/mailman/runners/tests/test_outgoing.py index 41ba1a106..3cbab101c 100644 --- a/src/mailman/runners/tests/test_outgoing.py +++ b/src/mailman/runners/tests/test_outgoing.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/tests/test_retry.py b/src/mailman/runners/tests/test_retry.py index ce075632c..3785cb28a 100644 --- a/src/mailman/runners/tests/test_retry.py +++ b/src/mailman/runners/tests/test_retry.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/runners/virgin.py b/src/mailman/runners/virgin.py index 917e6f5dc..7f0e6897f 100644 --- a/src/mailman/runners/virgin.py +++ b/src/mailman/runners/virgin.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/styles/default.py b/src/mailman/styles/default.py index 134930d0a..be5f89000 100644 --- a/src/mailman/styles/default.py +++ b/src/mailman/styles/default.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/styles/manager.py b/src/mailman/styles/manager.py index 6cff32f9e..f1d3f1dfb 100644 --- a/src/mailman/styles/manager.py +++ b/src/mailman/styles/manager.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/testing/__init__.py b/src/mailman/testing/__init__.py index 84182e1f1..a4817ae44 100644 --- a/src/mailman/testing/__init__.py +++ b/src/mailman/testing/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/testing/i18n.py b/src/mailman/testing/i18n.py index 2f856a3d5..fb4728382 100644 --- a/src/mailman/testing/i18n.py +++ b/src/mailman/testing/i18n.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/testing/layers.py b/src/mailman/testing/layers.py index f1809451d..5cee8c8d2 100644 --- a/src/mailman/testing/layers.py +++ b/src/mailman/testing/layers.py @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/testing/mailman-xx.po b/src/mailman/testing/mailman-xx.po index 61cdd1a9f..e2ad28c33 100644 --- a/src/mailman/testing/mailman-xx.po +++ b/src/mailman/testing/mailman-xx.po @@ -1,5 +1,5 @@ # Test catalog for Freedonia (xx) -# Copyright (C) 2011 Free Software Foundation, Inc.xsy +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. msgid "" msgstr "" "Project-Id-Version: mailman\n" diff --git a/src/mailman/testing/mta.py b/src/mailman/testing/mta.py index 741c0e607..4699cb882 100644 --- a/src/mailman/testing/mta.py +++ b/src/mailman/testing/mta.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/testing/testing.cfg b/src/mailman/testing/testing.cfg index b102e6f41..89d986a7c 100644 --- a/src/mailman/testing/testing.cfg +++ b/src/mailman/testing/testing.cfg @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2008-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/tests/test_configfile.py b/src/mailman/tests/test_configfile.py index d19b7b73c..ce996e061 100644 --- a/src/mailman/tests/test_configfile.py +++ b/src/mailman/tests/test_configfile.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/tests/test_documentation.py b/src/mailman/tests/test_documentation.py index c47e894c9..f459f3a92 100644 --- a/src/mailman/tests/test_documentation.py +++ b/src/mailman/tests/test_documentation.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2007-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/datetime.py b/src/mailman/utilities/datetime.py index 1ee727da4..96d14fce5 100644 --- a/src/mailman/utilities/datetime.py +++ b/src/mailman/utilities/datetime.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/email.py b/src/mailman/utilities/email.py index 324b6b134..4b1023ce1 100644 --- a/src/mailman/utilities/email.py +++ b/src/mailman/utilities/email.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/filesystem.py b/src/mailman/utilities/filesystem.py index 0234f2def..48a834f0c 100644 --- a/src/mailman/utilities/filesystem.py +++ b/src/mailman/utilities/filesystem.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/i18n.py b/src/mailman/utilities/i18n.py index 1aede4ebe..e2d14390a 100644 --- a/src/mailman/utilities/i18n.py +++ b/src/mailman/utilities/i18n.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/importer.py b/src/mailman/utilities/importer.py index 6ee538554..d31a3892f 100644 --- a/src/mailman/utilities/importer.py +++ b/src/mailman/utilities/importer.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/mailbox.py b/src/mailman/utilities/mailbox.py index 73f09b633..9419fb60d 100644 --- a/src/mailman/utilities/mailbox.py +++ b/src/mailman/utilities/mailbox.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/modules.py b/src/mailman/utilities/modules.py index b1dd42520..d8b788054 100644 --- a/src/mailman/utilities/modules.py +++ b/src/mailman/utilities/modules.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/passwords.py b/src/mailman/utilities/passwords.py deleted file mode 100644 index f595a3c55..000000000 --- a/src/mailman/utilities/passwords.py +++ /dev/null @@ -1,389 +0,0 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. -# -# This file is part of GNU Mailman. -# -# GNU Mailman is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, either version 3 of the License, or (at your option) -# any later version. -# -# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License along with -# GNU Mailman. If not, see <http://www.gnu.org/licenses/>. - -"""Password hashing and verification schemes. - -Represents passwords using RFC 2307 syntax (as best we can tell). -""" - -from __future__ import absolute_import, unicode_literals - -__metaclass__ = type -__all__ = [ - 'Schemes', - 'check_response', - 'encrypt_password', - 'make_secret', - 'make_user_friendly_password', - ] - - -import os -import re -import hmac -import random -import hashlib - -from array import array -from base64 import urlsafe_b64decode as decode -from base64 import urlsafe_b64encode as encode -from flufl.enum import Enum -from itertools import chain, product -from string import ascii_lowercase - -from mailman.config import config -from mailman.core import errors - -SALT_LENGTH = 20 # bytes -ITERATIONS = 2000 -EMPTYSTRING = '' -SCHEME_RE = r'{(?P<scheme>[^}]+?)}(?P<rest>.*)' - - - -class PasswordScheme: - """Password scheme base class.""" - TAG = b'' - - @staticmethod - def make_secret(password): - """Return the hashed password. - - :param password: The clear text password. - :type password: string - :return: The encrypted password. - :rtype: string - """ - raise NotImplementedError - - @staticmethod - def check_response(challenge, response): - """Check a response against a challenge. - - It is expected that the scheme specifier prefix is already stripped - from the response string. - - :param challenge: The challenge. - :type challenge: string - :param response: The response. - :type response: string - :return: True if the response matches the challenge. - :rtype: bool - """ - raise NotImplementedError - - - -class NoPasswordScheme(PasswordScheme): - """A password scheme without passwords.""" - - TAG = b'NONE' - - @staticmethod - def make_secret(password): - """See `PasswordScheme`.""" - return b'' - - @staticmethod - def check_response(challenge, response): - """See `PasswordScheme`.""" - return False - - - -class ClearTextPasswordScheme(PasswordScheme): - """A password scheme that stores clear text passwords.""" - - TAG = b'CLEARTEXT' - - @staticmethod - def make_secret(password): - """See `PasswordScheme`.""" - return password - - @staticmethod - def check_response(challenge, response): - """See `PasswordScheme`.""" - return challenge == response - - - -class SHAPasswordScheme(PasswordScheme): - """A password scheme that encodes the password using SHA1.""" - - TAG = b'SHA' - - @staticmethod - def make_secret(password): - """See `PasswordScheme`.""" - h = hashlib.sha1(password) - return encode(h.digest()) - - @staticmethod - def check_response(challenge, response): - """See `PasswordScheme`.""" - h = hashlib.sha1(response) - return challenge == encode(h.digest()) - - - -class SSHAPasswordScheme(PasswordScheme): - """A password scheme that encodes the password using salted SHA1.""" - - TAG = b'SSHA' - - @staticmethod - def make_secret(password): - """See `PasswordScheme`.""" - salt = os.urandom(SALT_LENGTH) - h = hashlib.sha1(password) - h.update(salt) - return encode(h.digest() + salt) - - @staticmethod - def check_response(challenge, response): - """See `PasswordScheme`.""" - # Get the salt from the challenge - challenge_bytes = decode(challenge) - digest = challenge_bytes[:20] - salt = challenge_bytes[20:] - h = hashlib.sha1(response) - h.update(salt) - return digest == h.digest() - - - -# Basic algorithm given by Bob Fleck -class PBKDF2PasswordScheme(PasswordScheme): - """RFC 2989 password encoding scheme.""" - - # This is a bit nasty if we wanted a different prf or iterations. OTOH, - # we really have no clue what the standard LDAP-ish specification for - # those options is. - TAG = b'PBKDF2 SHA {0}'.format(ITERATIONS) - - @staticmethod - def _pbkdf2(password, salt, iterations): - """From RFC2898 sec. 5.2. Simplified to handle only 20 byte output - case. Output of 20 bytes means always exactly one block to handle, - and a constant block counter appended to the salt in the initial hmac - update. - """ - h = hmac.new(password, None, hashlib.sha1) - prf = h.copy() - prf.update(salt + b'\x00\x00\x00\x01') - T = U = array(b'i', prf.digest()) - while iterations: - prf = h.copy() - prf.update(U.tostring()) - U = array(b'i', prf.digest()) - T = array(b'i', (t ^ u for t, u in zip(T, U))) - iterations -= 1 - return T.tostring() - - @staticmethod - def make_secret(password): - """See `PasswordScheme`. - - From RFC2898 sec. 5.2. Simplified to handle only 20 byte output - case. Output of 20 bytes means always exactly one block to handle, - and a constant block counter appended to the salt in the initial hmac - update. - """ - salt = os.urandom(SALT_LENGTH) - digest = PBKDF2PasswordScheme._pbkdf2(password, salt, ITERATIONS) - derived_key = encode(digest + salt) - return derived_key - - @staticmethod - def check_response(challenge, response, prf, iterations): - """See `PasswordScheme`.""" - # Decode the challenge to get the number of iterations and salt. We - # don't support anything but SHA PRF. - if prf.lower() != b'sha': - return False - try: - iterations = int(iterations) - except (ValueError, TypeError): - return False - challenge_bytes = decode(challenge) - digest = challenge_bytes[:20] - salt = challenge_bytes[20:] - key = PBKDF2PasswordScheme._pbkdf2(response, salt, iterations) - return digest == key - - - -class Schemes(Enum): - """List of password schemes.""" - # no_scheme is deliberately ugly because no one should be using it. Yes, - # this makes cleartext inconsistent, but that's a common enough - # terminology to justify the missing underscore. - no_scheme = 1 - cleartext = 2 - sha = 3 - ssha = 4 - pbkdf2 = 5 - - -_SCHEMES_BY_ENUM = { - Schemes.no_scheme : NoPasswordScheme, - Schemes.cleartext : ClearTextPasswordScheme, - Schemes.sha : SHAPasswordScheme, - Schemes.ssha : SSHAPasswordScheme, - Schemes.pbkdf2 : PBKDF2PasswordScheme, - } - - -# Some scheme tags have arguments, but the key for this dictionary should just -# be the lowercased scheme name. -_SCHEMES_BY_TAG = dict((_SCHEMES_BY_ENUM[e].TAG.split(' ')[0].lower(), e) - for e in _SCHEMES_BY_ENUM) - -_DEFAULT_SCHEME = NoPasswordScheme - - - -def make_secret(password, scheme=None): - """Encrypt a password. - - :param password: The clear text password. - :type password: string - :param scheme: The password scheme name. - :type scheme: string - :return: The encrypted password. - :rtype: string - """ - # The hash algorithms operate on bytes not strings. The password argument - # as provided here by the client will be a string (in Python 2 either - # unicode or 8-bit, in Python 3 always unicode). We need to encode this - # string into a byte array, and the way to spell that in Python 2 is to - # encode the string to utf-8. The returned secret is a string, so it must - # be a unicode. - if isinstance(password, unicode): - password = password.encode('utf-8') - scheme_class = _SCHEMES_BY_ENUM.get(scheme) - if not scheme_class: - raise errors.BadPasswordSchemeError(scheme) - secret = scheme_class.make_secret(password) - return b'{{{0}}}{1}'.format(scheme_class.TAG, secret) - - -def check_response(challenge, response): - """Check a response against a challenge. - - :param challenge: The challenge. - :type challenge: string - :param response: The response. - :type response: string - :return: True if the response matches the challenge. - :rtype: bool - """ - mo = re.match(SCHEME_RE, challenge, re.IGNORECASE) - if not mo: - return False - # See above for why we convert here. However because we should have - # generated the challenge, we assume that it is already a byte string. - if isinstance(response, unicode): - response = response.encode('utf-8') - scheme_group, rest_group = mo.group('scheme', 'rest') - scheme_parts = scheme_group.split() - scheme = scheme_parts[0].lower() - scheme_enum = _SCHEMES_BY_TAG.get(scheme, _DEFAULT_SCHEME) - scheme_class = _SCHEMES_BY_ENUM[scheme_enum] - if isinstance(rest_group, unicode): - rest_group = rest_group.encode('utf-8') - return scheme_class.check_response(rest_group, response, *scheme_parts[1:]) - - -def lookup_scheme(scheme_name): - """Look up a password scheme. - - :param scheme_name: The password scheme name. - :type scheme_name: string - :return: Password scheme class. - :rtype: `PasswordScheme` - """ - return _SCHEMES_BY_TAG.get(scheme_name.lower()) - - -def encrypt_password(password, scheme=None): - """Return an encrypted password. - - If the given password is already encrypted (i.e. it has a scheme prefix), - then the password is return unchanged. Otherwise, it is encrypted with - the given scheme or the default scheme. - - :param password: The plain text or encrypted password. - :type password: string - :param scheme: The scheme enum to use for encryption. If not given, the - system default scheme is used. This can be a `Schemes` enum item, or - the scheme name as a string. - :type scheme: `Schemes` enum, or string. - :return: The encrypted password. - :rtype: bytes - """ - if not isinstance(password, (bytes, unicode)): - raise ValueError('Got {0}, expected unicode or bytes'.format( - type(password))) - if re.match(SCHEME_RE, password, re.IGNORECASE): - # Just ensure we're getting bytes back. - if isinstance(password, unicode): - return password.encode('us-ascii') - assert isinstance(password, bytes), 'Expected bytes' - return password - if scheme is None: - password_scheme = lookup_scheme(config.passwords.password_scheme) - elif scheme in Schemes: - password_scheme = scheme - else: - password_scheme = lookup_scheme(scheme) - if password_scheme is None: - raise ValueError('Bad password scheme: {0}'.format(scheme)) - return make_secret(password, password_scheme) - - - -# Password generation. - -_vowels = tuple('aeiou') -_consonants = tuple(c for c in ascii_lowercase if c not in _vowels) -_syllables = tuple(x + y for (x, y) in - chain(product(_vowels, _consonants), - product(_consonants, _vowels))) - - -def make_user_friendly_password(length=None): - """Make a random *user friendly* password. - - Such passwords are nominally easier to pronounce and thus remember. Their - security in relationship to purely random passwords has not been - determined. - - :param length: Minimum length in characters for the resulting password. - The password will always be an even number of characters. When - omitted, the system default length will be used. - :type length: int - :return: The user friendly password. - :rtype: unicode - """ - if length is None: - length = int(config.passwords.password_length) - syllables = [] - while len(syllables) * 2 < length: - syllables.append(random.choice(_syllables)) - return EMPTYSTRING.join(syllables)[:length] diff --git a/src/mailman/utilities/string.py b/src/mailman/utilities/string.py index 9054ed076..c3bd3620c 100644 --- a/src/mailman/utilities/string.py +++ b/src/mailman/utilities/string.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2009-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/tests/test_email.py b/src/mailman/utilities/tests/test_email.py index 8b847f475..833d631b5 100644 --- a/src/mailman/utilities/tests/test_email.py +++ b/src/mailman/utilities/tests/test_email.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py index d66faeff0..2ce25ddc6 100644 --- a/src/mailman/utilities/tests/test_import.py +++ b/src/mailman/utilities/tests/test_import.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2010-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/tests/test_passwords.py b/src/mailman/utilities/tests/test_passwords.py deleted file mode 100644 index 058cf97de..000000000 --- a/src/mailman/utilities/tests/test_passwords.py +++ /dev/null @@ -1,204 +0,0 @@ -# Copyright (C) 2007-2011 by the Free Software Foundation, Inc. -# -# This file is part of GNU Mailman. -# -# GNU Mailman is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, either version 3 of the License, or (at your option) -# any later version. -# -# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License along with -# GNU Mailman. If not, see <http://www.gnu.org/licenses/>. - -"""Unit tests for the passwords module.""" - -from __future__ import absolute_import, unicode_literals - -__metaclass__ = type -__all__ = [ - ] - - -import unittest - -from itertools import izip_longest - -from mailman.config import config -from mailman.core import errors -from mailman.testing.layers import ConfigLayer -from mailman.utilities import passwords - - - -class PasswordsTestBase: - scheme = None - - def setUp(self): - # passwords; 8-bit or unicode strings; ascii or binary - self.pw8a = b'abc' - self.pw8b = b'abc\xc3\xbf' # 'abc\xff' - self.pwub = b'abc\xff' - # bad password; 8-bit or unicode; ascii or binary - self.bad8a = b'xyz' - self.bad8b = b'xyz\xc3\xbf' # 'xyz\xff' - self.badub = b'xyz\xff' - - def test_passwords(self): - unless = self.failUnless - failif = self.failIf - secret = passwords.make_secret(self.pw8a, self.scheme) - unless(passwords.check_response(secret, self.pw8a)) - failif(passwords.check_response(secret, self.bad8a)) - - def test_passwords_with_funky_chars(self): - unless = self.failUnless - failif = self.failIf - secret = passwords.make_secret(self.pw8b, self.scheme) - unless(passwords.check_response(secret, self.pw8b)) - failif(passwords.check_response(secret, self.bad8b)) - - def test_unicode_passwords_with_funky_chars(self): - unless = self.failUnless - failif = self.failIf - secret = passwords.make_secret(self.pwub, self.scheme) - unless(passwords.check_response(secret, self.pwub)) - failif(passwords.check_response(secret, self.badub)) - - - -class TestBogusPasswords(PasswordsTestBase, unittest.TestCase): - scheme = -1 - - def test_passwords(self): - self.assertRaises(errors.BadPasswordSchemeError, - passwords.make_secret, self.pw8a, self.scheme) - - def test_passwords_with_funky_chars(self): - self.assertRaises(errors.BadPasswordSchemeError, - passwords.make_secret, self.pw8b, self.scheme) - - def test_unicode_passwords_with_funky_chars(self): - self.assertRaises(errors.BadPasswordSchemeError, - passwords.make_secret, self.pwub, self.scheme) - - - -class TestNonePasswords(PasswordsTestBase, unittest.TestCase): - scheme = passwords.Schemes.no_scheme - - def test_passwords(self): - failif = self.failIf - secret = passwords.make_secret(self.pw8a, self.scheme) - failif(passwords.check_response(secret, self.pw8a)) - failif(passwords.check_response(secret, self.bad8a)) - - def test_passwords_with_funky_chars(self): - failif = self.failIf - secret = passwords.make_secret(self.pw8b, self.scheme) - failif(passwords.check_response(secret, self.pw8b)) - failif(passwords.check_response(secret, self.bad8b)) - - def test_unicode_passwords_with_funky_chars(self): - failif = self.failIf - secret = passwords.make_secret(self.pwub, self.scheme) - failif(passwords.check_response(secret, self.pwub)) - failif(passwords.check_response(secret, self.badub)) - - - -class TestCleartextPasswords(PasswordsTestBase, unittest.TestCase): - scheme = passwords.Schemes.cleartext - - -class TestSHAPasswords(PasswordsTestBase, unittest.TestCase): - scheme = passwords.Schemes.sha - - -class TestSSHAPasswords(PasswordsTestBase, unittest.TestCase): - scheme = passwords.Schemes.ssha - - -class TestPBKDF2Passwords(PasswordsTestBase, unittest.TestCase): - scheme = passwords.Schemes.pbkdf2 - - - -class TestSchemeLookup(unittest.TestCase): - def test_scheme_name_lookup(self): - unless = self.failUnless - unless(passwords.lookup_scheme('NONE') is passwords.Schemes.no_scheme) - unless(passwords.lookup_scheme('CLEARTEXT') is - passwords.Schemes.cleartext) - unless(passwords.lookup_scheme('SHA') is passwords.Schemes.sha) - unless(passwords.lookup_scheme('SSHA') is passwords.Schemes.ssha) - unless(passwords.lookup_scheme('PBKDF2') is passwords.Schemes.pbkdf2) - unless(passwords.lookup_scheme(' -bogus- ') is None) - - - -# See itertools doc page examples. -def _grouper(seq): - args = [iter(seq)] * 2 - return list(izip_longest(*args)) - - -class TestPasswordGeneration(unittest.TestCase): - layer = ConfigLayer - - def test_default_user_friendly_password_length(self): - self.assertEqual(len(passwords.make_user_friendly_password()), - int(config.passwords.password_length)) - - def test_provided_user_friendly_password_length(self): - self.assertEqual(len(passwords.make_user_friendly_password(12)), 12) - - def test_provided_odd_user_friendly_password_length(self): - self.assertEqual(len(passwords.make_user_friendly_password(15)), 15) - - def test_user_friendly_password(self): - password = passwords.make_user_friendly_password() - for pair in _grouper(password): - # There will always be one vowel and one non-vowel. - vowel = (pair[0] if pair[0] in 'aeiou' else pair[1]) - consonant = (pair[0] if pair[0] not in 'aeiou' else pair[1]) - self.assertTrue(vowel in 'aeiou', vowel) - self.assertTrue(consonant not in 'aeiou', consonant) - - def test_encrypt_password_plaintext_default_scheme(self): - # Test that a plain text password gets encrypted. - self.assertEqual(passwords.encrypt_password('abc'), - '{CLEARTEXT}abc') - - def test_encrypt_password_plaintext(self): - # Test that a plain text password gets encrypted with the given scheme. - scheme = passwords.Schemes.sha - self.assertEqual(passwords.encrypt_password('abc', scheme), - '{SHA}qZk-NkcGgWq6PiVxeFDCbJzQ2J0=') - - def test_encrypt_password_plaintext_by_scheme_name(self): - # Test that a plain text password gets encrypted with the given - # scheme, which is given by name. - self.assertEqual(passwords.encrypt_password('abc', 'cleartext'), - '{CLEARTEXT}abc') - - def test_encrypt_password_already_encrypted_default_scheme(self): - # Test that a password which is already encrypted is return unchanged. - self.assertEqual(passwords.encrypt_password('{SHA}abc'), '{SHA}abc') - - def test_encrypt_password_already_encrypted(self): - # Test that a password which is already encrypted is return unchanged, - # ignoring any requested scheme. - scheme = passwords.Schemes.cleartext - self.assertEqual(passwords.encrypt_password('{SHA}abc', scheme), - '{SHA}abc') - - def test_encrypt_password_password_value_error(self): - self.assertRaises(ValueError, passwords.encrypt_password, 7) - - def test_encrypt_password_scheme_value_error(self): - self.assertRaises(ValueError, passwords.encrypt_password, 'abc', 'foo') diff --git a/src/mailman/utilities/tests/test_templates.py b/src/mailman/utilities/tests/test_templates.py index 504972da3..1b2f1db07 100644 --- a/src/mailman/utilities/tests/test_templates.py +++ b/src/mailman/utilities/tests/test_templates.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/tests/test_wrap.py b/src/mailman/utilities/tests/test_wrap.py index 5ef658e14..a2cf55236 100644 --- a/src/mailman/utilities/tests/test_wrap.py +++ b/src/mailman/utilities/tests/test_wrap.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/utilities/uid.py b/src/mailman/utilities/uid.py index dfbff0ae6..a0370788e 100644 --- a/src/mailman/utilities/uid.py +++ b/src/mailman/utilities/uid.py @@ -1,4 +1,4 @@ -# Copyright (C) 2011 by the Free Software Foundation, Inc. +# Copyright (C) 2011-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # diff --git a/src/mailman/version.py b/src/mailman/version.py index 658942e36..079f3dd8d 100644 --- a/src/mailman/version.py +++ b/src/mailman/version.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2012 by the Free Software Foundation, Inc. # # This file is part of GNU Mailman. # |
