Uploaded image for project: 'Axiom'
  1. Axiom
  2. AXIOM-467

Cannot read "quoted-printable" encoded data from MIME part

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.2.13, 1.2.14
    • 1.2.15
    • API
    • None

    Description

      Processing "quoted-printable" encoded data in the axiom v.1.2.13 seems to be backward incompatible as it was in the axiom. 1.2.7.
      I provided one and the same test case which illustrates how the test is working in the axiom 1.2.7 but not in 1.2.13.

      In the axiom 1.2.13 I got the following exception:
      org.apache.axiom.om.OMException: org.apache.axiom.ext.io.StreamCopyException: Error reading from source
      at org.apache.axiom.attachments.PartContentFactory.createPartContent(PartContentFactory.java:153)
      at org.apache.axiom.attachments.PartImpl.fetch(PartImpl.java:176)
      at org.apache.axiom.attachments.PartImpl.getContent(PartImpl.java:149)
      at org.apache.axiom.attachments.PartImpl.getInputStream(PartImpl.java:224)
      at org.apache.axiom.attachments.PartDataSource.getInputStream(PartDataSource.java:44)
      at javax.activation.DataHandler.getInputStream(DataHandler.java:238)
      at org.apache.axiom.attachments.QuotedPrintablePartTest.testReadStreamFromPart(QuotedPrintablePartTest.java:38)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at junit.framework.TestCase.runTest(TestCase.java:168)
      at junit.framework.TestCase.runBare(TestCase.java:134)
      at junit.framework.TestResult$1.protect(TestResult.java:110)
      at junit.framework.TestResult.runProtected(TestResult.java:128)
      at junit.framework.TestResult.run(TestResult.java:113)
      at junit.framework.TestCase.run(TestCase.java:124)
      at junit.framework.TestSuite.runTest(TestSuite.java:243)
      at junit.framework.TestSuite.run(TestSuite.java:238)
      at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131)
      at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
      Caused by: org.apache.axiom.ext.io.StreamCopyException: Error reading from source
      at org.apache.axiom.attachments.utils.BAAOutputStream.readFrom(BAAOutputStream.java:114)
      at org.apache.axiom.attachments.impl.BufferUtils.inputStream2OutputStream(BufferUtils.java:76)
      at org.apache.axiom.attachments.PartContentFactory.createPartContent(PartContentFactory.java:119)
      ... 24 more
      Caused by: java.io.IOException: Found LF without CR
      at org.apache.james.mime4j.codec.QuotedPrintableInputStream.read0(QuotedPrintableInputStream.java:195)
      at org.apache.james.mime4j.codec.QuotedPrintableInputStream.read(QuotedPrintableInputStream.java:317)
      at org.apache.axiom.attachments.utils.BAAOutputStream.readFrom(BAAOutputStream.java:112)
      ... 26 more

      The root cause of this exception is that AXIOM forces usage of the STRICT mode of MIME4J for decoding found in org.apache.axiom.attachments.MIMEMessage class
      MimeConfig config = new MimeConfig();
      config.setStrictParsing(true);
      The default behavior MIME4J is SILENT(relaxed) mode, if the strict parsing is not enforced that the test will pass successfully.

      Attachments

        1. axiom_1.2.7.patch
          24 kB
          Detelin Hadzhiev
        2. axiom-1.2.13.patch
          11 kB
          Detelin Hadzhiev
        3. MtomInvalidQPAttachment.txt
          1.0 kB
          Detelin Yordanov

        Issue Links

          Activity

            People

              veithen Andreas Veithen
              d_hadzhiev Detelin Hadzhiev
              Votes:
              3 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: