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 final java.util.concurrent.locks.ReentrantLock socketLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.ReentrantLock handshakeLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: 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 2
start local 2 9: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
10: new sun.security.ssl.SSLSocketInputRecord
dup
aload 2
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
11: 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
12: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
13: return
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;
9 14 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
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: 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 3
start local 3 9: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
aload 2
10: new sun.security.ssl.SSLSocketInputRecord
dup
aload 3
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
11: 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
12: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
13: return
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 sslConfig Lsun/security/ssl/SSLConfiguration;
9 14 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
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: 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 4
start local 4 9: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
10: new sun.security.ssl.SSLSocketInputRecord
dup
aload 4
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
11: 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
12: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
13: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
14: aload 2
ifnull 15
new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 16
15: 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
16: StackMap locals:
StackMap stack: java.net.InetSocketAddress
astore 5
start local 5 17: aload 0
aload 5
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
18: 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 19 0 this Lsun/security/ssl/SSLSocketImpl;
0 19 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 19 2 peerHost Ljava/lang/String;
0 19 3 peerPort I
9 19 4 handshakeHash Lsun/security/ssl/HandshakeHash;
17 19 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
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: 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 4
start local 4 9: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
10: new sun.security.ssl.SSLSocketInputRecord
dup
aload 4
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
11: 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
12: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
13: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 5
start local 5 14: aload 0
aload 5
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)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 address Ljava/net/InetAddress;
0 16 3 peerPort I
9 16 4 handshakeHash Lsun/security/ssl/HandshakeHash;
14 16 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
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: 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 2
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
14: 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
15: aload 2
ifnull 16
new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 17
16: 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
17: StackMap locals:
StackMap stack: java.net.InetSocketAddress
astore 7
start local 7 18: aload 0
aload 7
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
19: 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 20 0 this Lsun/security/ssl/SSLSocketImpl;
0 20 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 20 2 peerHost Ljava/lang/String;
0 20 3 peerPort I
0 20 4 localAddr Ljava/net/InetAddress;
0 20 5 localPort I
9 20 6 handshakeHash Lsun/security/ssl/HandshakeHash;
18 20 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
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: 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
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
14: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 7
start local 7 15: aload 0
aload 7
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
16: 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 17 0 this Lsun/security/ssl/SSLSocketImpl;
0 17 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 17 2 peerAddr Ljava/net/InetAddress;
0 17 3 peerPort I
0 17 4 localAddr Ljava/net/InetAddress;
0 17 5 localPort I
9 17 6 handshakeHash Lsun/security/ssl/HandshakeHash;
15 17 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 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 2
invokevirtual java.net.Socket.isConnected:()Z
ifne 9
8: new java.net.SocketException
dup
ldc "Underlying socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
9: 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;
10: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 5
start local 5 11: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
12: new sun.security.ssl.SSLSocketInputRecord
dup
aload 5
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
13: 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
14: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
15: aload 0
iload 4
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
16: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()V
17: 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 18 0 this Lsun/security/ssl/SSLSocketImpl;
0 18 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 18 2 sock Ljava/net/Socket;
0 18 3 consumed Ljava/io/InputStream;
0 18 4 autoClose Z
11 18 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 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 2
invokevirtual java.net.Socket.isConnected:()Z
ifne 9
8: new java.net.SocketException
dup
ldc "Underlying socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
9: 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;
10: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 6
start local 6 11: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
12: new sun.security.ssl.SSLSocketInputRecord
dup
aload 6
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
13: 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
14: putfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
15: aload 0
aload 3
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
16: aload 0
iload 5
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
17: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()V
18: 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 19 0 this Lsun/security/ssl/SSLSocketImpl;
0 19 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 19 2 sock Ljava/net/Socket;
0 19 3 peerHost Ljava/lang/String;
0 19 4 port I
0 19 5 autoClose Z
11 19 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 java.lang.String[] getEnabledCipherSuites();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()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.enabledCipherSuites:Ljava/util/List;
2: invokestatic sun.security.ssl.CipherSuite.namesOf:(Ljava/util/List;)[Ljava/lang/String;
astore 2
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
4: aload 2
areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 3 5 any
public void setEnabledCipherSuites(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
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 1
invokestatic sun.security.ssl.CipherSuite.validValuesOf:([Ljava/lang/String;)Ljava/util/List;
3: putfield sun.security.ssl.SSLConfiguration.enabledCipherSuites:Ljava/util/List;
4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 2
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLSocketImpl;
0 10 1 suites [Ljava/lang/String;
Exception table:
from to target type
1 5 5 any
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 java.lang.String[] getEnabledProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()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.enabledProtocols:Ljava/util/List;
2: invokestatic sun.security.ssl.ProtocolVersion.toStringArray:(Ljava/util/List;)[Ljava/lang/String;
astore 2
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
4: aload 2
areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 3 5 any
public void setEnabledProtocols(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, 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.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
4: aload 1
invokestatic sun.security.ssl.ProtocolVersion.namesOf:([Ljava/lang/String;)Ljava/util/List;
5: putfield sun.security.ssl.SSLConfiguration.enabledProtocols:Ljava/util/List;
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
0 12 1 protocols [Ljava/lang/String;
Exception table:
from to target type
3 7 7 any
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
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.ensureNegotiated:(Z)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:
new sun.security.ssl.SSLSessionImpl
dup
invokespecial sun.security.ssl.SSLSessionImpl.<init>:()V
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 javax.net.ssl.SSLSession getHandshakeSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnonnull 3
2: aconst_null
goto 4
StackMap locals:
StackMap stack:
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;
StackMap locals:
StackMap stack: sun.security.ssl.SSLSessionImpl
4: astore 2
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 2
areturn
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 5 7 any
public void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
descriptor: (Ljavax/net/ssl/HandshakeCompletedListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, 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.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
3: 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
4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 2
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLSocketImpl;
0 10 1 listener Ljavax/net/ssl/HandshakeCompletedListener;
Exception table:
from to target type
3 5 5 any
MethodParameters:
Name Flags
listener
public void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
descriptor: (Ljavax/net/ssl/HandshakeCompletedListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, 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.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
3: 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
4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 2
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLSocketImpl;
0 10 1 listener Ljavax/net/ssl/HandshakeCompletedListener;
Exception table:
from to target type
3 5 5 any
MethodParameters:
Name Flags
listener
public void startHandshake();
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.startHandshake:(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 startHandshake(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 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.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
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:
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 30
11: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.readHandshakeRecord:()I
pop
12: goto 30
StackMap locals:
StackMap stack: java.io.InterruptedIOException
13: astore 2
start local 2 14: iload 1
ifeq 17
15: aload 0
aload 2
invokevirtual sun.security.ssl.SSLSocketImpl.handleException:(Ljava/lang/Exception;)V
16: goto 30
17: StackMap locals: java.io.InterruptedIOException
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
18: ldc "Couldn't kickstart handshaking"
aload 2
19: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 2 20: StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: java.io.IOException
astore 2
start local 2 21: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
22: ldc "Couldn't kickstart handshaking"
aload 2
23: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 2 24: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 25: aload 0
aload 2
invokevirtual sun.security.ssl.SSLSocketImpl.handleException:(Ljava/lang/Exception;)V
end local 2 26: goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 3
28: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
29: aload 3
athrow
30: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
31: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/security/ssl/SSLSocketImpl;
0 32 1 resumable Z
14 20 2 iioe Ljava/io/InterruptedIOException;
21 24 2 ioe Ljava/io/IOException;
25 26 2 oe Ljava/lang/Exception;
Exception table:
from to target type
9 12 13 Class java.io.InterruptedIOException
9 12 20 Class java.io.IOException
9 12 24 Class java.lang.Exception
6 27 27 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
resumable
public void setUseClientMode(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
iload 1
invokevirtual sun.security.ssl.TransportContext.setUseClientMode:(Z)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
0 8 1 mode Z
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
mode
public boolean getUseClientMode();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()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.isClientMode:Z
istore 2
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
3: iload 2
ireturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 2 4 any
public void setNeedClientAuth(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
2: iload 1
ifeq 3
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
goto 4
3: StackMap locals:
StackMap stack: sun.security.ssl.SSLConfiguration
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
4: 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;
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
8: aload 2
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
0 11 1 need Z
Exception table:
from to target type
1 6 6 any
MethodParameters:
Name Flags
need
public boolean getNeedClientAuth();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()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.clientAuthType:Lsun/security/ssl/ClientAuthType;
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
3: if_acmpne 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 2
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: iload 2
ireturn
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
9: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
10: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 6 8 any
public void setWantClientAuth(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
2: iload 1
ifeq 3
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
goto 4
3: StackMap locals:
StackMap stack: sun.security.ssl.SSLConfiguration
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
4: 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;
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
8: aload 2
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
0 11 1 want Z
Exception table:
from to target type
1 6 6 any
MethodParameters:
Name Flags
want
public boolean getWantClientAuth();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()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.clientAuthType:Lsun/security/ssl/ClientAuthType;
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
3: if_acmpne 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 2
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: iload 2
ireturn
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
9: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
10: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 6 8 any
public void setEnableSessionCreation(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: 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
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
0 8 1 flag Z
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
flag
public boolean getEnableSessionCreation();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()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.enableSessionCreation:Z
istore 2
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
3: iload 2
ireturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 2 4 any
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=4, locals=6, 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
invokevirtual sun.security.ssl.SSLSocketImpl.getSoLinger:()I
istore 3
start local 3 14: iload 3
iflt 47
15: invokestatic java.lang.Thread.interrupted:()Z
istore 4
start local 4 16: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
getfield sun.security.ssl.OutputRecord.recordLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:()Z
ifne 21
17: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
getfield sun.security.ssl.OutputRecord.recordLock:Ljava/util/concurrent/locks/ReentrantLock;
18: iload 3
i2l
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
19: invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:(JLjava/util/concurrent/TimeUnit;)Z
20: ifeq 28
21: StackMap locals: int int
StackMap stack:
aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.handleClosedNotifyAlert:(Z)V
22: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 5
24: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
getfield sun.security.ssl.OutputRecord.recordLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
25: aload 5
athrow
26: 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;
getfield sun.security.ssl.OutputRecord.recordLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
27: goto 44
28: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isOutputShutdown:()Z
ifne 37
29: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifeq 33
aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 33
30: new javax.net.ssl.SSLException
dup
31: ldc "SO_LINGER timeout, close_notify message cannot be sent."
32: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.shutdownOutput:()V
34: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 37
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 37
35: ldc "SSLSocket output duplex close failed: SO_LINGER timeout, close_notify message cannot be sent."
iconst_0
anewarray java.lang.Object
36: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
37: 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;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
38: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 44
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 44
39: ldc "Invalidate the session: SO_LINGER timeout, close_notify message cannot be sent."
iconst_0
anewarray java.lang.Object
40: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
41: goto 44
StackMap locals:
StackMap stack: java.lang.InterruptedException
42: pop
43: iconst_1
istore 4
44: StackMap locals:
StackMap stack:
iload 4
ifeq 54
45: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
end local 4 46: goto 54
47: 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;
getfield sun.security.ssl.OutputRecord.recordLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
48: aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.handleClosedNotifyAlert:(Z)V
49: goto 53
StackMap locals:
StackMap stack: java.lang.Throwable
50: astore 4
51: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
getfield sun.security.ssl.OutputRecord.recordLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
52: aload 4
athrow
53: 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;
getfield sun.security.ssl.OutputRecord.recordLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
54: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifne 56
55: aload 0
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.bruteForceCloseInput:(Z)V
56: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lsun/security/ssl/SSLSocketImpl;
1 57 1 useUserCanceled Z
2 57 2 hasCloseReceipt Z
11 13 3 pv Lsun/security/ssl/ProtocolVersion;
14 57 3 linger I
16 46 4 interrupted Z
Exception table:
from to target type
21 23 23 any
16 41 42 Class java.lang.InterruptedException
48 50 50 any
Exceptions:
throws java.io.IOException
private void handleClosedNotifyAlert(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: 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
2: StackMap locals:
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
3: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 7
6: 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
7: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isOutputShutdown:()Z
ifne 10
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 9
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 10
9: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.shutdownOutput:()V
10: StackMap locals:
StackMap stack:
aload 2
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 13
12: 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
13: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.isOutputShutdown:()Z
ifne 16
14: aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 15
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifne 16
15: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.shutdownOutput:()V
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/ssl/SSLSocketImpl;
0 17 1 useUserCanceled Z
Exception table:
from to target type
0 4 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
useUserCanceled
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 java.io.InputStream getInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isClosed:()Z
ifeq 3
2: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.isConnected:Z
ifne 5
4: new java.net.SocketException
dup
ldc "Socket is not connected"
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;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 6
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isInputShutdown:()Z
ifeq 7
6: 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
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.appInput:Lsun/security/ssl/SSLSocketImpl$AppInputStream;
astore 2
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: aload 2
areturn
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
11: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
12: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 8 10 any
Exceptions:
throws java.io.IOException
private void ensureNegotiated(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, 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.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.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
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:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
8: return
9: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.startHandshake:(Z)V
10: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 2
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
13: aload 2
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/ssl/SSLSocketImpl;
0 16 1 resumable Z
Exception table:
from to target type
4 7 11 any
9 11 11 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
resumable
public java.io.OutputStream getOutputStream();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isClosed:()Z
ifeq 3
2: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.isConnected:Z
ifne 5
4: new java.net.SocketException
dup
ldc "Socket is not connected"
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;
invokevirtual sun.security.ssl.TransportContext.isOutboundDone:()Z
ifne 6
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isOutputShutdown:()Z
ifeq 7
6: 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
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.appOutput:Lsun/security/ssl/SSLSocketImpl$AppOutputStream;
astore 2
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: aload 2
areturn
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
11: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
12: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 8 10 any
Exceptions:
throws java.io.IOException
public javax.net.ssl.SSLParameters getSSLParameters();
descriptor: ()Ljavax/net/ssl/SSLParameters;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: 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;
astore 2
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
3: aload 2
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 2 4 any
public void setSSLParameters(javax.net.ssl.SSLParameters);
descriptor: (Ljavax/net/ssl/SSLParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: 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
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.maximumPacketSize:I
ifeq 10
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
4: 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
5: invokevirtual sun.security.ssl.OutputRecord.changePacketSize:(I)V
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
0 12 1 params Ljavax/net/ssl/SSLParameters;
Exception table:
from to target type
1 7 7 any
MethodParameters:
Name Flags
params
public java.lang.String getApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.applicationProtocol:Ljava/lang/String;
astore 2
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
3: aload 2
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 2 4 any
public java.lang.String getHandshakeApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 8
2: 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;
astore 2
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
4: aload 2
areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 1
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: 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
1 3 5 any
public 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: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: 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;
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
0 8 1 selector Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
Exception table:
from to target type
1 3 3 any
Signature: (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
selector
public java.util.function.BiFunction<javax.net.ssl.SSLSocket, java.util.List<java.lang.String>, java.lang.String> getHandshakeApplicationProtocolSelector();
descriptor: ()Ljava/util/function/BiFunction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()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.socketAPSelector:Ljava/util/function/BiFunction;
astore 2
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
3: aload 2
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 2 4 any
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.InterruptedIOException
astore 1
start local 1 8: aload 1
athrow
end local 1 9: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 10: new javax.net.ssl.SSLException
dup
ldc "readHandshakeRecord"
aload 1
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
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 9 1 iioe Ljava/io/InterruptedIOException;
10 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.InterruptedIOException
1 4 9 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 31
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
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
13: aload 0
aload 1
invokevirtual sun.security.ssl.SSLSocketImpl.decode:(Ljava/nio/ByteBuffer;)Lsun/security/ssl/Plaintext;
astore 3
start local 3 14: goto 18
end local 3 StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 4
16: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
17: aload 4
athrow
start local 3 18: StackMap locals: sun.security.ssl.Plaintext
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
19: 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 31
20: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
ifle 31
21: aload 1
22: areturn
end local 3 23: StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int
StackMap stack: javax.net.ssl.SSLException
astore 3
start local 3 24: aload 3
athrow
end local 3 25: StackMap locals:
StackMap stack: java.io.InterruptedIOException
astore 3
start local 3 26: aload 3
athrow
end local 3 27: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 28: aload 3
instanceof javax.net.ssl.SSLException
ifne 30
29: new javax.net.ssl.SSLException
dup
ldc "readApplicationRecord"
aload 3
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
30: StackMap locals: java.io.IOException
StackMap stack:
aload 3
athrow
end local 3 end local 2 31: 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
32: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/security/ssl/SSLSocketImpl;
0 33 1 buffer Ljava/nio/ByteBuffer;
3 31 2 inLen I
14 15 3 plainText Lsun/security/ssl/Plaintext;
18 23 3 plainText Lsun/security/ssl/Plaintext;
24 25 3 ssle Ljavax/net/ssl/SSLException;
26 27 3 iioe Ljava/io/InterruptedIOException;
28 31 3 ioe Ljava/io/IOException;
Exception table:
from to target type
13 15 15 any
12 22 23 Class javax.net.ssl.SSLException
12 22 25 Class java.io.InterruptedIOException
12 22 27 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
private void tryNewSessionTicket();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, 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
ifne 11
1: 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
ifeq 11
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnonnull 11
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 11
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 11
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 11
6: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 8
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 8
7: ldc "trigger new session ticket"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.NewSessionTicket.kickstartProducer:Lsun/security/ssl/SSLProducer;
9: new sun.security.ssl.PostHandshakeContext
dup
aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokespecial sun.security.ssl.PostHandshakeContext.<init>:(Lsun/security/ssl/TransportContext;)V
10: invokeinterface sun.security.ssl.SSLProducer.produce:(Lsun/security/ssl/ConnectionContext;)[B
pop
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
void doneConnect();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
ifnull 2
aload 0
getfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 8
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.trustNameService:Z
ifeq 4
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 4
3: iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 1
start local 1 6: aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.useImplicitHost:(Z)V
end local 1 7: goto 12
8: 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;
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.serverNames:Ljava/util/List;
aload 0
getfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
10: invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
11: putfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
12: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getInputStream:()Ljava/io/InputStream;
astore 1
start local 1 13: 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
14: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getOutputStream:()Ljava/io/OutputStream;
astore 2
start local 2 15: 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
16: 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
17: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isConnected:Z
end local 2 end local 1 18: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 3
20: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
21: aload 3
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
23: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/ssl/SSLSocketImpl;
6 7 1 useNameService Z
13 18 1 sockInput Ljava/io/InputStream;
15 18 2 sockOutput Ljava/io/OutputStream;
Exception table:
from to target type
1 19 19 any
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 void setHost(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.peerHost:Ljava/lang/String;
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
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.serverNames:Ljava/util/List;
aload 1
4: invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
5: putfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
8: aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.socketLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
0 12 1 host Ljava/lang/String;
Exception table:
from to target type
1 7 7 any
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