| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
appearing in plain digests and archives. Bug #787790.
|
|
|
|
In addition, Mailman no longer escapes From_ lines in the body of
messages sent to regular list members, although MTA's may do it anyway.
This is to avoid breaking signatures per Bug #265967. Changes include
- Message.py, added a Generator class to avoid header folding and an
as_string() method wirth a mangle_from_ argument.
- Mailbox.py, uses new Message.Generator class.
- SMTPDirect.py, uses as_string(mangle_from_=False) to flatten message.
- Scrubber.py, removed unused ScrubberGenerator class.
|
|
|
|
|
|
email packages, convert all the email message get_type() calls to
get_content_type().
|
|
I've modified the patch to improve some of the stylistic issues.
|
|
|
|
Fixed an issue where an implicit text/plain part without any headers gets
lost.
Moved the cleansing of the filename extension to a place where it is
guaranteed to be a string as opposed to an empty list.
|
|
previous commit.
- Normalized a couple more 'URL:'.
- Improved handling of None payloads.
- Cleaned up a few charset coercions.
OutgoingRunner.py - Made probe bounce processing and queuing of bounces
conditional on having some permanent failure(s).
|
|
charset="quoted-printable" parameter, quopri_encode can be
called at t = t.encode(charset, 'replace') which throws
an AssertionError. See log message for r. 8213. Caught this.
- Malformed RFC 2047 encoded filename= parameter can have
a null byte or other garbage in the extension. Cleaned this.
- A message with a message/delivery-status part returns
None for the part's payload. Checked for a payload before
attempting unicode/encode.
|
|
but it looks like thare is a buggy MUA or spammer who declairs like so:
Content-Type: text/plain; charset=base64
:-(
|
|
The email address which forms a part of the various CGI data keys
in the admin membership list is now urllib.quote()ed. This allows
changing options for and unsubbing an address which contains a
double-quote character.
- CGI/admindb.py
Added additional test to not display "Database Updated ..." when
coming from the login page.
- CGI/roster.py, HTMLFormatter.py
Changed to show hidden members when authorization is site or list's
admin or moterator password. Patch 1587651.
- Defaults.py.in, Handlers/Cleanse_DKIM.py
Added a new REMOVE_DKIM_HEADERS Defaults.py/mm_cfg.py setting (default
= No) to control removing dkim/domainkey signatures from posts and
mail to -owner.
- Handlers/Decorate.py, Handlers/Scrubber.py
Changed to preserve format=flowed and delsp=yes in the Content-Type:
of the body when adding header/footer and when scrubbing attachments
and to remove trailing spaces from the header/footer lines so they
won't be flowed. Bug 1495122.
Fixed a scrubber issue where the i18n translated 'next part' separator
can be garbled if the list charset is different from the message.
- Queue/Runner.py. Queue/Switchboard.py
Now that we have .bak queue entries for recovery, it is no longer the
case that an unparseable message is lost. In this case, and in case
of other exceptions when dequeueing, I added a preservation feature
to move the .bak file to qfiles/shunt as a .psv file and write an
appropriate log entry. It is also possible for an attempt to shunt
a message to fail. One example that occurred in practice (bug 1656289)
was caused by a huge message that threw a MemoryError in processing and
then threw another MemoryError in the attempt to pickle the message for
the shunt queue. In this case as well, I log and attempt to preserve
the original queue entry by renaming.
|
|
when payload is None.
|
|
|
|
because it is overwrapped in Mailman.Message.
|
|
normalization, removal of tabs, copyright year updates to changed files,
docstring and comment fixes, and usage of True/False. I also made a pass
through the NEWS file.
One import was reordered, and after this commit I will move the mmdsr.readme
file to README.mmdsr.
From my perspective, after that we're ready to go.
I will port these changes forward to the trunk.
|
|
I've tested the example by Mark Sapiro:
http://mail.python.org/pipermail/mailman-developers/2005-November/018395.html
both with and without 'Content-Transfer-Encoding' but may need more test.
|
|
users of MS Outlook and Apple Mail.
|
|
|
|
|
|
|
|
Temporary work around to ignore such case.
|
|
it is possible for a message to be "not is_multipart()" but to have a None
payload. I know of at least one situation where this can happen: you have a
Content-Type: multipart/* but there is nothing but two blank lines between the
first boundary and the end boundary. Under email 3, you get a string payload
but under email 2.5 you get None.
Because there's nothing in such parts, they should be safe to ignore.
|
|
Update copyright years for files changes in 2005. Whitespace normalization.
|
|
|
|
|
|
|
|
[ 904850 ] Scrubber in regular delivery per list
[ 1027882 ] filter attachments by filename extensions
and a patch in mailman-dev mailing list
http://mail.python.org/pipermail/mailman-developers/2004-September/017246.html
|
|
Modified Files:
Mailman/Handlers/Scrubber.py
Mailman/Defaults.py.in
Fixes some bugs:
charset problem where input/output charset are different
text file without charset makes trouble when merging into one text msg.
delete content-transfer encoding
use Utils.oneline() for i18n filename
use msg.walk() to collect parts
Introduce:
mm_cfg.SCRUBBER_DONT_USE_ATTACHMENT_FILENAME to prevent extremely long fn.
|
|
process(): When we encode the text, catch ValueError along with UnicodeError
and LookupError. The ValueError can be raised if the charset is the empty
string. Closes SF bug # 834486.
|
|
process(): When we encode the text, catch ValueError along with UnicodeError
and LookupError. The ValueError can be raised if the charset is the empty
string. Closes SF bug # 834486.
|
|
|
|
|
|
|
|
|