summaryrefslogtreecommitdiff
path: root/Mailman
diff options
context:
space:
mode:
authorbwarsaw2005-09-19 03:23:11 +0000
committerbwarsaw2005-09-19 03:23:11 +0000
commit48ebf3bb2d9bb185696c7ab5ed1f569bba6ff40f (patch)
tree9dca4c671e5ae471f1d69a3cfb2e605190a4dee7 /Mailman
parent50ffcba6bbbc316af3e4640cbe030c809346e631 (diff)
downloadmailman-48ebf3bb2d9bb185696c7ab5ed1f569bba6ff40f.tar.gz
mailman-48ebf3bb2d9bb185696c7ab5ed1f569bba6ff40f.tar.zst
mailman-48ebf3bb2d9bb185696c7ab5ed1f569bba6ff40f.zip
Port Mark Sapiro's patch for including the preamble and epilogue sizes in
message size calculations (and a few others) from the 2.1 maintenance release.
Diffstat (limited to 'Mailman')
-rw-r--r--Mailman/Handlers/Hold.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/Mailman/Handlers/Hold.py b/Mailman/Handlers/Hold.py
index ffc0839bc..fdfaa09d2 100644
--- a/Mailman/Handlers/Hold.py
+++ b/Mailman/Handlers/Hold.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2004 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2005 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -25,7 +25,6 @@ we do nothing. If the message must be held for approval, then the hold
database is updated and any administrator notification messages are sent.
Finally an exception is raised to let the pipeline machinery know that further
message handling should stop.
-
"""
import email
@@ -176,6 +175,11 @@ def process(mlist, msg, msgdata):
bodylen = 0
for line in email.Iterators.body_line_iterator(msg):
bodylen += len(line)
+ for part in msg.walk():
+ if part.preamble:
+ bodylen += len(part.preamble)
+ if part.epilogue:
+ bodylen += len(part.epilogue)
if bodylen/1024.0 > mlist.max_message_size:
hold_for_approval(mlist, msg, msgdata,
MessageTooBig(bodylen, mlist.max_message_size))