Hi List, I found a situation where the ftp server locks up and no new connections can be made. ftpserver runs behind a firewall with open port 21 and runs fine with clients working in active mode. When a client tries to connect in passive mode, the data connection is blocked by the firewall. This is the point where the server locks up. It seems that the server is waiting for the incoming data connection that is never established because of the firewall.
The main thread executes two functions after accepting the client socket connection IConnection connection = new RequestHandler(m_ftpConfig, soc); conManager.newConnection(connection); it seems that one of the functions causes the hangup. In my understanding of server architecture the thread handling the client connection should be forked immediately after the accept() of the socket or the functions should have a very short timeout, because no new connections can be established while these functions are executed.
