You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ftpserver-users@mina.apache.org by Daniel Cane <da...@modernizingmedicine.com> on 2011/03/25 19:48:42 UTC

Determine hostname from a custom UserManager

Greetings all. I’m developing a custom userManager and have impl all wired
up. My question is from inside the authenticate() method I need to know the
equivalent of request.getServerName() in order to correctly associate which
domain the user is in. We partition our data by servername so that use a
user myusername FTPing to foo.myserver.com would be different from
myusername FTPing to bar.myserver.com. Basically, I just need the URL
prefix. Any thoughts as to how I might be able to get that info?



I see that an Ftplet has access to session, but don’t see how to get at this
frim the authenticate method location.



Thanks in advance!



Dan

Re: How to close a client connection ?

Posted by frank buloup <fr...@univmed.fr>.
Ok, in that case disconnection is always synchronised to any command 
coming from client.
I could have imagine a way to disconnect a client that is not event 
client related.
I mean a way to retrieve session from user ID, and a simple method that 
close corresponding session
asynchronously, even if client is idle at this time.

Anyway, your solution is very sufficient for my needs,
thanks
> On Wed, Apr 6, 2011 at 6:49 PM, frank buloup<fr...@univmed.fr>  wrote:
>> Yes ok, but it works during a connection event, No ?
>> How could I do if I want to disconnect a user after its connection has been
>> effective ?
> Ftplets allow you to do this on connection events as well as before
> and after commands. Is that sufficient? If not, what would trigger the
> disconnect?
>
> /niklas
>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: How to close a client connection ?

Posted by frank buloup <fr...@univmed.fr>.
simply perfect,
frank
> On Wed, Apr 6, 2011 at 7:14 PM, Sai Pullabhotla
> <sa...@jmethods.com>  wrote:
>> I think the OP wants to have a way to kill any active sessions in the
>> FTP server. I'm assuming he would have a GUI where he can see the
>> active sessions, and select one or more sessions and disconnect them.
>> Is this what you want Frank?
> Ah, thanks for explaining the use case. In that case, all active
> session can be retrieved using Listener.getActiveSessions(). Iterating
> over the sessions, finding the one you want to kill, you can then call
> session.close() to disconnect the client.
>
> /niklas
>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: How to close a client connection ?

Posted by Niklas Gustavsson <ni...@protocol7.com>.
On Wed, Apr 6, 2011 at 7:14 PM, Sai Pullabhotla
<sa...@jmethods.com> wrote:
> I think the OP wants to have a way to kill any active sessions in the
> FTP server. I'm assuming he would have a GUI where he can see the
> active sessions, and select one or more sessions and disconnect them.
> Is this what you want Frank?

Ah, thanks for explaining the use case. In that case, all active
session can be retrieved using Listener.getActiveSessions(). Iterating
over the sessions, finding the one you want to kill, you can then call
session.close() to disconnect the client.

/niklas

Re: How to close a client connection ?

Posted by frank buloup <fr...@univmed.fr>.
Yes Sai, that is EXACTLY what I would like to do
> I think the OP wants to have a way to kill any active sessions in the
> FTP server. I'm assuming he would have a GUI where he can see the
> active sessions, and select one or more sessions and disconnect them.
> Is this what you want Frank?
>
> On Wed, Apr 6, 2011 at 11:52 AM, Niklas Gustavsson<ni...@protocol7.com>  wrote:
>> On Wed, Apr 6, 2011 at 6:49 PM, frank buloup<fr...@univmed.fr>  wrote:
>>> Yes ok, but it works during a connection event, No ?
>>> How could I do if I want to disconnect a user after its connection has been
>>> effective ?
>> Ftplets allow you to do this on connection events as well as before
>> and after commands. Is that sufficient? If not, what would trigger the
>> disconnect?
>>
>> /niklas
>>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: How to close a client connection ?

Posted by Sai Pullabhotla <sa...@jmethods.com>.
I think the OP wants to have a way to kill any active sessions in the
FTP server. I'm assuming he would have a GUI where he can see the
active sessions, and select one or more sessions and disconnect them.
Is this what you want Frank?

On Wed, Apr 6, 2011 at 11:52 AM, Niklas Gustavsson <ni...@protocol7.com> wrote:
> On Wed, Apr 6, 2011 at 6:49 PM, frank buloup <fr...@univmed.fr> wrote:
>> Yes ok, but it works during a connection event, No ?
>> How could I do if I want to disconnect a user after its connection has been
>> effective ?
>
> Ftplets allow you to do this on connection events as well as before
> and after commands. Is that sufficient? If not, what would trigger the
> disconnect?
>
> /niklas
>

Re: How to close a client connection ?

Posted by Niklas Gustavsson <ni...@protocol7.com>.
On Wed, Apr 6, 2011 at 6:49 PM, frank buloup <fr...@univmed.fr> wrote:
> Yes ok, but it works during a connection event, No ?
> How could I do if I want to disconnect a user after its connection has been
> effective ?

Ftplets allow you to do this on connection events as well as before
and after commands. Is that sufficient? If not, what would trigger the
disconnect?

/niklas

Re: How to close a client connection ?

Posted by frank buloup <fr...@univmed.fr>.
Yes ok, but it works during a connection event, No ?
How could I do if I want to disconnect a user after its connection has 
been effective ?
> 2011/4/6 frank buloup<fr...@univmed.fr>:
>> is there a simple way to force a client connection to be closed ?
> Assuming you want to close it from the server. You can return
> FtpletResult.DISCONNECT from an Ftplet, which will cause the server to
> close the client connection.
>
> /niklas
>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: How to close a client connection ?

Posted by Niklas Gustavsson <ni...@protocol7.com>.
2011/4/6 frank buloup <fr...@univmed.fr>:
> is there a simple way to force a client connection to be closed ?

Assuming you want to close it from the server. You can return
FtpletResult.DISCONNECT from an Ftplet, which will cause the server to
close the client connection.

/niklas

How to close a client connection ?

Posted by frank buloup <fr...@univmed.fr>.
Hello,

is there a simple way to force a client connection to be closed ?

thnks,
frank

-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: Connection closed without indication

Posted by frank buloup <fr...@univmed.fr>.
Hello,

is there a simple way to force a client connection to be closed ?

thnks,
frank

Re: java.net.ConnectException: Connection refused

