I am trying to setup a FTP server on Android using Apache FTP server libraries. I was able to setup a FTP with Implicit SSL enabled in JVM. When I ran the FTP server on Android, the connection was always lost right after the client received the certificate. The following error was shown in LogCat. This error was caused by SSLEngineResult.getHandshakeStatus() returned "NOT_HANDSHAKING". I spent a week trying to resolve this problem, but without any luck. Can anyone give me some pointers where I should search for the real cause of the error? Thank you.
08-03 01:19:08.739: WARN/org.apache.ftps(501): EXCEPTION : 08-03 01:19:08.739: WARN/org.apache.ftps(501): java.lang.IllegalStateException: Invalid Handshaking StateNOT_HANDSHAKING 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:517) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslHandler.writeNetBuffer(SslHandler.java: 561) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:513) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslHandler.messageReceived(SslHandler.java: 299) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java: 414) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived (DefaultIoFilterChain.java:433) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200 (DefaultIoFilterChain.java:47) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.messageReceived(DefaultIoFilterChain.java:801) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived (IoFilterAdapter.java:119) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived (DefaultIoFilterChain.java:433) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived (DefaultIoFilterChain.java:425) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor.read (AbstractPollingIoProcessor.java:603) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor.process (AbstractPollingIoProcessor.java:563) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor.process (AbstractPollingIoProcessor.java:552) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400 (AbstractPollingIoProcessor.java:56) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run (AbstractPollingIoProcessor.java:891) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at org.apache.mina.util.NamePreservingRunnable.run (NamePreservingRunnable.java:64) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at java.util.concurrent.ThreadPoolExecutor$Worker.runTask (ThreadPoolExecutor.java:648) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:673) 08-03 01:19:08.739: WARN/org.apache.ftps(501): at java.lang.Thread.run(Thread.java:1058) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): Exception caught, closing session 08-03 01:19:08.749: ERROR/org.apache.ftps(501): java.lang.IllegalStateException: Invalid Handshaking StateNOT_HANDSHAKING 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:517) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslHandler.writeNetBuffer(SslHandler.java: 561) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:513) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslHandler.messageReceived(SslHandler.java: 299) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java: 414) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived (DefaultIoFilterChain.java:433) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200 (DefaultIoFilterChain.java:47) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.messageReceived(DefaultIoFilterChain.java:801) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived (IoFilterAdapter.java:119) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived (DefaultIoFilterChain.java:433) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived (DefaultIoFilterChain.java:425) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor.read (AbstractPollingIoProcessor.java:603) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor.process (AbstractPollingIoProcessor.java:563) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor.process (AbstractPollingIoProcessor.java:552) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400 (AbstractPollingIoProcessor.java:56) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run (AbstractPollingIoProcessor.java:891) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at org.apache.mina.util.NamePreservingRunnable.run (NamePreservingRunnable.java:64) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at java.util.concurrent.ThreadPoolExecutor$Worker.runTask (ThreadPoolExecutor.java:648) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:673) 08-03 01:19:08.749: ERROR/org.apache.ftps(501): at java.lang.Thread.run(Thread.java:1058) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): Unexpected exception from SSLEngine.closeInbound(). 08-03 01:19:08.799: DEBUG/org.apache.mina(501): javax.net.ssl.SSLException: Inbound is closed before close_notify alert has been received. 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.harmony.xnet.provider.jsse.SSLEngineImpl.closeInbound (SSLEngineImpl.java:162) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.filter.ssl.SslHandler.destroy(SslHandler.java:168) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.filter.ssl.SslFilter.initiateClosure(SslFilter.java: 623) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.filter.ssl.SslFilter.filterClose(SslFilter.java:579) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose (DefaultIoFilterChain.java:521) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500 (DefaultIoFilterChain.java:47) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.filterClose(DefaultIoFilterChain.java:818) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java: 82) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.filter.logging.MdcInjectionFilter.filter (MdcInjectionFilter.java:136) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.filter.util.CommonEventFilter.filterClose (CommonEventFilter.java:85) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose (DefaultIoFilterChain.java:521) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500 (DefaultIoFilterChain.java:47) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.filterClose(DefaultIoFilterChain.java:818) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.IoFilterAdapter.filterClose (IoFilterAdapter.java:143) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose (DefaultIoFilterChain.java:521) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500 (DefaultIoFilterChain.java:47) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.filterClose(DefaultIoFilterChain.java:818) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.filter.executor.ExecutorFilter.filterClose (ExecutorFilter.java:728) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose (DefaultIoFilterChain.java:521) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500 (DefaultIoFilterChain.java:47) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.filterClose(DefaultIoFilterChain.java:818) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.IoFilterAdapter.filterClose (IoFilterAdapter.java:143) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose (DefaultIoFilterChain.java:521) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500 (DefaultIoFilterChain.java:47) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.filterClose(DefaultIoFilterChain.java:818) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java: 82) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.filter.logging.MdcInjectionFilter.filter (MdcInjectionFilter.java:136) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.filter.util.CommonEventFilter.filterClose (CommonEventFilter.java:85) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose (DefaultIoFilterChain.java:521) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500 (DefaultIoFilterChain.java:47) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.filterClose(DefaultIoFilterChain.java:818) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.IoFilterAdapter.filterClose (IoFilterAdapter.java:143) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose (DefaultIoFilterChain.java:521) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500 (DefaultIoFilterChain.java:47) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl $1.filterClose(DefaultIoFilterChain.java:818) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain $TailFilter.filterClose(DefaultIoFilterChain.java:745) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose (DefaultIoFilterChain.java:521) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterClose (DefaultIoFilterChain.java:514) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.session.AbstractIoSession.close (AbstractIoSession.java:249) 08-03 01:19:08.799: DEBUG/org.apache.mina(501): at org.apache.mina.core.se 08-03 01:19:08.829: INFO/org.apache.ftps(501): CLOSED 08-03 01:19:08.829: DEBUG/org.apache.ftps(501): Closing session --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

