james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikolai Grigoriev (JIRA)" <server-...@james.apache.org>
Subject [jira] [Created] (JAMES-1580) HBase mailbox may be blocked permanently by a malformed email
Date Fri, 05 Jun 2015 17:39:00 GMT
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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message