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 int connectionState;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean receivedCCS;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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 sun.security.ssl.CipherSuiteList enabledCipherSuites;
descriptor: Lsun/security/ssl/CipherSuiteList;
flags: (0x0002) ACC_PRIVATE
private java.lang.String identificationAlg;
descriptor: Ljava/lang/String;
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.SSLSessionImpl sess;
descriptor: Lsun/security/ssl/SSLSessionImpl;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.Handshaker handshaker;
descriptor: Lsun/security/ssl/Handshaker;
flags: (0x0002) ACC_PRIVATE
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.identificationAlg:Ljava/lang/String;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
5: 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;
6: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
7: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
8: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
9: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
10: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
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/lang/String;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/lang/String;
0 15 3 port I
13 15 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.identificationAlg:Ljava/lang/String;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
5: 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;
6: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
7: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
8: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
9: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
10: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
11: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 4
start local 4 12: aload 0
aload 4
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SSLSocketImpl;
0 14 1 context Lsun/security/ssl/SSLContextImpl;
0 14 2 host Ljava/net/InetAddress;
0 14 3 port I
12 14 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.identificationAlg:Ljava/lang/String;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
5: 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;
6: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
7: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
8: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
9: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
10: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
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/lang/String;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/lang/String;
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, 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.identificationAlg:Ljava/lang/String;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
5: 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;
6: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
7: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
8: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
9: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
10: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
11: aload 0
new java.net.InetSocketAddress
dup
aload 4
iload 5
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual sun.security.ssl.SSLSocketImpl.bind:(Ljava/net/SocketAddress;)V
12: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 6
start local 6 13: aload 0
aload 6
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
14: 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 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
0 15 4 localAddr Ljava/net/InetAddress;
0 15 5 localPort I
13 15 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);
descriptor: (Lsun/security/ssl/SSLContextImpl;ZLsun/security/ssl/CipherSuiteList;BZLsun/security/ssl/ProtocolList;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 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.identificationAlg:Ljava/lang/String;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
5: 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;
6: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
7: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
8: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
9: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
10: aload 0
iload 4
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:B
11: aload 0
iload 5
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
12: aload 0
aload 1
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
13: aload 0
aload 3
putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
14: aload 0
aload 6
putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
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 serverMode Z
0 16 3 suites Lsun/security/ssl/CipherSuiteList;
0 16 4 clientAuth B
0 16 5 sessionCreation Z
0 16 6 protocols Lsun/security/ssl/ProtocolList;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
serverMode
suites
clientAuth
sessionCreation
protocols
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.identificationAlg:Ljava/lang/String;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
5: 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;
6: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
7: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
8: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
9: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
10: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
0 12 1 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.identificationAlg:Ljava/lang/String;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
5: 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;
6: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
7: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
8: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
9: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.heldRecordBuffer:Ljava/io/ByteArrayOutputStream;
10: aload 2
invokevirtual java.net.Socket.isConnected:()Z
ifne 12
11: new java.net.SocketException
dup
ldc "Underlying socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
12: 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;
13: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
14: aload 0
iload 5
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
15: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()V
16: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/ssl/SSLSocketImpl;
0 17 1 context Lsun/security/ssl/SSLContextImpl;
0 17 2 sock Ljava/net/Socket;
0 17 3 host Ljava/lang/String;
0 17 4 port I
0 17 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
getstatic sun.security.ssl.SSLSessionImpl.nullSession:Lsun/security/ssl/SSLSessionImpl;
putfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
2: aload 0
iload 2
putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.receivedCCS:Z
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 134
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 134
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: 120
}
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
iconst_0
putfield sun.security.ssl.SSLSocketImpl.receivedCCS:Z
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.handshaker:Lsun/security/ssl/Handshaker;
69: aload 0
iconst_2
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
70: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.receivedCCS:Z
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 127
79: StackMap locals:
StackMap stack:
aload 5
monitorexit
80: goto 134
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 127
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 134
100: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpeq 102
101: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpne 104
102: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.sessionKeysCalculated:()Z
ifeq 104
103: aload 0
getfield sun.security.ssl.SSLSocketImpl.receivedCCS:Z
ifeq 111
104: StackMap locals:
StackMap stack:
aload 0
bipush 10
105: new java.lang.StringBuilder
dup
ldc "illegal change cipher spec msg, conn state = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
106: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", handshake state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
107: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
getfield sun.security.ssl.Handshaker.state:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
108: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
109: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
110: goto 115
StackMap locals:
StackMap stack:
111: aload 1
invokevirtual sun.security.ssl.InputRecord.available:()I
iconst_1
if_icmpne 112
aload 1
invokevirtual sun.security.ssl.InputRecord.read:()I
iconst_1
if_icmpeq 115
112: StackMap locals:
StackMap stack:
aload 0
bipush 10
113: ldc "Malformed change cipher spec msg"
114: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
115: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.receivedCCS:Z
116: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.changeReadCiphers:()V
117: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
118: aload 5
monitorexit
119: goto 134
120: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 125
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 125
121: 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
122: ldc ", Received record type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
123: 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;
124: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
125: StackMap locals:
StackMap stack:
aload 5
monitorexit
126: goto 134
127: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_4
if_icmpge 129
128: 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
129: StackMap locals:
StackMap stack:
aload 5
monitorexit
130: aload 4
monitorexit
131: return
132: StackMap locals:
StackMap stack: java.lang.Throwable
aload 5
monitorexit
133: athrow
end local 3 134: 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 135: bipush 6
if_icmpeq 137
136: iload 3
iconst_4
if_icmpeq 137
iload 3
bipush 7
if_icmpne 2
137: 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
138: aload 4
monitorexit
139: return
end local 3 140: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.InputRecord int top java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
141: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 142 0 this Lsun/security/ssl/SSLSocketImpl;
0 142 1 r Lsun/security/ssl/InputRecord;
0 142 2 needAppData Z
2 134 3 state I
135 140 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 132 any
81 99 132 any
100 119 132 any
120 126 132 any
127 130 132 any
132 133 132 any
1 131 140 any
132 139 140 any
140 141 140 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
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()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
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=6, 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: iload 2
tableswitch { // 0 - 7
0: 6
1: 10
2: 10
3: 10
4: 7
5: 10
6: 9
7: 9
default: 10
}
6: StackMap locals: int
StackMap stack:
goto 97
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:()V
8: goto 97
9: StackMap locals:
StackMap stack:
goto 97
10: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
11: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
dup
istore 2
bipush 6
if_icmpeq 13
12: iload 2
iconst_4
if_icmpeq 13
iload 2
bipush 7
if_icmpne 25
13: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 3
monitorexit
14: aload 0
dup
astore 5
monitorenter
15: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 17
16: bipush 7
goto 18
StackMap locals: sun.security.ssl.SSLSocketImpl int int sun.security.ssl.SSLSocketImpl top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
17: bipush 6
18: StackMap locals: sun.security.ssl.SSLSocketImpl int int sun.security.ssl.SSLSocketImpl top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
19: aload 0
invokevirtual java.lang.Object.notifyAll:()V
20: aload 5
monitorexit
21: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
22: aload 5
monitorexit
23: athrow
StackMap locals: sun.security.ssl.SSLSocketImpl int int sun.security.ssl.SSLSocketImpl
StackMap stack:
24: return
25: StackMap locals:
StackMap stack:
iload 2
iconst_5
if_icmpeq 28
26: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.warning:(B)V
27: aload 0
iconst_5
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
28: StackMap locals:
StackMap stack:
aload 3
monitorexit
29: goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
30: aload 3
monitorexit
31: athrow
32: StackMap locals:
StackMap stack:
iload 2
iconst_5
if_icmpne 76
33: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 38
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 38
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 ", close invoked again; state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: 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;
37: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
38: StackMap locals:
StackMap stack:
iload 1
ifne 50
39: aload 0
dup
astore 5
monitorenter
40: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 42
41: bipush 7
goto 43
StackMap locals: sun.security.ssl.SSLSocketImpl int int top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
42: bipush 6
43: StackMap locals: sun.security.ssl.SSLSocketImpl int int top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
44: aload 0
invokevirtual java.lang.Object.notifyAll:()V
45: aload 5
monitorexit
46: goto 49
StackMap locals:
StackMap stack: java.lang.Throwable
47: aload 5
monitorexit
48: athrow
49: StackMap locals: sun.security.ssl.SSLSocketImpl int int
StackMap stack:
return
50: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
51: goto 55
52: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
53: goto 55
StackMap locals:
StackMap stack: java.lang.InterruptedException
54: pop
55: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 6
if_icmplt 52
56: aload 3
monitorexit
57: goto 60
StackMap locals:
StackMap stack: java.lang.Throwable
58: aload 3
monitorexit
59: athrow
60: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 65
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 65
61: 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
62: ldc ", after primary close; state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
63: 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;
64: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
65: StackMap locals:
StackMap stack:
aload 0
dup
astore 5
monitorenter
66: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 68
67: bipush 7
goto 69
StackMap locals: sun.security.ssl.SSLSocketImpl int int top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
68: bipush 6
69: StackMap locals: sun.security.ssl.SSLSocketImpl int int top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
70: aload 0
invokevirtual java.lang.Object.notifyAll:()V
71: aload 5
monitorexit
72: goto 75
StackMap locals:
StackMap stack: java.lang.Throwable
73: aload 5
monitorexit
74: athrow
75: StackMap locals: sun.security.ssl.SSLSocketImpl int int
StackMap stack:
return
76: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
aload 0
if_acmpne 79
77: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.close:()V
78: goto 97
StackMap locals:
StackMap stack:
79: aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifeq 82
80: aload 0
getfield sun.security.ssl.SSLSocketImpl.self:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
81: goto 97
StackMap locals:
StackMap stack:
82: iload 1
ifeq 97
83: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.waitForClose:(Z)V
84: goto 97
StackMap locals:
StackMap stack: java.lang.Throwable
85: astore 4
86: aload 0
dup
astore 5
monitorenter
87: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 89
88: bipush 7
goto 90
StackMap locals: sun.security.ssl.SSLSocketImpl int int top java.lang.Throwable sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
89: bipush 6
90: StackMap locals: sun.security.ssl.SSLSocketImpl int int top java.lang.Throwable sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
91: aload 0
invokevirtual java.lang.Object.notifyAll:()V
92: aload 5
monitorexit
93: goto 96
StackMap locals:
StackMap stack: java.lang.Throwable
94: aload 5
monitorexit
95: athrow
96: StackMap locals:
StackMap stack:
aload 4
athrow
97: StackMap locals: sun.security.ssl.SSLSocketImpl int int
StackMap stack:
aload 0
dup
astore 5
monitorenter
98: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 100
99: bipush 7
goto 101
StackMap locals: sun.security.ssl.SSLSocketImpl int int top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
100: bipush 6
101: StackMap locals: sun.security.ssl.SSLSocketImpl int int top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
102: aload 0
invokevirtual java.lang.Object.notifyAll:()V
103: aload 5
monitorexit
104: goto 107
StackMap locals:
StackMap stack: java.lang.Throwable
105: aload 5
monitorexit
106: athrow
107: StackMap locals: sun.security.ssl.SSLSocketImpl int int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 108 0 this Lsun/security/ssl/SSLSocketImpl;
0 108 1 selfInitiated Z
5 108 2 state I
Exception table:
from to target type
15 21 22 any
22 23 22 any
11 14 30 any
25 29 30 any
30 31 30 any
40 46 47 any
47 48 47 any
52 53 54 Class java.lang.InterruptedException
51 57 58 any
58 59 58 any
66 72 73 any
73 74 73 any
5 14 85 any
25 39 85 any
50 65 85 any
76 85 85 any
87 93 94 any
94 95 94 any
98 104 105 any
105 106 105 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
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.connectionState:I
istore 4
start local 4 4: aload 0
iconst_4
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnonnull 16
6: iload 4
iconst_1
if_icmpne 8
7: 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
8: StackMap locals: int
StackMap stack:
iload 1
iconst_m1
if_icmpeq 10
9: aload 0
iconst_2
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.sendAlert:(BB)V
10: StackMap locals:
StackMap stack:
aload 3
instanceof javax.net.ssl.SSLException
ifeq 13
11: aload 0
aload 3
checkcast javax.net.ssl.SSLException
putfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
12: goto 16
13: StackMap locals:
StackMap stack:
aload 0
14: iload 1
aload 3
aload 2
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
15: putfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:()V
17: aload 0
iload 4
bipush 7
if_icmpne 18
bipush 7
goto 19
18: StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
bipush 6
19: 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
20: 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 21 0 this Lsun/security/ssl/SSLSocketImpl;
0 21 1 description B
0 21 2 diagnostic Ljava/lang/String;
0 21 3 cause Ljava/lang/Throwable;
4 21 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=2, 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
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;
6: 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;
7: goto 10
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
8: astore 1
start local 1 9: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 1
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
9 10 1 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
5 7 8 Class java.security.GeneralSecurityException
Exceptions:
throws javax.net.ssl.SSLException
void changeWriteCiphers();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, 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
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;
6: 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;
7: goto 10
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
8: astore 1
start local 1 9: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 1
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 10: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.isFirstAppOutputRecord:Z
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLSocketImpl;
9 10 1 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
5 7 8 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;
ifnonnull 5
1: 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
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: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
0 2 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 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: 12
default: 27
}
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 8
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 8
5: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 6
iconst_0
goto 7
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
6: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
7: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
8: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 9
iconst_0
goto 10
StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
9: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl int
10: putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
11: goto 35
12: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.$assertionsDisabled:Z
ifne 13
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnonnull 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 27
14: aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
iload 1
ifeq 15
iconst_0
goto 16
StackMap locals:
StackMap stack: int
15: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: int int
16: if_icmpeq 21
17: 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 21
18: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 19
iconst_0
goto 20
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
19: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
20: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
21: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 22
iconst_0
goto 23
StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
22: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl int
23: putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
24: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
25: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.initHandshaker:()V
26: goto 35
27: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 32
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 32
28: 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
29: ldc ", setUseClientMode() invoked in state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: 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;
31: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
32: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
33: ldc "Cannot change mode after SSL traffic has started"
34: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/ssl/SSLSocketImpl;
0 36 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 boolean trySetHostnameVerification(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getX509TrustManager:()Ljavax/net/ssl/X509TrustManager;
instanceof com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager
1: ifeq 4
2: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.identificationAlg:Ljava/lang/String;
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLSocketImpl;
0 5 1 identificationAlgorithm Ljava/lang/String;
MethodParameters:
Name Flags
identificationAlgorithm
public synchronized java.lang.String getHostnameVerification();
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.identificationAlg:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
boolean receivedChangeCipherSpec();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.receivedCCS:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
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