You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Thomas Söhngen (JIRA)" <se...@james.apache.org> on 2015/05/06 12:36:00 UTC
[jira] [Comment Edited] (JAMES-1566) PatternSyntaxException in
MailboxQuery
[ https://issues.apache.org/jira/browse/JAMES-1566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14530312#comment-14530312 ]
Thomas Söhngen edited comment on JAMES-1566 at 5/6/15 10:35 AM:
----------------------------------------------------------------
Hi, I provided my own patch (sorry, I thought I already did when I opened this ticket). I think the other patch might have a problem with dots as path delimiter (which is not tested in the Test class).
The problem is in this part:
} else if (token.equals("%")) {
return "[^" + pathDelimiter + "]*";
If you have a path delimiter which is a regex special char and is not escaped, this will not match on anything. You could do it like this:
} else if (token.equals("%")) {
return "[^\\Q" + pathDelimiter + "\\E]*";
was (Author: thomas.soehngen):
Hi, I provided my own patch (sorry, I thought I already did when I opened this ticket). I think the other patch might have a problem with dots as path delimiter (which is not tested in the Test class).
The problem is in this part:
} else if (token.equals("%")) {
return "[^" + pathDelimiter + "]*";
If you have a path delimiter which is a regex special char and is not escaped, this will not match on anything. You could do it like this:
} else if (token.equals("%")) {
return "[^\\Q" + pathDelimiter + "\\E]*";
> PatternSyntaxException in MailboxQuery
> --------------------------------------
>
> Key: JAMES-1566
> URL: https://issues.apache.org/jira/browse/JAMES-1566
> Project: James Server
> Issue Type: Bug
> Components: MailStore & MailRepository
> Affects Versions: 3.0.0-beta5
> Reporter: Thomas Söhngen
> Assignee: Eric Charles
> Priority: Minor
> Fix For: 3.0.0-beta5
>
> Attachments: 0001-JWC-121-Regular-expression-used-in-MailboxQuery-shou.patch, JAMES-1566.patch
>
>
> If folder names contain unclosed parentheses (like "Folder.foo(bar") the pattern compiler will raise the following exception:
> java.util.regex.PatternSyntaxException: Unclosed group near index 13
> Folder.foo(bar
> ^
> at java.util.regex.Pattern.error(Pattern.java:1955)
> at java.util.regex.Pattern.accept(Pattern.java:1813)
> at java.util.regex.Pattern.group0(Pattern.java:2908)
> at java.util.regex.Pattern.sequence(Pattern.java:2051)
> at java.util.regex.Pattern.expr(Pattern.java:1996)
> at java.util.regex.Pattern.compile(Pattern.java:1696)
> at java.util.regex.Pattern.<init>(Pattern.java:1351)
> at java.util.regex.Pattern.compile(Pattern.java:1028)
> at org.apache.james.mailbox.model.MailboxQuery.<init>(MailboxQuery.java:72)
> at org.apache.james.imap.processor.ListProcessor.doProcess(ListProcessor.java:175)
> [...]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org