[jira] [Commented] (JAMES-4208) Enable AbstractConfigurableAsyncServer features for LMTP

"Felix (Jira)" <[email protected]> Tue, 19 May 2026 09:23:00 +0000 (UTC)
Newsgroups gmane.comp.jakarta.james.devel
Message-ID <[email protected]>
    [ https://issues.apache.org/jira/browse/JAMES-4208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18081986#comment-18081986 ] 

Felix commented on JAMES-4208:
------------------------------

Oops, didn't see your linagora ticket...

Maybe I misunderstood some of the code and connection limits actually do work. Because the LMTPServer does not overwrite `createPipelineFactory`, it probably does not have to configure connection limits as the default implementation of `AbstractConfigurableAsyncServer` looks like it does the thing.

I compared LMTP's implementation to IMAP which overwrites `createPipelineFactory` to add its command throttler. IMAP then seems to reimplement all of the default behavior again itself but that is probably not required for the LMTPServer.

I guess this can be closed after [https://github.com/apache/james-project/pull/3043] has been merged.

> Enable AbstractConfigurableAsyncServer features for LMTP
> --------------------------------------------------------
>
>                 Key: JAMES-4208
>                 URL: https://issues.apache.org/jira/browse/JAMES-4208
>             Project: James Server
>          Issue Type: Improvement
>          Components: lmtp
>            Reporter: Felix
>            Priority: Minor
>
> Currently, the LMTP server has very few features. It does not support proxies, TLS, or connection limits.
> This is the case although it inherits from AbstractProtocolAsyncServer which inherits from AbstractConfigurableAsyncServer which already reads all relevant configurations. They would only need to be used in `LMTPServer`.
> As you can see [here|[https://github.com/apache/james-project/blob/c7408253d958eba594d7d520fc36304500ec291d/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java#L167],] some functionality is deliberately disabled.
> Benoit said in [this MR|https://github.com/apache/james-project/pull/3040#discussion_r3248188811] that this could be changed.
> As we do not use James LMTP, I will not have time to work on this but just wanted to officially track this instead of leaving it as a MR comment.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)