Jonah Schwartz created HTTPCLIENT-1478:
------------------------------------------

             Summary: https calls ignore http.socket.timeout during SSL 
Handshake
                 Key: HTTPCLIENT-1478
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1478
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpConn
    Affects Versions: 4.3.3, 4.3.2, 4.3.1, 4.3 Final
         Environment: All
            Reporter: Jonah Schwartz


https calls ignore http.socket.timeout during SSL Handshake. This can result in 
a https call hanging forever waiting for socket read. 

In both SSLSocketFactory and SSLConnectionSocketFactory, 
sslsock.startHandshake(); is called before socket timeout is set on the socket. 
This means timeout is not respected during the SSL handshake, and the thread 
can hang with a stacktrace that looks like this:

org.apache.http.impl.client.AbstractHttpClient.doExecute
org.apache.http.impl.client.DefaultRequestDirector.execute
org.apache.http.impl.client.DefaultRequestDirector.tryConnect
org.apache.http.impl.conn.ManagedClientConnectionImpl.open
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection
org.apache.http.conn.ssl.SSLSocketFactory.connectSocket
org.apache.http.conn.ssl.SSLSocketFactory.connectSocket
sun.security.ssl.SSLSocketImpl.startHandshake
sun.security.ssl.SSLSocketImpl.startHandshake
sun.security.ssl.SSLSocketImpl.performInitialHandshake
sun.security.ssl.SSLSocketImpl.readRecord
sun.security.ssl.InputRecord.read
sun.security.ssl.InputRecord.readV3Record
sun.security.ssl.InputRecord.readFully
java.net.SocketInputStream.read
java.net.SocketInputStream.socketRead0





--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to