Bruce J Schuchardt created GEODE-9135:
-----------------------------------------

             Summary: Remove reverse DNS lookup in Connection.java for accepted 
connections
                 Key: GEODE-9135
                 URL: https://issues.apache.org/jira/browse/GEODE-9135
             Project: Geode
          Issue Type: Test
          Components: membership
            Reporter: Bruce J Schuchardt


Prior to the introduction of SSLEngine use in the org.apache.geode.internal.tcp 
package we used SSLSockets.  During a handshake we would set the SNIHostName on 
the client side of the connection and have it validate the hostname returned by 
the server side of the handshake.

When we introduced SSLEngine we changed this to set the SNIHostName on both 
sides.  We should revert this so that it only does it on the client side.

The server side of the connection does not have a hostname for the client side 
of the connection in this case and it is currently doing a reverse DNS lookup 
to get the name.  That's a potentially expensive operation, and even then we 
don't know whether to use the fully qualified domain name (FQDN) or a simple 
host name.  This matters because endpoint verification requires that the name 
we choose be presented in the certificate of the other server.  If we choose 
the FQDN and the cert only has a simple host name the handshake will fail.

SSLEngine requires a host name when it's constructed but most algorithms don't 
use it.  Documentation mentions Kerberos possibly needing it, so we'd have to 
have a way for the reverse lookup to be enabled or find some other way to get 
the host name, like SocketCreator.getHostName()'s reverse-lookup cache.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to