Posted by frank buloup <fr...@univmed.fr>.
Just tried from outside with Cyberduck, and it is working...
With my application, on the same machine, I get the same error :
INFO - RECEIVED: PORT 0,0,0,0,192,20
So Problem is coming from my code using apache FTP client configuration,
which is not relevant to this mailing list
Sorry.. and thanks a lot
> You should be able to see the logs from your FTP client and see what
> the client is sending with the PORT command. If the client's log shows
> a valid address, the the firewalls are messing it up. If the client
> itself is showing 0.0.0.0, the you have issues with the client
> software or the TCP setup on the system.
>
> On Wed, Apr 6, 2011 at 9:54 AM, frank buloup<fr...@univmed.fr>  wrote:
>> I'm using org.apache.commons.net.ftp for client which is also embedded in
>> application.
>> I've just tried using FireFP plugin for Firefox and it worked in local
>> network .
>> Will try from outside this evening and if it does not work, problem should
>> probably come from our network
>> architecture (IP was filtering ???)
>>
>> thanks for your help
>>> The problem could be the client is not sending a valid PORT command where
>>> the data connection needs to be opened. The line in posted the log -
>>>
>>> INFO - RECEIVED: PORT 0,0,0,0,192,246
>>>
>>> It does not make sense to send 0.0.0.0 (wildcard) with the PORT command.
>>> This should be the client's IP address.
>>>
>>> Which FTP client are you using, and have you tried with any other FTP
>>> client
>>> software?
>>>
>>> On Tue, Apr 5, 2011 at 1:53 PM, frank
>>> buloup<fr...@univmed.fr>wrote:
>>>
>>>> Hello,
>>>>
>>>> I've embeded FTP server in my application. It is working in localhost and
>>>> also in
>>>> our enterprise network. The problem seems to come when a connection is
>>>> initiated from
>>>> the outside of our network. You will find below a log that shows  a
>>>> "java.net.ConnectException: Connection refused" exception on server when
>>>> LIST command is sent.
>>>> On the other side, client is totally frozen !!! It can also be a
>>>> "java.net.ConnectException: Operation timed out"
>>>> exception.
>>>> I've default configuration for server and client with 300s idle time and
>>>> session is closed by server
>>>> after this idle time while client is still frozen.
>>>> I've had a look at mail archive, but did not found anything ?
>>>>
>>>> Thanks a lot.
>>>>
>>>> DEBUG - File configured, will try loading
>>>> DEBUG - File found on file system
>>>> DEBUG - Intializing shared thread pool executor with max threads of 10
>>>> INFO - FTP server started
>>>> DEBUG - Firing a SESSION_CREATED event for session 2
>>>> DEBUG - Firing a SESSION_CREATED event for session 2
>>>> INFO - CREATED
>>>> DEBUG - Event SESSION_CREATED has been fired for session 2
>>>> DEBUG - Event SESSION_CREATED has been fired for session 2
>>>> DEBUG - Firing a SESSION_OPENED event for session 2
>>>> DEBUG - Adding event SESSION_OPENED to session 2
>>>> Queue : [SESSION_OPENED, ]
>>>>
>>>> DEBUG - Event SESSION_OPENED has been fired for session 2
>>>> DEBUG - Firing a SESSION_OPENED event for session 2
>>>> DEBUG - Firing a SESSION_OPENED event for session 2
>>>> INFO - OPENED
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Event SESSION_OPENED has been fired for session 2
>>>> DEBUG - Event SESSION_OPENED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> INFO - SENT: 220 Service ready for new user.
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>>> Queue : [MESSAGE_RECEIVED, ]
>>>>
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> INFO - RECEIVED: USER XXXX
>>>> DEBUG - Currently 0 out of 10 anonymous users logged in
>>>> DEBUG - Currently 0 out of 10 users logged in
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> INFO - SENT: 331 User name okay, need password for XXXX.
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>>> Queue : [MESSAGE_RECEIVED, ]
>>>>
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> INFO - RECEIVED: PASS *****
>>>> DEBUG - Currently 0 out of 10 users logged in
>>>> DEBUG - Native filesystem view created for user "XXXX" with root
>>>> "/Users/XXXX/Desktop/XXXX/"
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> INFO - Login success - XXXX
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> INFO - SENT: 230 User logged in, proceed.
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>>> Queue : [MESSAGE_RECEIVED, ]
>>>>
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> INFO - RECEIVED: SYST
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> INFO - SENT: 215 UNIX Type: Apache FtpServer
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>>> Queue : [MESSAGE_RECEIVED, ]
>>>>
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> INFO - RECEIVED: PORT 0,0,0,0,192,246
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> INFO - SENT: 200 Command PORT okay.
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>>> Queue : [MESSAGE_RECEIVED, ]
>>>>
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>>> INFO - RECEIVED: LIST
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Opening active data connection
>>>> DEBUG - Binding active data connection to /xxx.xxx.xxx.xxx:0
>>>> WARN - FtpDataConnection.getDataSocket()
>>>> java.net.ConnectException: Connection refused
>>>>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>>>>     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>>>     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
>>>>     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>>>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
>>>>     at java.net.Socket.connect(Socket.java:529)
>>>>     at java.net.Socket.connect(Socket.java:477)
>>>>     at
>>>>
>>>> org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
>>>>     at
>>>>
>>>> org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
>>>>     at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
>>>>     at
>>>>
>>>> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
>>>>     at
>>>>
>>>> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>>     at
>>>>
>>>> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>>>     at
>>>>
>>>> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
>>>>     at
>>>>
>>>> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>>     at
>>>>
>>>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>>>>     at
>>>>
>>>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>>>     at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>>>>     at
>>>>
>>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
>>>>     at
>>>>
>>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
>>>>     at
>>>>
>>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
>>>>     at java.lang.Thread.run(Thread.java:655)
>>>> DEBUG - Exception getting the output data stream
>>>> java.net.ConnectException: Connection refused
>>>>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>>>>     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>>>     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
>>>>     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>>>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
>>>>     at java.net.Socket.connect(Socket.java:529)
>>>>     at java.net.Socket.connect(Socket.java:477)
>>>>     at
>>>>
>>>> org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
>>>>     at
>>>>
>>>> org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
>>>>     at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
>>>>     at
>>>>
>>>> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
>>>>     at
>>>>
>>>> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>>     at
>>>>
>>>> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>>>     at
>>>>
>>>> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
>>>>     at
>>>>
>>>> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>>     at
>>>>
>>>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>>>>     at
>>>>
>>>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>>     at
>>>>
>>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>>>     at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>>>>     at
>>>>
>>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
>>>>     at
>>>>
>>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
>>>>     at
>>>>
>>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
>>>>     at java.lang.Thread.run(Thread.java:655)
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Firing a WRITE event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, , MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event WRITE has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> INFO - SENT: 150 File status okay; about to open data connection.
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>>> INFO - SENT: 425 Can't open data connection.
>>>>
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>>> DEBUG - Firing a SESSION_IDLE event for session 2
>>>> DEBUG - Adding event SESSION_IDLE to session 2
>>>> Queue : [SESSION_IDLE, ]
>>>>
>>>> DEBUG - Event SESSION_IDLE has been fired for session 2
>>>> DEBUG - Firing a SESSION_IDLE event for session 2
>>>> DEBUG - Firing a SESSION_IDLE event for session 2
>>>> INFO - IDLE
>>>> INFO - Session idle, closing
>>>> DEBUG - Firing a CLOSE event for session 2
>>>> DEBUG - Firing a CLOSE event for session 2
>>>> DEBUG - Event CLOSE has been fired for session 2
>>>> DEBUG - Event CLOSE has been fired for session 2
>>>> DEBUG - Event SESSION_IDLE has been fired for session 2
>>>> DEBUG - Event SESSION_IDLE has been fired for session 2
>>>> DEBUG - Firing a SESSION_CLOSED event for session 2
>>>> DEBUG - Adding event SESSION_CLOSED to session 2
>>>> Queue : [SESSION_CLOSED, ]
>>>>
>>>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>>>> DEBUG - Firing a SESSION_CLOSED event for session 2
>>>> DEBUG - Firing a SESSION_CLOSED event for session 2
>>>> INFO - CLOSED
>>>> DEBUG - Closing session
>>>> DEBUG - Statistics login and connection count decreased due to session
>>>> close
>>>> DEBUG - Session closed
>>>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>>>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>>>>
>>
>> --
>>
>> Frank Buloup
>>
>> 04 91 17 22 71
>>
>> Institut des Sciences du Mouvement
>>
>> UMR 6233 CNRS&  Université de le Méditerranée
>>
>> 163 avenue de Luminy
>>
>> 13288 Marseille Cedex 9
>>
>> Fax : 04 91 17 22 52
>>
>>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: java.net.ConnectException: Connection refused

Posted by Sai Pullabhotla <sa...@jmethods.com>.
You should be able to see the logs from your FTP client and see what
the client is sending with the PORT command. If the client's log shows
a valid address, the the firewalls are messing it up. If the client
itself is showing 0.0.0.0, the you have issues with the client
software or the TCP setup on the system.

