[
https://issues.apache.org/jira/browse/JAMES-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tellier Benoit updated JAMES-1580:
----------------------------------
Labels: easyfix (was: )
> HBase mailbox may be blocked permanently by a malformed email
> -------------------------------------------------------------
>
> Key: JAMES-1580
> URL: https://issues.apache.org/jira/browse/JAMES-1580
> Project: James Server
> Issue Type: Bug
> Components: POP3Server
> Affects Versions: Trunk, 3.0-beta4
> Environment: POP3 mailbox access with the mailbox managed by HBase
> Reporter: Nikolai Grigoriev
> Labels: easyfix
>
> I have discovered the problem when working on a company-specific fork of
> James but when I verified the trunk code I believe I saw the same problem
> there too.
> org.apache.james.mailbox.hbase.HBaseUtils.messageMetaFromResult() calls
> getProperty() method like this:
> {code}
> //get message properties
> if (Bytes.startsWith(keys[i].getQualifier(), PREFIX_PROP_B)) {
> propList.add(getProperty(keys[i].getValue()));
> } else if (Bytes.startsWith(keys[i].getQualifier(),
> PREFIX_SFLAGS_B)) {
> {code}
> getProperty() method throws RuntimeException (which is a bad practice, in my
> opinion, in this case). This exception is not handled anywhere close enough
> in this method or in the caller. As result, when a message in the mailbox
> cannot be parsed, then the mailbox becomes permanently inaccessible until
> that message is removed manually. Any attempt to authenticate with, for
> example, POP3 server results in failure because the mailbox cannot be read.
> I am receiving such messages from time to time so the problem is real.
> I think the best solution would be either to skip the property and move to
> the next one.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]