| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
security issues.
|
| |
|
|
| |
Patch supplied by Guillaume Rousse.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
decode_rfc2231(): Be more robust against buggy RFC 2231 encodings.
Specifically, instead of raising a ValueError when there is a single
tick in the parameter, simply return that the entire string unquoted, with
None for both the charset and the language. Also, if there are more than 2
ticks in the parameter, interpret the first three parts as the standard RFC
2231 parts, then the rest of the parts as the encoded string.
More RFC 2231 improvements for the email 4.0 package. As Mark Sapiro
rightly points out there are really two types of continued headers
defined in this RFC (i.e. "encoded" parameters with the form
"name*0*=" and unencoded parameters with the form "name*0="), but we
were were handling them both the same way and that isn't correct.
This patch should be much more RFC compliant in that only encoded
params are %-decoded and the charset/language information is only
extract if there are any encoded params in the segments. If there are
no encoded params then the RFC says that there will be no
charset/language parts.
Note however that this will change the return value for
Message.get_param() in some cases. For example, whereas before if you
had all unencoded param continuations you would have still gotten a
3-tuple back from this method (with charset and language == None), you
will now get just a string. I don't believe this is a backward
incompatible change though because the documentation for this method
already indicates that either return value is possible and that you
must do an isinstance(val, tuple) check to discriminate between the
two. (Yeah that API kind of sucks but we can't change /that/ without
breaking code.)
Test cases, some documentation updates, and a NEWS item accompany this
patch.
Original fewer-than-3-parts fix by Tokio Kikuchi.
Resolves SF bug # 1218081.
Also, bump the package version number to 2.5.8 for release.
|
| |
|
|
|
|
|
|
|
|
| |
name in the Content-Distribution header, so Message.get_filename() should fall
back to using that. Will port both to email 3.0 and Python 2.5 trunk.
Also, bump the email package version to 2.5.7 for eventual release. Of
course, add a test case too.
XXX Need to update the documentation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
an RFC 2231-style header could be bogus or unknown to Python. In that case,
we return the the text part of the parameter undecoded. However, in
get_content_charset(), if that is not ascii, then it is an illegal charset and
so we return failobj.
Test cases and a version bump are included.
Committing this to the Python 2.3 branch because I need to generate an email
2.5.6 release that contains these patches. I will port these fixes to Python
2.4 and 2.5 for email 3.x.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
in some locales. This code simplifies the boundary algorithm to use
randint() which is what we wanted anyway.
Bump package version to 2.5.3.
Backport candidate for Python 2.2.3
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
need more vetting, and it will be included in Python 2.3a1.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
with the standalone mimelib package.
|
| | |
|
| |
|
|
|
|
|
|
| |
Python 2.1.3. However it's required by the email tests suite, so poke
it into the encodings aliases if it's missing. The is apparently the
approved API for doing so.
Now we can remove the hexversion shortcircuits in the test suite.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Move the imports of Parser and Message inside the
message_from_string() and message_from_file() functions. This way
just "import email" won't suck in most of the submodules of the
package.
Note: this will break code that relied on "import email" giving you a
bunch of the submodules, but that was never documented and should not
have been relied on.
|
| | |
|
| | |
|
| |
|
|
|
| |
mimelib-devel list is that non-strict parsing should be the default.
Make it so.
|
| |
|
|
| |
convenience functions. Closes SF # 583188 (python project).
|
| |
|
|
| |
the version number to 2.1.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
for the email package. The former is now just a shell project that
has some extra files for packaging for independent use (e.g. setup.py
and README).
Added a compatibility layer so that the same API can be used in Python
2.1 and 2.2/2.3 with the major differences shuffled off into helper
modules (_compat21.py and _compat22.py).
Also bumped the package version number to 2.0.3 for some fixes to be
checked in momentarily.
|
| |
|
|
|
|
|
|
|
| |
non-us-ascii character sets in headers and bodies. Some API changes
(with DeprecationWarnings for the old APIs). Better RFC-compliant
implementations of base64 and quoted-printable.
Updated test cases. Documentation updates to follow (after I finish
writing them ;).
|
| |
|
|
| |
tests in test_email.py).
|
| | |
|
| | |
|
|
|
<http://sf.net/projects/mimelib>. There /are/ API differences between
mimelib and email, but most of the implementations are shared (except
where cool Py2.2 stuff like generators are used).
|