Hello Martin, If I understand you correctly, there are cases in which the session is closed due to a javax.net.ssl.SSLHandshakeException , but you do not want to show any of this in the logfile? Thus, you do not want the "2014.12.04-15:51:20.429 INFO : pool-3-thread-5: FtpLoggingFilter: CLOSED" line either. Is that correct?
If you only want to ignore the stacktrace, you might change the "FtpLoggingFilter" and recompile Mina FTP Server or maybe you can modify the FilterChain in a servlet when you get the AUTH TLS request and substitute FtpLoggingFilter for your own implementation. I do not know if there is a way to solve this using NDC or MDC... Kindest regards, David Latorre 2014-12-15 9:15 GMT+01:00 Martin Wunderlich <m...@censhare.de>: > > Hi all, > > we recently noticed that the Apache MINA FTPServer will log an > javax.net.ssl.SSLHandshakeException when the server does not have a valid > certificate. The complete stracktrace from the log files is listed below. > Since it is logged on the MINA-side, it doesn’t even reach my section of > the Java code. > > Is there a way to suppress the logging of this particular Exception while > retaining the loggings of other WARNINGs? > > Cheers, > > Martin > > > > 2014.12.04-15:51:20.318 INFO : NioProcessor-9: FtpLoggingFilter: CREATED > 2014.12.04-15:51:20.320 INFO : pool-3-thread-5: FtpLoggingFilter: OPENED > 2014.12.04-15:51:20.321 INFO : pool-3-thread-6: FtpLoggingFilter: SENT: > 220 Service ready for new user. > > 2014.12.04-15:51:20.333 INFO : pool-3-thread-5: FtpLoggingFilter: > RECEIVED: AUTH TLS > 2014.12.04-15:51:20.425 WARNING: pool-3-thread-6: FtpLoggingFilter: > EXCEPTION : > javax.net.ssl.SSLHandshakeException: SSL handshake failed. > at > org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:507) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:943) > at > org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:535) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:714) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1121) > at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: javax.net.ssl.SSLHandshakeException: Invalid Padding length: 140 > at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) > at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1683) > at > sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:959) > at > sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:884) > at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:758) > at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624) > at > org.apache.mina.filter.ssl.SslHandler.unwrap(SslHandler.java:748) > at > org.apache.mina.filter.ssl.SslHandler.unwrapHandshake(SslHandler.java:683) > at > org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:569) > at > org.apache.mina.filter.ssl.SslHandler.messageReceived(SslHandler.java:355) > at > org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:488) > ... 15 more > Caused by: javax.crypto.BadPaddingException: Invalid Padding length: 140 > at sun.security.ssl.CipherBox.removePadding(CipherBox.java:684) > at sun.security.ssl.CipherBox.decrypt(CipherBox.java:423) > at sun.security.ssl.InputRecord.decrypt(InputRecord.java:154) > at > sun.security.ssl.EngineInputRecord.decrypt(EngineInputRecord.java:192) > at > sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:953) > ... 23 more > 2014.12.04-15:51:20.427 SEVERE : pool-3-thread-6: DefaultFtpHandler: > Exception caught, closing session > javax.net.ssl.SSLHandshakeException: SSL handshake failed. > at > org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:507) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:943) > at > org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:535) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:714) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1121) > at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: javax.net.ssl.SSLHandshakeException: Invalid Padding length: 140 > at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) > at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1683) > at > sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:959) > at > sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:884) > at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:758) > at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624) > at > org.apache.mina.filter.ssl.SslHandler.unwrap(SslHandler.java:748) > at > org.apache.mina.filter.ssl.SslHandler.unwrapHandshake(SslHandler.java:683) > at > org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:569) > at > org.apache.mina.filter.ssl.SslHandler.messageReceived(SslHandler.java:355) > at > org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:488) > ... 15 more > Caused by: javax.crypto.BadPaddingException: Invalid Padding length: 140 > at sun.security.ssl.CipherBox.removePadding(CipherBox.java:684) > at sun.security.ssl.CipherBox.decrypt(CipherBox.java:423) > at sun.security.ssl.InputRecord.decrypt(InputRecord.java:154) > at > sun.security.ssl.EngineInputRecord.decrypt(EngineInputRecord.java:192) > at > sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:953) > ... 23 more > 2014.12.04-15:51:20.429 INFO : pool-3-thread-5: FtpLoggingFilter: CLOSED >