On Wed, Apr 6, 2011 at 9:54 AM, frank buloup <fr...@univmed.fr> wrote:
> I'm using org.apache.commons.net.ftp for client which is also embedded in
> application.
> I've just tried using FireFP plugin for Firefox and it worked in local
> network .
> Will try from outside this evening and if it does not work, problem should
> probably come from our network
> architecture (IP was filtering ???)
>
> thanks for your help
>>
>> The problem could be the client is not sending a valid PORT command where
>> the data connection needs to be opened. The line in posted the log -
>>
>> INFO - RECEIVED: PORT 0,0,0,0,192,246
>>
>> It does not make sense to send 0.0.0.0 (wildcard) with the PORT command.
>> This should be the client's IP address.
>>
>> Which FTP client are you using, and have you tried with any other FTP
>> client
>> software?
>>
>> On Tue, Apr 5, 2011 at 1:53 PM, frank
>> buloup<fr...@univmed.fr>wrote:
>>
>>> Hello,
>>>
>>> I've embeded FTP server in my application. It is working in localhost and
>>> also in
>>> our enterprise network. The problem seems to come when a connection is
>>> initiated from
>>> the outside of our network. You will find below a log that shows  a
>>> "java.net.ConnectException: Connection refused" exception on server when
>>> LIST command is sent.
>>> On the other side, client is totally frozen !!! It can also be a
>>> "java.net.ConnectException: Operation timed out"
>>> exception.
>>> I've default configuration for server and client with 300s idle time and
>>> session is closed by server
>>> after this idle time while client is still frozen.
>>> I've had a look at mail archive, but did not found anything ?
>>>
>>> Thanks a lot.
>>>
>>> DEBUG - File configured, will try loading
>>> DEBUG - File found on file system
>>> DEBUG - Intializing shared thread pool executor with max threads of 10
>>> INFO - FTP server started
>>> DEBUG - Firing a SESSION_CREATED event for session 2
>>> DEBUG - Firing a SESSION_CREATED event for session 2
>>> INFO - CREATED
>>> DEBUG - Event SESSION_CREATED has been fired for session 2
>>> DEBUG - Event SESSION_CREATED has been fired for session 2
>>> DEBUG - Firing a SESSION_OPENED event for session 2
>>> DEBUG - Adding event SESSION_OPENED to session 2
>>> Queue : [SESSION_OPENED, ]
>>>
>>> DEBUG - Event SESSION_OPENED has been fired for session 2
>>> DEBUG - Firing a SESSION_OPENED event for session 2
>>> DEBUG - Firing a SESSION_OPENED event for session 2
>>> INFO - OPENED
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Event SESSION_OPENED has been fired for session 2
>>> DEBUG - Event SESSION_OPENED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> INFO - SENT: 220 Service ready for new user.
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>> Queue : [MESSAGE_RECEIVED, ]
>>>
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> INFO - RECEIVED: USER XXXX
>>> DEBUG - Currently 0 out of 10 anonymous users logged in
>>> DEBUG - Currently 0 out of 10 users logged in
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> INFO - SENT: 331 User name okay, need password for XXXX.
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>> Queue : [MESSAGE_RECEIVED, ]
>>>
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> INFO - RECEIVED: PASS *****
>>> DEBUG - Currently 0 out of 10 users logged in
>>> DEBUG - Native filesystem view created for user "XXXX" with root
>>> "/Users/XXXX/Desktop/XXXX/"
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event WRITE has been fired for session 2
>>> INFO - Login success - XXXX
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> INFO - SENT: 230 User logged in, proceed.
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>> Queue : [MESSAGE_RECEIVED, ]
>>>
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> INFO - RECEIVED: SYST
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> INFO - SENT: 215 UNIX Type: Apache FtpServer
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>> Queue : [MESSAGE_RECEIVED, ]
>>>
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> INFO - RECEIVED: PORT 0,0,0,0,192,246
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> INFO - SENT: 200 Command PORT okay.
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>>> Queue : [MESSAGE_RECEIVED, ]
>>>
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>>> INFO - RECEIVED: LIST
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Opening active data connection
>>> DEBUG - Binding active data connection to /xxx.xxx.xxx.xxx:0
>>> WARN - FtpDataConnection.getDataSocket()
>>> java.net.ConnectException: Connection refused
>>>    at java.net.PlainSocketImpl.socketConnect(Native Method)
>>>    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>>    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
>>>    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>>    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
>>>    at java.net.Socket.connect(Socket.java:529)
>>>    at java.net.Socket.connect(Socket.java:477)
>>>    at
>>>
>>> org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
>>>    at
>>>
>>> org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
>>>    at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
>>>    at
>>>
>>> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
>>>    at
>>>
>>> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>    at
>>>
>>> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>>    at
>>>
>>> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
>>>    at
>>>
>>> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>    at
>>>
>>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>>>    at
>>>
>>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>>    at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>>>    at
>>>
>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
>>>    at
>>>
>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
>>>    at
>>>
>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
>>>    at java.lang.Thread.run(Thread.java:655)
>>> DEBUG - Exception getting the output data stream
>>> java.net.ConnectException: Connection refused
>>>    at java.net.PlainSocketImpl.socketConnect(Native Method)
>>>    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>>    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
>>>    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>>    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
>>>    at java.net.Socket.connect(Socket.java:529)
>>>    at java.net.Socket.connect(Socket.java:477)
>>>    at
>>>
>>> org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
>>>    at
>>>
>>> org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
>>>    at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
>>>    at
>>>
>>> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
>>>    at
>>>
>>> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>    at
>>>
>>> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>>    at
>>>
>>> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
>>>    at
>>>
>>> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>    at
>>>
>>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>>>    at
>>>
>>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>>    at
>>>
>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>>    at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>>>    at
>>>
>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
>>>    at
>>>
>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
>>>    at
>>>
>>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
>>>    at java.lang.Thread.run(Thread.java:655)
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Firing a WRITE event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, , MESSAGE_SENT, ]
>>>
>>> DEBUG - Event WRITE has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Adding event MESSAGE_SENT to session 2
>>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> INFO - SENT: 150 File status okay; about to open data connection.
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> DEBUG - Firing a MESSAGE_SENT event for session 2
>>> INFO - SENT: 425 Can't open data connection.
>>>
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>>> DEBUG - Firing a SESSION_IDLE event for session 2
>>> DEBUG - Adding event SESSION_IDLE to session 2
>>> Queue : [SESSION_IDLE, ]
>>>
>>> DEBUG - Event SESSION_IDLE has been fired for session 2
>>> DEBUG - Firing a SESSION_IDLE event for session 2
>>> DEBUG - Firing a SESSION_IDLE event for session 2
>>> INFO - IDLE
>>> INFO - Session idle, closing
>>> DEBUG - Firing a CLOSE event for session 2
>>> DEBUG - Firing a CLOSE event for session 2
>>> DEBUG - Event CLOSE has been fired for session 2
>>> DEBUG - Event CLOSE has been fired for session 2
>>> DEBUG - Event SESSION_IDLE has been fired for session 2
>>> DEBUG - Event SESSION_IDLE has been fired for session 2
>>> DEBUG - Firing a SESSION_CLOSED event for session 2
>>> DEBUG - Adding event SESSION_CLOSED to session 2
>>> Queue : [SESSION_CLOSED, ]
>>>
>>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>>> DEBUG - Firing a SESSION_CLOSED event for session 2
>>> DEBUG - Firing a SESSION_CLOSED event for session 2
>>> INFO - CLOSED
>>> DEBUG - Closing session
>>> DEBUG - Statistics login and connection count decreased due to session
>>> close
>>> DEBUG - Session closed
>>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>>>
>
>
> --
>
> Frank Buloup
>
> 04 91 17 22 71
>
> Institut des Sciences du Mouvement
>
> UMR 6233 CNRS & Université de le Méditerranée
>
> 163 avenue de Luminy
>
> 13288 Marseille Cedex 9
>
> Fax : 04 91 17 22 52
>
>

Re: java.net.ConnectException: Connection refused

Posted by frank buloup <fr...@univmed.fr>.
I'm using org.apache.commons.net.ftp for client which is also embedded 
in application.
I've just tried using FireFP plugin for Firefox and it worked in local 
network .
Will try from outside this evening and if it does not work, problem 
should probably come from our network
architecture (IP was filtering ???)

