Scott Stanton created HTTPCORE-319:
--------------------------------------

             Summary: SSLIOSession goes into a loop if the server rejects an 
invalid certificate
                 Key: HTTPCORE-319
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-319
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 4.2.2
            Reporter: Scott Stanton
            Priority: Blocker


To reproduce:

* Set up an SSL server that requests certificates from the client.
* Set up a client with an expired SSL certificate.
* Establish a connection from the client to the server using BaseNIOReactor and 
SSLIOSession.

The server will proceed through the handshake until the client supplies its 
certificate in response to the CertificateRequest message.  At this point, the 
server's certificate verification will fail and it will close the connection. 

The client socket will become readable due to the EOF and the 
SSLIOSession.isAppInputReady() method is called to handle the EOF.  The 
bytesRead gets set to -1, which sets this.endOfStream = true.  Nothing ever 
sets the session into the CLOSING or CLOSED state, so it keeps looping on the 
readable EOF event.

I'm not sure what the best approach to fixing this should be.  It appears that 
if I close the session manually with the debugger from inside isAppInputReady, 
the system proceeds normally from that point, however I don't know what the 
implications of doing that might be.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to