Github user ivmaykov commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/679#discussion_r233656201
  
    --- Diff: 
zookeeper-server/src/main/java/org/apache/zookeeper/common/X509Util.java ---
    @@ -350,14 +389,22 @@ public static X509TrustManager createTrustManager(
         public SSLSocket createSSLSocket() throws X509Exception, IOException {
             SSLSocket sslSocket = (SSLSocket) 
getDefaultSSLContext().getSocketFactory().createSocket();
             configureSSLSocket(sslSocket);
    -
    +        sslSocket.setUseClientMode(true);
             return sslSocket;
         }
     
    -    public SSLSocket createSSLSocket(Socket socket) throws X509Exception, 
IOException {
    -        SSLSocket sslSocket = (SSLSocket) 
getDefaultSSLContext().getSocketFactory().createSocket(socket, null, 
socket.getPort(), true);
    +    public SSLSocket createSSLSocket(Socket socket, byte[] pushbackBytes) 
throws X509Exception, IOException {
    +        SSLSocket sslSocket;
    +        if (pushbackBytes != null && pushbackBytes.length > 0) {
    +            sslSocket = (SSLSocket) 
getDefaultSSLContext().getSocketFactory().createSocket(
    +                    socket, new ByteArrayInputStream(pushbackBytes), true);
    +        } else {
    +            sslSocket = (SSLSocket) 
getDefaultSSLContext().getSocketFactory().createSocket(
    +                    socket, null, socket.getPort(), true);
    +        }
             configureSSLSocket(sslSocket);
    -
    +        sslSocket.setUseClientMode(false);
    --- End diff --
    
    Yes and yes. In #681 I make the client auth setting configurable.


---

Reply via email to