summaryrefslogtreecommitdiff
path: root/src/mailman/core/switchboard.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/core/switchboard.py')
-rw-r--r--src/mailman/core/switchboard.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mailman/core/switchboard.py b/src/mailman/core/switchboard.py
index 315d564f3..e9e5e95f1 100644
--- a/src/mailman/core/switchboard.py
+++ b/src/mailman/core/switchboard.py
@@ -167,6 +167,13 @@ class Switchboard:
def finish(self, filebase, preserve=False):
"""See `ISwitchboard`."""
bakfile = os.path.join(self.queue_directory, filebase + '.bak')
+ # It is possible for a queue entry to be created by a non-Mailman user
+ # and not be readable by the Mailman user:group. If this happens, we
+ # get here and the file is a .pck rather than a .bak.
+ pckfile = os.path.join(self.queue_directory, filebase + '.pck')
+ if not os.path.isfile(bakfile) and os.path.isfile(pckfile):
+ # We have a .pck and not a .bak so switch the name for the next.
+ bakfile = pckfile
try:
if preserve:
bad_dir = config.switchboards['bad'].queue_directory