thanks for your help
> The problem could be the client is not sending a valid PORT command where
> the data connection needs to be opened. The line in posted the log -
>
> INFO - RECEIVED: PORT 0,0,0,0,192,246
>
> It does not make sense to send 0.0.0.0 (wildcard) with the PORT command.
> This should be the client's IP address.
>
> Which FTP client are you using, and have you tried with any other FTP client
> software?
>
> On Tue, Apr 5, 2011 at 1:53 PM, frank buloup<fr...@univmed.fr>wrote:
>
>> Hello,
>>
>> I've embeded FTP server in my application. It is working in localhost and
>> also in
>> our enterprise network. The problem seems to come when a connection is
>> initiated from
>> the outside of our network. You will find below a log that shows  a
>> "java.net.ConnectException: Connection refused" exception on server when
>> LIST command is sent.
>> On the other side, client is totally frozen !!! It can also be a
>> "java.net.ConnectException: Operation timed out"
>> exception.
>> I've default configuration for server and client with 300s idle time and
>> session is closed by server
>> after this idle time while client is still frozen.
>> I've had a look at mail archive, but did not found anything ?
>>
>> Thanks a lot.
>>
>> DEBUG - File configured, will try loading
>> DEBUG - File found on file system
>> DEBUG - Intializing shared thread pool executor with max threads of 10
>> INFO - FTP server started
>> DEBUG - Firing a SESSION_CREATED event for session 2
>> DEBUG - Firing a SESSION_CREATED event for session 2
>> INFO - CREATED
>> DEBUG - Event SESSION_CREATED has been fired for session 2
>> DEBUG - Event SESSION_CREATED has been fired for session 2
>> DEBUG - Firing a SESSION_OPENED event for session 2
>> DEBUG - Adding event SESSION_OPENED to session 2
>> Queue : [SESSION_OPENED, ]
>>
>> DEBUG - Event SESSION_OPENED has been fired for session 2
>> DEBUG - Firing a SESSION_OPENED event for session 2
>> DEBUG - Firing a SESSION_OPENED event for session 2
>> INFO - OPENED
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Event SESSION_OPENED has been fired for session 2
>> DEBUG - Event SESSION_OPENED has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> INFO - SENT: 220 Service ready for new user.
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>> Queue : [MESSAGE_RECEIVED, ]
>>
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> INFO - RECEIVED: USER XXXX
>> DEBUG - Currently 0 out of 10 anonymous users logged in
>> DEBUG - Currently 0 out of 10 users logged in
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> INFO - SENT: 331 User name okay, need password for XXXX.
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>> Queue : [MESSAGE_RECEIVED, ]
>>
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> INFO - RECEIVED: PASS *****
>> DEBUG - Currently 0 out of 10 users logged in
>> DEBUG - Native filesystem view created for user "XXXX" with root
>> "/Users/XXXX/Desktop/XXXX/"
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event WRITE has been fired for session 2
>> INFO - Login success - XXXX
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> INFO - SENT: 230 User logged in, proceed.
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>> Queue : [MESSAGE_RECEIVED, ]
>>
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> INFO - RECEIVED: SYST
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> INFO - SENT: 215 UNIX Type: Apache FtpServer
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>> Queue : [MESSAGE_RECEIVED, ]
>>
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> INFO - RECEIVED: PORT 0,0,0,0,192,246
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> INFO - SENT: 200 Command PORT okay.
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Adding event MESSAGE_RECEIVED to session 2
>> Queue : [MESSAGE_RECEIVED, ]
>>
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> DEBUG - Processing a MESSAGE_RECEIVED for session 2
>> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
>> INFO - RECEIVED: LIST
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Opening active data connection
>> DEBUG - Binding active data connection to /xxx.xxx.xxx.xxx:0
>> WARN - FtpDataConnection.getDataSocket()
>> java.net.ConnectException: Connection refused
>>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>>     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
>>     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
>>     at java.net.Socket.connect(Socket.java:529)
>>     at java.net.Socket.connect(Socket.java:477)
>>     at
>> org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
>>     at
>> org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
>>     at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
>>     at
>> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
>>     at
>> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>     at
>> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>     at
>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>     at
>> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
>>     at
>> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>     at
>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>>     at
>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>     at
>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>     at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>>     at
>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
>>     at
>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
>>     at
>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
>>     at java.lang.Thread.run(Thread.java:655)
>> DEBUG - Exception getting the output data stream
>> java.net.ConnectException: Connection refused
>>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>>     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
>>     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
>>     at java.net.Socket.connect(Socket.java:529)
>>     at java.net.Socket.connect(Socket.java:477)
>>     at
>> org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
>>     at
>> org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
>>     at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
>>     at
>> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
>>     at
>> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>     at
>> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>     at
>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>     at
>> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
>>     at
>> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>     at
>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>>     at
>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>>     at
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>>     at
>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>>     at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>>     at
>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
>>     at
>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
>>     at
>> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
>>     at java.lang.Thread.run(Thread.java:655)
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Firing a WRITE event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, , MESSAGE_SENT, ]
>>
>> DEBUG - Event WRITE has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Adding event MESSAGE_SENT to session 2
>> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> INFO - SENT: 150 File status okay; about to open data connection.
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> DEBUG - Firing a MESSAGE_SENT event for session 2
>> INFO - SENT: 425 Can't open data connection.
>>
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Event MESSAGE_SENT has been fired for session 2
>> DEBUG - Firing a SESSION_IDLE event for session 2
>> DEBUG - Adding event SESSION_IDLE to session 2
>> Queue : [SESSION_IDLE, ]
>>
>> DEBUG - Event SESSION_IDLE has been fired for session 2
>> DEBUG - Firing a SESSION_IDLE event for session 2
>> DEBUG - Firing a SESSION_IDLE event for session 2
>> INFO - IDLE
>> INFO - Session idle, closing
>> DEBUG - Firing a CLOSE event for session 2
>> DEBUG - Firing a CLOSE event for session 2
>> DEBUG - Event CLOSE has been fired for session 2
>> DEBUG - Event CLOSE has been fired for session 2
>> DEBUG - Event SESSION_IDLE has been fired for session 2
>> DEBUG - Event SESSION_IDLE has been fired for session 2
>> DEBUG - Firing a SESSION_CLOSED event for session 2
>> DEBUG - Adding event SESSION_CLOSED to session 2
>> Queue : [SESSION_CLOSED, ]
>>
>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>> DEBUG - Firing a SESSION_CLOSED event for session 2
>> DEBUG - Firing a SESSION_CLOSED event for session 2
>> INFO - CLOSED
>> DEBUG - Closing session
>> DEBUG - Statistics login and connection count decreased due to session
>> close
>> DEBUG - Session closed
>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>> DEBUG - Event SESSION_CLOSED has been fired for session 2
>>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: java.net.ConnectException: Connection refused

Posted by Sai Pullabhotla <sa...@jmethods.com>.
The problem could be the client is not sending a valid PORT command where
the data connection needs to be opened. The line in posted the log -

INFO - RECEIVED: PORT 0,0,0,0,192,246

It does not make sense to send 0.0.0.0 (wildcard) with the PORT command.
This should be the client's IP address.

Which FTP client are you using, and have you tried with any other FTP client
software?

On Tue, Apr 5, 2011 at 1:53 PM, frank buloup <fr...@univmed.fr>wrote:

> Hello,
>
> I've embeded FTP server in my application. It is working in localhost and
> also in
> our enterprise network. The problem seems to come when a connection is
> initiated from
> the outside of our network. You will find below a log that shows  a
> "java.net.ConnectException: Connection refused" exception on server when
> LIST command is sent.
> On the other side, client is totally frozen !!! It can also be a
> "java.net.ConnectException: Operation timed out"
> exception.
> I've default configuration for server and client with 300s idle time and
> session is closed by server
> after this idle time while client is still frozen.
> I've had a look at mail archive, but did not found anything ?
>
> Thanks a lot.
>
> DEBUG - File configured, will try loading
> DEBUG - File found on file system
> DEBUG - Intializing shared thread pool executor with max threads of 10
> INFO - FTP server started
> DEBUG - Firing a SESSION_CREATED event for session 2
> DEBUG - Firing a SESSION_CREATED event for session 2
> INFO - CREATED
> DEBUG - Event SESSION_CREATED has been fired for session 2
> DEBUG - Event SESSION_CREATED has been fired for session 2
> DEBUG - Firing a SESSION_OPENED event for session 2
> DEBUG - Adding event SESSION_OPENED to session 2
> Queue : [SESSION_OPENED, ]
>
> DEBUG - Event SESSION_OPENED has been fired for session 2
> DEBUG - Firing a SESSION_OPENED event for session 2
> DEBUG - Firing a SESSION_OPENED event for session 2
> INFO - OPENED
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Event SESSION_OPENED has been fired for session 2
> DEBUG - Event SESSION_OPENED has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> INFO - SENT: 220 Service ready for new user.
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Adding event MESSAGE_RECEIVED to session 2
> Queue : [MESSAGE_RECEIVED, ]
>
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Processing a MESSAGE_RECEIVED for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> INFO - RECEIVED: USER XXXX
> DEBUG - Currently 0 out of 10 anonymous users logged in
> DEBUG - Currently 0 out of 10 users logged in
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> INFO - SENT: 331 User name okay, need password for XXXX.
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Adding event MESSAGE_RECEIVED to session 2
> Queue : [MESSAGE_RECEIVED, ]
>
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Processing a MESSAGE_RECEIVED for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> INFO - RECEIVED: PASS *****
> DEBUG - Currently 0 out of 10 users logged in
> DEBUG - Native filesystem view created for user "XXXX" with root
> "/Users/XXXX/Desktop/XXXX/"
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event WRITE has been fired for session 2
> INFO - Login success - XXXX
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> INFO - SENT: 230 User logged in, proceed.
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Adding event MESSAGE_RECEIVED to session 2
> Queue : [MESSAGE_RECEIVED, ]
>
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Processing a MESSAGE_RECEIVED for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> INFO - RECEIVED: SYST
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> INFO - SENT: 215 UNIX Type: Apache FtpServer
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Adding event MESSAGE_RECEIVED to session 2
> Queue : [MESSAGE_RECEIVED, ]
>
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Processing a MESSAGE_RECEIVED for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> INFO - RECEIVED: PORT 0,0,0,0,192,246
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> INFO - SENT: 200 Command PORT okay.
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Adding event MESSAGE_RECEIVED to session 2
> Queue : [MESSAGE_RECEIVED, ]
>
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> DEBUG - Processing a MESSAGE_RECEIVED for session 2
> DEBUG - Firing a MESSAGE_RECEIVED event for session 2
> INFO - RECEIVED: LIST
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Opening active data connection
> DEBUG - Binding active data connection to /xxx.xxx.xxx.xxx:0
> WARN - FtpDataConnection.getDataSocket()
> java.net.ConnectException: Connection refused
>    at java.net.PlainSocketImpl.socketConnect(Native Method)
>    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
>    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
>    at java.net.Socket.connect(Socket.java:529)
>    at java.net.Socket.connect(Socket.java:477)
>    at
> org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
>    at
> org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
>    at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
>    at
> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
>    at
> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>    at
> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>    at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>    at
> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
>    at
> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>    at
> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>    at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>    at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>    at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>    at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
>    at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
>    at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
>    at java.lang.Thread.run(Thread.java:655)
> DEBUG - Exception getting the output data stream
> java.net.ConnectException: Connection refused
>    at java.net.PlainSocketImpl.socketConnect(Native Method)
>    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
>    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
>    at java.net.Socket.connect(Socket.java:529)
>    at java.net.Socket.connect(Socket.java:477)
>    at
> org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
>    at
> org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
>    at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
>    at
> org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
>    at
> org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>    at
> org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>    at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>    at
> org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
>    at
> org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>    at
> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>    at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>    at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>    at
> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
>    at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
>    at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
>    at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
>    at
> org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
>    at java.lang.Thread.run(Thread.java:655)
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Firing a WRITE event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, , MESSAGE_SENT, , MESSAGE_SENT, ]
>
> DEBUG - Event WRITE has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Adding event MESSAGE_SENT to session 2
> Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> INFO - SENT: 150 File status okay; about to open data connection.
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> DEBUG - Firing a MESSAGE_SENT event for session 2
> INFO - SENT: 425 Can't open data connection.
>
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Event MESSAGE_SENT has been fired for session 2
> DEBUG - Firing a SESSION_IDLE event for session 2
> DEBUG - Adding event SESSION_IDLE to session 2
> Queue : [SESSION_IDLE, ]
>
> DEBUG - Event SESSION_IDLE has been fired for session 2
> DEBUG - Firing a SESSION_IDLE event for session 2
> DEBUG - Firing a SESSION_IDLE event for session 2
> INFO - IDLE
> INFO - Session idle, closing
> DEBUG - Firing a CLOSE event for session 2
> DEBUG - Firing a CLOSE event for session 2
> DEBUG - Event CLOSE has been fired for session 2
> DEBUG - Event CLOSE has been fired for session 2
> DEBUG - Event SESSION_IDLE has been fired for session 2
> DEBUG - Event SESSION_IDLE has been fired for session 2
> DEBUG - Firing a SESSION_CLOSED event for session 2
> DEBUG - Adding event SESSION_CLOSED to session 2
> Queue : [SESSION_CLOSED, ]
>
> DEBUG - Event SESSION_CLOSED has been fired for session 2
> DEBUG - Firing a SESSION_CLOSED event for session 2
> DEBUG - Firing a SESSION_CLOSED event for session 2
> INFO - CLOSED
> DEBUG - Closing session
> DEBUG - Statistics login and connection count decreased due to session
> close
> DEBUG - Session closed
> DEBUG - Event SESSION_CLOSED has been fired for session 2
> DEBUG - Event SESSION_CLOSED has been fired for session 2
>

