[jira] [Updated] (JAMES-1580) HBase mailbox may be blocked permanently by a malformed email

2017-04-10 Thread Tellier Benoit (JIRA)

 [ 
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: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org



[jira] [Updated] (JAMES-1580) HBase mailbox may be blocked permanently by a malformed email

2015-06-05 Thread Nikolai Grigoriev (JIRA)

 [ 
https://issues.apache.org/jira/browse/JAMES-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikolai Grigoriev updated JAMES-1580:
-
Description: 
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.

  was:
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.


 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

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

-
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org