[
https://issues.apache.org/jira/browse/FTPSERVER-91?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Niklas Gustavsson updated FTPSERVER-91:
---------------------------------------
Fix Version/s: 1.0-M2
Assignee: Niklas Gustavsson
Affects Version/s: (was: 1.0-M2)
1.0-M1
> SSL handshake failure causes deadlock
> -------------------------------------
>
> Key: FTPSERVER-91
> URL: https://issues.apache.org/jira/browse/FTPSERVER-91
> Project: FtpServer
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.0-M1
> Reporter: Steve Jones
> Assignee: Niklas Gustavsson
> Fix For: 1.0-M2
>
>
> When using the Mina listener with SSL the ftp server can "deadlock" when the
> SSL handshake fails.
> This is easily reproducible by connecting to an implicit SSL FTPS server
> using a non SSL FTP client.
> Each connection attempt will permanently utilize a server connection until
> the server is restarted.
> The issue is that until the SSL handshake is completed all FTP responses are
> buffered. This is a problem since the "MinaFtpResponseOutput" class blocks
> until the response is actually written to the client (which it never is).
> The "CLOSE" connection event is never processed since the worker "thread" is
> blocked waiting for the handshake to complete and the initial response to be
> written.
> Modifying the "MinaFtpResponseOutput" class as shown below appears to fix the
> issue, but I'm not sure if changing this to non-blocking will cause other
> issues. An alternative approach may be to timeout the SSL handshake after a
> few seconds (e.g. using join(5000))
> ---
> core/src/java/org/apache/ftpserver/listener/mina/MinaFtpResponseOutput.java
> (revision 543677)
> +++
> core/src/java/org/apache/ftpserver/listener/mina/MinaFtpResponseOutput.java
> (working copy)
> @@ -40,7 +40,7 @@
> }
>
> public void write(FtpReply response) throws IOException {
> - session.write(response).join();
> + session.write(response);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.