diff options
author | Mark Sapiro <mark@msapiro.net> | 2008-02-29 09:47:36 -0800 |
---|---|---|
committer | Mark Sapiro <mark@msapiro.net> | 2008-02-29 09:47:36 -0800 |
commit | d14353a411404216f3d93d7397d91647b0959da5 (patch) | |
tree | 67fd659bc1cd5a896876b3ee8b8df3f223783ecd | |
parent | 7acc4e9c0f3bce4831ca1399fa7aade621ed6b70 (diff) | |
download | mailman2-d14353a411404216f3d93d7397d91647b0959da5.tar.gz mailman2-d14353a411404216f3d93d7397d91647b0959da5.tar.xz mailman2-d14353a411404216f3d93d7397d91647b0959da5.zip |
Changed add_members, clone_member and sync_members to catch or avoid
MembershipIsBanned exception and report appropriately.
-rw-r--r-- | NEWS | 3 | ||||
-rwxr-xr-x | bin/add_members | 3 | ||||
-rwxr-xr-x | bin/clone_member | 6 | ||||
-rwxr-xr-x | bin/sync_members | 2 |
4 files changed, 14 insertions, 0 deletions
@@ -155,6 +155,9 @@ Internationalization moving the entry aside and logging the fact after the third dequeue of the same entry. + - Fixed the command line scripts add_members, sync_members and + clone_member to properly handle banned addresses (1904737). + Miscellaneous - Brad Knowles' mailman daily status report script updated to 0.0.17. diff --git a/bin/add_members b/bin/add_members index fdc3f02b..03f0af3a 100755 --- a/bin/add_members +++ b/bin/add_members @@ -135,6 +135,9 @@ def addall(mlist, members, digest, ack, outfp): mlist.ApprovedAddMember(userdesc, ack, 0) except Errors.MMAlreadyAMember: print >> tee, _('Already a member: %(member)s') + except Errors.MembershipIsBanned, pattern: + print >> tee, ('%s:' % + member), _('Banned address (matched %(pattern)s)') except Errors.MMBadEmailError: if userdesc.address == '': print >> tee, _('Bad/Invalid email address: blank line') diff --git a/bin/clone_member b/bin/clone_member index 1f2a03ac..915c540f 100755 --- a/bin/clone_member +++ b/bin/clone_member @@ -129,6 +129,12 @@ def dolist(mlist, options): if not options.quiet: print _(' address not found:'), options.fromaddr return + # Check for banned to address. + pattern = mlist.GetBannedPattern(options.toaddr) + if pattern: + if not options.quiet: + print ' ', _('Banned address (matched %(pattern)s)') + return # Now change the membership address try: diff --git a/bin/sync_members b/bin/sync_members index 4a21624c..13d0b2b0 100755 --- a/bin/sync_members +++ b/bin/sync_members @@ -260,6 +260,8 @@ def main(): print _('Added : %(s)s') except Errors.MMAlreadyAMember: pass + except Errors.MembershipIsBanned, pattern: + print ('%s:' % addr), _('Banned address (matched %(pattern)s)') for laddr, addr in addrs.items(): # Should be a member, otherwise our test above is broken |