Compatibility with RFC-1341.
This commit is contained in:
parent
f937c32285
commit
f4c42cc0cf
@ -74,6 +74,7 @@ bool attachmentHelper::isBodyPartAnAttachment
|
|||||||
|
|
||||||
// Assume "attachment" if type is not "text/..." or "multipart/...".
|
// Assume "attachment" if type is not "text/..." or "multipart/...".
|
||||||
mediaType type;
|
mediaType type;
|
||||||
|
bool hasContentTypeName = false;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -81,6 +82,9 @@ bool attachmentHelper::isBodyPartAnAttachment
|
|||||||
(*part->getHeader()->findField(fields::CONTENT_TYPE));
|
(*part->getHeader()->findField(fields::CONTENT_TYPE));
|
||||||
|
|
||||||
type = *ctf.getValue().dynamicCast <const mediaType>();
|
type = *ctf.getValue().dynamicCast <const mediaType>();
|
||||||
|
|
||||||
|
if (ctf.hasParameter("name"))
|
||||||
|
hasContentTypeName = true;
|
||||||
}
|
}
|
||||||
catch (exceptions::no_such_field&)
|
catch (exceptions::no_such_field&)
|
||||||
{
|
{
|
||||||
@ -98,6 +102,11 @@ bool attachmentHelper::isBodyPartAnAttachment
|
|||||||
if (type.getType() != mediaTypes::TEXT &&
|
if (type.getType() != mediaTypes::TEXT &&
|
||||||
type.getType() != mediaTypes::MULTIPART)
|
type.getType() != mediaTypes::MULTIPART)
|
||||||
{
|
{
|
||||||
|
// Compatibility with (obsolete) RFC-1341: if there is a "name" parameter
|
||||||
|
// on the "Content-Type" field, then we assume it is an attachment
|
||||||
|
if (hasContentTypeName)
|
||||||
|
return true;
|
||||||
|
|
||||||
if ((options & INLINE_OBJECTS) == 0)
|
if ((options & INLINE_OBJECTS) == 0)
|
||||||
{
|
{
|
||||||
// If a "Content-Id" field is present, it might be an
|
// If a "Content-Id" field is present, it might be an
|
||||||
|
Loading…
Reference in New Issue
Block a user