Nikolai Grigoriev created JAMES-1580:
----------------------------------------

             Summary: 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: 3.0-beta4, Trunk
         Environment: POP3 mailbox access with the mailbox managed by HBase
            Reporter: Nikolai Grigoriev


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}
while (i < keys.length) {
            //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.

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.4#6332)

---------------------------------------------------------------------
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