MailBinding creating invalid content type -----------------------------------------
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 Priority: Minor Fix For: 2.7.2 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: Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name="smime.p7m" 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. ----------------------------------------------------------------------------------------------------- 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); } } -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira