[ 
https://issues.apache.org/jira/browse/JAMES-3901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Tellier updated JAMES-3901:
----------------------------------
    Description: 
{code:java}
Content-Disposition: attachment; 
        filename*=utf-8''Javier%20Fernandez.DOC;
        filename="Javier Fernandez.DOC"
{code}

Lead to:

{code:java}
java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in 
escape (%) pattern - Error at index 0 in: \"P0\"
        at java.base/java.net.URLDecoder.decode(Unknown Source)
        at java.base/java.net.URLDecoder.decode(Unknown Source)
        at 
org.apache.james.mime4j.util.MimeParameterMapping.decodeParameterValue(MimeParameterMapping.java:55)
        at 
org.apache.james.mime4j.util.MimeParameterMapping.addParameter(MimeParameterMapping.java:39)
        at 
org.apache.james.mime4j.field.ContentDispositionFieldLenientImpl.parse(ContentDispositionFieldLenientImpl.java:165)
        at 
org.apache.james.mime4j.field.ContentDispositionFieldLenientImpl.getDispositionType(ContentDispositionFieldLenientImpl.java:72)
        at 
org.apache.james.mime4j.message.MaximalBodyDescriptor.getContentDispositionType(MaximalBodyDescriptor.java:183)
        at 
org.apache.james.mailbox.opensearch.json.MimePartParser.extractMimePartBodyDescription(MimePartParser.java:133)
        at 
org.apache.james.mailbox.opensearch.json.MimePartParser.manageBodyExtraction(MimePartParser.java:120)
        at 
org.apache.james.mailbox.opensearch.json.MimePartParser.processMimePart(MimePartParser.java:87)
        at 
org.apache.james.mailbox.opensearch.json.MimePartParser.parse(MimePartParser.java:69)
        at 
org.apache.james.mailbox.opensearch.json.IndexableMessage$Builder.instantiateIndexedMessage(IndexableMessage.java:111)
        at 
org.apache.james.mailbox.opensearch.json.IndexableMessage$Builder.build(IndexableMessage.java:76)
        at 
org.apache.james.mailbox.opensearch.json.MessageToOpenSearchJson.convertToJson(MessageToOpenSearchJson.java:74)
        at 
org.apache.james.mailbox.opensearch.events.OpenSearchListeningMessageSearchIndex.generateIndexedJson(OpenSearchListeningMessageSearchIndex.java:175)
        at 
org.apache.james.mailbox.opensearch.events.OpenSearchListeningMessageSearchIndex.add(OpenSearchListeningMessageSearchIndex.java:169)
        at 
org.apache.mailbox.tools.indexer.ReIndexerPerformer.lambda$index$23(ReIndexerPerformer.java:318)
{code}


Impact: the following message cannot be indexed...


Manage the error of James side so the the message is partially indexed (better 
than nothing!)

  was:
[failed.txt](https://github.com/linagora/james-project/files/11247861/failed.txt)

{code:java}
Content-Disposition: attachment; 
        filename*=utf-8''Javier%20Fernandez.DOC;
        filename="Javier Fernandez.DOC"
{code}

Lead to:

{code:java}
java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in 
escape (%) pattern - Error at index 0 in: \"P0\"
        at java.base/java.net.URLDecoder.decode(Unknown Source)
        at java.base/java.net.URLDecoder.decode(Unknown Source)
        at 
org.apache.james.mime4j.util.MimeParameterMapping.decodeParameterValue(MimeParameterMapping.java:55)
        at 
org.apache.james.mime4j.util.MimeParameterMapping.addParameter(MimeParameterMapping.java:39)
        at 
org.apache.james.mime4j.field.ContentDispositionFieldLenientImpl.parse(ContentDispositionFieldLenientImpl.java:165)
        at 
org.apache.james.mime4j.field.ContentDispositionFieldLenientImpl.getDispositionType(ContentDispositionFieldLenientImpl.java:72)
        at 
org.apache.james.mime4j.message.MaximalBodyDescriptor.getContentDispositionType(MaximalBodyDescriptor.java:183)
        at 
org.apache.james.mailbox.opensearch.json.MimePartParser.extractMimePartBodyDescription(MimePartParser.java:133)
        at 
org.apache.james.mailbox.opensearch.json.MimePartParser.manageBodyExtraction(MimePartParser.java:120)
        at 
org.apache.james.mailbox.opensearch.json.MimePartParser.processMimePart(MimePartParser.java:87)
        at 
org.apache.james.mailbox.opensearch.json.MimePartParser.parse(MimePartParser.java:69)
        at 
org.apache.james.mailbox.opensearch.json.IndexableMessage$Builder.instantiateIndexedMessage(IndexableMessage.java:111)
        at 
org.apache.james.mailbox.opensearch.json.IndexableMessage$Builder.build(IndexableMessage.java:76)
        at 
org.apache.james.mailbox.opensearch.json.MessageToOpenSearchJson.convertToJson(MessageToOpenSearchJson.java:74)
        at 
org.apache.james.mailbox.opensearch.events.OpenSearchListeningMessageSearchIndex.generateIndexedJson(OpenSearchListeningMessageSearchIndex.java:175)
        at 
org.apache.james.mailbox.opensearch.events.OpenSearchListeningMessageSearchIndex.add(OpenSearchListeningMessageSearchIndex.java:169)
        at 
org.apache.mailbox.tools.indexer.ReIndexerPerformer.lambda$index$23(ReIndexerPerformer.java:318)
{code}


Impact: the following message cannot be indexed...


Manage the error of James side so the the message is partially indexed (better 
than nothing!)


> Indexing skipped for email with weird content-disposition
> ---------------------------------------------------------
>
>                 Key: JAMES-3901
>                 URL: https://issues.apache.org/jira/browse/JAMES-3901
>             Project: James Server
>          Issue Type: Bug
>          Components: elasticsearch
>    Affects Versions: 3.7.0
>            Reporter: Benoit Tellier
>            Priority: Major
>             Fix For: 3.8.0
>
>
> {code:java}
> Content-Disposition: attachment; 
>         filename*=utf-8''Javier%20Fernandez.DOC;
>         filename="Javier Fernandez.DOC"
> {code}
> Lead to:
> {code:java}
> java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in 
> escape (%) pattern - Error at index 0 in: \"P0\"
>       at java.base/java.net.URLDecoder.decode(Unknown Source)
>       at java.base/java.net.URLDecoder.decode(Unknown Source)
>       at 
> org.apache.james.mime4j.util.MimeParameterMapping.decodeParameterValue(MimeParameterMapping.java:55)
>       at 
> org.apache.james.mime4j.util.MimeParameterMapping.addParameter(MimeParameterMapping.java:39)
>       at 
> org.apache.james.mime4j.field.ContentDispositionFieldLenientImpl.parse(ContentDispositionFieldLenientImpl.java:165)
>       at 
> org.apache.james.mime4j.field.ContentDispositionFieldLenientImpl.getDispositionType(ContentDispositionFieldLenientImpl.java:72)
>       at 
> org.apache.james.mime4j.message.MaximalBodyDescriptor.getContentDispositionType(MaximalBodyDescriptor.java:183)
>       at 
> org.apache.james.mailbox.opensearch.json.MimePartParser.extractMimePartBodyDescription(MimePartParser.java:133)
>       at 
> org.apache.james.mailbox.opensearch.json.MimePartParser.manageBodyExtraction(MimePartParser.java:120)
>       at 
> org.apache.james.mailbox.opensearch.json.MimePartParser.processMimePart(MimePartParser.java:87)
>       at 
> org.apache.james.mailbox.opensearch.json.MimePartParser.parse(MimePartParser.java:69)
>       at 
> org.apache.james.mailbox.opensearch.json.IndexableMessage$Builder.instantiateIndexedMessage(IndexableMessage.java:111)
>       at 
> org.apache.james.mailbox.opensearch.json.IndexableMessage$Builder.build(IndexableMessage.java:76)
>       at 
> org.apache.james.mailbox.opensearch.json.MessageToOpenSearchJson.convertToJson(MessageToOpenSearchJson.java:74)
>       at 
> org.apache.james.mailbox.opensearch.events.OpenSearchListeningMessageSearchIndex.generateIndexedJson(OpenSearchListeningMessageSearchIndex.java:175)
>       at 
> org.apache.james.mailbox.opensearch.events.OpenSearchListeningMessageSearchIndex.add(OpenSearchListeningMessageSearchIndex.java:169)
>       at 
> org.apache.mailbox.tools.indexer.ReIndexerPerformer.lambda$index$23(ReIndexerPerformer.java:318)
> {code}
> Impact: the following message cannot be indexed...
> Manage the error of James side so the the message is partially indexed 
> (better than nothing!)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to