You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mime4j-dev@james.apache.org by "Artur Jablonski (JIRA)" <mi...@james.apache.org> on 2017/08/18 09:35:00 UTC
[jira] [Commented] (MIME4J-263) DecoderUtil.decodeEncodedWords()
doesn't decode an encoded empty string
[ https://issues.apache.org/jira/browse/MIME4J-263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16131971#comment-16131971 ]
Artur Jablonski commented on MIME4J-263:
----------------------------------------
I've seen there's a comment in unit tests that the rfc2047 requires at least one character... still. I'd say it makes sense to decode such strings to empty string.
> DecoderUtil.decodeEncodedWords() doesn't decode an encoded empty string
> -----------------------------------------------------------------------
>
> Key: MIME4J-263
> URL: https://issues.apache.org/jira/browse/MIME4J-263
> Project: James Mime4j
> Issue Type: Bug
> Components: parser (core)
> Reporter: Artur Jablonski
> Priority: Minor
>
> {{DecoderUtil.decodeEncodedWords()}} returns an unencoded string if the word to decode is empty.
> For example
> {{DecoderUtil.decodeEncodedWords("=?utf-8?Q??=", DecodeMonitor.SILENT)}}
> returns
> {{"=?utf-8?Q??="}}
> instead of empty string (or perhaps null)
> The problem lies in the regexp that is used behind the scenes that requires at least one character:
> {code}
> private static final Pattern PATTERN_ENCODED_WORD = Pattern.compile(
> "(.*?)=\\?(.+?)\\?(\\w)\\?(.+?)\\?=", Pattern.DOTALL);
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)