Actually the issue is from Mina 2.2.3 and now I try to find how to
fix/workaround sessionClosed to be invoked in case of TLS error, because
sessionClosed invokes the method onDisconnect of the apache ftplet.
On Friday, April 17, 2026 at 04:53:39 PM GMT+3, T.Nalbantova via dev
<[email protected]> wrote:
Hi,
Can you please help. We implemented apache ftp server and try to migrate to
newer Mina (2.2.5), currently we have Mina 2.2.1. The issue also exists in Mina
2.2.2. Before on TLS error the method onDisconnect of the apache ftp was
invoked.
Now it is not and it is somehow related to the changes in Mina project. Can you
please advice what to check and do you see workaround? Here is an exception I
see in our log file, I hope it can help to find what to fix.
Is it possible to be related to
https://issues.apache.org/jira/browse/DIRMINA-1180 ?
Do you think some changes in SslFilter/or extended class can fix the problem
(for example in method filterClose or other)?
javax.net.ssl.SSLHandshakeException: (certificate_required) Empty client
certificate chain
.......... ...........
at
org.apache.mina.filter.ssl.SSLHandlerG0.execute_task(SSLHandlerG0.java:743)
at
org.apache.mina.filter.ssl.SSLHandlerG0.receive_loop(SSLHandlerG0.java:255)
at org.apache.mina.filter.ssl.SSLHandlerG0.receive(SSLHandlerG0.java:162)
at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:405)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
at
org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:122)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:643)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:539)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$1200(AbstractPollingIoProcessor.java:68)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1224)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1213)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:683)
at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Regards,Tatyana