public final class sun.security.ssl.SSLSocketImpl extends sun.security.ssl.BaseSSLSocketImpl implements sun.security.ssl.SSLTransport
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SSLSocketImpl
super_class: sun.security.ssl.BaseSSLSocketImpl
{
final sun.security.ssl.SSLContextImpl sslContext;
descriptor: Lsun/security/ssl/SSLContextImpl;
flags: (0x0010) ACC_FINAL
final sun.security.ssl.TransportContext conContext;
descriptor: Lsun/security/ssl/TransportContext;
flags: (0x0010) ACC_FINAL
private final sun.security.ssl.SSLSocketImpl$AppInputStream appInput;
descriptor: Lsun/security/ssl/SSLSocketImpl$AppInputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.ssl.SSLSocketImpl$AppOutputStream appOutput;
descriptor: Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String peerHost;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean autoClose;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isConnected;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private volatile boolean tlsIsClosed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final boolean trustNameService;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "jdk.tls.trustNameService"
iconst_0
invokestatic sun.security.ssl.Utilities.getBooleanProperty:(Ljava/lang/String;Z)Z
1: putstatic sun.security.ssl.SSLSocketImpl.trustNameService:Z
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.security.ssl.SSLContextImpl);
descriptor: (Lsun/security/ssl/SSLContextImpl;)V
flags: (0x0000)
Code:
stack=9, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
new sun.security.ssl.SSLSocketImpl$AppInputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
2: aload 0
new sun.security.ssl.SSLSocketImpl$AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
5: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
6: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 2
start local 2 7: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
8: new sun.security.ssl.SSLSocketInputRecord
dup
aload 2
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
9: new sun.security.ssl.SSLSocketOutputRecord
dup
aload 2
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
iconst_1
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;Z)V
10: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
0 12 1 sslContext Lsun/security/ssl/SSLContextImpl;
7 12 2 handshakeHash Lsun/security/ssl/HandshakeHash;
MethodParameters:
Name Flags
sslContext
void <init>(sun.security.ssl.SSLContextImpl, sun.security.ssl.SSLConfiguration);
descriptor: (Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLConfiguration;)V
flags: (0x0000)
Code:
stack=10, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
new sun.security.ssl.SSLSocketImpl$AppInputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
2: aload 0
new sun.security.ssl.SSLSocketImpl$AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
5: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
6: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 3
start local 3 7: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
aload 2
8: new sun.security.ssl.SSLSocketInputRecord
dup
aload 3
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
9: new sun.security.ssl.SSLSocketOutputRecord
dup
aload 3
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/SSLConfiguration;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;)V
10: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
0 12 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 12 2 sslConfig Lsun/security/ssl/SSLConfiguration;
7 12 3 handshakeHash Lsun/security/ssl/HandshakeHash;
MethodParameters:
Name Flags
sslContext
sslConfig
void <init>(sun.security.ssl.SSLContextImpl, java.lang.String, int);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=9, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
new sun.security.ssl.SSLSocketImpl$AppInputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
2: aload 0
new sun.security.ssl.SSLSocketImpl$AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
5: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
6: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 4
start local 4 7: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
8: new sun.security.ssl.SSLSocketInputRecord
dup
aload 4
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
9: new sun.security.ssl.SSLSocketOutputRecord
dup
aload 4
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
iconst_1
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;Z)V
10: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
11: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
12: aload 2
ifnull 13
new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 14
13: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl java.lang.String int sun.security.ssl.HandshakeHash
StackMap stack:
new java.net.InetSocketAddress
dup
aconst_null
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
14: StackMap locals:
StackMap stack: java.net.InetSocketAddress
astore 5
start local 5 15: aload 0
aload 5
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
16: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/ssl/SSLSocketImpl;
0 17 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 17 2 peerHost Ljava/lang/String;
0 17 3 peerPort I
7 17 4 handshakeHash Lsun/security/ssl/HandshakeHash;
15 17 5 socketAddress Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException, java.net.UnknownHostException
MethodParameters:
Name Flags
sslContext
peerHost
peerPort
void <init>(sun.security.ssl.SSLContextImpl, java.net.InetAddress, int);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/net/InetAddress;I)V
flags: (0x0000)
Code:
stack=9, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
new sun.security.ssl.SSLSocketImpl$AppInputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
2: aload 0
new sun.security.ssl.SSLSocketImpl$AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
5: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
6: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 4
start local 4 7: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
8: new sun.security.ssl.SSLSocketInputRecord
dup
aload 4
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
9: new sun.security.ssl.SSLSocketOutputRecord
dup
aload 4
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
iconst_1
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;Z)V
10: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
11: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 5
start local 5 12: aload 0
aload 5
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
13: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SSLSocketImpl;
0 14 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 14 2 address Ljava/net/InetAddress;
0 14 3 peerPort I
7 14 4 handshakeHash Lsun/security/ssl/HandshakeHash;
12 14 5 socketAddress Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslContext
address
peerPort
void <init>(sun.security.ssl.SSLContextImpl, java.lang.String, int, java.net.InetAddress, int);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/lang/String;ILjava/net/InetAddress;I)V
flags: (0x0000)
Code:
stack=9, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
new sun.security.ssl.SSLSocketImpl$AppInputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
2: aload 0
new sun.security.ssl.SSLSocketImpl$AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
5: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
6: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 6
start local 6 7: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
8: new sun.security.ssl.SSLSocketInputRecord
dup
aload 6
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
9: new sun.security.ssl.SSLSocketOutputRecord
dup
aload 6
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
iconst_1
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;Z)V
10: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
11: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
12: aload 0
new java.net.InetSocketAddress
dup
aload 4
iload 5
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual sun.security.ssl.SSLSocketImpl.bind:(Ljava/net/SocketAddress;)V
13: aload 2
ifnull 14
new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 15
14: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl java.lang.String int java.net.InetAddress int sun.security.ssl.HandshakeHash
StackMap stack:
new java.net.InetSocketAddress
dup
aconst_null
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
15: StackMap locals:
StackMap stack: java.net.InetSocketAddress
astore 7
start local 7 16: aload 0
aload 7
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
17: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/ssl/SSLSocketImpl;
0 18 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 18 2 peerHost Ljava/lang/String;
0 18 3 peerPort I
0 18 4 localAddr Ljava/net/InetAddress;
0 18 5 localPort I
7 18 6 handshakeHash Lsun/security/ssl/HandshakeHash;
16 18 7 socketAddress Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException, java.net.UnknownHostException
MethodParameters:
Name Flags
sslContext
peerHost
peerPort
localAddr
localPort
void <init>(sun.security.ssl.SSLContextImpl, java.net.InetAddress, int, java.net.InetAddress, int);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/net/InetAddress;ILjava/net/InetAddress;I)V
flags: (0x0000)
Code:
stack=9, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
new sun.security.ssl.SSLSocketImpl$AppInputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
2: aload 0
new sun.security.ssl.SSLSocketImpl$AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
5: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
6: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 6
start local 6 7: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
8: new sun.security.ssl.SSLSocketInputRecord
dup
aload 6
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
9: new sun.security.ssl.SSLSocketOutputRecord
dup
aload 6
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
iconst_1
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;Z)V
10: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
11: aload 0
new java.net.InetSocketAddress
dup
aload 4
iload 5
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual sun.security.ssl.SSLSocketImpl.bind:(Ljava/net/SocketAddress;)V
12: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 7
start local 7 13: aload 0
aload 7
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
14: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/SSLSocketImpl;
0 15 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 15 2 peerAddr Ljava/net/InetAddress;
0 15 3 peerPort I
0 15 4 localAddr Ljava/net/InetAddress;
0 15 5 localPort I
7 15 6 handshakeHash Lsun/security/ssl/HandshakeHash;
13 15 7 socketAddress Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslContext
peerAddr
peerPort
localAddr
localPort
void <init>(sun.security.ssl.SSLContextImpl, java.net.Socket, java.io.InputStream, boolean);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/net/Socket;Ljava/io/InputStream;Z)V
flags: (0x0000)
Code:
stack=9, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:(Ljava/net/Socket;Ljava/io/InputStream;)V
1: aload 0
new sun.security.ssl.SSLSocketImpl$AppInputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
2: aload 0
new sun.security.ssl.SSLSocketImpl$AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
5: aload 2
invokevirtual java.net.Socket.isConnected:()Z
ifne 7
6: new java.net.SocketException
dup
ldc "Underlying socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl java.net.Socket java.io.InputStream int
StackMap stack:
aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
8: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 5
start local 5 9: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
10: new sun.security.ssl.SSLSocketInputRecord
dup
aload 5
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
11: new sun.security.ssl.SSLSocketOutputRecord
dup
aload 5
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
iconst_0
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;Z)V
12: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
13: aload 0
iload 4
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
14: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()V
15: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/ssl/SSLSocketImpl;
0 16 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 16 2 sock Ljava/net/Socket;
0 16 3 consumed Ljava/io/InputStream;
0 16 4 autoClose Z
9 16 5 handshakeHash Lsun/security/ssl/HandshakeHash;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslContext
sock
consumed
autoClose
void <init>(sun.security.ssl.SSLContextImpl, java.net.Socket, java.lang.String, int, boolean);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/net/Socket;Ljava/lang/String;IZ)V
flags: (0x0000)
Code:
stack=9, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:(Ljava/net/Socket;)V
1: aload 0
new sun.security.ssl.SSLSocketImpl$AppInputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
2: aload 0
new sun.security.ssl.SSLSocketImpl$AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.SSLSocketImpl$AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
5: aload 2
invokevirtual java.net.Socket.isConnected:()Z
ifne 7
6: new java.net.SocketException
dup
ldc "Underlying socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl java.net.Socket java.lang.String int int
StackMap stack:
aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
8: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 6
start local 6 9: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
10: new sun.security.ssl.SSLSocketInputRecord
dup
aload 6
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
11: new sun.security.ssl.SSLSocketOutputRecord
dup
aload 6
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
iconst_1
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;Z)V
12: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
13: aload 0
aload 3
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
14: aload 0
iload 5
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
15: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()V
16: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/ssl/SSLSocketImpl;
0 17 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 17 2 sock Ljava/net/Socket;
0 17 3 peerHost Ljava/lang/String;
0 17 4 port I
0 17 5 autoClose Z
9 17 6 handshakeHash Lsun/security/ssl/HandshakeHash;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sslContext
sock
peerHost
port
autoClose
public void connect(java.net.SocketAddress, int);
descriptor: (Ljava/net/SocketAddress;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Already connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.InetSocketAddress
ifne 6
3: new java.net.SocketException
dup
4: ldc "Cannot handle non-Inet socket addresses."
5: invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokespecial sun.security.ssl.BaseSSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
7: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLSocketImpl;
0 9 1 endpoint Ljava/net/SocketAddress;
0 9 2 timeout I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
endpoint
timeout
public java.lang.String[] getSupportedCipherSuites();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSupportedCipherSuites:()Ljava/util/List;
invokestatic sun.security.ssl.CipherSuite.namesOf:(Ljava/util/List;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized java.lang.String[] getEnabledCipherSuites();
descriptor: ()[Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enabledCipherSuites:Ljava/util/List;
invokestatic sun.security.ssl.CipherSuite.namesOf:(Ljava/util/List;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setEnabledCipherSuites(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
1: aload 1
invokestatic sun.security.ssl.CipherSuite.validValuesOf:([Ljava/lang/String;)Ljava/util/List;
2: putfield sun.security.ssl.SSLConfiguration.enabledCipherSuites:Ljava/util/List;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
0 4 1 suites [Ljava/lang/String;
MethodParameters:
Name Flags
suites
public java.lang.String[] getSupportedProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSupportedProtocolVersions:()Ljava/util/List;
1: invokestatic sun.security.ssl.ProtocolVersion.toStringArray:(Ljava/util/List;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized java.lang.String[] getEnabledProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enabledProtocols:Ljava/util/List;
1: invokestatic sun.security.ssl.ProtocolVersion.toStringArray:(Ljava/util/List;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setEnabledProtocols(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Protocols cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
3: aload 1
invokestatic sun.security.ssl.ProtocolVersion.namesOf:([Ljava/lang/String;)Ljava/util/List;
4: putfield sun.security.ssl.SSLConfiguration.enabledProtocols:Ljava/util/List;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLSocketImpl;
0 6 1 protocols [Ljava/lang/String;
MethodParameters:
Name Flags
protocols
public javax.net.ssl.SSLSession getSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.ensureNegotiated:()V
1: goto 6
StackMap locals:
StackMap stack: java.io.IOException
2: astore 1
start local 1 3: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 5
ldc "handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 5
4: ldc "handshake failed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic sun.security.ssl.SSLLogger.severe:(Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals: java.io.IOException
StackMap stack:
getstatic sun.security.ssl.SSLSessionImpl.nullSession:Lsun/security/ssl/SSLSessionImpl;
areturn
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
3 6 1 ioe Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
public synchronized javax.net.ssl.SSLSession getHandshakeSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 9
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 5
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
aload 1
monitorexit
4: areturn
5: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
2 4 7 any
5 6 7 any
7 8 7 any
public synchronized void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
descriptor: (Ljavax/net/ssl/HandshakeCompletedListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "listener is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
aload 1
invokevirtual sun.security.ssl.SSLConfiguration.addHandshakeCompletedListener:(Ljavax/net/ssl/HandshakeCompletedListener;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
0 4 1 listener Ljavax/net/ssl/HandshakeCompletedListener;
MethodParameters:
Name Flags
listener
public synchronized void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
descriptor: (Ljavax/net/ssl/HandshakeCompletedListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "listener is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
aload 1
invokevirtual sun.security.ssl.SSLConfiguration.removeHandshakeCompletedListener:(Ljavax/net/ssl/HandshakeCompletedListener;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
0 4 1 listener Ljavax/net/ssl/HandshakeCompletedListener;
MethodParameters:
Name Flags
listener
public void startHandshake();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.isConnected:Z
ifne 2
1: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 4
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 4
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifeq 5
4: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Socket has been closed or broken"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
dup
astore 1
monitorenter
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 8
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 8
7: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifeq 9
8: StackMap locals: sun.security.ssl.TransportContext
StackMap stack:
new java.net.SocketException
dup
ldc "Socket has been closed or broken"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.kickstart:()V
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 19
11: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.readHandshakeRecord:()I
pop
12: goto 19
StackMap locals:
StackMap stack: java.io.IOException
13: astore 2
start local 2 14: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
15: ldc "Couldn't kickstart handshaking"
aload 2
16: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 2 17: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 18: aload 0
aload 2
invokevirtual sun.security.ssl.SSLSocketImpl.handleException:(Ljava/lang/Exception;)V
end local 2 19: StackMap locals:
StackMap stack:
aload 1
monitorexit
20: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
21: aload 1
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/ssl/SSLSocketImpl;
14 17 2 ioe Ljava/io/IOException;
18 19 2 oe Ljava/lang/Exception;
Exception table:
from to target type
9 12 13 Class java.io.IOException
9 12 17 Class java.lang.Exception
6 20 21 any
21 22 21 any
Exceptions:
throws java.io.IOException
public synchronized void setUseClientMode(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
iload 1
invokevirtual sun.security.ssl.TransportContext.setUseClientMode:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 mode Z
MethodParameters:
Name Flags
mode
public synchronized boolean getUseClientMode();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setNeedClientAuth(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
1: iload 1
ifeq 2
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
goto 3
2: StackMap locals:
StackMap stack: sun.security.ssl.SSLConfiguration
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
3: StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLConfiguration sun.security.ssl.ClientAuthType
putfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLSocketImpl;
0 5 1 need Z
MethodParameters:
Name Flags
need
public synchronized boolean getNeedClientAuth();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
1: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
2: if_acmpne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setWantClientAuth(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
1: iload 1
ifeq 2
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
goto 3
2: StackMap locals:
StackMap stack: sun.security.ssl.SSLConfiguration
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
3: StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLConfiguration sun.security.ssl.ClientAuthType
putfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLSocketImpl;
0 5 1 want Z
MethodParameters:
Name Flags
want
public synchronized boolean getWantClientAuth();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
1: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
2: if_acmpne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setEnableSessionCreation(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
iload 1
putfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 flag Z
MethodParameters:
Name Flags
flag
public synchronized boolean getEnableSessionCreation();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 4
3: ldc "duplex close of SSLSocket"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isOutputShutdown:()Z
ifne 6
5: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.duplexCloseOutput:()V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifne 8
7: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.duplexCloseInput:()V
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isClosed:()Z
ifne 18
9: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
10: goto 18
StackMap locals:
StackMap stack: java.io.IOException
11: astore 1
start local 1 12: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 14
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 14
13: ldc "SSLSocket duplex close failed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 1 14: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
goto 19
15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
16: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
17: aload 2
athrow
18: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
19: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/ssl/SSLSocketImpl;
12 14 1 ioe Ljava/io/IOException;
Exception table:
from to target type
4 10 11 Class java.io.IOException
4 14 15 any
Exceptions:
throws java.io.IOException
private void duplexCloseOutput();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifeq 8
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 6
4: iconst_1
istore 2
5: goto 13
6: StackMap locals: int int
StackMap stack:
iconst_1
istore 1
7: goto 13
StackMap locals:
StackMap stack:
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 13
9: iconst_1
istore 1
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
astore 3
start local 3 11: aload 3
ifnull 12
aload 3
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 13
12: StackMap locals: sun.security.ssl.ProtocolVersion
StackMap stack:
iconst_1
istore 2
end local 3 13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
dup
astore 3
monitorenter
14: iload 1
ifeq 16
15: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.USER_CANCELED:Lsun/security/ssl/Alert;
invokevirtual sun.security.ssl.TransportContext.warning:(Lsun/security/ssl/Alert;)V
16: StackMap locals: sun.security.ssl.OutputRecord
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.CLOSE_NOTIFY:Lsun/security/ssl/Alert;
invokevirtual sun.security.ssl.TransportContext.warning:(Lsun/security/ssl/Alert;)V
17: aload 3
monitorexit
18: goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 3
monitorexit
20: athrow
21: StackMap locals: sun.security.ssl.SSLSocketImpl int int
StackMap stack: java.lang.Throwable
astore 4
22: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 24
23: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.close:()V
24: StackMap locals: sun.security.ssl.SSLSocketImpl int int top java.lang.Throwable
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 25
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 27
StackMap locals:
StackMap stack:
25: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isOutputShutdown:()Z
ifne 27
26: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.shutdownOutput:()V
27: StackMap locals:
StackMap stack:
aload 4
athrow
28: StackMap locals: sun.security.ssl.SSLSocketImpl int int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 30
29: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.close:()V
30: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 31
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 33
StackMap locals:
StackMap stack:
31: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isOutputShutdown:()Z
ifne 33
32: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.shutdownOutput:()V
33: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifne 35
34: aload 0
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.bruteForceCloseInput:(Z)V
35: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/ssl/SSLSocketImpl;
1 36 1 useUserCanceled Z
2 36 2 hasCloseReceipt Z
11 13 3 pv Lsun/security/ssl/ProtocolVersion;
Exception table:
from to target type
14 18 19 any
19 20 19 any
13 21 21 any
Exceptions:
throws java.io.IOException
private void duplexCloseInput();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifeq 4
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 4
3: iconst_1
istore 1
4: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.bruteForceCloseInput:(Z)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLSocketImpl;
1 6 1 hasCloseReceipt Z
Exceptions:
throws java.io.IOException
private void bruteForceCloseInput(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
ifeq 10
1: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.shutdown:()V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifne 6
5: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.shutdownInput:(Z)V
6: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifne 26
8: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.shutdownInput:(Z)V
9: goto 26
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 23
11: aconst_null
astore 2
aconst_null
astore 3
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
pop
13: aload 0
getfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.deplete:()V
14: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
ifnull 23
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
15: invokevirtual sun.security.ssl.InputRecord.close:()V
goto 23
StackMap locals: sun.security.ssl.SSLSocketImpl int java.lang.Throwable java.lang.Throwable
StackMap stack: java.lang.Throwable
16: astore 2
17: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
ifnull 19
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
18: invokevirtual sun.security.ssl.InputRecord.close:()V
StackMap locals:
StackMap stack:
19: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 3
aload 2
ifnonnull 21
aload 3
astore 2
goto 22
StackMap locals:
StackMap stack:
21: aload 2
aload 3
if_acmpeq 22
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 2
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 24
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 26
StackMap locals:
StackMap stack:
24: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isInputShutdown:()Z
ifne 26
25: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.shutdownInput:()V
26: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/ssl/SSLSocketImpl;
0 27 1 hasCloseReceipt Z
Exception table:
from to target type
1 3 3 any
13 14 16 any
12 20 20 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
hasCloseReceipt
public void shutdownInput();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.shutdownInput:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
private void shutdownInput(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 4
3: ldc "close inbound of SSLSocket"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
iload 1
ifeq 9
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isInputCloseNotified:Z
ifne 9
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 6
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 9
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
7: ldc "closing inbound before receiving peer's close_notify"
8: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.closeInbound:()V
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 11
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 13
StackMap locals:
StackMap stack:
11: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isInputShutdown:()Z
ifne 13
12: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.shutdownInput:()V
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SSLSocketImpl;
0 14 1 checkCloseNotify Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
checkCloseNotify
public boolean isInputShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 4
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 2
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 3
StackMap locals:
StackMap stack:
2: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isInputShutdown:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLSocketImpl;
public void shutdownOutput();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isOutputShutdown:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 4
3: ldc "close outbound of SSLSocket"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.closeOutbound:()V
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 6
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 8
StackMap locals:
StackMap stack:
6: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isOutputShutdown:()Z
ifne 8
7: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.shutdownOutput:()V
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
public boolean isOutputShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifeq 4
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 2
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 3
StackMap locals:
StackMap stack:
2: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isOutputShutdown:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized java.io.InputStream getInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.isConnected:Z
ifne 4
3: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 5
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifeq 6
5: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Socket input is already shutdown"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
private void ensureNegotiated();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 2
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 2
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 2
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifeq 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
dup
astore 1
monitorenter
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 7
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 7
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 7
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifeq 9
7: StackMap locals: sun.security.ssl.TransportContext
StackMap stack:
aload 1
monitorexit
8: return
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.startHandshake:()V
10: aload 1
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
4 8 12 any
9 11 12 any
12 13 12 any
Exceptions:
throws java.io.IOException
public synchronized java.io.OutputStream getOutputStream();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.isConnected:Z
ifne 4
3: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundDone:()Z
ifne 5
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isOutputShutdown:()Z
ifeq 6
5: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Socket output is already shutdown"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
public synchronized javax.net.ssl.SSLParameters getSSLParameters();
descriptor: ()Ljavax/net/ssl/SSLParameters;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
invokevirtual sun.security.ssl.SSLConfiguration.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setSSLParameters(javax.net.ssl.SSLParameters);
descriptor: (Ljavax/net/ssl/SSLParameters;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
aload 1
invokevirtual sun.security.ssl.SSLConfiguration.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.maximumPacketSize:I
ifeq 5
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.maximumPacketSize:I
4: invokevirtual sun.security.ssl.OutputRecord.changePacketSize:(I)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLSocketImpl;
0 6 1 params Ljavax/net/ssl/SSLParameters;
MethodParameters:
Name Flags
params
public synchronized java.lang.String getApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.applicationProtocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized java.lang.String getHandshakeApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 2
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.applicationProtocol:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLSocket, java.util.List<java.lang.String>, java.lang.String>);
descriptor: (Ljava/util/function/BiFunction;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
aload 1
putfield sun.security.ssl.SSLConfiguration.socketAPSelector:Ljava/util/function/BiFunction;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 selector Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
Signature: (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
selector
public synchronized java.util.function.BiFunction<javax.net.ssl.SSLSocket, java.util.List<java.lang.String>, java.lang.String> getHandshakeApplicationProtocolSelector();
descriptor: ()Ljava/util/function/BiFunction;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.socketAPSelector:Ljava/util/function/BiFunction;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
Signature: ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
private int readHandshakeRecord();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: goto 11
1: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual sun.security.ssl.SSLSocketImpl.decode:(Ljava/nio/ByteBuffer;)Lsun/security/ssl/Plaintext;
astore 1
start local 1 2: aload 1
getfield sun.security.ssl.Plaintext.contentType:B
getstatic sun.security.ssl.ContentType.HANDSHAKE:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpne 11
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifeq 11
4: iconst_0
ireturn
end local 1 5: StackMap locals:
StackMap stack: javax.net.ssl.SSLException
astore 1
start local 1 6: aload 1
athrow
end local 1 7: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 8: aload 1
instanceof javax.net.ssl.SSLException
ifne 10
9: new javax.net.ssl.SSLException
dup
ldc "readHandshakeRecord"
aload 1
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
10: StackMap locals: java.io.IOException
StackMap stack:
aload 1
athrow
end local 1 11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 1
12: iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
2 5 1 plainText Lsun/security/ssl/Plaintext;
6 7 1 ssle Ljavax/net/ssl/SSLException;
8 11 1 ioe Ljava/io/IOException;
Exception table:
from to target type
1 4 5 Class javax.net.ssl.SSLException
1 4 7 Class java.io.IOException
Exceptions:
throws java.io.IOException
private java.nio.ByteBuffer readApplicationRecord(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: goto 28
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.bytesInCompletePacket:()I
istore 2
start local 2 3: iload 2
ifge 6
4: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLSocketImpl.handleEOF:(Ljava/io/EOFException;)Lsun/security/ssl/Plaintext;
pop
5: aconst_null
areturn
6: StackMap locals: int
StackMap stack:
iload 2
ldc 33093
if_icmple 10
7: new javax.net.ssl.SSLProtocolException
dup
8: new java.lang.StringBuilder
dup
ldc "Illegal packet size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iload 2
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 12
11: iload 2
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 1
12: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
monitorenter
13: aload 0
aload 1
invokevirtual sun.security.ssl.SSLSocketImpl.decode:(Ljava/nio/ByteBuffer;)Lsun/security/ssl/Plaintext;
astore 3
start local 3 14: aload 4
monitorexit
15: goto 18
end local 3 StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int top sun.security.ssl.SSLSocketImpl
StackMap stack: java.lang.Throwable
16: aload 4
monitorexit
17: athrow
start local 3 18: StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int sun.security.ssl.Plaintext
StackMap stack:
aload 3
getfield sun.security.ssl.Plaintext.contentType:B
getstatic sun.security.ssl.ContentType.APPLICATION_DATA:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpne 28
19: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
ifle 28
20: aload 1
21: areturn
end local 3 22: StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int
StackMap stack: javax.net.ssl.SSLException
astore 3
start local 3 23: aload 3
athrow
end local 3 24: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 25: aload 3
instanceof javax.net.ssl.SSLException
ifne 27
26: new javax.net.ssl.SSLException
dup
ldc "readApplicationRecord"
aload 3
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
27: StackMap locals: java.io.IOException
StackMap stack:
aload 3
athrow
end local 3 end local 2 28: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 1
29: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/security/ssl/SSLSocketImpl;
0 30 1 buffer Ljava/nio/ByteBuffer;
3 28 2 inLen I
14 16 3 plainText Lsun/security/ssl/Plaintext;
18 22 3 plainText Lsun/security/ssl/Plaintext;
23 24 3 ssle Ljavax/net/ssl/SSLException;
25 28 3 ioe Ljava/io/IOException;
Exception table:
from to target type
13 15 16 any
16 17 16 any
12 21 22 Class javax.net.ssl.SSLException
12 21 24 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
private sun.security.ssl.Plaintext decode(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lsun/security/ssl/Plaintext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 5
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
2: aconst_null
iconst_0
iconst_0
aconst_null
iconst_0
iconst_0
3: invokestatic sun.security.ssl.SSLTransport.decode:(Lsun/security/ssl/TransportContext;[Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
astore 2
start local 2 4: goto 11
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
6: aconst_null
iconst_0
iconst_0
iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 1
aastore
iconst_0
iconst_1
7: invokestatic sun.security.ssl.SSLTransport.decode:(Lsun/security/ssl/TransportContext;[Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
astore 2
start local 2 8: goto 11
end local 2 StackMap locals:
StackMap stack: java.io.EOFException
9: astore 3
start local 3 10: aload 0
aload 3
invokevirtual sun.security.ssl.SSLSocketImpl.handleEOF:(Ljava/io/EOFException;)Lsun/security/ssl/Plaintext;
astore 2
end local 3 start local 2 11: StackMap locals: sun.security.ssl.Plaintext
StackMap stack:
aload 2
getstatic sun.security.ssl.Plaintext.PLAINTEXT_NULL:Lsun/security/ssl/Plaintext;
if_acmpeq 15
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.seqNumIsHuge:()Z
ifne 14
13: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
getfield sun.security.ssl.InputRecord.readCipher:Lsun/security/ssl/SSLCipher$SSLReadCipher;
invokevirtual sun.security.ssl.SSLCipher$SSLReadCipher.atKeyLimit:()Z
ifeq 15
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.tryKeyUpdate:()V
15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/ssl/SSLSocketImpl;
0 16 1 destination Ljava/nio/ByteBuffer;
4 5 2 plainText Lsun/security/ssl/Plaintext;
8 9 2 plainText Lsun/security/ssl/Plaintext;
11 16 2 plainText Lsun/security/ssl/Plaintext;
10 11 3 eofe Ljava/io/EOFException;
Exception table:
from to target type
0 8 9 Class java.io.EOFException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
destination
private void tryKeyUpdate();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnonnull 7
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 7
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 7
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 7
4: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 6
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 6
5: ldc "trigger key update"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.startHandshake:()V
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
synchronized void doneConnect();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
ifnull 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 7
1: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.trustNameService:Z
ifeq 3
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
ifeq 3
2: iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 1
start local 1 5: aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.useImplicitHost:(Z)V
end local 1 6: goto 11
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
aload 0
getfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
9: invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
10: putfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
11: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getInputStream:()Ljava/io/InputStream;
astore 1
start local 1 12: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
aload 1
invokevirtual sun.security.ssl.InputRecord.setReceiverStream:(Ljava/io/InputStream;)V
13: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getOutputStream:()Ljava/io/OutputStream;
astore 2
start local 2 14: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
aload 2
invokevirtual sun.security.ssl.InputRecord.setDeliverStream:(Ljava/io/OutputStream;)V
15: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
aload 2
invokevirtual sun.security.ssl.OutputRecord.setDeliverStream:(Ljava/io/OutputStream;)V
16: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/ssl/SSLSocketImpl;
5 6 1 useNameService Z
12 18 1 sockInput Ljava/io/InputStream;
14 18 2 sockOutput Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
private void useImplicitHost(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getInetAddress:()Ljava/net/InetAddress;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: return
3: StackMap locals: java.net.InetAddress
StackMap stack:
invokestatic jdk.internal.access.SharedSecrets.getJavaNetInetAddressAccess:()Ljdk/internal/access/JavaNetInetAddressAccess;
4: astore 3
start local 3 5: aload 3
aload 2
invokeinterface jdk.internal.access.JavaNetInetAddressAccess.getOriginalHostName:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 4
start local 4 6: aload 4
ifnull 15
aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifne 15
7: aload 0
aload 4
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 14
9: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.noSniExtension:Z
ifne 14
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
11: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
aload 0
getfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
12: invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
13: putfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
14: StackMap locals: jdk.internal.access.JavaNetInetAddressAccess java.lang.String
StackMap stack:
return
15: StackMap locals:
StackMap stack:
iload 1
ifne 18
16: aload 0
aload 2
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getInetAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostName:()Ljava/lang/String;
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
19: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/ssl/SSLSocketImpl;
0 20 1 useNameService Z
1 20 2 inetAddress Ljava/net/InetAddress;
5 20 3 jna Ljdk/internal/access/JavaNetInetAddressAccess;
6 20 4 originalHostname Ljava/lang/String;
MethodParameters:
Name Flags
useNameService
public synchronized void setHost(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
aload 1
3: invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
4: putfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLSocketImpl;
0 6 1 host Ljava/lang/String;
MethodParameters:
Name Flags
host
private void handleException(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 2
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 2
1: ldc "handling exception"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.io.InterruptedIOException
ifeq 4
3: aload 1
checkcast java.io.IOException
athrow
4: StackMap locals:
StackMap stack:
aload 1
instanceof javax.net.ssl.SSLException
istore 2
start local 2 5: iload 2
ifeq 11
6: aload 1
instanceof javax.net.ssl.SSLHandshakeException
ifeq 9
7: getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
astore 3
start local 3 8: goto 15
end local 3 9: StackMap locals: int
StackMap stack:
getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
astore 3
start local 3 10: goto 15
end local 3 11: StackMap locals:
StackMap stack:
aload 1
instanceof java.io.IOException
ifeq 14
12: getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
astore 3
start local 3 13: goto 15
end local 3 14: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
astore 3
start local 3 15: StackMap locals: sun.security.ssl.Alert
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
aload 3
aload 1
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/ssl/SSLSocketImpl;
0 16 1 cause Ljava/lang/Exception;
5 16 2 isSSLException Z
8 9 3 alert Lsun/security/ssl/Alert;
10 11 3 alert Lsun/security/ssl/Alert;
13 14 3 alert Lsun/security/ssl/Alert;
15 16 3 alert Lsun/security/ssl/Alert;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cause
private sun.security.ssl.Plaintext handleEOF(java.io.EOFException);
descriptor: (Ljava/io/EOFException;)Lsun/security/ssl/Plaintext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLSocketImpl.requireCloseNotify:Z
ifne 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 12
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 6
2: new javax.net.ssl.SSLHandshakeException
dup
3: ldc "Remote host terminated the handshake"
4: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 5: goto 9
end local 2 6: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
7: ldc "Remote host terminated the connection"
8: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 9: StackMap locals: javax.net.ssl.SSLException
StackMap stack:
aload 1
ifnull 11
10: aload 2
aload 1
invokevirtual javax.net.ssl.SSLException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
11: StackMap locals:
StackMap stack:
aload 2
athrow
end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
iconst_1
putfield sun.security.ssl.TransportContext.isInputCloseNotified:Z
13: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.shutdownInput:()V
14: getstatic sun.security.ssl.Plaintext.PLAINTEXT_NULL:Lsun/security/ssl/Plaintext;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/SSLSocketImpl;
0 15 1 eofe Ljava/io/EOFException;
5 6 2 ssle Ljavax/net/ssl/SSLException;
9 12 2 ssle Ljavax/net/ssl/SSLException;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
eofe
public java.lang.String getPeerHost();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public int getPeerPort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getPort:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public boolean useDelegatedTask();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isClosed:()Z
ifne 12
1: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 3
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 3
2: ldc "close the underlying socket"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isInputCloseNotified:Z
ifeq 6
4: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
5: goto 11
6: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
7: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 1
9: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
10: aload 1
athrow
11: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.tlsIsClosed:Z
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
3 8 8 any
Exceptions:
throws java.io.IOException
private void closeSocket(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 6
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 6
1: new java.lang.StringBuilder
dup
ldc "close the SSL connection "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: iload 1
ifeq 3
ldc "(initiative)"
goto 4
StackMap locals:
StackMap stack: java.lang.StringBuilder
3: ldc "(passive)"
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 7
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 9
7: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.close:()V
8: goto 12
StackMap locals:
StackMap stack:
9: iload 1
ifeq 12
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 12
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifne 12
11: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.waitForClose:()V
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
0 13 1 selfInitiated Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
selfInitiated
private void waitForClose();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 10
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 10
1: ldc "wait for close_notify or alert"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual sun.security.ssl.SSLSocketImpl.decode:(Ljava/nio/ByteBuffer;)Lsun/security/ssl/Plaintext;
astore 1
start local 1 4: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 10
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 10
5: ldc "discard plaintext while waiting for close"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
6: invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 1 7: goto 10
StackMap locals:
StackMap stack: java.lang.Exception
8: astore 1
start local 1 9: aload 0
aload 1
invokevirtual sun.security.ssl.SSLSocketImpl.handleException:(Ljava/lang/Exception;)V
end local 1 10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 3
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
4 7 1 plainText Lsun/security/ssl/Plaintext;
9 10 1 e Ljava/lang/Exception;
Exception table:
from to target type
3 7 8 Class java.lang.Exception
Exceptions:
throws java.io.IOException
public java.net.Socket setOption(java.net.SocketOption, java.lang.Object);
descriptor: (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/net/Socket;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokespecial sun.security.ssl.BaseSSLSocketImpl.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/net/Socket;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public void setPerformancePreferences(int, int, int);
descriptor: (III)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
iload 1
iload 2
iload 3
invokespecial sun.security.ssl.BaseSSLSocketImpl.setPerformancePreferences:(III)V
return
LocalVariableTable:
Start End Slot Name Signature
public java.util.Set supportedOptions();
descriptor: ()Ljava/util/Set;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.supportedOptions:()Ljava/util/Set;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object getOption(java.net.SocketOption);
descriptor: (Ljava/net/SocketOption;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial sun.security.ssl.BaseSSLSocketImpl.getOption:(Ljava/net/SocketOption;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public java.net.SocketAddress getLocalSocketAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getLocalSocketAddress:()Ljava/net/SocketAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void setSoTimeout(int);
descriptor: (I)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokespecial sun.security.ssl.BaseSSLSocketImpl.setSoTimeout:(I)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.net.SocketException
public void bind(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial sun.security.ssl.BaseSSLSocketImpl.bind:(Ljava/net/SocketAddress;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public java.net.SocketAddress getRemoteSocketAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getRemoteSocketAddress:()Ljava/net/SocketAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SSLSocketImpl.java"
NestMembers:
sun.security.ssl.SSLSocketImpl$AppInputStream sun.security.ssl.SSLSocketImpl$AppOutputStream
InnerClasses:
abstract SSLReadCipher = sun.security.ssl.SSLCipher$SSLReadCipher of sun.security.ssl.SSLCipher
private AppInputStream = sun.security.ssl.SSLSocketImpl$AppInputStream of sun.security.ssl.SSLSocketImpl
private AppOutputStream = sun.security.ssl.SSLSocketImpl$AppOutputStream of sun.security.ssl.SSLSocketImpl