java.net.ConnectException: Connection refused

Posted by frank buloup <fr...@univmed.fr>.
Hello,

I've embeded FTP server in my application. It is working in localhost 
and also in
our enterprise network. The problem seems to come when a connection is 
initiated from
the outside of our network. You will find below a log that shows  a
"java.net.ConnectException: Connection refused" exception on server when 
LIST command is sent.
On the other side, client is totally frozen !!! It can also be a 
"java.net.ConnectException: Operation timed out"
exception.
I've default configuration for server and client with 300s idle time and 
session is closed by server
after this idle time while client is still frozen.
I've had a look at mail archive, but did not found anything ?

Thanks a lot.

DEBUG - File configured, will try loading
DEBUG - File found on file system
DEBUG - Intializing shared thread pool executor with max threads of 10
INFO - FTP server started
DEBUG - Firing a SESSION_CREATED event for session 2
DEBUG - Firing a SESSION_CREATED event for session 2
INFO - CREATED
DEBUG - Event SESSION_CREATED has been fired for session 2
DEBUG - Event SESSION_CREATED has been fired for session 2
DEBUG - Firing a SESSION_OPENED event for session 2
DEBUG - Adding event SESSION_OPENED to session 2
Queue : [SESSION_OPENED, ]

DEBUG - Event SESSION_OPENED has been fired for session 2
DEBUG - Firing a SESSION_OPENED event for session 2
DEBUG - Firing a SESSION_OPENED event for session 2
INFO - OPENED
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Event SESSION_OPENED has been fired for session 2
DEBUG - Event SESSION_OPENED has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
INFO - SENT: 220 Service ready for new user.

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Adding event MESSAGE_RECEIVED to session 2
Queue : [MESSAGE_RECEIVED, ]

DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Processing a MESSAGE_RECEIVED for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
INFO - RECEIVED: USER XXXX
DEBUG - Currently 0 out of 10 anonymous users logged in
DEBUG - Currently 0 out of 10 users logged in
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
INFO - SENT: 331 User name okay, need password for XXXX.

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Adding event MESSAGE_RECEIVED to session 2
Queue : [MESSAGE_RECEIVED, ]

DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Processing a MESSAGE_RECEIVED for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
INFO - RECEIVED: PASS *****
DEBUG - Currently 0 out of 10 users logged in
DEBUG - Native filesystem view created for user "XXXX" with root 
"/Users/XXXX/Desktop/XXXX/"
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event WRITE has been fired for session 2
INFO - Login success - XXXX
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
INFO - SENT: 230 User logged in, proceed.

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Adding event MESSAGE_RECEIVED to session 2
Queue : [MESSAGE_RECEIVED, ]

DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Processing a MESSAGE_RECEIVED for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
INFO - RECEIVED: SYST
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
INFO - SENT: 215 UNIX Type: Apache FtpServer

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Adding event MESSAGE_RECEIVED to session 2
Queue : [MESSAGE_RECEIVED, ]

DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Processing a MESSAGE_RECEIVED for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
INFO - RECEIVED: PORT 0,0,0,0,192,246
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
INFO - SENT: 200 Command PORT okay.

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Adding event MESSAGE_RECEIVED to session 2
Queue : [MESSAGE_RECEIVED, ]

DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
DEBUG - Processing a MESSAGE_RECEIVED for session 2
DEBUG - Firing a MESSAGE_RECEIVED event for session 2
INFO - RECEIVED: LIST
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Opening active data connection
DEBUG - Binding active data connection to /xxx.xxx.xxx.xxx:0
WARN - FtpDataConnection.getDataSocket()
java.net.ConnectException: Connection refused
     at java.net.PlainSocketImpl.socketConnect(Native Method)
     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
     at java.net.Socket.connect(Socket.java:529)
     at java.net.Socket.connect(Socket.java:477)
     at 
org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
     at 
org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
     at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
     at 
org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
     at 
org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
     at 
org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
     at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
     at 
org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
     at 
org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
     at 
org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
     at 
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
     at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
     at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
     at java.lang.Thread.run(Thread.java:655)
DEBUG - Exception getting the output data stream
java.net.ConnectException: Connection refused
     at java.net.PlainSocketImpl.socketConnect(Native Method)
     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:193)
     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:433)
     at java.net.Socket.connect(Socket.java:529)
     at java.net.Socket.connect(Socket.java:477)
     at 
org.apache.ftpserver.impl.IODataConnectionFactory.createDataSocket(IODataConnectionFactory.java:314)
     at 
org.apache.ftpserver.impl.IODataConnectionFactory.openConnection(IODataConnectionFactory.java:259)
     at org.apache.ftpserver.command.impl.LIST.execute(LIST.java:114)
     at 
org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:210)
     at 
org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:61)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
     at 
org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:85)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
     at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
     at 
org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
     at 
org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
     at 
org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
     at 
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
     at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
     at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
     at java.lang.Thread.run(Thread.java:655)
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Firing a WRITE event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event WRITE has been fired for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, , MESSAGE_SENT, , MESSAGE_SENT, ]

DEBUG - Event WRITE has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Event MESSAGE_RECEIVED has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Adding event MESSAGE_SENT to session 2
Queue : [MESSAGE_SENT, , MESSAGE_SENT, ]

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
INFO - SENT: 150 File status okay; about to open data connection.

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
DEBUG - Firing a MESSAGE_SENT event for session 2
INFO - SENT: 425 Can't open data connection.

DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Event MESSAGE_SENT has been fired for session 2
DEBUG - Firing a SESSION_IDLE event for session 2
DEBUG - Adding event SESSION_IDLE to session 2
Queue : [SESSION_IDLE, ]

DEBUG - Event SESSION_IDLE has been fired for session 2
DEBUG - Firing a SESSION_IDLE event for session 2
DEBUG - Firing a SESSION_IDLE event for session 2
INFO - IDLE
INFO - Session idle, closing
DEBUG - Firing a CLOSE event for session 2
DEBUG - Firing a CLOSE event for session 2
DEBUG - Event CLOSE has been fired for session 2
DEBUG - Event CLOSE has been fired for session 2
DEBUG - Event SESSION_IDLE has been fired for session 2
DEBUG - Event SESSION_IDLE has been fired for session 2
DEBUG - Firing a SESSION_CLOSED event for session 2
DEBUG - Adding event SESSION_CLOSED to session 2
Queue : [SESSION_CLOSED, ]

DEBUG - Event SESSION_CLOSED has been fired for session 2
DEBUG - Firing a SESSION_CLOSED event for session 2
DEBUG - Firing a SESSION_CLOSED event for session 2
INFO - CLOSED
DEBUG - Closing session
DEBUG - Statistics login and connection count decreased due to session close
DEBUG - Session closed
DEBUG - Event SESSION_CLOSED has been fired for session 2
DEBUG - Event SESSION_CLOSED has been fired for session 2

Re: Connection closed without indication

Posted by frank buloup <fr...@univmed.fr>.
Thnks a lot, I've removed slf4j-simple-1.5.2.jar, added 
slf4j-log4j12-1.5.2.jar and log4j-1.2.14.jar and it worked.
You will find below the full debug log file if you want to have look.
This log helped me to find my error : I try to access from ftplet's 
thread (main thread (?)) a component that belongs
to the GUI SWT Thread : it launches an Invalid thread access exception.

