summaryrefslogtreecommitdiff
path: root/src/mailman/commands/eml_confirm.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/commands/eml_confirm.py')
-rw-r--r--src/mailman/commands/eml_confirm.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mailman/commands/eml_confirm.py b/src/mailman/commands/eml_confirm.py
index 97bb80f06..2461192ed 100644
--- a/src/mailman/commands/eml_confirm.py
+++ b/src/mailman/commands/eml_confirm.py
@@ -49,7 +49,15 @@ class Confirm:
if len(arguments) == 0:
print >> results, _('No confirmation token found')
return ContinueProcessing.no
- succeeded = getUtility(IRegistrar).confirm(arguments[0])
+ # Make sure we don't try to confirm the same token more than once.
+ token = arguments[0]
+ tokens = getattr(results, 'confirms', set())
+ if token in tokens:
+ # Do not try to confirm this one again.
+ return ContinueProcessing.yes
+ tokens.add(token)
+ results.confirms = tokens
+ succeeded = getUtility(IRegistrar).confirm(token)
if succeeded:
print >> results, _('Confirmed')
return ContinueProcessing.yes