public final class sun.security.ssl.SSLSocketImpl extends sun.security.ssl.BaseSSLSocketImpl
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
{
private static final int cs_START;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int cs_HANDSHAKE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int cs_DATA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int cs_RENEGOTIATE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int cs_ERROR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int cs_SENT_CLOSE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int cs_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int cs_APP_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private volatile int connectionState;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean expectingFinished;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.SSLException closeReason;
descriptor: Ljavax/net/ssl/SSLException;
flags: (0x0002) ACC_PRIVATE
private byte doClientAuth;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private boolean roleIsServer;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean enableSessionCreation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String host;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean autoClose;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0002) ACC_PRIVATE
private java.lang.String rawHostname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.CipherSuiteList enabledCipherSuites;
descriptor: Lsun/security/ssl/CipherSuiteList;
flags: (0x0002) ACC_PRIVATE
private java.lang.String identificationProtocol;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.security.AlgorithmConstraints algorithmConstraints;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object handshakeLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final java.util.concurrent.locks.ReentrantLock writeLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0010) ACC_FINAL
private final java.lang.Object readLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private sun.security.ssl.InputRecord inrec;
descriptor: Lsun/security/ssl/InputRecord;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.MAC readMAC;
descriptor: Lsun/security/ssl/MAC;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.MAC writeMAC;
descriptor: Lsun/security/ssl/MAC;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.CipherBox readCipher;
descriptor: Lsun/security/ssl/CipherBox;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.CipherBox writeCipher;
descriptor: Lsun/security/ssl/CipherBox;
flags: (0x0002) ACC_PRIVATE
private boolean secureRenegotiation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte[] clientVerifyData;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] serverVerifyData;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.SSLContextImpl sslContext;
descriptor: Lsun/security/ssl/SSLContextImpl;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.Handshaker handshaker;
descriptor: Lsun/security/ssl/Handshaker;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.SSLSessionImpl sess;
descriptor: Lsun/security/ssl/SSLSessionImpl;
flags: (0x0002) ACC_PRIVATE
private volatile sun.security.ssl.SSLSessionImpl handshakeSession;
descriptor: Lsun/security/ssl/SSLSessionImpl;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.util.HashMap<javax.net.ssl.HandshakeCompletedListener, java.security.AccessControlContext> handshakeListeners;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljavax/net/ssl/HandshakeCompletedListener;Ljava/security/AccessControlContext;>;
private java.io.InputStream sockInput;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream sockOutput;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.AppInputStream input;
descriptor: Lsun/security/ssl/AppInputStream;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.AppOutputStream output;
descriptor: Lsun/security/ssl/AppOutputStream;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ProtocolList enabledProtocols;
descriptor: Lsun/security/ssl/ProtocolList;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ProtocolVersion protocolVersion;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0002) ACC_PRIVATE
private static final sun.security.ssl.Debug debug;
descriptor: Lsun/security/ssl/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean isFirstAppOutputRecord;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.io.ByteArrayOutputStream heldRecordBuffer;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0002) ACC_PRIVATE
static final boolean trustNameService;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lsun/security/ssl/SSLSocketImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.security.ssl.SSLSocketImpl.$assertionsDisabled:Z
3: ldc "ssl"
invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
putstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
4: ldc "jdk.tls.trustNameService"
iconst_0
invokestatic sun.security.ssl.Debug.getBooleanProperty:(Ljava/lang/String;Z)Z
5: putstatic sun.security.ssl.SSLSocketImpl.trustNameService:Z
6: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.security.ssl.SSLContextImpl, java.lang.String, int);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=4, locals=5, 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
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
8: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
9: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
10: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
11: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
12: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.rawHostname:Ljava/lang/String;
13: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
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
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 4
start local 4 17: aload 0
aload 4
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
18: return
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 context Lsun/security/ssl/SSLContextImpl;
0 19 2 host Ljava/lang/String;
0 19 3 port I
17 19 4 socketAddress Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException, java.net.UnknownHostException
MethodParameters:
Name Flags
context
host
port
void <init>(sun.security.ssl.SSLContextImpl, java.net.InetAddress, int);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/net/InetAddress;I)V
flags: (0x0000)
Code:
stack=4, locals=5, 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
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
8: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
9: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
10: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
11: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
12: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 4
start local 4 13: aload 0
aload 4
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/SSLSocketImpl;
0 15 1 context Lsun/security/ssl/SSLContextImpl;
0 15 2 host Ljava/net/InetAddress;
0 15 3 port I
13 15 4 socketAddress Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
host
port
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=5, 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
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
8: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
9: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
10: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
11: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
12: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.rawHostname:Ljava/lang/String;
13: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
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
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 6
start local 6 18: aload 0
aload 6
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
19: 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 20 0 this Lsun/security/ssl/SSLSocketImpl;
0 20 1 context Lsun/security/ssl/SSLContextImpl;
0 20 2 host Ljava/lang/String;
0 20 3 port I
0 20 4 localAddr Ljava/net/InetAddress;
0 20 5 localPort I
18 20 6 socketAddress Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException, java.net.UnknownHostException
MethodParameters:
Name Flags
context
host
port
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=5, 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
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
8: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
9: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
10: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
11: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
12: aload 0
new java.net.InetSocketAddress
dup
aload 4
iload 5
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual sun.security.ssl.SSLSocketImpl.bind:(Ljava/net/SocketAddress;)V
13: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 6
start local 6 14: aload 0
aload 6
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
15: 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 16 0 this Lsun/security/ssl/SSLSocketImpl;
0 16 1 context Lsun/security/ssl/SSLContextImpl;
0 16 2 host Ljava/net/InetAddress;
0 16 3 port I
0 16 4 localAddr Ljava/net/InetAddress;
0 16 5 localPort I
14 16 6 socketAddress Ljava/net/SocketAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
host
port
localAddr
localPort
void <init>(sun.security.ssl.SSLContextImpl, boolean, sun.security.ssl.CipherSuiteList, byte, boolean, sun.security.ssl.ProtocolList, java.lang.String, java.security.AlgorithmConstraints);
descriptor: (Lsun/security/ssl/SSLContextImpl;ZLsun/security/ssl/CipherSuiteList;BZLsun/security/ssl/ProtocolList;Ljava/lang/String;Ljava/security/AlgorithmConstraints;)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
8: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
9: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
10: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
11: aload 0
iload 4
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
12: aload 0
iload 5
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
13: aload 0
aload 7
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
14: aload 0
aload 8
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
15: aload 0
aload 1
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
16: aload 0
aload 3
putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
17: aload 0
aload 6
putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
18: return
end local 8 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 19 0 this Lsun/security/ssl/SSLSocketImpl;
0 19 1 context Lsun/security/ssl/SSLContextImpl;
0 19 2 serverMode Z
0 19 3 suites Lsun/security/ssl/CipherSuiteList;
0 19 4 clientAuth B
0 19 5 sessionCreation Z
0 19 6 protocols Lsun/security/ssl/ProtocolList;
0 19 7 identificationProtocol Ljava/lang/String;
0 19 8 algorithmConstraints Ljava/security/AlgorithmConstraints;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
serverMode
suites
clientAuth
sessionCreation
protocols
identificationProtocol
algorithmConstraints
void <init>(sun.security.ssl.SSLContextImpl);
descriptor: (Lsun/security/ssl/SSLContextImpl;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
8: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
9: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
10: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
11: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
0 13 1 context Lsun/security/ssl/SSLContextImpl;
MethodParameters:
Name Flags
context
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=3, locals=6, 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
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
6: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
8: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
9: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
10: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
11: aload 2
invokevirtual java.net.Socket.isConnected:()Z
ifne 13
12: new java.net.SocketException
dup
ldc "Underlying socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl java.net.Socket java.lang.String int int
StackMap stack:
aload 0
aload 3
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
14: aload 0
aload 3
putfield sun.security.ssl.SSLSocketImpl.rawHostname:Ljava/lang/String;
15: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
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 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 context Lsun/security/ssl/SSLContextImpl;
0 19 2 sock Ljava/net/Socket;
0 19 3 host Ljava/lang/String;
0 19 4 port I
0 19 5 autoClose Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
sock
host
port
autoClose
private void init(sun.security.ssl.SSLContextImpl, boolean);
descriptor: (Lsun/security/ssl/SSLContextImpl;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
1: aload 0
new sun.security.ssl.SSLSessionImpl
dup
invokespecial sun.security.ssl.SSLSessionImpl.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
2: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
3: aload 0
iload 2
putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
5: aload 0
getstatic sun.security.ssl.CipherBox.NULL:Lsun/security/ssl/CipherBox;
putfield sun.security.ssl.SSLSocketImpl.readCipher:Lsun/security/ssl/CipherBox;
6: aload 0
getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
putfield sun.security.ssl.SSLSocketImpl.readMAC:Lsun/security/ssl/MAC;
7: aload 0
getstatic sun.security.ssl.CipherBox.NULL:Lsun/security/ssl/CipherBox;
putfield sun.security.ssl.SSLSocketImpl.writeCipher:Lsun/security/ssl/CipherBox;
8: aload 0
getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
putfield sun.security.ssl.SSLSocketImpl.writeMAC:Lsun/security/ssl/MAC;
9: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.secureRenegotiation:Z
10: aload 0
iconst_0
newarray 8
putfield sun.security.ssl.SSLSocketImpl.clientVerifyData:[B
11: aload 0
iconst_0
newarray 8
putfield sun.security.ssl.SSLSocketImpl.serverVerifyData:[B
12: aload 0
13: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
14: putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
15: aload 0
16: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
17: putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
18: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
19: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield sun.security.ssl.SSLSocketImpl.acc:Ljava/security/AccessControlContext;
20: aload 0
new sun.security.ssl.AppInputStream
dup
aload 0
invokespecial sun.security.ssl.AppInputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.input:Lsun/security/ssl/AppInputStream;
21: aload 0
new sun.security.ssl.AppOutputStream
dup
aload 0
invokespecial sun.security.ssl.AppOutputStream.<init>:(Lsun/security/ssl/SSLSocketImpl;)V
putfield sun.security.ssl.SSLSocketImpl.output:Lsun/security/ssl/AppOutputStream;
22: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/ssl/SSLSocketImpl;
0 23 1 context Lsun/security/ssl/SSLContextImpl;
0 23 2 isServer Z
MethodParameters:
Name Flags
context
isServer
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
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
aload 0
if_acmpeq 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
void doneConnect();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
aload 0
if_acmpne 4
1: aload 0
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getInputStream:()Ljava/io/InputStream;
putfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
2: aload 0
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getOutputStream:()Ljava/io/OutputStream;
putfield sun.security.ssl.SSLSocketImpl.sockOutput:Ljava/io/OutputStream;
3: goto 6
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
putfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
5: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
putfield sun.security.ssl.SSLSocketImpl.sockOutput:Ljava/io/OutputStream;
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.initHandshaker:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
private synchronized int getConnectionState();
descriptor: ()I
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
private synchronized void setConnectionState(int);
descriptor: (I)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 state I
MethodParameters:
Name Flags
state
java.security.AccessControlContext getAcc();
descriptor: ()Ljava/security/AccessControlContext;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.acc:Ljava/security/AccessControlContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
void writeRecord(sun.security.ssl.OutputRecord);
descriptor: (Lsun/security/ssl/OutputRecord;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.writeRecord:(Lsun/security/ssl/OutputRecord;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 r Lsun/security/ssl/OutputRecord;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
r
void writeRecord(sun.security.ssl.OutputRecord, boolean);
descriptor: (Lsun/security/ssl/OutputRecord;Z)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: goto 13
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
tableswitch { // 1 - 7
1: 2
2: 4
3: 4
4: 5
5: 9
6: 9
7: 9
default: 12
}
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.performInitialHandshake:()V
3: goto 13
4: StackMap locals:
StackMap stack:
goto 14
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
6: ldc "error while writing to socket"
7: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
8: goto 13
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnull 11
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
athrow
11: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Socket closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
ldc "State error, send app data"
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.OutputRecord.contentType:()B
bipush 23
if_icmpeq 1
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.OutputRecord.isEmpty:()Z
ifne 49
15: aload 1
iconst_0
invokevirtual sun.security.ssl.OutputRecord.isAlert:(B)Z
ifeq 42
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getSoLinger:()I
iflt 42
16: invokestatic java.lang.Thread.interrupted:()Z
istore 3
start local 3 17: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getSoLinger:()I
i2l
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:(JLjava/util/concurrent/TimeUnit;)Z
ifeq 25
18: aload 0
aload 1
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.writeRecordInternal:(Lsun/security/ssl/OutputRecord;Z)V
19: goto 23
StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.OutputRecord int int
StackMap stack: java.lang.Throwable
20: astore 4
21: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
22: aload 4
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
24: goto 39
25: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
26: ldc "SO_LINGER timeout, close_notify message cannot be sent."
27: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 28: aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
aload 0
if_acmpeq 31
aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 31
29: aload 0
iconst_m1
aload 4
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/Throwable;)V
30: goto 35
StackMap locals: javax.net.ssl.SSLException
StackMap stack:
31: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 35
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 35
32: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
33: ldc ", received Exception: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
end local 4 36: goto 39
StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.OutputRecord int int
StackMap stack: java.lang.InterruptedException
37: pop
38: iconst_1
istore 3
39: StackMap locals:
StackMap stack:
iload 3
ifeq 49
40: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
end local 3 41: goto 49
42: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
43: aload 0
aload 1
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.writeRecordInternal:(Lsun/security/ssl/OutputRecord;Z)V
44: goto 48
StackMap locals:
StackMap stack: java.lang.Throwable
45: astore 3
46: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
47: aload 3
athrow
48: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
49: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lsun/security/ssl/SSLSocketImpl;
0 50 1 r Lsun/security/ssl/OutputRecord;
0 50 2 holdRecord Z
17 41 3 interrupted Z
28 36 4 ssle Ljavax/net/ssl/SSLException;
Exception table:
from to target type
18 20 20 any
17 36 37 Class java.lang.InterruptedException
43 45 45 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
r
holdRecord
private void writeRecordInternal(sun.security.ssl.OutputRecord, boolean);
descriptor: (Lsun/security/ssl/OutputRecord;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeMAC:Lsun/security/ssl/MAC;
invokevirtual sun.security.ssl.OutputRecord.addMAC:(Lsun/security/ssl/MAC;)V
1: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.OutputRecord.encrypt:(Lsun/security/ssl/CipherBox;)V
2: iload 2
ifeq 8
3: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getTcpNoDelay:()Z
ifeq 6
4: iconst_0
istore 2
5: goto 8
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
ifnonnull 8
7: aload 0
new java.io.ByteArrayOutputStream
dup
bipush 40
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
8: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockOutput:Ljava/io/OutputStream;
iload 2
aload 0
getfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
invokevirtual sun.security.ssl.OutputRecord.write:(Ljava/io/OutputStream;ZLjava/io/ByteArrayOutputStream;)V
9: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_4
if_icmpge 11
10: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeMAC:Lsun/security/ssl/MAC;
aload 1
invokevirtual sun.security.ssl.OutputRecord.contentType:()B
invokevirtual sun.security.ssl.SSLSocketImpl.checkSequenceNumber:(Lsun/security/ssl/MAC;B)V
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
ifeq 14
12: aload 1
invokevirtual sun.security.ssl.OutputRecord.contentType:()B
bipush 23
if_icmpne 14
13: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/SSLSocketImpl;
0 15 1 r Lsun/security/ssl/OutputRecord;
0 15 2 holdRecord Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
r
holdRecord
boolean needToSplitPayload();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpgt 4
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.isCBCMode:()Z
ifeq 4
aload 0
getfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
ifne 4
3: getstatic sun.security.ssl.Record.enableCBCProtection:Z
ifeq 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.writeLock: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.writeLock: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
void readDataRecord(sun.security.ssl.InputRecord);
descriptor: (Lsun/security/ssl/InputRecord;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
iconst_1
if_icmpne 2
1: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.performInitialHandshake:()V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.readRecord:(Lsun/security/ssl/InputRecord;Z)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
0 4 1 r Lsun/security/ssl/InputRecord;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
r
private void readRecord(sun.security.ssl.InputRecord, boolean);
descriptor: (Lsun/security/ssl/InputRecord;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
dup
astore 4
monitorenter
1: goto 131
start local 3 2: StackMap locals: int java.lang.Object
StackMap stack:
aload 1
iconst_0
invokevirtual sun.security.ssl.InputRecord.setAppDataValid:(Z)V
3: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockOutput:Ljava/io/OutputStream;
invokevirtual sun.security.ssl.InputRecord.read:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
4: goto 37
StackMap locals:
StackMap stack: javax.net.ssl.SSLProtocolException
5: astore 5
start local 5 6: aload 0
bipush 10
aload 5
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/Throwable;)V
7: goto 9
StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.InputRecord int int java.lang.Object javax.net.ssl.SSLProtocolException
StackMap stack: java.io.IOException
8: pop
9: StackMap locals:
StackMap stack:
aload 5
athrow
end local 5 10: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.InputRecord int int java.lang.Object
StackMap stack: java.io.EOFException
astore 5
start local 5 11: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
iconst_1
if_icmpgt 12
iconst_1
goto 13
StackMap locals: java.io.EOFException
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 6
start local 6 14: getstatic sun.security.ssl.SSLSocketImpl.requireCloseNotify:Z
ifne 15
iload 6
ifne 15
iconst_0
goto 16
StackMap locals: int
StackMap stack:
15: iconst_1
StackMap locals:
StackMap stack: int
16: istore 7
start local 7 17: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 24
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 24
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: ldc ", received EOFException: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: iload 7
ifeq 21
ldc "error"
goto 22
StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.InputRecord int int java.lang.Object java.io.EOFException int int
StackMap stack: java.io.PrintStream java.lang.StringBuilder
21: ldc "ignored"
StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.InputRecord int int java.lang.Object java.io.EOFException int int
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
22: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
iload 7
ifeq 35
25: iload 6
ifeq 30
26: new javax.net.ssl.SSLHandshakeException
dup
27: ldc "Remote host closed connection during handshake"
28: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 29: goto 33
end local 8 30: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
31: ldc "Remote host closed connection incorrectly"
32: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 33: StackMap locals: javax.net.ssl.SSLException
StackMap stack:
aload 8
aload 5
invokevirtual javax.net.ssl.SSLException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
34: aload 8
athrow
end local 8 35: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.closeInternal:(Z)V
36: goto 131
end local 7 end local 6 end local 5 37: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.readMAC:Lsun/security/ssl/MAC;
aload 0
getfield sun.security.ssl.SSLSocketImpl.readCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.InputRecord.decrypt:(Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;)V
38: goto 45
StackMap locals:
StackMap stack: javax.crypto.BadPaddingException
39: astore 5
start local 5 40: aload 1
invokevirtual sun.security.ssl.InputRecord.contentType:()B
bipush 22
if_icmpne 42
41: bipush 40
goto 43
42: StackMap locals: javax.crypto.BadPaddingException
StackMap stack:
bipush 20
43: StackMap locals:
StackMap stack: int
istore 6
start local 6 44: aload 0
iload 6
aload 5
invokevirtual javax.crypto.BadPaddingException.getMessage:()Ljava/lang/String;
aload 5
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
end local 6 end local 5 45: StackMap locals:
StackMap stack:
aload 0
dup
astore 5
monitorenter
46: aload 1
invokevirtual sun.security.ssl.InputRecord.contentType:()B
tableswitch { // 20 - 23
20: 100
21: 97
22: 47
23: 81
default: 117
}
47: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.initHandshaker:()V
48: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 53
49: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpne 52
50: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
51: goto 53
52: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aconst_null
invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
53: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
invokevirtual sun.security.ssl.Handshaker.process_record:(Lsun/security/ssl/InputRecord;Z)V
54: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
55: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
getfield sun.security.ssl.Handshaker.invalidated:Z
ifeq 61
56: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
57: aload 0
getfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
aconst_null
invokevirtual sun.security.ssl.InputRecord.setHandshakeHash:(Lsun/security/ssl/HandshakeHash;)V
58: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpne 78
59: aload 0
iconst_2
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
60: goto 78
StackMap locals:
StackMap stack:
61: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isDone:()Z
ifeq 78
62: aload 0
63: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isSecureRenegotiation:()Z
64: putfield sun.security.ssl.SSLSocketImpl.secureRenegotiation:Z
65: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getClientVerifyData:()[B
putfield sun.security.ssl.SSLSocketImpl.clientVerifyData:[B
66: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getServerVerifyData:()[B
putfield sun.security.ssl.SSLSocketImpl.serverVerifyData:[B
67: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getSession:()Lsun/security/ssl/SSLSessionImpl;
putfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
68: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
69: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
70: aload 0
iconst_2
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
71: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
ifnull 78
72: new javax.net.ssl.HandshakeCompletedEvent
dup
aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokespecial javax.net.ssl.HandshakeCompletedEvent.<init>:(Ljavax/net/ssl/SSLSocket;Ljavax/net/ssl/SSLSession;)V
73: astore 6
start local 6 74: new sun.security.ssl.SSLSocketImpl$NotifyHandshakeThread
dup
75: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
aload 6
76: invokespecial sun.security.ssl.SSLSocketImpl$NotifyHandshakeThread.<init>:(Ljava/util/Set;Ljavax/net/ssl/HandshakeCompletedEvent;)V
astore 7
start local 7 77: aload 7
invokevirtual java.lang.Thread.start:()V
end local 7 end local 6 78: StackMap locals:
StackMap stack:
iload 2
ifne 79
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_2
if_icmpeq 124
79: StackMap locals:
StackMap stack:
aload 5
monitorexit
80: goto 131
81: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_2
if_icmpeq 89
82: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpeq 89
83: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_5
if_icmpeq 89
84: new javax.net.ssl.SSLProtocolException
dup
85: new java.lang.StringBuilder
dup
ldc "Data received in non-data state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
86: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
87: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
88: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
89: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
ifeq 93
90: new javax.net.ssl.SSLProtocolException
dup
91: ldc "Expecting finished message, received data"
92: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
93: StackMap locals:
StackMap stack:
iload 2
ifne 95
94: new javax.net.ssl.SSLException
dup
ldc "Discarding app data"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
95: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual sun.security.ssl.InputRecord.setAppDataValid:(Z)V
96: goto 124
97: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.ssl.SSLSocketImpl.recvAlert:(Lsun/security/ssl/InputRecord;)V
98: aload 5
monitorexit
99: goto 131
100: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpeq 108
101: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpeq 108
102: aload 0
bipush 10
103: new java.lang.StringBuilder
dup
ldc "illegal change cipher spec msg, conn state = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
104: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
105: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
106: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
107: goto 112
StackMap locals:
StackMap stack:
108: aload 1
invokevirtual sun.security.ssl.InputRecord.available:()I
iconst_1
if_icmpne 109
aload 1
invokevirtual sun.security.ssl.InputRecord.read:()I
iconst_1
if_icmpeq 112
109: StackMap locals:
StackMap stack:
aload 0
bipush 10
110: ldc "Malformed change cipher spec msg"
111: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
112: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.receiveChangeCipherSpec:()V
113: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.changeReadCiphers:()V
114: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
115: aload 5
monitorexit
116: goto 131
117: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 122
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 122
118: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
119: ldc ", Received record type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
120: aload 1
invokevirtual sun.security.ssl.InputRecord.contentType:()B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
121: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
122: StackMap locals:
StackMap stack:
aload 5
monitorexit
123: goto 131
124: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_4
if_icmpge 126
125: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.readMAC:Lsun/security/ssl/MAC;
aload 1
invokevirtual sun.security.ssl.InputRecord.contentType:()B
invokevirtual sun.security.ssl.SSLSocketImpl.checkSequenceNumber:(Lsun/security/ssl/MAC;B)V
126: StackMap locals:
StackMap stack:
aload 5
monitorexit
127: aload 4
monitorexit
128: return
129: StackMap locals:
StackMap stack: java.lang.Throwable
aload 5
monitorexit
130: athrow
end local 3 131: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.InputRecord int top java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
dup
istore 3
start local 3 132: bipush 6
if_icmpeq 134
133: iload 3
iconst_4
if_icmpeq 134
iload 3
bipush 7
if_icmpne 2
134: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.InputRecord int int java.lang.Object
StackMap stack:
aload 1
invokevirtual sun.security.ssl.InputRecord.close:()V
135: aload 4
monitorexit
136: return
end local 3 137: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.InputRecord int top java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
138: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 139 0 this Lsun/security/ssl/SSLSocketImpl;
0 139 1 r Lsun/security/ssl/InputRecord;
0 139 2 needAppData Z
2 131 3 state I
132 137 3 state I
6 10 5 e Ljavax/net/ssl/SSLProtocolException;
11 37 5 eof Ljava/io/EOFException;
14 37 6 handshaking Z
17 37 7 rethrow Z
29 30 8 e Ljavax/net/ssl/SSLException;
33 35 8 e Ljavax/net/ssl/SSLException;
40 45 5 e Ljavax/crypto/BadPaddingException;
44 45 6 alertType B
74 78 6 event Ljavax/net/ssl/HandshakeCompletedEvent;
77 78 7 t Ljava/lang/Thread;
Exception table:
from to target type
2 4 5 Class javax.net.ssl.SSLProtocolException
6 7 8 Class java.io.IOException
2 4 10 Class java.io.EOFException
37 38 39 Class javax.crypto.BadPaddingException
46 80 129 any
81 99 129 any
100 116 129 any
117 123 129 any
124 127 129 any
129 130 129 any
1 128 137 any
129 136 137 any
137 138 137 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
r
needAppData
private void checkSequenceNumber(sun.security.ssl.MAC, byte);
descriptor: (Lsun/security/ssl/MAC;B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_4
if_icmpge 1
aload 1
getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
if_acmpne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.MAC.seqNumOverflow:()Z
ifeq 9
3: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 8
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 8
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: ldc ", sequence number extremely close to overflow "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "(2^64-1 packets). Closing connection."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 0
bipush 40
ldc "sequence number overflow"
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
9: StackMap locals:
StackMap stack:
iload 2
bipush 22
if_icmpeq 15
aload 1
invokevirtual sun.security.ssl.MAC.seqNumIsHuge:()Z
ifeq 15
10: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 14
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 14
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", request renegotiation "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "to avoid sequence number overflow"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.startHandshake:()V
15: StackMap locals:
StackMap stack:
return
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 mac Lsun/security/ssl/MAC;
0 16 2 type B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mac
type
sun.security.ssl.AppInputStream getAppInputStream();
descriptor: ()Lsun/security/ssl/AppInputStream;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.input:Lsun/security/ssl/AppInputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
sun.security.ssl.AppOutputStream getAppOutputStream();
descriptor: ()Lsun/security/ssl/AppOutputStream;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.output:Lsun/security/ssl/AppOutputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
private void initHandshaker();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
tableswitch { // 0 - 3
0: 1
1: 2
2: 1
3: 2
default: 3
}
1: StackMap locals:
StackMap stack:
goto 4
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Internal error"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
ifne 7
5: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
ifeq 17
9: aload 0
10: new sun.security.ssl.ServerHandshaker
dup
aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
11: aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
aload 0
getfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpne 13
iconst_1
goto 14
StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl new 10 new 10 sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int sun.security.ssl.ProtocolVersion
13: iconst_0
14: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl new 10 new 10 sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int sun.security.ssl.ProtocolVersion int
aload 0
getfield sun.security.ssl.SSLSocketImpl.secureRenegotiation:Z
aload 0
getfield sun.security.ssl.SSLSocketImpl.clientVerifyData:[B
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverVerifyData:[B
invokespecial sun.security.ssl.ServerHandshaker.<init>:(Lsun/security/ssl/SSLSocketImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;BLsun/security/ssl/ProtocolVersion;ZZ[B[B)V
15: putfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
16: goto 24
17: StackMap locals:
StackMap stack:
aload 0
18: new sun.security.ssl.ClientHandshaker
dup
aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
19: aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
20: aload 0
getfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpne 21
iconst_1
goto 22
StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl new 18 new 18 sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ProtocolVersion
21: iconst_0
22: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl new 18 new 18 sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ProtocolVersion int
aload 0
getfield sun.security.ssl.SSLSocketImpl.secureRenegotiation:Z
aload 0
getfield sun.security.ssl.SSLSocketImpl.clientVerifyData:[B
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverVerifyData:[B
invokespecial sun.security.ssl.ClientHandshaker.<init>:(Lsun/security/ssl/SSLSocketImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ProtocolVersion;ZZ[B[B)V
23: putfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
24: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.Handshaker.setEnabledCipherSuites:(Lsun/security/ssl/CipherSuiteList;)V
25: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
invokevirtual sun.security.ssl.Handshaker.setEnableSessionCreation:(Z)V
26: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/ssl/SSLSocketImpl;
private void performInitialHandshake();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
iconst_1
if_icmpne 10
2: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.kickstartHandshake:()V
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
ifnonnull 8
4: aload 0
new sun.security.ssl.InputRecord
dup
invokespecial sun.security.ssl.InputRecord.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
aload 0
getfield sun.security.ssl.SSLSocketImpl.input:Lsun/security/ssl/AppInputStream;
getfield sun.security.ssl.AppInputStream.r:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.getHandshakeHash:()Lsun/security/ssl/HandshakeHash;
invokevirtual sun.security.ssl.InputRecord.setHandshakeHash:(Lsun/security/ssl/HandshakeHash;)V
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
aload 0
getfield sun.security.ssl.SSLSocketImpl.input:Lsun/security/ssl/AppInputStream;
getfield sun.security.ssl.AppInputStream.r:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.getHelloVersion:()Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.InputRecord.setHelloVersion:(Lsun/security/ssl/ProtocolVersion;)V
7: aload 0
getfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.enableFormatChecks:()V
8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.readRecord:(Lsun/security/ssl/InputRecord;Z)V
9: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
10: StackMap locals:
StackMap stack:
aload 1
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 11 12 any
12 13 12 any
Exceptions:
throws java.io.IOException
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=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.checkWrite:()V
1: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
iconst_1
if_icmpne 4
2: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.performInitialHandshake:()V
3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.kickstartHandshake:()V
5: goto 8
StackMap locals:
StackMap stack: java.lang.Exception
6: astore 2
start local 2 7: aload 0
aload 2
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.handleException:(Ljava/lang/Exception;Z)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLSocketImpl;
0 9 1 resumable Z
7 8 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 5 6 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
resumable
private synchronized void kickstartHandshake();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
tableswitch { // 0 - 3
0: 14
1: 1
2: 2
3: 13
default: 17
}
1: StackMap locals:
StackMap stack:
goto 18
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.secureRenegotiation:Z
ifne 6
getstatic sun.security.ssl.Handshaker.allowUnsafeRenegotiation:Z
ifne 6
3: new javax.net.ssl.SSLHandshakeException
dup
4: ldc "Insecure renegotiation is not allowed"
5: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.secureRenegotiation:Z
ifne 11
7: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 11
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 11
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
9: ldc "Warning: Using insecure renegotiation"
10: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.initHandshaker:()V
12: goto 18
13: StackMap locals:
StackMap stack:
return
14: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
15: ldc "handshaking attempted on unconnected socket"
16: invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "connection is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 29
19: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpne 22
20: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aconst_null
invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
instanceof sun.security.ssl.ClientHandshaker
ifeq 26
24: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.kickstart:()V
25: goto 29
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpeq 29
27: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.kickstart:()V
28: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
getfield sun.security.ssl.Handshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
invokevirtual sun.security.ssl.HandshakeHash.reset:()V
29: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
boolean checkEOF();
descriptor: ()Z
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
tableswitch { // 0 - 7
0: 1
1: 2
2: 2
3: 2
4: 4
5: 2
6: 4
7: 3
default: 4
}
1: StackMap locals:
StackMap stack:
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:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnonnull 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
7: new java.lang.StringBuilder
dup
ldc "Connection has been shutdown: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
astore 1
start local 1 9: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
10: aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
9 11 1 e Ljava/io/IOException;
Exceptions:
throws java.io.IOException
void checkWrite();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.checkEOF:()Z
ifne 1
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
iconst_5
if_icmpne 2
1: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Connection closed by remote host"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
protected void closeSocket();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", called closeSocket()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
aload 0
if_acmpne 5
3: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.close:()V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
private void closeSocket(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", called closeSocket(selfInitiated)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
aload 0
if_acmpne 5
3: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.close:()V
4: goto 10
StackMap locals:
StackMap stack:
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifeq 8
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
7: goto 10
StackMap locals:
StackMap stack:
8: iload 1
ifeq 10
9: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.waitForClose:(Z)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
0 11 1 selfInitiated Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
selfInitiated
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", called close()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.closeInternal:(Z)V
3: aload 0
bipush 7
invokevirtual sun.security.ssl.SSLSocketImpl.setConnectionState:(I)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
private void closeInternal(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 4
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", called closeInternal("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: iload 1
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
istore 2
start local 2 5: iconst_0
istore 3
start local 3 6: aconst_null
astore 4
start local 4 7: iload 2
tableswitch { // 0 - 7
0: 8
1: 13
2: 13
3: 13
4: 10
5: 13
6: 12
7: 12
default: 13
}
8: StackMap locals: int int java.lang.Throwable
StackMap stack:
aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
9: goto 129
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:()V
11: goto 129
12: StackMap locals:
StackMap stack:
goto 129
13: StackMap locals:
StackMap stack:
aload 0
dup
astore 5
monitorenter
14: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
dup
istore 2
bipush 6
if_icmpeq 16
15: iload 2
iconst_4
if_icmpeq 16
iload 2
bipush 7
if_icmpne 35
16: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 5
monitorexit
17: aload 0
dup
astore 8
monitorenter
18: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 20
19: bipush 7
goto 21
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable sun.security.ssl.SSLSocketImpl top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
20: bipush 6
21: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable sun.security.ssl.SSLSocketImpl top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
22: aload 0
invokevirtual java.lang.Object.notifyAll:()V
23: aload 8
monitorexit
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: aload 8
monitorexit
26: athrow
27: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable sun.security.ssl.SSLSocketImpl
StackMap stack:
iload 3
ifeq 29
28: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.disposeCiphers:()V
29: StackMap locals:
StackMap stack:
aload 4
ifnull 34
30: aload 4
instanceof java.lang.Error
ifeq 32
31: aload 4
checkcast java.lang.Error
athrow
32: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 34
33: aload 4
checkcast java.lang.RuntimeException
athrow
StackMap locals:
StackMap stack:
34: return
35: StackMap locals:
StackMap stack:
iload 2
iconst_5
if_icmpeq 44
36: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.warning:(B)V
37: aload 0
iconst_5
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
38: goto 44
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 6
start local 6 40: aload 0
iconst_4
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
41: aload 6
astore 4
42: iconst_1
istore 3
43: aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
end local 6 44: StackMap locals:
StackMap stack:
aload 5
monitorexit
45: goto 48
StackMap locals:
StackMap stack: java.lang.Throwable
46: aload 5
monitorexit
47: athrow
48: StackMap locals:
StackMap stack:
iload 2
iconst_5
if_icmpne 106
49: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 54
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 54
50: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
51: ldc ", close invoked again; state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
54: StackMap locals:
StackMap stack:
iload 1
ifne 73
55: aload 0
dup
astore 8
monitorenter
56: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 58
57: bipush 7
goto 59
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
58: bipush 6
59: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
60: aload 0
invokevirtual java.lang.Object.notifyAll:()V
61: aload 8
monitorexit
62: goto 65
StackMap locals:
StackMap stack: java.lang.Throwable
63: aload 8
monitorexit
64: athrow
65: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable
StackMap stack:
iload 3
ifeq 67
66: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.disposeCiphers:()V
67: StackMap locals:
StackMap stack:
aload 4
ifnull 72
68: aload 4
instanceof java.lang.Error
ifeq 70
69: aload 4
checkcast java.lang.Error
athrow
70: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 72
71: aload 4
checkcast java.lang.RuntimeException
athrow
72: StackMap locals:
StackMap stack:
return
73: StackMap locals:
StackMap stack:
aload 0
dup
astore 5
monitorenter
74: goto 78
75: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
76: goto 78
StackMap locals:
StackMap stack: java.lang.InterruptedException
77: pop
78: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 6
if_icmplt 75
79: aload 5
monitorexit
80: goto 83
StackMap locals:
StackMap stack: java.lang.Throwable
81: aload 5
monitorexit
82: athrow
83: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 88
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 88
84: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
85: ldc ", after primary close; state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
86: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
87: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
88: StackMap locals:
StackMap stack:
aload 0
dup
astore 8
monitorenter
89: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 91
90: bipush 7
goto 92
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
91: bipush 6
92: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
93: aload 0
invokevirtual java.lang.Object.notifyAll:()V
94: aload 8
monitorexit
95: goto 98
StackMap locals:
StackMap stack: java.lang.Throwable
96: aload 8
monitorexit
97: athrow
98: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable
StackMap stack:
iload 3
ifeq 100
99: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.disposeCiphers:()V
100: StackMap locals:
StackMap stack:
aload 4
ifnull 105
101: aload 4
instanceof java.lang.Error
ifeq 103
102: aload 4
checkcast java.lang.Error
athrow
103: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 105
104: aload 4
checkcast java.lang.RuntimeException
athrow
105: StackMap locals:
StackMap stack:
return
106: StackMap locals:
StackMap stack:
iload 3
ifne 129
107: iconst_1
istore 3
108: aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
109: goto 129
StackMap locals:
StackMap stack: java.lang.Throwable
110: astore 7
111: aload 0
dup
astore 8
monitorenter
112: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 114
113: bipush 7
goto 115
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top java.lang.Throwable sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
114: bipush 6
115: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top java.lang.Throwable sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
116: aload 0
invokevirtual java.lang.Object.notifyAll:()V
117: aload 8
monitorexit
118: goto 121
StackMap locals:
StackMap stack: java.lang.Throwable
119: aload 8
monitorexit
120: athrow
121: StackMap locals:
StackMap stack:
iload 3
ifeq 123
122: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.disposeCiphers:()V
123: StackMap locals:
StackMap stack:
aload 4
ifnull 128
124: aload 4
instanceof java.lang.Error
ifeq 126
125: aload 4
checkcast java.lang.Error
athrow
126: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 128
127: aload 4
checkcast java.lang.RuntimeException
athrow
128: StackMap locals:
StackMap stack:
aload 7
athrow
129: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable
StackMap stack:
aload 0
dup
astore 8
monitorenter
130: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 132
131: bipush 7
goto 133
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
132: bipush 6
133: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
134: aload 0
invokevirtual java.lang.Object.notifyAll:()V
135: aload 8
monitorexit
136: goto 139
StackMap locals:
StackMap stack: java.lang.Throwable
137: aload 8
monitorexit
138: athrow
139: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable
StackMap stack:
iload 3
ifeq 141
140: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.disposeCiphers:()V
141: StackMap locals:
StackMap stack:
aload 4
ifnull 146
142: aload 4
instanceof java.lang.Error
ifeq 144
143: aload 4
checkcast java.lang.Error
athrow
144: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 146
145: aload 4
checkcast java.lang.RuntimeException
athrow
146: 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 147 0 this Lsun/security/ssl/SSLSocketImpl;
0 147 1 selfInitiated Z
5 147 2 state I
6 147 3 closeSocketCalled Z
7 147 4 cachedThrowable Ljava/lang/Throwable;
40 44 6 th Ljava/lang/Throwable;
Exception table:
from to target type
18 24 25 any
25 26 25 any
36 38 39 Class java.lang.Throwable
14 17 46 any
35 45 46 any
46 47 46 any
56 62 63 any
63 64 63 any
75 76 77 Class java.lang.InterruptedException
74 80 81 any
81 82 81 any
89 95 96 any
96 97 96 any
7 17 110 any
35 55 110 any
73 88 110 any
106 110 110 any
112 118 119 any
119 120 119 any
130 136 137 any
137 138 137 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
selfInitiated
void waitForClose(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 11
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 11
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc ", waiting for close_notify or alert: state "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: goto 11
start local 2 6: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
ifnonnull 8
7: aload 0
new sun.security.ssl.InputRecord
dup
invokespecial sun.security.ssl.InputRecord.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.readRecord:(Lsun/security/ssl/InputRecord;Z)V
9: goto 11
StackMap locals:
StackMap stack: java.net.SocketTimeoutException
10: pop
end local 2 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
dup
istore 2
start local 2 12: bipush 6
if_icmpeq 14
13: iload 2
iconst_4
if_icmpeq 14
iload 2
bipush 7
if_icmpne 6
14: StackMap locals: int
StackMap stack:
aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.inrec:Lsun/security/ssl/InputRecord;
end local 2 15: goto 23
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: java.io.IOException
16: astore 2
start local 2 17: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 21
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 21
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: ldc ", Exception while waiting for close "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: StackMap locals: java.io.IOException
StackMap stack:
iload 1
ifeq 23
22: aload 2
athrow
end local 2 23: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/ssl/SSLSocketImpl;
0 24 1 rethrow Z
6 11 2 state I
12 15 2 state I
17 23 2 e Ljava/io/IOException;
Exception table:
from to target type
8 9 10 Class java.net.SocketTimeoutException
5 15 16 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
rethrow
private void disposeCiphers();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.readCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.dispose:()V
2: aload 1
monitorexit
3: goto 6
StackMap locals: sun.security.ssl.SSLSocketImpl java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
7: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.dispose:()V
8: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 1
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
11: aload 1
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
13: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 3 4 any
4 5 4 any
7 9 9 any
void handleException(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.handleException:(Ljava/lang/Exception;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 e Ljava/lang/Exception;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
e
private synchronized void handleException(java.lang.Exception, boolean);
descriptor: (Ljava/lang/Exception;Z)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 4
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc ", handling exception: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 1
instanceof java.io.InterruptedIOException
ifeq 6
iload 2
ifeq 6
5: aload 1
checkcast java.io.IOException
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnull 12
7: aload 1
instanceof java.io.IOException
ifeq 9
8: aload 1
checkcast java.io.IOException
athrow
9: StackMap locals:
StackMap stack:
bipush 80
aload 1
10: ldc "Unexpected exception"
11: invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
12: StackMap locals:
StackMap stack:
aload 1
instanceof javax.net.ssl.SSLException
istore 3
start local 3 13: iload 3
ifne 18
aload 1
instanceof java.io.IOException
ifeq 18
14: aload 0
bipush 10
aload 1
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/Throwable;)V
15: goto 17
StackMap locals: sun.security.ssl.SSLSocketImpl java.lang.Exception int int
StackMap stack: java.io.IOException
16: pop
17: StackMap locals:
StackMap stack:
aload 1
checkcast java.io.IOException
athrow
18: StackMap locals:
StackMap stack:
iload 3
ifeq 24
19: aload 1
instanceof javax.net.ssl.SSLHandshakeException
ifeq 22
20: bipush 40
istore 4
start local 4 21: goto 25
end local 4 22: StackMap locals:
StackMap stack:
bipush 10
istore 4
start local 4 23: goto 25
end local 4 24: StackMap locals:
StackMap stack:
bipush 80
istore 4
start local 4 25: StackMap locals: int
StackMap stack:
aload 0
iload 4
aload 1
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/Throwable;)V
26: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/ssl/SSLSocketImpl;
0 27 1 e Ljava/lang/Exception;
0 27 2 resumable Z
13 27 3 isSSLException Z
21 22 4 alertType B
23 24 4 alertType B
25 27 4 alertType B
Exception table:
from to target type
14 15 16 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
e
resumable
void warning(byte);
descriptor: (B)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.sendAlert:(BB)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 description B
MethodParameters:
Name Flags
description
synchronized void fatal(byte, java.lang.String);
descriptor: (BLjava/lang/String;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
aconst_null
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 description B
0 2 2 diagnostic Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
description
diagnostic
synchronized void fatal(byte, java.lang.Throwable);
descriptor: (BLjava/lang/Throwable;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aconst_null
aload 2
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 description B
0 2 2 cause Ljava/lang/Throwable;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
description
cause
synchronized void fatal(byte, java.lang.String, java.lang.Throwable);
descriptor: (BLjava/lang/String;Ljava/lang/Throwable;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.input:Lsun/security/ssl/AppInputStream;
ifnull 2
aload 0
getfield sun.security.ssl.SSLSocketImpl.input:Lsun/security/ssl/AppInputStream;
getfield sun.security.ssl.AppInputStream.r:Lsun/security/ssl/InputRecord;
ifnull 2
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.input:Lsun/security/ssl/AppInputStream;
getfield sun.security.ssl.AppInputStream.r:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.close:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
ifnull 5
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
istore 4
start local 4 6: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_4
if_icmpge 8
7: aload 0
iconst_4
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
8: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnonnull 19
9: iload 4
iconst_1
if_icmpne 11
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
i2l
invokevirtual java.io.InputStream.skip:(J)J
pop2
11: StackMap locals:
StackMap stack:
iload 1
iconst_m1
if_icmpeq 13
12: aload 0
iconst_2
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.sendAlert:(BB)V
13: StackMap locals:
StackMap stack:
aload 3
instanceof javax.net.ssl.SSLException
ifeq 16
14: aload 0
aload 3
checkcast javax.net.ssl.SSLException
putfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
17: iload 1
aload 3
aload 2
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
18: putfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:()V
20: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 6
if_icmpge 26
21: aload 0
iload 4
bipush 7
if_icmpne 22
bipush 7
goto 23
22: StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
bipush 6
23: StackMap locals: sun.security.ssl.SSLSocketImpl int java.lang.String java.lang.Throwable int
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
24: aload 0
getfield sun.security.ssl.SSLSocketImpl.readCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.dispose:()V
25: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.dispose:()V
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/ssl/SSLSocketImpl;
0 27 1 description B
0 27 2 diagnostic Ljava/lang/String;
0 27 3 cause Ljava/lang/Throwable;
6 27 4 oldState I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
description
diagnostic
cause
private void recvAlert(sun.security.ssl.InputRecord);
descriptor: (Lsun/security/ssl/InputRecord;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.security.ssl.InputRecord.read:()I
i2b
istore 2
start local 2 1: aload 1
invokevirtual sun.security.ssl.InputRecord.read:()I
i2b
istore 3
start local 3 2: iload 3
iconst_m1
if_icmpne 4
3: aload 0
bipush 47
ldc "Short alert message"
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
4: StackMap locals: int int
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 21
ldc "record"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifne 6
5: ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 21
6: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
dup
astore 4
monitorenter
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", RECV "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ALERT: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
9: iload 2
iconst_2
if_icmpne 12
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "fatal, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
11: goto 16
StackMap locals: java.io.PrintStream
StackMap stack:
12: iload 2
iconst_1
if_icmpne 15
13: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "warning, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
14: goto 16
15: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "<level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
sipush 255
iload 2
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
iload 3
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: aload 4
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 4
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
iload 2
iconst_1
if_icmpne 33
22: iload 3
ifne 30
23: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpne 28
24: aload 0
bipush 10
25: ldc "Received close_notify during handshake"
26: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
27: goto 39
28: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.closeInternal:(Z)V
29: goto 39
30: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 39
31: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
iload 3
invokevirtual sun.security.ssl.Handshaker.handshakeAlert:(B)V
32: goto 39
33: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Received fatal alert: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
34: iload 3
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 36: aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnonnull 38
37: aload 0
iload 3
aload 4
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/String;)Ljavax/net/ssl/SSLException;
putfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
38: StackMap locals: java.lang.String
StackMap stack:
aload 0
bipush 10
aload 4
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
end local 4 39: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/security/ssl/SSLSocketImpl;
0 40 1 r Lsun/security/ssl/InputRecord;
1 40 2 level B
2 40 3 description B
36 39 4 reason Ljava/lang/String;
Exception table:
from to target type
7 18 19 any
19 20 19 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
r
private void sendAlert(byte, byte);
descriptor: (BB)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_5
if_icmplt 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpne 5
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 4
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.started:()Z
ifne 5
4: StackMap locals:
StackMap stack:
return
5: StackMap locals:
StackMap stack:
new sun.security.ssl.OutputRecord
dup
bipush 21
invokespecial sun.security.ssl.OutputRecord.<init>:(B)V
astore 3
start local 3 6: aload 3
aload 0
getfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.OutputRecord.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
7: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 8
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 8
iconst_1
goto 9
StackMap locals: sun.security.ssl.OutputRecord
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 4
start local 4 10: iload 4
ifeq 28
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
dup
astore 5
monitorenter
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
13: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", SEND "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ALERT: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
14: iload 1
iconst_2
if_icmpne 17
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "fatal, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
16: goto 21
StackMap locals: int java.io.PrintStream
StackMap stack:
17: iload 1
iconst_1
if_icmpne 20
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "warning, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
19: goto 21
20: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "<level = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
sipush 255
iload 1
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "description = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: iload 2
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: aload 5
monitorexit
25: goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
26: aload 5
monitorexit
27: athrow
28: StackMap locals:
StackMap stack:
aload 3
iload 1
invokevirtual sun.security.ssl.OutputRecord.write:(I)V
29: aload 3
iload 2
invokevirtual sun.security.ssl.OutputRecord.write:(I)V
30: aload 0
aload 3
invokevirtual sun.security.ssl.SSLSocketImpl.writeRecord:(Lsun/security/ssl/OutputRecord;)V
31: goto 37
StackMap locals:
StackMap stack: java.io.IOException
32: astore 5
start local 5 33: iload 4
ifeq 37
34: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
35: ldc ", Exception sending alert: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 37: 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 38 0 this Lsun/security/ssl/SSLSocketImpl;
0 38 1 level B
0 38 2 description B
6 38 3 r Lsun/security/ssl/OutputRecord;
10 38 4 useDebug Z
33 37 5 e Ljava/io/IOException;
Exception table:
from to target type
12 25 26 any
26 27 26 any
30 31 32 Class java.io.IOException
MethodParameters:
Name Flags
level
description
private void changeReadCiphers();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpeq 5
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpeq 5
2: new javax.net.ssl.SSLProtocolException
dup
3: ldc "State error, change cipher specs"
4: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.readCipher:Lsun/security/ssl/CipherBox;
astore 1
start local 1 6: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newReadCipher:()Lsun/security/ssl/CipherBox;
putfield sun.security.ssl.SSLSocketImpl.readCipher:Lsun/security/ssl/CipherBox;
7: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newReadMAC:()Lsun/security/ssl/MAC;
putfield sun.security.ssl.SSLSocketImpl.readMAC:Lsun/security/ssl/MAC;
8: goto 11
StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.CipherBox
StackMap stack: java.security.GeneralSecurityException
9: astore 2
start local 2 10: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 2
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 11: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.CipherBox.dispose:()V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
6 13 1 oldCipher Lsun/security/ssl/CipherBox;
10 11 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
6 8 9 Class java.security.GeneralSecurityException
Exceptions:
throws javax.net.ssl.SSLException
void changeWriteCiphers();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpeq 5
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpeq 5
2: new javax.net.ssl.SSLProtocolException
dup
3: ldc "State error, change cipher specs"
4: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.writeCipher:Lsun/security/ssl/CipherBox;
astore 1
start local 1 6: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newWriteCipher:()Lsun/security/ssl/CipherBox;
putfield sun.security.ssl.SSLSocketImpl.writeCipher:Lsun/security/ssl/CipherBox;
7: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newWriteMAC:()Lsun/security/ssl/MAC;
putfield sun.security.ssl.SSLSocketImpl.writeMAC:Lsun/security/ssl/MAC;
8: goto 11
StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.CipherBox
StackMap stack: java.security.GeneralSecurityException
9: astore 2
start local 2 10: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 2
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 11: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.CipherBox.dispose:()V
12: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SSLSocketImpl;
6 14 1 oldCipher Lsun/security/ssl/CipherBox;
10 11 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
6 8 9 Class java.security.GeneralSecurityException
Exceptions:
throws javax.net.ssl.SSLException
synchronized void setVersion(sun.security.ssl.ProtocolVersion);
descriptor: (Lsun/security/ssl/ProtocolVersion;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.output:Lsun/security/ssl/AppOutputStream;
getfield sun.security.ssl.AppOutputStream.r:Lsun/security/ssl/OutputRecord;
aload 1
invokevirtual sun.security.ssl.OutputRecord.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
0 3 1 protocolVersion Lsun/security/ssl/ProtocolVersion;
MethodParameters:
Name Flags
protocolVersion
synchronized java.lang.String getHost();
descriptor: ()Ljava/lang/String;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
ifnull 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 5
1: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.trustNameService:Z
ifne 4
2: aload 0
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getInetAddress:()Ljava/net/InetAddress;
invokestatic sun.security.ssl.SSLSocketImpl.getOriginalHostname:(Ljava/net/InetAddress;)Ljava/lang/String;
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
3: goto 5
4: 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.host:Ljava/lang/String;
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLSocketImpl;
private static java.lang.String getOriginalHostname(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic sun.misc.SharedSecrets.getJavaNetAccess:()Lsun/misc/JavaNetAccess;
astore 1
start local 1 1: aload 1
aload 0
invokeinterface sun.misc.JavaNetAccess.getOriginalHostName:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
invokevirtual java.lang.String.length:()I
ifne 4
3: StackMap locals: sun.misc.JavaNetAccess java.lang.String
StackMap stack:
aload 0
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
astore 2
4: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 inetAddress Ljava/net/InetAddress;
1 5 1 jna Lsun/misc/JavaNetAccess;
2 5 2 originalHostname Ljava/lang/String;
MethodParameters:
Name Flags
inetAddress
synchronized java.lang.String getRawHostname();
descriptor: ()Ljava/lang/String;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.rawHostname:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setHost(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
1: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.rawHostname:Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
0 3 1 host Ljava/lang/String;
MethodParameters:
Name Flags
host
public synchronized java.io.InputStream getInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
ifne 4
3: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.input:Lsun/security/ssl/AppInputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
public synchronized java.io.OutputStream getOutputStream();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isClosed:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
ifne 4
3: new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.output:Lsun/security/ssl/AppOutputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
public javax.net.ssl.SSLSession getSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
iconst_1
if_icmpne 8
1: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.startHandshake:(Z)V
2: goto 8
StackMap locals:
StackMap stack: java.io.IOException
3: astore 1
start local 1 4: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 8
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 8
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: ldc ", IOException in getSession(): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 1 8: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
9: aload 0
getfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
aload 1
monitorexit
10: areturn
11: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLSocketImpl
StackMap stack: java.lang.Throwable
aload 1
monitorexit
12: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
4 8 1 e Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
9 10 11 any
11 12 11 any
public synchronized javax.net.ssl.SSLSession getHandshakeSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
synchronized void setHandshakeSession(sun.security.ssl.SSLSessionImpl);
descriptor: (Lsun/security/ssl/SSLSessionImpl;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 1 session Lsun/security/ssl/SSLSessionImpl;
MethodParameters:
Name Flags
session
public synchronized void setEnableSessionCreation(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 3
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 3
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
invokevirtual sun.security.ssl.Handshaker.setEnableSessionCreation:(Z)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
0 4 1 flag Z
MethodParameters:
Name Flags
flag
public synchronized boolean getEnableSessionCreation();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setNeedClientAuth(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ifeq 2
1: iconst_2
goto 3
StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
2: iconst_0
3: StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 8
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
instanceof sun.security.ssl.ServerHandshaker
ifeq 8
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 8
7: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
checkcast sun.security.ssl.ServerHandshaker
aload 0
getfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(B)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLSocketImpl;
0 9 1 flag Z
MethodParameters:
Name Flags
flag
public synchronized boolean getNeedClientAuth();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
iconst_2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setWantClientAuth(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ifeq 2
1: iconst_1
goto 3
StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
2: iconst_0
3: StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 8
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
instanceof sun.security.ssl.ServerHandshaker
ifeq 8
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 8
7: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
checkcast sun.security.ssl.ServerHandshaker
aload 0
getfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(B)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLSocketImpl;
0 9 1 flag Z
MethodParameters:
Name Flags
flag
public synchronized boolean getWantClientAuth();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setUseClientMode(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
tableswitch { // 0 - 1
0: 1
1: 20
default: 35
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
iload 1
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack: int
2: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: int int
3: if_icmpeq 16
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultProtocolList:(Lsun/security/ssl/ProtocolList;)Z
ifeq 10
5: aload 0
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 7
iconst_0
goto 8
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
7: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
8: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
9: putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultCipherSuiteList:(Lsun/security/ssl/CipherSuiteList;)Z
ifeq 16
11: aload 0
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 13
iconst_0
goto 14
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
13: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
14: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
15: putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
16: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 17
iconst_0
goto 18
StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
17: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl int
18: putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
19: goto 43
20: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.$assertionsDisabled:Z
ifne 21
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnonnull 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 35
22: aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
iload 1
ifeq 23
iconst_0
goto 24
StackMap locals:
StackMap stack: int
23: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: int int
24: if_icmpeq 29
25: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultProtocolList:(Lsun/security/ssl/ProtocolList;)Z
ifeq 29
26: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 27
iconst_0
goto 28
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
27: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
28: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
29: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 30
iconst_0
goto 31
StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
30: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl int
31: putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
32: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
33: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.initHandshaker:()V
34: goto 43
35: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 40
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 40
36: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
37: ldc ", setUseClientMode() invoked in state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
40: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
41: ldc "Cannot change mode after SSL traffic has started"
42: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/security/ssl/SSLSocketImpl;
0 44 1 flag Z
MethodParameters:
Name Flags
flag
public synchronized boolean getUseClientMode();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
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.getSupportedCipherSuiteList:()Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.CipherSuiteList.toStringArray:()[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setEnabledCipherSuites(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.security.ssl.CipherSuiteList
dup
aload 1
invokespecial sun.security.ssl.CipherSuiteList.<init>:([Ljava/lang/String;)V
putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 3
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 3
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.Handshaker.setEnabledCipherSuites:(Lsun/security/ssl/CipherSuiteList;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
0 4 1 suites [Ljava/lang/String;
MethodParameters:
Name Flags
suites
public synchronized java.lang.String[] getEnabledCipherSuites();
descriptor: ()[Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.CipherSuiteList.toStringArray:()[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[] 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.getSuportedProtocolList:()Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.ProtocolList.toStringArray:()[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setEnabledProtocols(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.security.ssl.ProtocolList
dup
aload 1
invokespecial sun.security.ssl.ProtocolList.<init>:([Ljava/lang/String;)V
putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 3
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 3
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.Handshaker.setEnabledProtocols:(Lsun/security/ssl/ProtocolList;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
0 4 1 protocols [Ljava/lang/String;
MethodParameters:
Name Flags
protocols
public synchronized java.lang.String[] getEnabledProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.ProtocolList.toStringArray:()[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public void setSoTimeout(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 4
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLSocketImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc ", setSoTimeout("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") called"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
aload 0
if_acmpne 7
5: aload 0
iload 1
invokespecial sun.security.ssl.BaseSSLSocketImpl.setSoTimeout:(I)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
iload 1
invokevirtual java.net.Socket.setSoTimeout:(I)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLSocketImpl;
0 9 1 timeout I
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
timeout
public synchronized void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
descriptor: (Ljavax/net/ssl/HandshakeCompletedListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "listener is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
ifnonnull 6
3: aload 0
4: new java.util.HashMap
dup
iconst_4
5: invokespecial java.util.HashMap.<init>:(I)V
putfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
aload 1
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
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 listener Ljavax/net/ssl/HandshakeCompletedListener;
MethodParameters:
Name Flags
listener
public synchronized void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
descriptor: (Ljavax/net/ssl/HandshakeCompletedListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "no listeners"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "listener not registered"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
invokevirtual java.util.HashMap.isEmpty:()Z
ifeq 6
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
0 7 1 listener Ljavax/net/ssl/HandshakeCompletedListener;
MethodParameters:
Name Flags
listener
public synchronized javax.net.ssl.SSLParameters getSSLParameters();
descriptor: ()Ljavax/net/ssl/SSLParameters;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
astore 1
start local 1 1: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
invokevirtual javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm:(Ljava/lang/String;)V
2: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
invokevirtual javax.net.ssl.SSLParameters.setAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
1 4 1 params Ljavax/net/ssl/SSLParameters;
public synchronized void setSSLParameters(javax.net.ssl.SSLParameters);
descriptor: (Ljavax/net/ssl/SSLParameters;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.security.ssl.BaseSSLSocketImpl.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
1: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm:()Ljava/lang/String;
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
2: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getAlgorithmConstraints:()Ljava/security/AlgorithmConstraints;
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 6
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.started:()Z
ifne 6
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
invokevirtual sun.security.ssl.Handshaker.setIdentificationProtocol:(Ljava/lang/String;)V
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
invokevirtual sun.security.ssl.Handshaker.setAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
0 7 1 params Ljavax/net/ssl/SSLParameters;
MethodParameters:
Name Flags
params
private static java.lang.String threadName();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
bipush 80
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 1
ldc "["
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getCipherSuite:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: aload 1
ldc ": "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
aload 0
if_acmpne 8
6: aload 1
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: goto 9
8: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
invokevirtual java.net.Socket.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: StackMap locals:
StackMap stack:
aload 1
ldc "]"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
10: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
1 11 1 retval Ljava/lang/StringBuffer;
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.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 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
}
SourceFile: "SSLSocketImpl.java"
NestMembers:
sun.security.ssl.SSLSocketImpl$NotifyHandshakeThread sun.security.ssl.SSLSocketImpl$NotifyHandshakeThread$1
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private NotifyHandshakeThread = sun.security.ssl.SSLSocketImpl$NotifyHandshakeThread of sun.security.ssl.SSLSocketImpl