[jira] [Commented] (JAMES-2557) NULL_SENDER throws an error in Dlp
[ https://issues.apache.org/jira/browse/JAMES-2557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16716372#comment-16716372 ] Tellier Benoit commented on JAMES-2557: --- https://github.com/linagora/james-project/pull/2004 Finally deprecate MailAddress::nullSender > NULL_SENDER throws an error in Dlp > -- > > Key: JAMES-2557 > URL: https://issues.apache.org/jira/browse/JAMES-2557 > Project: James Server > Issue Type: Bug > Components: Mailet Contributions >Affects Versions: master, 3.1.0 >Reporter: Tellier Benoit >Priority: Major > Fix For: 3.2.0 > > > Watching Kibana logs I got this recurring error: > {code:java} > Exception calling dlp.Dlp: NULL sender '<>' do not have domain part > java.lang.IllegalStateException: NULL sender '<>' do not have domain part > at org.apache.james.core.MailAddress$1.getDomain(MailAddress.java:87) > at org.apache.james.transport.matchers.dlp.Dlp.matchingRule(Dlp.java:76) > at > org.apache.james.transport.matchers.dlp.Dlp.lambda$findFirstMatchingRule$0(Dlp.java:72) > at java.util.Optional.flatMap(Optional.java:241) > at > org.apache.james.transport.matchers.dlp.Dlp.findFirstMatchingRule(Dlp.java:72) > at org.apache.james.transport.matchers.dlp.Dlp.match(Dlp.java:55) > at > org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:109) > at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:481) > at > org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:300) > at > org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:273) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:187) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:70) > at > org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:200) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:124) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:135) > at > org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:127) > at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:241) > at org.apache.camel.processor.Splitter.process(Splitter.java:122) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at > org.apache.camel.component.direct.DirectBlockingProducer.process(DirectBlockingProducer.java:53) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:186) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:541) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:506) > at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:369) > at > org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:506) > at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:229) > at > org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:144) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:161) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:168) > at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:68) > at > org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:84) > at > org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$run$0(JamesMailSpooler.java:163) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at >
[jira] [Commented] (JAMES-2557) NULL_SENDER throws an error in Dlp
[ https://issues.apache.org/jira/browse/JAMES-2557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16716371#comment-16716371 ] Tellier Benoit commented on JAMES-2557: --- https://github.com/linagora/james-project/pull/2003 Use MaybeSender in SMTP session > NULL_SENDER throws an error in Dlp > -- > > Key: JAMES-2557 > URL: https://issues.apache.org/jira/browse/JAMES-2557 > Project: James Server > Issue Type: Bug > Components: Mailet Contributions >Affects Versions: master, 3.1.0 >Reporter: Tellier Benoit >Priority: Major > Fix For: 3.2.0 > > > Watching Kibana logs I got this recurring error: > {code:java} > Exception calling dlp.Dlp: NULL sender '<>' do not have domain part > java.lang.IllegalStateException: NULL sender '<>' do not have domain part > at org.apache.james.core.MailAddress$1.getDomain(MailAddress.java:87) > at org.apache.james.transport.matchers.dlp.Dlp.matchingRule(Dlp.java:76) > at > org.apache.james.transport.matchers.dlp.Dlp.lambda$findFirstMatchingRule$0(Dlp.java:72) > at java.util.Optional.flatMap(Optional.java:241) > at > org.apache.james.transport.matchers.dlp.Dlp.findFirstMatchingRule(Dlp.java:72) > at org.apache.james.transport.matchers.dlp.Dlp.match(Dlp.java:55) > at > org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:109) > at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:481) > at > org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:300) > at > org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:273) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:187) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:70) > at > org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:200) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:124) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:135) > at > org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:127) > at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:241) > at org.apache.camel.processor.Splitter.process(Splitter.java:122) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at > org.apache.camel.component.direct.DirectBlockingProducer.process(DirectBlockingProducer.java:53) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:186) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:541) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:506) > at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:369) > at > org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:506) > at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:229) > at > org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:144) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:161) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:168) > at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:68) > at > org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:84) > at > org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$run$0(JamesMailSpooler.java:163) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at >
[jira] [Commented] (JAMES-2557) NULL_SENDER throws an error in Dlp
[ https://issues.apache.org/jira/browse/JAMES-2557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16671095#comment-16671095 ] Tellier Benoit commented on JAMES-2557: --- https://github.com/linagora/james-project/pull/1861 MaybeSender should be used in SMTP layers > NULL_SENDER throws an error in Dlp > -- > > Key: JAMES-2557 > URL: https://issues.apache.org/jira/browse/JAMES-2557 > Project: James Server > Issue Type: Bug > Components: Mailet Contributions >Affects Versions: master, 3.1.0 >Reporter: Tellier Benoit >Priority: Major > Fix For: 3.2.0 > > > Watching Kibana logs I got this recurring error: > {code:java} > Exception calling dlp.Dlp: NULL sender '<>' do not have domain part > java.lang.IllegalStateException: NULL sender '<>' do not have domain part > at org.apache.james.core.MailAddress$1.getDomain(MailAddress.java:87) > at org.apache.james.transport.matchers.dlp.Dlp.matchingRule(Dlp.java:76) > at > org.apache.james.transport.matchers.dlp.Dlp.lambda$findFirstMatchingRule$0(Dlp.java:72) > at java.util.Optional.flatMap(Optional.java:241) > at > org.apache.james.transport.matchers.dlp.Dlp.findFirstMatchingRule(Dlp.java:72) > at org.apache.james.transport.matchers.dlp.Dlp.match(Dlp.java:55) > at > org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:109) > at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:481) > at > org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:300) > at > org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:273) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:187) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:70) > at > org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:200) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:124) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:135) > at > org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:127) > at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:241) > at org.apache.camel.processor.Splitter.process(Splitter.java:122) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at > org.apache.camel.component.direct.DirectBlockingProducer.process(DirectBlockingProducer.java:53) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:186) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:541) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:506) > at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:369) > at > org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:506) > at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:229) > at > org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:144) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:161) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:168) > at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:68) > at > org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:84) > at > org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$run$0(JamesMailSpooler.java:163) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at >
[jira] [Commented] (JAMES-2557) NULL_SENDER throws an error in Dlp
[ https://issues.apache.org/jira/browse/JAMES-2557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16668033#comment-16668033 ] Tellier Benoit commented on JAMES-2557: --- Added a MaybeSender object and did use it everywhere in Mailet related code. https://github.com/linagora/james-project/pull/1846 > NULL_SENDER throws an error in Dlp > -- > > Key: JAMES-2557 > URL: https://issues.apache.org/jira/browse/JAMES-2557 > Project: James Server > Issue Type: Bug > Components: Mailet Contributions >Affects Versions: master, 3.1.0 >Reporter: Tellier Benoit >Priority: Major > Fix For: 3.2.0 > > > Watching Kibana logs I got this recurring error: > {code:java} > Exception calling dlp.Dlp: NULL sender '<>' do not have domain part > java.lang.IllegalStateException: NULL sender '<>' do not have domain part > at org.apache.james.core.MailAddress$1.getDomain(MailAddress.java:87) > at org.apache.james.transport.matchers.dlp.Dlp.matchingRule(Dlp.java:76) > at > org.apache.james.transport.matchers.dlp.Dlp.lambda$findFirstMatchingRule$0(Dlp.java:72) > at java.util.Optional.flatMap(Optional.java:241) > at > org.apache.james.transport.matchers.dlp.Dlp.findFirstMatchingRule(Dlp.java:72) > at org.apache.james.transport.matchers.dlp.Dlp.match(Dlp.java:55) > at > org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:109) > at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:481) > at > org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:300) > at > org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:273) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:187) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:70) > at > org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:200) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:124) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:135) > at > org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:127) > at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:241) > at org.apache.camel.processor.Splitter.process(Splitter.java:122) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at > org.apache.camel.component.direct.DirectBlockingProducer.process(DirectBlockingProducer.java:53) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:186) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:541) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:506) > at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:369) > at > org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:506) > at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:229) > at > org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:144) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:161) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:168) > at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:68) > at > org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:84) > at > org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$run$0(JamesMailSpooler.java:163) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at >
[jira] [Commented] (JAMES-2557) NULL_SENDER throws an error in Dlp
[ https://issues.apache.org/jira/browse/JAMES-2557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16661586#comment-16661586 ] Tellier Benoit commented on JAMES-2557: --- https://github.com/linagora/james-project/pull/1818 solved a similar issue for SenderIs matchers > NULL_SENDER throws an error in Dlp > -- > > Key: JAMES-2557 > URL: https://issues.apache.org/jira/browse/JAMES-2557 > Project: James Server > Issue Type: Bug > Components: Mailet Contributions >Affects Versions: master, 3.1.0 >Reporter: Tellier Benoit >Priority: Major > Fix For: 3.2.0 > > > Watching Kibana logs I got this recurring error: > {code:java} > Exception calling dlp.Dlp: NULL sender '<>' do not have domain part > java.lang.IllegalStateException: NULL sender '<>' do not have domain part > at org.apache.james.core.MailAddress$1.getDomain(MailAddress.java:87) > at org.apache.james.transport.matchers.dlp.Dlp.matchingRule(Dlp.java:76) > at > org.apache.james.transport.matchers.dlp.Dlp.lambda$findFirstMatchingRule$0(Dlp.java:72) > at java.util.Optional.flatMap(Optional.java:241) > at > org.apache.james.transport.matchers.dlp.Dlp.findFirstMatchingRule(Dlp.java:72) > at org.apache.james.transport.matchers.dlp.Dlp.match(Dlp.java:55) > at > org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:109) > at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:481) > at > org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:300) > at > org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:273) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:187) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:70) > at > org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:200) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:124) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:135) > at > org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:127) > at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:241) > at org.apache.camel.processor.Splitter.process(Splitter.java:122) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at > org.apache.camel.component.direct.DirectBlockingProducer.process(DirectBlockingProducer.java:53) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:186) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:541) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:506) > at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:369) > at > org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:506) > at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:229) > at > org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:144) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:161) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:168) > at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:68) > at > org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:84) > at > org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$run$0(JamesMailSpooler.java:163) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at >
[jira] [Commented] (JAMES-2557) NULL_SENDER throws an error in Dlp
[ https://issues.apache.org/jira/browse/JAMES-2557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16655079#comment-16655079 ] Tellier Benoit commented on JAMES-2557: --- See https://github.com/linagora/james-project/pull/1818 > NULL_SENDER throws an error in Dlp > -- > > Key: JAMES-2557 > URL: https://issues.apache.org/jira/browse/JAMES-2557 > Project: James Server > Issue Type: Bug > Components: Mailet Contributions >Affects Versions: master, 3.1.0 >Reporter: Tellier Benoit >Priority: Major > Fix For: 3.2.0 > > > Watching Kibana logs I got this recurring error: > {code:java} > Exception calling dlp.Dlp: NULL sender '<>' do not have domain part > java.lang.IllegalStateException: NULL sender '<>' do not have domain part > at org.apache.james.core.MailAddress$1.getDomain(MailAddress.java:87) > at org.apache.james.transport.matchers.dlp.Dlp.matchingRule(Dlp.java:76) > at > org.apache.james.transport.matchers.dlp.Dlp.lambda$findFirstMatchingRule$0(Dlp.java:72) > at java.util.Optional.flatMap(Optional.java:241) > at > org.apache.james.transport.matchers.dlp.Dlp.findFirstMatchingRule(Dlp.java:72) > at org.apache.james.transport.matchers.dlp.Dlp.match(Dlp.java:55) > at > org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:109) > at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:481) > at > org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:300) > at > org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:273) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:187) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:70) > at > org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:200) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:124) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:135) > at > org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:127) > at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:241) > at org.apache.camel.processor.Splitter.process(Splitter.java:122) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at > org.apache.camel.component.direct.DirectBlockingProducer.process(DirectBlockingProducer.java:53) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:186) > at > org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:541) > at > org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:506) > at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:369) > at > org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:506) > at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:229) > at > org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:144) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:161) > at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:168) > at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:68) > at > org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:84) > at > org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$run$0(JamesMailSpooler.java:163) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at
[jira] [Commented] (JAMES-2557) NULL_SENDER throws an error in Dlp
[ https://issues.apache.org/jira/browse/JAMES-2557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16655075#comment-16655075 ] Tellier Benoit commented on JAMES-2557: --- We encopuntered the following logs in production: ``` Exception calling SenderIsLocal: NULL sender '<>' do not have domain part java.lang.IllegalStateException: NULL sender '<>' do not have domain part at org.apache.james.core.MailAddress$1.getDomain(MailAddress.java:87) at org.apache.james.mailetcontainer.impl.JamesMailetContext.isLocalEmail(JamesMailetContext.java:253) at org.apache.james.transport.matchers.SenderIsLocal.isLocal(SenderIsLocal.java:43) at org.apache.james.transport.matchers.SenderIsLocal.match(SenderIsLocal.java:36) at org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:109) at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:481) ``` As this PR demonstrate, `MailAddress.nullSender()` hack is harmful and required a check each time the sender is checked/used. We could try to patch this in some places, where we know it will break. Known breakdown: - `SenderIs*` matchers (see ) - MailetContext::bounce - Signature mailets - `IsSenderInRRTLoop SenderInFakeDomain` - JMAP vacation and Redirect that does rely to the original senders ### Alternative proposal Maybe a better alternative is to redesign the `Mail` api and propose a ``` Optional getSenderAsOptional() ``` Deprecate todays `getSender()` and `nullSender()`... Then we have to make the existing code work with `getSenderAsOptional()` only... > NULL_SENDER throws an error in Dlp > -- > > Key: JAMES-2557 > URL: https://issues.apache.org/jira/browse/JAMES-2557 > Project: James Server > Issue Type: Bug > Components: Mailet Contributions >Affects Versions: master, 3.1.0 >Reporter: Tellier Benoit >Priority: Major > Fix For: 3.2.0 > > > Watching Kibana logs I got this recurring error: > {code:java} > Exception calling dlp.Dlp: NULL sender '<>' do not have domain part > java.lang.IllegalStateException: NULL sender '<>' do not have domain part > at org.apache.james.core.MailAddress$1.getDomain(MailAddress.java:87) > at org.apache.james.transport.matchers.dlp.Dlp.matchingRule(Dlp.java:76) > at > org.apache.james.transport.matchers.dlp.Dlp.lambda$findFirstMatchingRule$0(Dlp.java:72) > at java.util.Optional.flatMap(Optional.java:241) > at > org.apache.james.transport.matchers.dlp.Dlp.findFirstMatchingRule(Dlp.java:72) > at org.apache.james.transport.matchers.dlp.Dlp.match(Dlp.java:55) > at > org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:109) > at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:481) > at > org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:300) > at > org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:273) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:187) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) > at > org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:70) > at > org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:200) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:124) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:135) > at > org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:127) > at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:241) > at org.apache.camel.processor.Splitter.process(Splitter.java:122) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) > at >