Again thanks a lot fot your help,
frank


[DEBUG] 2011-03-30 14:26:03,119 [] [] File configured, will try loading
[DEBUG] 2011-03-30 14:26:03,120 [] [] File found on file system
[DEBUG] 2011-03-30 14:26:03,174 [] [] Intializing shared thread pool 
executor with max threads of 10
[ INFO] 2011-03-30 14:26:03,213 [] [] FTP server started
[DEBUG] 2011-03-30 14:26:07,619 [] [] Shutting down the thread pool executor
[DEBUG] 2011-03-30 14:26:59,625 [] [] File configured, will try loading
[DEBUG] 2011-03-30 14:26:59,626 [] [] File found on file system
[DEBUG] 2011-03-30 14:26:59,672 [] [] Intializing shared thread pool 
executor with max threads of 10
[ INFO] 2011-03-30 14:26:59,710 [] [] FTP server started
[DEBUG] 2011-03-30 14:27:20,671 [] [127.0.0.1] Firing a SESSION_CREATED 
event for session 2
[DEBUG] 2011-03-30 14:27:20,671 [] [127.0.0.1] Firing a SESSION_CREATED 
event for session 2
[ INFO] 2011-03-30 14:27:20,671 [] [127.0.0.1] CREATED
[DEBUG] 2011-03-30 14:27:20,674 [] [127.0.0.1] Event SESSION_CREATED has 
been fired for session 2
[DEBUG] 2011-03-30 14:27:20,674 [] [127.0.0.1] Event SESSION_CREATED has 
been fired for session 2
[DEBUG] 2011-03-30 14:27:20,674 [] [127.0.0.1] Firing a SESSION_OPENED 
event for session 2
[DEBUG] 2011-03-30 14:27:20,676 [] [127.0.0.1] Adding event 
SESSION_OPENED to session 2
Queue : [SESSION_OPENED, ]

[DEBUG] 2011-03-30 14:27:20,677 [] [127.0.0.1] Event SESSION_OPENED has 
been fired for session 2
[DEBUG] 2011-03-30 14:27:20,677 [] [127.0.0.1] Firing a SESSION_OPENED 
event for session 2
[DEBUG] 2011-03-30 14:27:20,677 [] [127.0.0.1] Firing a SESSION_OPENED 
event for session 2
[ INFO] 2011-03-30 14:27:20,677 [] [127.0.0.1] OPENED
[DEBUG] 2011-03-30 14:27:20,679 [] [127.0.0.1] Ftplet threw exception
org.eclipse.swt.SWTException: Invalid thread access
     at org.eclipse.swt.SWT.error(SWT.java:3884)
     at org.eclipse.swt.SWT.error(SWT.java:3799)
     at org.eclipse.swt.SWT.error(SWT.java:3770)
     at org.eclipse.swt.widgets.Widget.error(Widget.java:619)
     at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:463)
     at org.eclipse.swt.custom.StyledText.getText(StyledText.java:5013)
     at 
analyse.gui.SharingContainer.logServerMessage(SharingContainer.java:552)
     at 
analyse.gui.SharingContainer.updateMessage(SharingContainer.java:582)
     at 
ftpsharing.FTPShareExperimentsServer.notifyObserversMessage(FTPShareExperimentsServer.java:96)
     at 
ftpsharing.FTPShareExperimentsServer.onConnect(FTPShareExperimentsServer.java:116)
     at 
org.apache.ftpserver.ftpletcontainer.impl.DefaultFtpletContainer.onConnect(DefaultFtpletContainer.java:105)
     at 
org.apache.ftpserver.impl.DefaultFtpHandler.sessionOpened(DefaultFtpHandler.java:77)
     at 
org.apache.ftpserver.listener.nio.FtpHandlerAdapter.sessionOpened(FtpHandlerAdapter.java:90)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.sessionOpened(DefaultIoFilterChain.java:654)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened(DefaultIoFilterChain.java:372)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened(DefaultIoFilterChain.java:773)
     at 
org.apache.mina.filter.logging.LoggingFilter.sessionOpened(LoggingFilter.java:197)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened(DefaultIoFilterChain.java:372)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened(DefaultIoFilterChain.java:773)
     at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:92)
     at 
org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
     at 
org.apache.mina.filter.util.CommonEventFilter.sessionOpened(CommonEventFilter.java:50)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened(DefaultIoFilterChain.java:372)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened(DefaultIoFilterChain.java:773)
     at 
org.apache.mina.core.filterchain.IoFilterAdapter.sessionOpened(IoFilterAdapter.java:87)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened(DefaultIoFilterChain.java:372)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened(DefaultIoFilterChain.java:773)
     at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:92)
     at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
     at java.lang.Thread.run(Thread.java:655)
[DEBUG] 2011-03-30 14:27:20,680 [] [127.0.0.1] Ftplet returned 
DISCONNECT, session will be closed
[DEBUG] 2011-03-30 14:27:20,681 [] [127.0.0.1] Firing a CLOSE event for 
session 2
[DEBUG] 2011-03-30 14:27:20,681 [] [127.0.0.1] Firing a CLOSE event for 
session 2
[DEBUG] 2011-03-30 14:27:20,681 [] [127.0.0.1] Event CLOSE has been 
fired for session 2
[DEBUG] 2011-03-30 14:27:20,681 [] [127.0.0.1] Event CLOSE has been 
fired for session 2
[DEBUG] 2011-03-30 14:27:20,682 [] [127.0.0.1] Event SESSION_OPENED has 
been fired for session 2
[DEBUG] 2011-03-30 14:27:20,682 [] [127.0.0.1] Firing a SESSION_CLOSED 
event for session 2
[DEBUG] 2011-03-30 14:27:20,682 [] [127.0.0.1] Adding event 
SESSION_CLOSED to session 2
Queue : [SESSION_CLOSED, ]

[DEBUG] 2011-03-30 14:27:20,682 [] [127.0.0.1] Event SESSION_CLOSED has 
been fired for session 2
[DEBUG] 2011-03-30 14:27:20,682 [] [] Event SESSION_OPENED has been 
fired for session 2
[DEBUG] 2011-03-30 14:27:20,683 [] [] Firing a SESSION_CLOSED event for 
session 2
[DEBUG] 2011-03-30 14:27:20,684 [] [127.0.0.1] Firing a SESSION_CLOSED 
event for session 2
[ INFO] 2011-03-30 14:27:20,684 [] [127.0.0.1] CLOSED
[DEBUG] 2011-03-30 14:27:20,684 [] [127.0.0.1] Closing session
[DEBUG] 2011-03-30 14:27:20,685 [] [127.0.0.1] Statistics login and 
connection count decreased due to session close
[DEBUG] 2011-03-30 14:27:20,685 [] [127.0.0.1] Session closed
[DEBUG] 2011-03-30 14:27:20,685 [] [127.0.0.1] Event SESSION_CLOSED has 
been fired for session 2
[DEBUG] 2011-03-30 14:27:20,685 [] [] Event SESSION_CLOSED has been 
fired for session 2
[DEBUG] 2011-03-30 14:27:25,519 [] [] Shutting down the thread pool executor
[DEBUG] 2011-03-30 14:28:22,290 [] [] File configured, will try loading
[DEBUG] 2011-03-30 14:28:22,291 [] [] File found on file system
[DEBUG] 2011-03-30 14:28:22,337 [] [] Intializing shared thread pool 
executor with max threads of 10
[ INFO] 2011-03-30 14:28:22,375 [] [] FTP server started
[DEBUG] 2011-03-30 14:28:29,544 [] [127.0.0.1] Firing a SESSION_CREATED 
event for session 2
[DEBUG] 2011-03-30 14:28:29,544 [] [127.0.0.1] Firing a SESSION_CREATED 
event for session 2
[ INFO] 2011-03-30 14:28:29,545 [] [127.0.0.1] CREATED
[DEBUG] 2011-03-30 14:28:29,549 [] [127.0.0.1] Event SESSION_CREATED has 
been fired for session 2
[DEBUG] 2011-03-30 14:28:29,549 [] [127.0.0.1] Event SESSION_CREATED has 
been fired for session 2
[DEBUG] 2011-03-30 14:28:29,549 [] [127.0.0.1] Firing a SESSION_OPENED 
event for session 2
[DEBUG] 2011-03-30 14:28:29,550 [] [127.0.0.1] Adding event 
SESSION_OPENED to session 2
Queue : [SESSION_OPENED, ]

[DEBUG] 2011-03-30 14:28:29,550 [] [127.0.0.1] Event SESSION_OPENED has 
been fired for session 2
[DEBUG] 2011-03-30 14:28:29,551 [] [127.0.0.1] Firing a SESSION_OPENED 
event for session 2
[DEBUG] 2011-03-30 14:28:29,551 [] [127.0.0.1] Firing a SESSION_OPENED 
event for session 2
[ INFO] 2011-03-30 14:28:29,551 [] [127.0.0.1] OPENED
[DEBUG] 2011-03-30 14:28:29,554 [] [127.0.0.1] Ftplet threw exception
org.eclipse.swt.SWTException: Invalid thread access
     at org.eclipse.swt.SWT.error(SWT.java:3884)
     at org.eclipse.swt.SWT.error(SWT.java:3799)
     at org.eclipse.swt.SWT.error(SWT.java:3770)
     at org.eclipse.swt.widgets.Widget.error(Widget.java:619)
     at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:463)
     at org.eclipse.swt.custom.StyledText.getText(StyledText.java:5013)
     at 
analyse.gui.SharingContainer.logServerMessage(SharingContainer.java:552)
     at 
analyse.gui.SharingContainer.updateMessage(SharingContainer.java:582)
     at 
ftpsharing.FTPShareExperimentsServer.notifyObserversMessage(FTPShareExperimentsServer.java:96)
     at 
ftpsharing.FTPShareExperimentsServer.onConnect(FTPShareExperimentsServer.java:116)
     at 
org.apache.ftpserver.ftpletcontainer.impl.DefaultFtpletContainer.onConnect(DefaultFtpletContainer.java:105)
     at 
org.apache.ftpserver.impl.DefaultFtpHandler.sessionOpened(DefaultFtpHandler.java:77)
     at 
org.apache.ftpserver.listener.nio.FtpHandlerAdapter.sessionOpened(FtpHandlerAdapter.java:90)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.sessionOpened(DefaultIoFilterChain.java:654)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened(DefaultIoFilterChain.java:372)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened(DefaultIoFilterChain.java:773)
     at 
org.apache.mina.filter.logging.LoggingFilter.sessionOpened(LoggingFilter.java:197)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened(DefaultIoFilterChain.java:372)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened(DefaultIoFilterChain.java:773)
     at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:92)
     at 
org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:136)
     at 
org.apache.mina.filter.util.CommonEventFilter.sessionOpened(CommonEventFilter.java:50)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened(DefaultIoFilterChain.java:372)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened(DefaultIoFilterChain.java:773)
     at 
org.apache.mina.core.filterchain.IoFilterAdapter.sessionOpened(IoFilterAdapter.java:87)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened(DefaultIoFilterChain.java:372)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800(DefaultIoFilterChain.java:46)
     at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened(DefaultIoFilterChain.java:773)
     at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:92)
     at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
     at 
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
     at java.lang.Thread.run(Thread.java:655)
[DEBUG] 2011-03-30 14:28:29,555 [] [127.0.0.1] Ftplet returned 
DISCONNECT, session will be closed
[DEBUG] 2011-03-30 14:28:29,556 [] [127.0.0.1] Firing a CLOSE event for 
session 2
[DEBUG] 2011-03-30 14:28:29,556 [] [127.0.0.1] Firing a CLOSE event for 
session 2
[DEBUG] 2011-03-30 14:28:29,556 [] [127.0.0.1] Event CLOSE has been 
fired for session 2
[DEBUG] 2011-03-30 14:28:29,556 [] [127.0.0.1] Event CLOSE has been 
fired for session 2
[DEBUG] 2011-03-30 14:28:29,556 [] [127.0.0.1] Event SESSION_OPENED has 
been fired for session 2
[DEBUG] 2011-03-30 14:28:29,557 [] [127.0.0.1] Firing a SESSION_CLOSED 
event for session 2
[DEBUG] 2011-03-30 14:28:29,557 [] [127.0.0.1] Adding event 
SESSION_CLOSED to session 2
Queue : [SESSION_CLOSED, ]

[DEBUG] 2011-03-30 14:28:29,557 [] [127.0.0.1] Event SESSION_CLOSED has 
been fired for session 2
[DEBUG] 2011-03-30 14:28:29,557 [] [] Event SESSION_OPENED has been 
fired for session 2
[DEBUG] 2011-03-30 14:28:29,557 [] [] Firing a SESSION_CLOSED event for 
session 2
[DEBUG] 2011-03-30 14:28:29,558 [] [127.0.0.1] Firing a SESSION_CLOSED 
event for session 2
[ INFO] 2011-03-30 14:28:29,558 [] [127.0.0.1] CLOSED
[DEBUG] 2011-03-30 14:28:29,558 [] [127.0.0.1] Closing session
[DEBUG] 2011-03-30 14:28:29,559 [] [127.0.0.1] Statistics login and 
connection count decreased due to session close
[DEBUG] 2011-03-30 14:28:29,559 [] [127.0.0.1] Session closed
[DEBUG] 2011-03-30 14:28:29,560 [] [127.0.0.1] Event SESSION_CLOSED has 
been fired for session 2
[DEBUG] 2011-03-30 14:28:29,560 [] [] Event SESSION_CLOSED has been 
fired for session 2
[DEBUG] 2011-03-30 14:28:32,944 [] [] Shutting down the thread pool executor


> On Wed, Mar 30, 2011 at 2:11 PM, frank buloup<fr...@univmed.fr>  wrote:
>> Obviously and because of the use of ftpserver, there are slf4j-api-1.5.2.jar
>> and slf4j-simple-1.5.2.jar libs on class path.
> Right, slf4j-simple is a logging framework. To print debug statements,
> you need to replace that with log4j (and slf4j-log4j) and a
> configuration file like the one your using.
>
> I hope that slf4j-simple was not included by default by FtpServer.
> FtpServer should never include (via Maven transitive dependencies)
> include a logging framework, only the slf4j facade.
>
> /niklas
>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: Connection closed without indication

Posted by Niklas Gustavsson <ni...@protocol7.com>.
On Wed, Mar 30, 2011 at 2:11 PM, frank buloup <fr...@univmed.fr> wrote:
> Obviously and because of the use of ftpserver, there are slf4j-api-1.5.2.jar
> and slf4j-simple-1.5.2.jar libs on class path.

Right, slf4j-simple is a logging framework. To print debug statements,
you need to replace that with log4j (and slf4j-log4j) and a
configuration file like the one your using.

I hope that slf4j-simple was not included by default by FtpServer.
FtpServer should never include (via Maven transitive dependencies)
include a logging framework, only the slf4j facade.

/niklas

Re: Connection closed without indication

Posted by frank buloup <fr...@univmed.fr>.
No, I don't use any existing framework in my application like log4j, or 
java logging.
I've only created a very basic one that is sufficient for our needs and 
for now.

Obviously and because of the use of ftpserver, there are 
slf4j-api-1.5.2.jar
and slf4j-simple-1.5.2.jar libs on class path. I understand that I have 
to configure
ftpserver logger in debug mode using an external configuration file.  
I've tried this
one :
log4j.rootLogger=DEBUG, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=Existing_path_to_log_file
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%5p] %d [%X{userName}] 
[%X{remoteIp}] %m%n

passing  -Dlog4j.configuration=file:path_to_config_file at JVM argument, 
but without success :-(


> On Wed, Mar 30, 2011 at 12:34 PM, frank buloup<fr...@univmed.fr>  wrote:
>> Yes I would like to... but I don't know how to do that !... Sorry
>> If it is not too long, can you explain me.
>> Or can you give me a link that explain how to produce this log file
> You're probably using some logging framework in your application, like
> for example log4j. If so, the logging framework probably got a
> configuration file somewhere. In that file, you need to configure a
> DEBUG logging level rather than INFO. It might also be that INFO is
> the default level if a configuration file is missing. Then you might
> need to create a configuration file. In the case of log4j, that file
> should be called log4j.properties on the classpath.
>
> /niklas
>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: Connection closed without indication

Posted by Niklas Gustavsson <ni...@protocol7.com>.
On Wed, Mar 30, 2011 at 12:34 PM, frank buloup <fr...@univmed.fr> wrote:
> Yes I would like to... but I don't know how to do that !... Sorry
> If it is not too long, can you explain me.
> Or can you give me a link that explain how to produce this log file

You're probably using some logging framework in your application, like
for example log4j. If so, the logging framework probably got a
configuration file somewhere. In that file, you need to configure a
DEBUG logging level rather than INFO. It might also be that INFO is
the default level if a configuration file is missing. Then you might
need to create a configuration file. In the case of log4j, that file
should be called log4j.properties on the classpath.

/niklas

Re: Connection closed without indication

Posted by frank buloup <fr...@univmed.fr>.
Yes I would like to... but I don't know how to do that !... Sorry
If it is not too long, can you explain me.
Or can you give me a link that explain how to produce this log file
thks,
frank
> Could you provide the full log file on DEBUG level?
>
> /niklas
>


-- 

Frank Buloup

04 91 17 22 71

Institut des Sciences du Mouvement

UMR 6233 CNRS & Université de le Méditerranée

163 avenue de Luminy

13288 Marseille Cedex 9

Fax : 04 91 17 22 52


Re: Connection closed without indication

Posted by Niklas Gustavsson <ni...@protocol7.com>.
On Tue, Mar 29, 2011 at 3:56 PM, frank buloup <fr...@univmed.fr> wrote:
> Now if I use the same kind of code (of course you have to trust me) within a
> GUI interface (SWT-JFace), here what I get when server is started :
>
> Nb users :1
> Users name :paul
> 1741735 [Thread-0] INFO org.apache.ftpserver.impl.DefaultFtpServer - FTP
> server started
>
> What I can notice is that it seems we are not in main thread ???

Right, that's probably because your GUI works of a different thread
than main. Should not make any difference for FtpServer.

> And when a client tries to connect, here are messages coming from server :
>
> 1831252 [NioProcessor-3] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - CREATED
> 1831257 [pool-6-thread-1] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - OPENED
> 1831261 [pool-6-thread-1] INFO
> org.apache.ftpserver.listener.nio.FtpLoggingFilter - CLOSED

Could you provide the full log file on DEBUG level?

/niklas

Connection closed without indication

Posted by frank buloup <fr...@univmed.fr>.
Hello,

I'm trying to use FtpServer in my code and I have what I think to be a 
thread issue, but not sure.
That's why I ask for help, please, because I've not been able to find my 
error !

When I run a "classic" client and server, everything work fine. The user 
properties file is found,
with only one user called "paul", and server is correctly started with 
this message :

Nb users :1
Users name :paul
298 [main] INFO org.apache.ftpserver.impl.DefaultFtpServer - FTP server 
started

I suppose [main] means that server is running in main thread.
You can have a look at "classic" server code below.

When a connection is initiated from the client (see "classic" client 
code below), here are messages
coming from server (as you can see everything is working fine) :

302734 [NioProcessor-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - CREATED
302740 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - OPENED
onConnect
302753 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - SENT: 220 Service 
ready for new user.
302756 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: USER paul
302759 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - SENT: 331 User name 
okay, need password for paul.
302760 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: PASS *****
onLogin
302837 [pool-3-thread-1] INFO org.apache.ftpserver.command.impl.PASS - 
Login success - paul
302837 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: SYST
302838 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - SENT: 230 User 
logged in, proceed.
302838 [pool-3-thread-2] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - SENT: 215 UNIX 
Type: Apache FtpServer
302880 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: PORT 
127,0,0,1,197,145
302884 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - SENT: 200 Command 
PORT okay.
302885 [pool-3-thread-2] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - RECEIVED: LIST
302939 [pool-3-thread-2] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - SENT: 150 File 
status okay; about to open data connection.
302950 [pool-3-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - SENT: 226 Closing 
data connection.
302987 [pool-3-thread-2] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - CLOSED

Now if I use the same kind of code (of course you have to trust me) 
within a GUI interface (SWT-JFace), here what I get when server is started :

Nb users :1
Users name :paul
1741735 [Thread-0] INFO org.apache.ftpserver.impl.DefaultFtpServer - FTP 
server started

What I can notice is that it seems we are not in main thread ???

And when a client tries to connect, here are messages coming from server :

1831252 [NioProcessor-3] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - CREATED
1831257 [pool-6-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - OPENED
1831261 [pool-6-thread-1] INFO 
org.apache.ftpserver.listener.nio.FtpLoggingFilter - CLOSED

and messages coming from client :

org.apache.commons.net.ftp.FTPConnectionClosedException: Connection 
closed without indication.
     at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:298)
     at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:365)
     at 
org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:630)
     at org.apache.commons.net.SocketClient.connect(SocketClient.java:164)
     at org.apache.commons.net.SocketClient.connect(SocketClient.java:184)
     at snippet.FTPClientTest.<init>(FTPClientTest.java:14)
     at snippet.FTPClientTest.main(FTPClientTest.java:30)


Any help would be nice,
thanks a lot,
frank

------------------------------------------------------------------------------------

*_Classic SERVER code :_*
public class FTPServerTest extends DefaultFtplet {
     public FTPServerTest() {
         try {
             FtpServerFactory serverFactory = new FtpServerFactory();
             PropertiesUserManagerFactory userManagerFactory = new 
PropertiesUserManagerFactory();
             userManagerFactory.setFile(new File("./users.properties"));
             userManagerFactory
                     .setPasswordEncryptor(new SaltedPasswordEncryptor());
             UserManager userManager = 
userManagerFactory.createUserManager();
             String[] users = userManager.getAllUserNames();
             System.out.println("Nb users :" + users.length);
             if (users.length > 0)
                 System.out.println("Users name :" + users[0]);
             serverFactory.setUserManager(userManager);
             ListenerFactory factory = new ListenerFactory();
             factory.setPort(2221);
             serverFactory.addListener("default", factory.createListener());
             HashMap<String, Ftplet> ftplets = new HashMap<String, 
Ftplet>(0);
             ftplets.put("DEFAULT", this);
             serverFactory.setFtplets(ftplets);
             FtpServer server = serverFactory.createServer();
             server.start();
         } catch (FtpException e) {
             e.printStackTrace();
         }
     }

     public static void main(String[] args) {
         new FTPServerTest();
     }

     @Override
     public FtpletResult onConnect(FtpSession session) throws FtpException,
             IOException {
         System.out.println("onConnect");
         return FtpletResult.DEFAULT;
     }

     @Override
     public FtpletResult onLogin(FtpSession session, FtpRequest request)
             throws FtpException, IOException {
         System.out.println("onLogin");
         return FtpletResult.DEFAULT;
     }
}

*_Classic CLIENT code :_*
     public FTPClientTest() {
         try {
             FTPClient ftpClient = new FTPClient();
             ftpClient.connect("127.0.0.1", 2221);
             ftpClient.login("paul", "paul");
             FTPFile[] files = ftpClient.listFiles();
             for (int i = 0; i < files.length; i++) {
                 FTPFile ftpFile = files[i];
                 System.out.println(ftpFile.getName());
             }
             ftpClient.disconnect();
         } catch (SocketException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         }
     }

     public static void main(String[] args) {
         new FTPClientTest();
     }


Re: Determine hostname from a custom UserManager

Posted by David Latorre <dv...@gmail.com>.
 We are also using this user_Domain  as a workaround but in case of
Dan question, he only need to know what is the "server name" to which
FTPserver is deployed... I would have it in my config  file and pass
it as an argument to your  custom UserManager.

  If you don't want to depend on  properties, I guess you can also
call InetAddress.getLocalHost()

Cheers,

 David

2011/3/25 Brad McEvoy <mi...@bradmcevoy.com>:
> Hi Daniel,
>
> I don't think there is any equivalent because FTP doesnt have the
> equivalent of the HTTP host header.
>
> But i've had the same with the milton FTP/Webdav connector (see
> http://milton.ettrema.com), and my solution is to allow users to enter a
> user name which includes the domain name in the form user#domain.com.
>
> I'd be interested to see if anyone knows of any better options.
>
> Cheers,
> Brad
>
> On Fri, 25 Mar 2011 14:48 -0400, "Daniel Cane"
> <da...@modernizingmedicine.com> wrote:
>> Greetings all. I’m developing a custom userManager and have impl all
>> wired
>> up. My question is from inside the authenticate() method I need to know
>> the
>> equivalent of request.getServerName() in order to correctly associate
>> which
>> domain the user is in. We partition our data by servername so that use a
>> user myusername FTPing to foo.myserver.com would be different from
>> myusername FTPing to bar.myserver.com. Basically, I just need the URL
>> prefix. Any thoughts as to how I might be able to get that info?
>>
>>
>>
>> I see that an Ftplet has access to session, but don’t see how to get at
>> this
>> frim the authenticate method location.
>>
>>
>>
>> Thanks in advance!
>>
>>
>>
>> Dan
>>
> --
>  Brad McEvoy
>  brad@bradmcevoy.com
>
>

Re: Determine hostname from a custom UserManager

Posted by Brad McEvoy <mi...@bradmcevoy.com>.
Hi Daniel,

I don't think there is any equivalent because FTP doesnt have the
equivalent of the HTTP host header.

But i've had the same with the milton FTP/Webdav connector (see
http://milton.ettrema.com), and my solution is to allow users to enter a
user name which includes the domain name in the form user#domain.com.

I'd be interested to see if anyone knows of any better options.

Cheers,
Brad

On Fri, 25 Mar 2011 14:48 -0400, "Daniel Cane"
<da...@modernizingmedicine.com> wrote:
> Greetings all. I’m developing a custom userManager and have impl all
> wired
> up. My question is from inside the authenticate() method I need to know
> the
> equivalent of request.getServerName() in order to correctly associate
> which
> domain the user is in. We partition our data by servername so that use a
> user myusername FTPing to foo.myserver.com would be different from
> myusername FTPing to bar.myserver.com. Basically, I just need the URL
> prefix. Any thoughts as to how I might be able to get that info?
> 
> 
> 
> I see that an Ftplet has access to session, but don’t see how to get at
> this
> frim the authenticate method location.
> 
> 
> 
> Thanks in advance!
> 
> 
> 
> Dan
> 
-- 
  Brad McEvoy
  brad@bradmcevoy.com