Hello  Jagtar,

 Please, use the ftpserver-users mailing list for these questions.

 Your log file says that the remote peer (either your FTP client or some
network appliance)  closed the connection.  It is possible that the IP
address from the PASV response is incorrect:

Entering Passive Mode (ex,te,rnl,ip,203,135)

Is ex,te,rnl,ip,  the correct IP address the client should connect to?  You
said the FTP client never got this response so a firewall might be killing
the connection for any reason. Check your FTP client (just in case) and
Firewall log files.



In Active Mode,  the ports should be opened in the FTP Client end;  the
ftpserver only needs port 21 and outgoing connections from port 20 (or the
one you have configured in the XML), this is why it works.  Active mode is
'troublesome' when the port the FTP client opened in its local computer is
not available to the FTP server (ie,  the FTP client is behind a firewall
or in a NATed environment).





2013/3/31 Jagtar Singh <jsmun...@hotmail.com>

> Hi,
> We configured apache ftp server (v 1.0.6) for passive mode operation.
> Server is behind firewall so we specified port range (50000-55000) asking
> firewall admin to open the same range.On client side (connecting via
> external ip) we don't get response to PASV command (when doing dir). On
> server side we get this exception in log (excerpt below). We thought it's a
> firewall issue.
> Strangely, we removed passive configuration from xml and everything
> started to work. Ports being used were 60000+ which we didn't ask admins to
> open.
> Also from internal IP, it never gave any issue.
> Please explain the behavior because mostly we need passive port
> specification due to restrictive firewalls. I'm afraid this might cause
> problem.
> Thanks in advance.J.--[ INFO] 2013-03-28 04:40:53,825 [admin]
> [][cl.ie.nt.ip] RECEIVED: PASV[DEBUG] 2013-03-28 04:40:53,825 [admin]
> [][cl.ie.nt.ip] Initiating passive data connection[DEBUG] 2013-03-28
> 04:40:53,826 [admin] [][cl.ie.nt.ip] Opening passive data connection on
> address "/int.ern.al.ip" and port 52103[DEBUG] 2013-03-28 04:40:53,826
> [admin] [][cl.ie.nt.ip] Passive data connection created on address
> "/int.ern.al.ip" and port 52103[DEBUG] 2013-03-28 04:40:53,827 [admin]
> [][cl.ie.nt.ip] Firing a WRITE event for session 2[DEBUG] 2013-03-28
> 04:40:53,828 [admin] [][cl.ie.nt.ip] Firing a WRITE event for session
> 2[DEBUG] 2013-03-28 04:40:53,828 [admin] [][cl.ie.nt.ip] Event WRITE has
> been fired for session 2[DEBUG] 2013-03-28 04:40:53,828 [admin]
> [][cl.ie.nt.ip] Firing a WRITE event for session 2[DEBUG] 2013-03-28
> 04:40:53,829 [admin] [][cl.ie.nt.ip] Firing a MESSAGE_SENT event for
> session 2[DEBUG] 2013-03-28 04:40:53,829 [admin] [][cl.ie.nt.ip] Adding
> event MESSAGE_SENT to session 2Queue : [MESSAGE_SENT, ]
> [DEBUG] 2013-03-28 04:40:53,829 [admin] [][cl.ie.nt.ip] Event MESSAGE_SENT
> has been fired for session 2[DEBUG] 2013-03-28 04:40:53,829 [admin]
> [][cl.ie.nt.ip] Firing a EXCEPTION_CAUGHT event for session 2[DEBUG]
> 2013-03-28 04:40:53,830 [admin] [][cl.ie.nt.ip] Adding event
> EXCEPTION_CAUGHT to session 2Queue : [MESSAGE_SENT, , EXCEPTION_CAUGHT, ]
> [DEBUG] 2013-03-28 04:40:53,830 [admin] [][cl.ie.nt.ip] Event
> EXCEPTION_CAUGHT has been fired for session 2[DEBUG] 2013-03-28
> 04:40:53,830 [admin] [][cl.ie.nt.ip] Firing a SESSION_CLOSED event for
> session 2[DEBUG] 2013-03-28 04:40:53,830 [admin] [][cl.ie.nt.ip] Adding
> event SESSION_CLOSED to session 2Queue : [MESSAGE_SENT, , EXCEPTION_CAUGHT,
> , SESSION_CLOSED, ]
> [DEBUG] 2013-03-28 04:40:53,830 [admin] [][cl.ie.nt.ip] Event
> SESSION_CLOSED has been fired for session 2[DEBUG] 2013-03-28 04:40:53,830
> [admin] [][cl.ie.nt.ip] Event WRITE has been fired for session 2[DEBUG]
> 2013-03-28 04:40:53,831 [admin] [][cl.ie.nt.ip] Event WRITE has been fired
> for session 2[DEBUG] 2013-03-28 04:40:53,831 [admin] [][cl.ie.nt.ip] Event
> MESSAGE_RECEIVED has been fired for session 2[DEBUG] 2013-03-28
> 04:40:53,831 [] [][] Event MESSAGE_RECEIVED has been fired for session
> 2[DEBUG] 2013-03-28 04:40:53,831 [] [][] Firing a MESSAGE_SENT event for
> session 2[DEBUG] 2013-03-28 04:40:53,831 [admin] [][cl.ie.nt.ip] Firing a
> MESSAGE_SENT event for session 2[ INFO] 2013-03-28 04:40:53,831 [admin]
> [][cl.ie.nt.ip] SENT: 227 Entering Passive Mode (ex,te,rnl,ip,203,135)
> [DEBUG] 2013-03-28 04:40:53,831 [admin] [][cl.ie.nt.ip] Event MESSAGE_SENT
> has been fired for session 2[DEBUG] 2013-03-28 04:40:53,831 [] [][] Event
> MESSAGE_SENT has been fired for session 2[DEBUG] 2013-03-28 04:40:53,831 []
> [][] Firing a EXCEPTION_CAUGHT event for session 2[DEBUG] 2013-03-28
> 04:40:53,831 [admin] [][cl.ie.nt.ip] Firing a EXCEPTION_CAUGHT event for
> session 2[ WARN] 2013-03-28 04:40:53,833 [admin] [][cl.ie.nt.ip] EXCEPTION
> :java.io.IOException: An existing connection was forcibly closed by the
> remote host   at sun.nio.ch.SocketDispatcher.read0(Native Method)     at
> sun.nio.ch.SocketDispatcher.read(Unknown Source)     at
> sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)       at
> sun.nio.ch.IOUtil.read(Unknown Source)       at
> sun.nio.ch.SocketChannelImpl.read(Unknown Source)    at
> org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:280)
>        at
> org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:695)
>    at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668)
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657)
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:68)
>       at
> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1141)
>  at
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)   at
> java.lang.Thread.run(Unknown Source)[ERROR] 2013-03-28 04:40:53,835 [admin]
> [][cl.ie.nt.ip] Exception caught, closing sessionjava.io.IOException: An
> existing connection was forcibly closed by the remote host      at
> sun.nio.ch.SocketDispatcher.read0(Native Method)     at
> sun.nio.ch.SocketDispatcher.read(Unknown Source)     at
> sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)       at
> sun.nio.ch.IOUtil.read(Unknown Source)       at
> sun.nio.ch.SocketChannelImpl.read(Unknown Source)    at
> org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:280)
>        at
> org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:695)
>    at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668)
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657)
> at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:68)
>       at
> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1141)
>  at
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)   at
> java.lang.Thread.run(Unknown Source)[DEBUG] 2013-03-28 04:40:53,836 [admin]
> [][cl.ie.nt.ip] Event EXCEPTION_CAUGHT has been fired for session 2[DEBUG]
> 2013-03-28 04:40:53,836 [] [][] Event EXCEPTION_CAUGHT has been fired for
> session 2[DEBUG] 2013-03-28 04:40:53,836 [] [][] Firing a SESSION_CLOSED
> event for session 2[DEBUG] 2013-03-28 04:40:53,836 [admin] [][cl.ie.nt.ip]
> Firing a SESSION_CLOSED event for session 2[ INFO] 2013-03-28 04:40:53,836
> [admin] [][cl.ie.nt.ip] CLOSED--

Reply via email to