I would say your error message is caused when the FTPClient disconnects in a non-graceful manner. On the other hand, if I remember correctly the SSL exception might be due to some bug in Mina - quite annoying when your log level is debug but otherwise totally harmless (as far as I know) -but it is possible that just most clients don't handle SSL disconnect in a propery way.
2009/1/22 Pitoniak, Michael <[email protected]> > Here is my code....rather trivail usage case. > > > > import java.io.File; > > import org.apache.ftpserver.FtpServer; > import org.apache.ftpserver.FtpServerFactory; > import org.apache.ftpserver.listener.ListenerFactory; > import org.apache.ftpserver.usermanager.ClearTextPasswordEncryptor; > import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory; > > import common.CommonConstants; > > > public class ApacheFtpServer{ > private FtpServer server = null; > > > public ApacheFtpServer(int port) throws Exception{ > initialize(port); > } > > private void initialize(int port) throws Exception{ > FtpServerFactory serverFactory = new FtpServerFactory(); > > ListenerFactory factory = new ListenerFactory(); > > // set the port of the listener > factory.setPort(port); > > // define SSL configuration > //SslConfigurationFactory ssl = new SslConfigurationFactory(); > //ssl.setKeystoreFile(new > File("support/apacheFtpServer/ftpserver.jks")); > //ssl.setKeystorePassword("password"); > > // set the SSL configuration for the listener > //factory.setSslConfiguration(ssl.createSslConfiguration()); > //factory.setImplicitSsl(true); > > // replace the default listener > serverFactory.addListener("default", factory.createListener()); > > PropertiesUserManagerFactory userManagerFactory = new > PropertiesUserManagerFactory(); > userManagerFactory.setFile(new > File(CommonConstants.FTP_USERS_PROPERTIES_FILE)); > userManagerFactory.setPasswordEncryptor(new > ClearTextPasswordEncryptor ()); > > > serverFactory.setUserManager(userManagerFactory.createUserManager()); > > // start the server > server = serverFactory.createServer(); > > server.start(); > } > > public void suspend() throws Exception{ > server.suspend(); > } > > public void resume() throws Exception{ > server.resume(); > } > > public void stop() throws Exception{ > server.stop(); > } > > > > public static void main(String[] args) throws Exception { > new ApacheFtpServer(CommonConstants.FTP_SERVER_DEFAULT_PORT); > } > > } > > > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: Thursday, January 22, 2009 12:32 PM > To: [email protected] > Subject: Re: IOException on ftp client disconnect > > You also get something similar using filezilla in SSL mode when it > disconnects: > > > [DEBUG] 2009-01-19 12:04:40,288 [] [] Unexpected exception from > SSLEngine.closeInbound(). > javax.net.ssl.SSLException: Inbound closed before receiving peer's > close_notify: possible truncation attack? > at > com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:166) > at > com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1356) > at > com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1324) > at > > com.sun.net.ssl.internal.ssl.SSLEngineImpl.closeInbound(SSLEngineImpl.java:1263) > at org.apache.mina.filter.ssl.SslHandler.destroy(SslHandler.java:155) > at > org.apache.mina.filter.ssl.SslFilter.sessionClosed(SslFilter.java:386) > at > > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionClosed(DefaultIoFilterChain.java:378) > at > > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$900(DefaultIoFilterChain.java:49) > at > > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionClosed(DefaultIoFilterChain.java:817) > at > > org.apache.mina.core.filterchain.DefaultIoFilterChain$HeadFilter.sessionClosed(DefaultIoFilterChain.java:598) > at > > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionClosed(DefaultIoFilterChain.java:378) > at > > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireSessionClosed(DefaultIoFilterChain.java:373) > at > > org.apache.mina.core.service.IoServiceListenerSupport.fireSessionDestroyed(IoServiceListenerSupport.java:229) > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPollingIoProcessor.java:485) > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor.remove(AbstractPollingIoProcessor.java:455) > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:58) > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:862) > at > > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > [ INFO] 2009-01-19 12:04:40,289 [gary] [172.25.72.185] CLOSED > > > Best Regards, > > Gary > > > >
