Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-4083

MailBinding may drop characters from content type when using determineContentType option

    XMLWordPrintableJSON

Details

    Description

      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);
          }
      }
      

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            gm2552 Greg Meyer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: