[ https://issues.apache.org/jira/browse/CAMEL-4083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-4083: ------------------------------- Fix Version/s: (was: 2.9.0) Yeah the logic seems a bit misleading. It mistakenly looks for charset, without checking that the key is {{charset=xxx}} in the Content-Type. > MailBinding may drop characters from content type when using > determineContentType option > ---------------------------------------------------------------------------------------- > > Key: CAMEL-4083 > URL: https://issues.apache.org/jira/browse/CAMEL-4083 > Project: Camel > Issue Type: Bug > Components: camel-mail > Affects Versions: 2.7.0 > Environment: JSE 1.6 > Reporter: Greg Meyer > Assignee: Claus Ibsen > Priority: Minor > Labels: content-type, mail, mime, smime > Fix For: 2.8.0 > > > The method "determineContentType" in the MailBinding class may drop > characters from the end of the Content-Type header (specifically ending > quotes). > Example: > Take the following SMINE enveloped data content type: > {code} > Content-Type: application/pkcs7-mime; smime-type=enveloped-data; > name="smime.p7m" > {code} > When an incoming Exchange is processed by the mail Component with the above > content type header, the resulting content type after the > determineContentType is application/pkcs7-mime; smime-type=enveloped-data; > name="smime.p7m (note the ending quote). This results in a parsing error > later on the processing chain. The following simple unit test demonstrates > the issue as it fails on the assertEquals call. > ----------------------------------------------------------------------------------------------------- > {code} > package org.apache.camel.component.mail; > import org.apache.camel.CamelContext; > import org.apache.camel.impl.DefaultExchange; > import org.junit.Test; > import static org.junit.Assert.assertEquals; > public class ContentTypeTest > { > @Test > public void > testDetermineContentType_endingWithQuotes_assertContentMatches() > { > final String contentType = "application/pkcs7-mime; > smime-type=enveloped-data; name=\"smime.p7m\""; > > final MailConfiguration configuration = new MailConfiguration(); > final MailBinding binding = new MailBinding(); > > final DefaultExchange exchange = new > DefaultExchange((CamelContext)null); > exchange.getIn().setHeader("Content-Type", contentType); > > > String determinedType = binding.determineContentType(configuration, > exchange); > > assertEquals(contentType, determinedType); > } > } > {code} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira