diff --git a/jdk/src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java b/jdk/src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java index 240bc052d47..d816a580ae4 100644 --- a/jdk/src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java +++ b/jdk/src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java @@ -28,6 +28,7 @@ package sun.security.ssl; import java.io.*; import java.nio.channels.SocketChannel; import java.net.*; +import java.util.Set; import javax.net.ssl.*; @@ -634,6 +635,34 @@ abstract class BaseSSLSocketImpl extends SSLSocket { } } + @Override + public Socket setOption(SocketOption name, + T value) throws IOException { + if (self == this) { + return super.setOption(name, value); + } else { + return self.setOption(name, value); + } + } + + @Override + public T getOption(SocketOption name) throws IOException { + if (self == this) { + return super.getOption(name); + } else { + return self.getOption(name); + } + } + + @Override + public Set> supportedOptions() { + if (self == this) { + return super.supportedOptions(); + } else { + return self.supportedOptions(); + } + } + boolean isLayered() { return (self != this); }