public final class sun.security.ssl.SSLSocketImpl extends sun.security.ssl.BaseSSLSocketImpl
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SSLSocketImpl
super_class: sun.security.ssl.BaseSSLSocketImpl
{
private static final int cs_START;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int cs_HANDSHAKE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int cs_DATA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int cs_RENEGOTIATE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int cs_ERROR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int cs_SENT_CLOSE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int cs_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int cs_APP_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private volatile int connectionState;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean expectingFinished;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.SSLException closeReason;
descriptor: Ljavax/net/ssl/SSLException;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ClientAuthType doClientAuth;
descriptor: Lsun/security/ssl/ClientAuthType;
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 identificationProtocol;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.security.AlgorithmConstraints algorithmConstraints;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x0002) ACC_PRIVATE
java.util.List<javax.net.ssl.SNIServerName> serverNames;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
java.util.Collection<javax.net.ssl.SNIMatcher> sniMatchers;
descriptor: Ljava/util/Collection;
flags: (0x0000)
Signature: Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>;
private boolean noSniExtension;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean noSniMatcher;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
java.lang.String[] applicationProtocols;
descriptor: [Ljava/lang/String;
flags: (0x0000)
java.lang.String applicationProtocol;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.util.function.BiFunction<javax.net.ssl.SSLSocket, java.util.List<java.lang.String>, java.lang.String> applicationProtocolSelector;
descriptor: Ljava/util/function/BiFunction;
flags: (0x0000)
Signature: Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
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
sun.security.ssl.InputRecord inputRecord;
descriptor: Lsun/security/ssl/InputRecord;
flags: (0x0000)
sun.security.ssl.OutputRecord outputRecord;
descriptor: Lsun/security/ssl/OutputRecord;
flags: (0x0000)
private boolean secureRenegotiation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte[] clientVerifyData;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] serverVerifyData;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.SSLContextImpl sslContext;
descriptor: Lsun/security/ssl/SSLContextImpl;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.Handshaker handshaker;
descriptor: Lsun/security/ssl/Handshaker;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.SSLSessionImpl sess;
descriptor: Lsun/security/ssl/SSLSessionImpl;
flags: (0x0002) ACC_PRIVATE
private volatile sun.security.ssl.SSLSessionImpl handshakeSession;
descriptor: Lsun/security/ssl/SSLSessionImpl;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.util.HashMap<javax.net.ssl.HandshakeCompletedListener, java.security.AccessControlContext> handshakeListeners;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljavax/net/ssl/HandshakeCompletedListener;Ljava/security/AccessControlContext;>;
private java.io.InputStream sockInput;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream sockOutput;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.AppInputStream input;
descriptor: Lsun/security/ssl/AppInputStream;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.AppOutputStream output;
descriptor: Lsun/security/ssl/AppOutputStream;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ProtocolList enabledProtocols;
descriptor: Lsun/security/ssl/ProtocolList;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ProtocolVersion protocolVersion;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0002) ACC_PRIVATE
private static final sun.security.ssl.Debug debug;
descriptor: Lsun/security/ssl/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean preferLocalCipherSuites;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int maximumPacketSize;
descriptor: I
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
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
4: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
7: aload 0
8: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
9: aload 0
10: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
13: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
15: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
16: 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;
17: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
18: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
19: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
20: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
21: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
22: aload 0
23: aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
24: putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
25: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
26: aload 2
ifnull 27
new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 28
27: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl java.lang.String int
StackMap stack:
new java.net.InetSocketAddress
dup
aconst_null
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
28: StackMap locals:
StackMap stack: java.net.InetSocketAddress
astore 4
start local 4 29: aload 0
aload 4
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
30: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/ssl/SSLSocketImpl;
0 31 1 context Lsun/security/ssl/SSLContextImpl;
0 31 2 host Ljava/lang/String;
0 31 3 port I
29 31 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
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
4: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
7: aload 0
8: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
9: aload 0
10: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
13: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
15: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
16: 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;
17: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
18: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
19: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
20: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
21: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
22: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 4
start local 4 23: aload 0
aload 4
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
24: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/ssl/SSLSocketImpl;
0 25 1 context Lsun/security/ssl/SSLContextImpl;
0 25 2 host Ljava/net/InetAddress;
0 25 3 port I
23 25 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
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
4: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
7: aload 0
8: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
9: aload 0
10: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
13: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
15: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
16: 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;
17: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
18: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
19: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
20: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
21: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
22: aload 0
23: aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
24: putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
25: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
26: 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
27: aload 2
ifnull 28
new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
goto 29
28: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl java.lang.String int java.net.InetAddress int
StackMap stack:
new java.net.InetSocketAddress
dup
aconst_null
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
29: StackMap locals:
StackMap stack: java.net.InetSocketAddress
astore 6
start local 6 30: aload 0
aload 6
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
31: 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 32 0 this Lsun/security/ssl/SSLSocketImpl;
0 32 1 context Lsun/security/ssl/SSLContextImpl;
0 32 2 host Ljava/lang/String;
0 32 3 port I
0 32 4 localAddr Ljava/net/InetAddress;
0 32 5 localPort I
30 32 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
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
4: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
7: aload 0
8: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
9: aload 0
10: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
13: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
15: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
16: 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;
17: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
18: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
19: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
20: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
21: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
22: 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
23: new java.net.InetSocketAddress
dup
aload 2
iload 3
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 6
start local 6 24: aload 0
aload 6
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
25: 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 26 0 this Lsun/security/ssl/SSLSocketImpl;
0 26 1 context Lsun/security/ssl/SSLContextImpl;
0 26 2 host Ljava/net/InetAddress;
0 26 3 port I
0 26 4 localAddr Ljava/net/InetAddress;
0 26 5 localPort I
24 26 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, sun.security.ssl.ClientAuthType, boolean, sun.security.ssl.ProtocolList, java.lang.String, java.security.AlgorithmConstraints, java.util.Collection<javax.net.ssl.SNIMatcher>, boolean, java.lang.String[]);
descriptor: (Lsun/security/ssl/SSLContextImpl;ZLsun/security/ssl/CipherSuiteList;Lsun/security/ssl/ClientAuthType;ZLsun/security/ssl/ProtocolList;Ljava/lang/String;Ljava/security/AlgorithmConstraints;Ljava/util/Collection;Z[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=12, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:()V
1: aload 0
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
4: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
7: aload 0
8: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
9: aload 0
10: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
13: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
15: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
16: 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;
17: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
18: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
19: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
20: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
21: aload 0
aload 4
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
22: aload 0
iload 5
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
23: aload 0
aload 7
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
24: aload 0
aload 8
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
25: aload 0
aload 9
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
26: aload 0
iload 10
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
27: aload 0
aload 11
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
28: aload 0
aload 1
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
29: aload 0
aload 3
putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
30: aload 0
aload 6
putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
31: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/security/ssl/SSLSocketImpl;
0 32 1 context Lsun/security/ssl/SSLContextImpl;
0 32 2 serverMode Z
0 32 3 suites Lsun/security/ssl/CipherSuiteList;
0 32 4 clientAuth Lsun/security/ssl/ClientAuthType;
0 32 5 sessionCreation Z
0 32 6 protocols Lsun/security/ssl/ProtocolList;
0 32 7 identificationProtocol Ljava/lang/String;
0 32 8 algorithmConstraints Ljava/security/AlgorithmConstraints;
0 32 9 sniMatchers Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>;
0 32 10 preferLocalCipherSuites Z
0 32 11 applicationProtocols [Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Lsun/security/ssl/SSLContextImpl;ZLsun/security/ssl/CipherSuiteList;Lsun/security/ssl/ClientAuthType;ZLsun/security/ssl/ProtocolList;Ljava/lang/String;Ljava/security/AlgorithmConstraints;Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>;Z[Ljava/lang/String;)V
MethodParameters:
Name Flags
context
serverMode
suites
clientAuth
sessionCreation
protocols
identificationProtocol
algorithmConstraints
sniMatchers
preferLocalCipherSuites
applicationProtocols
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
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
4: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
7: aload 0
8: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
9: aload 0
10: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
13: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
15: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
16: 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;
17: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
18: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
19: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
20: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
21: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
22: return
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;
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
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
4: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
7: aload 0
8: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
9: aload 0
10: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
13: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
15: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
16: 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;
17: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
18: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
19: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
20: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
21: aload 2
invokevirtual java.net.Socket.isConnected:()Z
ifne 23
22: new java.net.SocketException
dup
ldc "Underlying socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
23: 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;
24: aload 0
25: aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
26: putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
27: aload 0
aload 1
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
28: aload 0
iload 5
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
29: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()V
30: 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 31 0 this Lsun/security/ssl/SSLSocketImpl;
0 31 1 context Lsun/security/ssl/SSLContextImpl;
0 31 2 sock Ljava/net/Socket;
0 31 3 host Ljava/lang/String;
0 31 4 port I
0 31 5 autoClose Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
sock
host
port
autoClose
void <init>(sun.security.ssl.SSLContextImpl, java.net.Socket, java.io.InputStream, boolean);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/net/Socket;Ljava/io/InputStream;Z)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
invokespecial sun.security.ssl.BaseSSLSocketImpl.<init>:(Ljava/net/Socket;Ljava/io/InputStream;)V
1: aload 0
2: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
4: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
6: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
7: aload 0
8: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
9: aload 0
10: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
13: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
15: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
16: 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;
17: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
18: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLSocketImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
19: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
20: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
21: aload 2
invokevirtual java.net.Socket.isConnected:()Z
ifne 23
22: new java.net.SocketException
dup
ldc "Underlying socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl java.net.Socket java.io.InputStream int
StackMap stack:
aload 0
aload 1
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
24: aload 0
iload 4
putfield sun.security.ssl.SSLSocketImpl.autoClose:Z
25: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()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 context Lsun/security/ssl/SSLContextImpl;
0 27 2 sock Ljava/net/Socket;
0 27 3 consumed Ljava/io/InputStream;
0 27 4 autoClose Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
sock
consumed
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
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
3: aload 0
iload 2
putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
5: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.secureRenegotiation:Z
6: aload 0
iconst_0
newarray 8
putfield sun.security.ssl.SSLSocketImpl.clientVerifyData:[B
7: aload 0
iconst_0
newarray 8
putfield sun.security.ssl.SSLSocketImpl.serverVerifyData:[B
8: aload 0
9: 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;
10: putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
11: aload 0
12: 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;
13: putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
14: aload 0
new sun.security.ssl.SSLSocketInputRecord
dup
invokespecial sun.security.ssl.SSLSocketInputRecord.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
15: aload 0
new sun.security.ssl.SSLSocketOutputRecord
dup
invokespecial sun.security.ssl.SSLSocketOutputRecord.<init>:()V
putfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
16: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.getMaxPacketSize:()I
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
17: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield sun.security.ssl.SSLSocketImpl.acc:Ljava/security/AccessControlContext;
18: 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;
19: 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;
20: return
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 context Lsun/security/ssl/SSLContextImpl;
0 21 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
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifeq 2
1: new java.net.SocketException
dup
ldc "Already connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.InetSocketAddress
ifne 6
3: new java.net.SocketException
dup
4: ldc "Cannot handle non-Inet socket addresses."
5: invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokespecial sun.security.ssl.BaseSSLSocketImpl.connect:(Ljava/net/SocketAddress;I)V
7: aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
ifnull 8
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 9
8: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.useImplicitHost:(Z)V
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.doneConnect:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
0 11 1 endpoint Ljava/net/SocketAddress;
0 11 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
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getInputStream:()Ljava/io/InputStream;
putfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
1: aload 0
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getOutputStream:()Ljava/io/OutputStream;
putfield sun.security.ssl.SSLSocketImpl.sockOutput:Ljava/io/OutputStream;
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockOutput:Ljava/io/OutputStream;
invokevirtual sun.security.ssl.InputRecord.setDeliverStream:(Ljava/io/OutputStream;)V
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockOutput:Ljava/io/OutputStream;
invokevirtual sun.security.ssl.OutputRecord.setDeliverStream:(Ljava/io/OutputStream;)V
4: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.initHandshaker:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 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(byte[], int, int);
descriptor: ([BII)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 17
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
tableswitch { // 1 - 7
1: 3
2: 5
3: 5
4: 7
5: 11
6: 11
7: 11
default: 14
}
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.performInitialHandshake:()V
4: goto 17
5: StackMap locals:
StackMap stack:
iconst_1
istore 4
6: goto 17
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
8: ldc "error while writing to socket"
9: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
10: goto 17
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnull 13
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
athrow
13: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Socket closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
15: ldc "State error, send app data"
16: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
iload 4
ifeq 2
end local 4 18: iload 3
ifle 38
19: aconst_null
astore 4
start local 4 20: iconst_0
istore 5
start local 5 21: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
22: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 1
iload 2
iload 3
invokevirtual sun.security.ssl.OutputRecord.deliver:([BII)V
23: goto 35
StackMap locals: sun.security.ssl.SSLSocketImpl byte[] int int java.io.IOException int
StackMap stack: javax.net.ssl.SSLHandshakeException
24: astore 6
start local 6 25: bipush 40
istore 5
26: aload 6
astore 4
end local 6 27: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
goto 36
28: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 29: bipush 10
istore 5
30: aload 6
astore 4
end local 6 31: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
goto 36
32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
33: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
34: aload 7
athrow
35: 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
36: StackMap locals:
StackMap stack:
aload 4
ifnull 38
37: aload 0
iload 5
aload 4
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/Throwable;)V
end local 5 end local 4 38: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_2
if_icmpne 45
aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.seqNumIsHuge:()Z
ifeq 45
39: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 44
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 44
40: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: ldc ", request renegotiation "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: 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;
43: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.startHandshake:()V
45: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/security/ssl/SSLSocketImpl;
0 46 1 source [B
0 46 2 offset I
0 46 3 length I
1 18 4 readyForApp Z
20 38 4 ioe Ljava/io/IOException;
21 38 5 description B
25 27 6 she Ljavax/net/ssl/SSLHandshakeException;
29 31 6 e Ljava/io/IOException;
Exception table:
from to target type
22 23 24 Class javax.net.ssl.SSLHandshakeException
22 23 28 Class java.io.IOException
22 27 32 any
28 31 32 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
offset
length
void writeAlert(byte, byte);
descriptor: (BB)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 29
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getSoLinger:()I
iflt 29
1: invokestatic java.lang.Thread.interrupted:()Z
istore 3
start local 3 2: 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 10
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
iload 1
iload 2
invokevirtual sun.security.ssl.OutputRecord.encodeAlert:(BB)V
4: goto 8
StackMap locals: sun.security.ssl.SSLSocketImpl int int int
StackMap stack: java.lang.Throwable
5: astore 4
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 4
athrow
8: 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
9: goto 26
10: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
11: ldc "SO_LINGER timeout, close_notify message cannot be sent."
12: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 13: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.isLayered:()Z
ifeq 16
aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifne 16
14: aload 0
iconst_m1
aload 4
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/Throwable;)V
15: goto 22
StackMap locals: javax.net.ssl.SSLException
StackMap stack:
16: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 22
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 22
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
18: new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 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;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
22: 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 23: goto 26
StackMap locals: sun.security.ssl.SSLSocketImpl int int int
StackMap stack: java.lang.InterruptedException
24: pop
25: iconst_1
istore 3
26: StackMap locals:
StackMap stack:
iload 3
ifeq 36
27: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
end local 3 28: goto 36
29: 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
30: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
iload 1
iload 2
invokevirtual sun.security.ssl.OutputRecord.encodeAlert:(BB)V
31: goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 3
33: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
34: aload 3
athrow
35: 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
36: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/security/ssl/SSLSocketImpl;
0 37 1 level B
0 37 2 description B
2 28 3 interrupted Z
13 23 4 ssle Ljavax/net/ssl/SSLException;
Exception table:
from to target type
3 5 5 any
2 23 24 Class java.lang.InterruptedException
30 32 32 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
level
description
int bytesInCompletePacket();
descriptor: ()I
flags: (0x0000)
Code:
stack=4, locals=7, args_size=1
start local 0 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
getfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
istore 2
start local 2 4: iload 2
bipush 6
if_icmpeq 6
5: iload 2
iconst_4
if_icmpeq 6
iload 2
bipush 7
if_icmpne 8
6: StackMap locals: java.lang.Object int
StackMap stack:
aload 1
monitorexit
7: iconst_m1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
invokevirtual sun.security.ssl.InputRecord.bytesInCompletePacket:(Ljava/io/InputStream;)I
9: aload 1
monitorexit
10: ireturn
11: StackMap locals:
StackMap stack: java.io.EOFException
astore 3
start local 3 12: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpgt 13
iconst_1
goto 14
StackMap locals: java.io.EOFException
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 4
start local 4 15: getstatic sun.security.ssl.SSLSocketImpl.requireCloseNotify:Z
ifne 16
iload 4
ifne 16
iconst_0
goto 17
StackMap locals: int
StackMap stack:
16: iconst_1
StackMap locals:
StackMap stack: int
17: istore 5
start local 5 18: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 25
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 25
19: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: ldc ", received EOFException: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: iload 5
ifeq 22
ldc "error"
goto 23
StackMap locals: sun.security.ssl.SSLSocketImpl java.lang.Object int java.io.EOFException int int
StackMap stack: java.io.PrintStream java.lang.StringBuilder
22: ldc "ignored"
StackMap locals: sun.security.ssl.SSLSocketImpl java.lang.Object int java.io.EOFException int int
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
23: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
iload 5
ifne 28
26: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.closeInternal:(Z)V
27: goto 38
28: StackMap locals:
StackMap stack:
iload 4
ifeq 33
29: new javax.net.ssl.SSLHandshakeException
dup
30: ldc "Remote host terminated the handshake"
31: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 32: goto 36
end local 6 33: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
34: ldc "Remote host terminated the handshake"
35: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 36: StackMap locals: javax.net.ssl.SSLException
StackMap stack:
aload 6
aload 3
invokevirtual javax.net.ssl.SSLException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
37: aload 6
athrow
end local 6 end local 5 end local 4 end local 3 38: StackMap locals: sun.security.ssl.SSLSocketImpl java.lang.Object int
StackMap stack:
aload 1
monitorexit
39: iconst_m1
ireturn
end local 2 40: StackMap locals: sun.security.ssl.SSLSocketImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
41: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/security/ssl/SSLSocketImpl;
4 40 2 state I
12 38 3 eofe Ljava/io/EOFException;
15 38 4 handshaking Z
18 38 5 rethrow Z
32 33 6 e Ljavax/net/ssl/SSLException;
36 38 6 e Ljavax/net/ssl/SSLException;
Exception table:
from to target type
8 9 11 Class java.io.EOFException
3 7 40 any
8 10 40 any
11 39 40 any
40 41 40 any
Exceptions:
throws java.io.IOException
void expectingFinishFlight();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.expectingFinishFlight:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
int readRecord(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
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:(Ljava/nio/ByteBuffer;Z)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
0 3 1 buffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
int readRecord(boolean);
descriptor: (Z)I
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.readRecord:(Ljava/nio/ByteBuffer;Z)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
0 1 1 needAppData Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
needAppData
private int readRecord(java.nio.ByteBuffer, boolean);
descriptor: (Ljava/nio/ByteBuffer;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, 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: aconst_null
astore 5
start local 5 2: goto 61
start local 3 3: StackMap locals: int java.lang.Object sun.security.ssl.Plaintext
StackMap stack:
aload 1
ifnull 9
4: aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
5: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
invokevirtual sun.security.ssl.InputRecord.bytesInCompletePacket:(Ljava/io/InputStream;)I
if_icmpge 9
7: aload 4
monitorexit
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sockInput:Ljava/io/InputStream;
aload 1
invokevirtual sun.security.ssl.InputRecord.decode:(Ljava/io/InputStream;Ljava/nio/ByteBuffer;)Lsun/security/ssl/Plaintext;
astore 5
10: goto 53
StackMap locals:
StackMap stack: javax.crypto.BadPaddingException
11: astore 6
start local 6 12: iload 3
iconst_2
if_icmpeq 14
13: bipush 40
goto 15
14: StackMap locals: javax.crypto.BadPaddingException
StackMap stack:
bipush 20
15: StackMap locals:
StackMap stack: int
istore 7
start local 7 16: aload 0
iload 7
aload 6
invokevirtual javax.crypto.BadPaddingException.getMessage:()Ljava/lang/String;
aload 6
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
end local 7 end local 6 17: goto 53
18: StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int int java.lang.Object sun.security.ssl.Plaintext
StackMap stack: javax.net.ssl.SSLProtocolException
astore 6
start local 6 19: aload 0
bipush 10
aload 6
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/Throwable;)V
20: goto 22
StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int int java.lang.Object sun.security.ssl.Plaintext javax.net.ssl.SSLProtocolException
StackMap stack: java.io.IOException
21: pop
22: StackMap locals:
StackMap stack:
aload 6
athrow
end local 6 23: StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int int java.lang.Object sun.security.ssl.Plaintext
StackMap stack: javax.net.ssl.SSLHandshakeException
astore 6
start local 6 24: aload 0
bipush 40
aload 6
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/Throwable;)V
end local 6 25: goto 53
26: StackMap locals:
StackMap stack: java.io.EOFException
astore 6
start local 6 27: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpgt 28
iconst_1
goto 29
StackMap locals: java.io.EOFException
StackMap stack:
28: iconst_0
StackMap locals:
StackMap stack: int
29: istore 7
start local 7 30: getstatic sun.security.ssl.SSLSocketImpl.requireCloseNotify:Z
ifne 31
iload 7
ifne 31
iconst_0
goto 32
StackMap locals: int
StackMap stack:
31: iconst_1
StackMap locals:
StackMap stack: int
32: istore 8
start local 8 33: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 40
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 40
34: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 ", received EOFException: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: iload 8
ifeq 37
ldc "error"
goto 38
StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int int java.lang.Object sun.security.ssl.Plaintext java.io.EOFException int int
StackMap stack: java.io.PrintStream java.lang.StringBuilder
37: ldc "ignored"
StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int int java.lang.Object sun.security.ssl.Plaintext java.io.EOFException int int
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
38: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
40: StackMap locals:
StackMap stack:
iload 8
ifeq 51
41: iload 7
ifeq 46
42: new javax.net.ssl.SSLHandshakeException
dup
43: ldc "Remote host terminated the handshake"
44: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
astore 9
start local 9 45: goto 49
end local 9 46: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
47: ldc "Remote host terminated the connection"
48: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
astore 9
start local 9 49: StackMap locals: javax.net.ssl.SSLException
StackMap stack:
aload 9
aload 6
invokevirtual javax.net.ssl.SSLException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
50: aload 9
athrow
end local 9 51: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.closeInternal:(Z)V
52: goto 61
end local 8 end local 7 end local 6 53: StackMap locals:
StackMap stack:
aload 0
aload 5
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.processInputRecord:(Lsun/security/ssl/Plaintext;Z)I
istore 6
start local 6 54: aload 5
getfield sun.security.ssl.Plaintext.contentType:B
bipush 23
if_icmpne 57
55: iload 6
aload 4
monitorexit
56: ireturn
57: StackMap locals: int
StackMap stack:
aload 5
getfield sun.security.ssl.Plaintext.contentType:B
bipush 22
if_icmpne 61
58: iload 2
ifne 61
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_2
if_icmpne 61
59: iload 6
aload 4
monitorexit
60: ireturn
end local 6 end local 3 61: StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int top java.lang.Object sun.security.ssl.Plaintext
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
dup
istore 3
start local 3 62: bipush 6
if_icmpeq 64
63: iload 3
iconst_4
if_icmpeq 64
iload 3
bipush 7
if_icmpne 3
64: StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int int java.lang.Object sun.security.ssl.Plaintext
StackMap stack:
aload 4
monitorexit
65: iconst_m1
ireturn
end local 5 end local 3 66: StackMap locals: sun.security.ssl.SSLSocketImpl java.nio.ByteBuffer int top java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
67: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lsun/security/ssl/SSLSocketImpl;
0 68 1 buffer Ljava/nio/ByteBuffer;
0 68 2 needAppData Z
3 61 3 state I
62 66 3 state I
2 66 5 plainText Lsun/security/ssl/Plaintext;
12 17 6 bpe Ljavax/crypto/BadPaddingException;
16 17 7 alertType B
19 23 6 spe Ljavax/net/ssl/SSLProtocolException;
24 25 6 she Ljavax/net/ssl/SSLHandshakeException;
27 53 6 eof Ljava/io/EOFException;
30 53 7 handshaking Z
33 53 8 rethrow Z
45 46 9 e Ljavax/net/ssl/SSLException;
49 51 9 e Ljavax/net/ssl/SSLException;
54 61 6 volume I
Exception table:
from to target type
9 10 11 Class javax.crypto.BadPaddingException
9 10 18 Class javax.net.ssl.SSLProtocolException
19 20 21 Class java.io.IOException
9 10 23 Class javax.net.ssl.SSLHandshakeException
9 10 26 Class java.io.EOFException
1 8 66 any
9 56 66 any
57 60 66 any
61 65 66 any
66 67 66 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
needAppData
private synchronized int processInputRecord(sun.security.ssl.Plaintext, boolean);
descriptor: (Lsun/security/ssl/Plaintext;Z)I
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 1
getfield sun.security.ssl.Plaintext.contentType:B
tableswitch { // 20 - 23
20: 64
21: 62
22: 2
23: 46
default: 86
}
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.initHandshaker:()V
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 8
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpne 7
5: 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
6: goto 8
7: 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
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
aload 0
getfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
invokevirtual sun.security.ssl.Handshaker.processRecord:(Ljava/nio/ByteBuffer;Z)V
9: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
10: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
getfield sun.security.ssl.Handshaker.invalidated:Z
ifeq 17
11: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
aconst_null
invokevirtual sun.security.ssl.InputRecord.setHandshakeHash:(Lsun/security/ssl/HandshakeHash;)V
13: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aconst_null
invokevirtual sun.security.ssl.OutputRecord.setHandshakeHash:(Lsun/security/ssl/HandshakeHash;)V
14: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpne 90
15: aload 0
iconst_2
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
16: goto 90
StackMap locals:
StackMap stack:
17: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isDone:()Z
ifeq 90
18: aload 0
19: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isSecureRenegotiation:()Z
20: putfield sun.security.ssl.SSLSocketImpl.secureRenegotiation:Z
21: 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
22: 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
23: aload 0
24: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getHandshakeApplicationProtocol:()Ljava/lang/String;
25: putfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
26: 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;
27: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
28: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
29: aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
aconst_null
invokevirtual sun.security.ssl.InputRecord.setHandshakeHash:(Lsun/security/ssl/HandshakeHash;)V
30: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aconst_null
invokevirtual sun.security.ssl.OutputRecord.setHandshakeHash:(Lsun/security/ssl/HandshakeHash;)V
31: aload 0
iconst_2
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
32: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
ifnull 90
33: 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
34: astore 4
start local 4 35: new java.lang.Thread
dup
36: aconst_null
37: new sun.security.ssl.SSLSocketImpl$NotifyHandshake
dup
38: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
aload 4
39: invokespecial sun.security.ssl.SSLSocketImpl$NotifyHandshake.<init>:(Ljava/util/Set;Ljavax/net/ssl/HandshakeCompletedEvent;)V
40: ldc "HandshakeCompletedNotify-Thread"
41: lconst_0
42: iconst_0
43: invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
astore 5
start local 5 44: aload 5
invokevirtual java.lang.Thread.start:()V
end local 5 end local 4 45: goto 90
46: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_2
if_icmpeq 54
47: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpeq 54
48: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_5
if_icmpeq 54
49: new javax.net.ssl.SSLProtocolException
dup
50: new java.lang.StringBuilder
dup
ldc "Data received in non-data state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
51: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
52: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
54: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
ifeq 58
55: new javax.net.ssl.SSLProtocolException
dup
56: ldc "Expecting finished message, received data"
57: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
58: StackMap locals:
StackMap stack:
iload 2
ifne 60
59: new javax.net.ssl.SSLException
dup
ldc "Discarding app data"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
60: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 3
61: goto 90
62: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.SSLSocketImpl.recvAlert:(Ljava/nio/ByteBuffer;)V
63: goto 90
64: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpeq 72
65: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_3
if_icmpeq 72
66: aload 0
bipush 10
67: new java.lang.StringBuilder
dup
ldc "illegal change cipher spec msg, conn state = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
68: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
69: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
70: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
71: goto 77
StackMap locals:
StackMap stack:
72: aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
if_icmpne 74
73: aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
iconst_1
if_icmpeq 77
74: StackMap locals:
StackMap stack:
aload 0
bipush 10
75: ldc "Malformed change cipher spec msg"
76: invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;)V
77: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.receiveChangeCipherSpec:()V
78: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newReadCipher:()Lsun/security/ssl/CipherBox;
astore 4
start local 4 79: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newReadAuthenticator:()Lsun/security/ssl/Authenticator;
astore 5
start local 5 80: goto 83
end local 5 end local 4 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
81: astore 6
start local 6 82: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 6
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 start local 4 start local 5 83: StackMap locals: sun.security.ssl.CipherBox sun.security.ssl.Authenticator
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 5
aload 4
invokevirtual sun.security.ssl.InputRecord.changeReadCiphers:(Lsun/security/ssl/Authenticator;Lsun/security/ssl/CipherBox;)V
84: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl.expectingFinished:Z
85: goto 90
end local 5 end local 4 86: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 90
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 90
87: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
88: ldc ", Received record type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield sun.security.ssl.Plaintext.contentType:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
89: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
90: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_2
if_icmpne 97
aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.seqNumIsHuge:()Z
ifeq 97
91: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 96
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 96
92: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
93: ldc ", request renegotiation "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
94: 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;
95: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
96: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.startHandshake:()V
97: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 98 0 this Lsun/security/ssl/SSLSocketImpl;
0 98 1 plainText Lsun/security/ssl/Plaintext;
0 98 2 needAppData Z
1 98 3 volume I
35 45 4 event Ljavax/net/ssl/HandshakeCompletedEvent;
44 45 5 thread Ljava/lang/Thread;
79 81 4 readCipher Lsun/security/ssl/CipherBox;
83 86 4 readCipher Lsun/security/ssl/CipherBox;
80 81 5 readAuthenticator Lsun/security/ssl/Authenticator;
83 86 5 readAuthenticator Lsun/security/ssl/Authenticator;
82 83 6 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
78 80 81 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
plainText
needAppData
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 19
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:Lsun/security/ssl/ClientAuthType;
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 sun.security.ssl.ClientAuthType 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 sun.security.ssl.ClientAuthType 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;Lsun/security/ssl/ClientAuthType;Lsun/security/ssl/ProtocolVersion;ZZ[B[B)V
15: putfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
16: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
invokevirtual sun.security.ssl.Handshaker.setSNIMatchers:(Ljava/util/Collection;)V
17: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
invokevirtual sun.security.ssl.Handshaker.setUseCipherSuitesOrder:(Z)V
18: goto 27
19: StackMap locals:
StackMap stack:
aload 0
20: new sun.security.ssl.ClientHandshaker
dup
aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
21: aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
22: 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 23
iconst_1
goto 24
StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl new 20 new 20 sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ProtocolVersion
23: iconst_0
24: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl new 20 new 20 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
25: putfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
26: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
invokevirtual sun.security.ssl.Handshaker.setSNIServerNames:(Ljava/util/List;)V
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
invokevirtual sun.security.ssl.Handshaker.setMaximumPacketSize:(I)V
28: 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
29: 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
30: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
invokevirtual sun.security.ssl.Handshaker.setApplicationProtocols:([Ljava/lang/String;)V
31: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
32: aload 0
getfield sun.security.ssl.SSLSocketImpl.applicationProtocolSelector:Ljava/util/function/BiFunction;
33: invokevirtual sun.security.ssl.Handshaker.setApplicationProtocolSelectorSSLSocket:(Ljava/util/function/BiFunction;)V
34: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/security/ssl/SSLSocketImpl;
private void performInitialHandshake();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
iconst_1
if_icmpne 4
2: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.kickstartHandshake:()V
3: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.readRecord:(Z)I
pop
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
1 5 6 any
6 7 6 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 28
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 28
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_1
if_icmpeq 28
27: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.kickstart:()V
28: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
boolean checkEOF();
descriptor: ()Z
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
tableswitch { // 0 - 7
0: 1
1: 2
2: 2
3: 2
4: 4
5: 2
6: 4
7: 3
default: 4
}
1: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Socket is not connected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnonnull 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
7: new java.lang.StringBuilder
dup
ldc "Connection has been shutdown: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
astore 1
start local 1 9: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
10: aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl;
9 11 1 e Ljava/io/IOException;
Exceptions:
throws java.io.IOException
void checkWrite();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.checkEOF:()Z
ifne 1
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
iconst_5
if_icmpne 2
1: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Connection closed by remote host"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
private void closeSocket();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 ", called closeSocket()"
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
invokespecial sun.security.ssl.BaseSSLSocketImpl.close:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLSocketImpl;
Exceptions:
throws java.io.IOException
private void closeSocket(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 ", called closeSocket("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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.isLayered:()Z
ifeq 5
aload 0
getfield sun.security.ssl.SSLSocketImpl.autoClose:Z
ifeq 7
5: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.close:()V
6: goto 9
StackMap locals:
StackMap stack:
7: iload 1
ifeq 9
8: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.waitForClose:(Z)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLSocketImpl;
0 10 1 selfInitiated Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
selfInitiated
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 ", called close()"
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
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.closeInternal:(Z)V
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.readLock:Ljava/lang/Object;
dup
astore 1
monitorenter
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.close:()V
7: aload 1
monitorexit
8: goto 11
StackMap locals: sun.security.ssl.SSLSocketImpl java.lang.Object
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: 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
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.close:()V
13: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 1
15: aload 0
getfield sun.security.ssl.SSLSocketImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
16: aload 1
athrow
17: 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
18: goto 20
StackMap locals:
StackMap stack: java.io.IOException
19: pop
20: StackMap locals:
StackMap stack:
aload 0
bipush 7
invokevirtual sun.security.ssl.SSLSocketImpl.setConnectionState:(I)V
21: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/ssl/SSLSocketImpl;
Exception table:
from to target type
6 8 9 any
9 10 9 any
12 14 14 any
5 18 19 Class java.io.IOException
Exceptions:
throws java.io.IOException
private void closeInternal(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 4
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 ", called closeInternal("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
istore 2
start local 2 5: iconst_0
istore 3
start local 3 6: aconst_null
astore 4
start local 4 7: iload 2
tableswitch { // 0 - 7
0: 8
1: 13
2: 13
3: 13
4: 10
5: 13
6: 12
7: 12
default: 13
}
8: StackMap locals: int int java.lang.Throwable
StackMap stack:
aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
9: goto 121
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:()V
11: goto 121
12: StackMap locals:
StackMap stack:
goto 121
13: StackMap locals:
StackMap stack:
aload 0
dup
astore 5
monitorenter
14: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
dup
istore 2
bipush 6
if_icmpeq 16
15: iload 2
iconst_4
if_icmpeq 16
iload 2
bipush 7
if_icmpne 33
16: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 5
monitorexit
17: aload 0
dup
astore 8
monitorenter
18: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 20
19: bipush 7
goto 21
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable sun.security.ssl.SSLSocketImpl top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
20: bipush 6
21: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable sun.security.ssl.SSLSocketImpl top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
22: aload 0
invokevirtual java.lang.Object.notifyAll:()V
23: aload 8
monitorexit
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: aload 8
monitorexit
26: athrow
27: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 4
ifnull 32
28: aload 4
instanceof java.lang.Error
ifeq 30
29: aload 4
checkcast java.lang.Error
athrow
30: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 32
31: aload 4
checkcast java.lang.RuntimeException
athrow
StackMap locals:
StackMap stack:
32: return
33: StackMap locals:
StackMap stack:
iload 2
iconst_5
if_icmpeq 42
34: aload 0
iconst_0
invokevirtual sun.security.ssl.SSLSocketImpl.warning:(B)V
35: aload 0
iconst_5
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
36: goto 42
StackMap locals:
StackMap stack: java.lang.Throwable
37: astore 6
start local 6 38: aload 0
iconst_4
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
39: aload 6
astore 4
40: iconst_1
istore 3
41: aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
end local 6 42: StackMap locals:
StackMap stack:
aload 5
monitorexit
43: goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
44: aload 5
monitorexit
45: athrow
46: StackMap locals:
StackMap stack:
iload 2
iconst_5
if_icmpne 100
47: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 52
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 52
48: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
49: ldc ", close invoked again; state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
50: 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;
51: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
iload 1
ifne 69
53: aload 0
dup
astore 8
monitorenter
54: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 56
55: bipush 7
goto 57
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
56: bipush 6
57: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
58: aload 0
invokevirtual java.lang.Object.notifyAll:()V
59: aload 8
monitorexit
60: goto 63
StackMap locals:
StackMap stack: java.lang.Throwable
61: aload 8
monitorexit
62: athrow
63: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable
StackMap stack:
aload 4
ifnull 68
64: aload 4
instanceof java.lang.Error
ifeq 66
65: aload 4
checkcast java.lang.Error
athrow
66: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 68
67: aload 4
checkcast java.lang.RuntimeException
athrow
68: StackMap locals:
StackMap stack:
return
69: StackMap locals:
StackMap stack:
aload 0
dup
astore 5
monitorenter
70: goto 74
71: StackMap locals: sun.security.ssl.SSLSocketImpl
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
72: goto 74
StackMap locals:
StackMap stack: java.lang.InterruptedException
73: pop
74: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 6
if_icmplt 71
75: aload 5
monitorexit
76: goto 79
StackMap locals:
StackMap stack: java.lang.Throwable
77: aload 5
monitorexit
78: athrow
79: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 84
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 84
80: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
81: ldc ", after primary close; state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
82: 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;
83: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
84: StackMap locals:
StackMap stack:
aload 0
dup
astore 8
monitorenter
85: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 87
86: bipush 7
goto 88
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
87: bipush 6
88: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
89: aload 0
invokevirtual java.lang.Object.notifyAll:()V
90: aload 8
monitorexit
91: goto 94
StackMap locals:
StackMap stack: java.lang.Throwable
92: aload 8
monitorexit
93: athrow
94: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable
StackMap stack:
aload 4
ifnull 99
95: aload 4
instanceof java.lang.Error
ifeq 97
96: aload 4
checkcast java.lang.Error
athrow
97: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 99
98: aload 4
checkcast java.lang.RuntimeException
athrow
99: StackMap locals:
StackMap stack:
return
100: StackMap locals:
StackMap stack:
iload 3
ifne 121
101: iconst_1
istore 3
102: aload 0
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:(Z)V
103: goto 121
StackMap locals:
StackMap stack: java.lang.Throwable
104: astore 7
105: aload 0
dup
astore 8
monitorenter
106: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 108
107: bipush 7
goto 109
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top java.lang.Throwable sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
108: bipush 6
109: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top java.lang.Throwable sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
110: aload 0
invokevirtual java.lang.Object.notifyAll:()V
111: aload 8
monitorexit
112: goto 115
StackMap locals:
StackMap stack: java.lang.Throwable
113: aload 8
monitorexit
114: athrow
115: StackMap locals:
StackMap stack:
aload 4
ifnull 120
116: aload 4
instanceof java.lang.Error
ifeq 118
117: aload 4
checkcast java.lang.Error
athrow
118: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 120
119: aload 4
checkcast java.lang.RuntimeException
athrow
120: StackMap locals:
StackMap stack:
aload 7
athrow
121: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable
StackMap stack:
aload 0
dup
astore 8
monitorenter
122: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
bipush 7
if_icmpne 124
123: bipush 7
goto 125
StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl
124: bipush 6
125: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable top top top sun.security.ssl.SSLSocketImpl
StackMap stack: sun.security.ssl.SSLSocketImpl int
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
126: aload 0
invokevirtual java.lang.Object.notifyAll:()V
127: aload 8
monitorexit
128: goto 131
StackMap locals:
StackMap stack: java.lang.Throwable
129: aload 8
monitorexit
130: athrow
131: StackMap locals: sun.security.ssl.SSLSocketImpl int int int java.lang.Throwable
StackMap stack:
aload 4
ifnull 136
132: aload 4
instanceof java.lang.Error
ifeq 134
133: aload 4
checkcast java.lang.Error
athrow
134: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.RuntimeException
ifeq 136
135: aload 4
checkcast java.lang.RuntimeException
athrow
136: 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 137 0 this Lsun/security/ssl/SSLSocketImpl;
0 137 1 selfInitiated Z
5 137 2 state I
6 137 3 closeSocketCalled Z
7 137 4 cachedThrowable Ljava/lang/Throwable;
38 42 6 th Ljava/lang/Throwable;
Exception table:
from to target type
18 24 25 any
25 26 25 any
34 36 37 Class java.lang.Throwable
14 17 44 any
33 43 44 any
44 45 44 any
54 60 61 any
61 62 61 any
71 72 73 Class java.lang.InterruptedException
70 76 77 any
77 78 77 any
85 91 92 any
92 93 92 any
7 17 104 any
33 53 104 any
69 84 104 any
100 104 104 any
106 112 113 any
113 114 113 any
122 128 129 any
129 130 129 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
selfInitiated
void waitForClose(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 16
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 16
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 16
start local 2 6: StackMap locals: int
StackMap stack:
aload 0
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.readRecord:(Z)I
pop
7: goto 16
StackMap locals:
StackMap stack: java.net.SocketTimeoutException
8: astore 3
start local 3 9: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 15
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 15
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
11: new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: ldc ", received Exception: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: StackMap locals: java.net.SocketTimeoutException
StackMap stack:
aload 0
iconst_m1
ldc "Did not receive close_notify from peer"
aload 3
invokevirtual sun.security.ssl.SSLSocketImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
end local 3 end local 2 16: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getConnectionState:()I
dup
istore 2
start local 2 17: bipush 6
if_icmpeq 27
18: iload 2
iconst_4
if_icmpeq 27
iload 2
bipush 7
if_icmpne 6
end local 2 19: goto 27
StackMap locals:
StackMap stack: java.io.IOException
20: astore 2
start local 2 21: getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 25
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 25
22: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: 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;
24: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals: java.io.IOException
StackMap stack:
iload 1
ifeq 27
26: aload 2
athrow
end local 2 27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/ssl/SSLSocketImpl;
0 28 1 rethrow Z
6 16 2 state I
17 19 2 state I
9 16 3 e Ljava/net/SocketTimeoutException;
21 27 2 e Ljava/io/IOException;
Exception table:
from to target type
6 7 8 Class java.net.SocketTimeoutException
5 19 20 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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.close:()V
1: goto 3
StackMap locals:
StackMap stack: java.io.IOException
2: pop
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
ifnull 6
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
istore 4
start local 4 7: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
iconst_4
if_icmpge 9
8: aload 0
iconst_4
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
9: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnonnull 20
10: iload 4
iconst_1
if_icmpne 12
11: 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
12: StackMap locals:
StackMap stack:
iload 1
iconst_m1
if_icmpeq 14
13: aload 0
iconst_2
iload 1
invokevirtual sun.security.ssl.SSLSocketImpl.sendAlert:(BB)V
14: StackMap locals:
StackMap stack:
aload 3
instanceof javax.net.ssl.SSLException
ifeq 17
15: aload 0
aload 3
checkcast javax.net.ssl.SSLException
putfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
16: goto 20
17: StackMap locals:
StackMap stack:
aload 0
18: iload 1
aload 3
aload 2
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
19: putfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.closeSocket:()V
21: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.close:()V
22: goto 24
StackMap locals:
StackMap stack: java.io.IOException
23: pop
24: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.closeReason:Ljavax/net/ssl/SSLException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/ssl/SSLSocketImpl;
0 25 1 description B
0 25 2 diagnostic Ljava/lang/String;
0 25 3 cause Ljava/lang/Throwable;
7 25 4 oldState I
Exception table:
from to target type
0 1 2 Class java.io.IOException
21 22 23 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
description
diagnostic
cause
private void recvAlert(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 2
start local 2 1: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 fragment Ljava/nio/ByteBuffer;
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
fragment
private void sendAlert(byte, byte);
descriptor: (BB)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, 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_icmpgt 6
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 5
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.started:()Z
ifeq 5
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 6
5: StackMap locals:
StackMap stack:
return
6: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 7
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 3
start local 3 9: iload 3
ifeq 27
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
dup
astore 4
monitorenter
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
12: 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
13: iload 1
iconst_2
if_icmpne 16
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "fatal, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
15: goto 20
StackMap locals: int java.io.PrintStream
StackMap stack:
16: iload 1
iconst_1
if_icmpne 19
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "warning, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
18: goto 20
19: 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
20: 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
21: 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;
22: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
23: aload 4
monitorexit
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: aload 4
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual sun.security.ssl.SSLSocketImpl.writeAlert:(BB)V
28: goto 34
StackMap locals:
StackMap stack: java.io.IOException
29: astore 4
start local 4 30: iload 3
ifeq 34
31: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
32: ldc ", Exception sending alert: "
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;
33: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 34: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/security/ssl/SSLSocketImpl;
0 35 1 level B
0 35 2 description B
9 35 3 useDebug Z
30 34 4 e Ljava/io/IOException;
Exception table:
from to target type
11 24 25 any
25 26 25 any
27 28 29 Class java.io.IOException
MethodParameters:
Name Flags
level
description
void changeWriteCiphers();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newWriteCipher:()Lsun/security/ssl/CipherBox;
astore 2
start local 2 1: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newWriteAuthenticator:()Lsun/security/ssl/Authenticator;
astore 1
start local 1 2: goto 5
end local 2 end local 1 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
3: astore 3
start local 3 4: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 3
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 start local 1 start local 2 5: StackMap locals: sun.security.ssl.Authenticator sun.security.ssl.CipherBox
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 1
aload 2
invokevirtual sun.security.ssl.OutputRecord.changeWriteCiphers:(Lsun/security/ssl/Authenticator;Lsun/security/ssl/CipherBox;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
2 3 1 writeAuthenticator Lsun/security/ssl/Authenticator;
5 7 1 writeAuthenticator Lsun/security/ssl/Authenticator;
1 3 2 writeCipher Lsun/security/ssl/CipherBox;
5 7 2 writeCipher Lsun/security/ssl/CipherBox;
4 5 3 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 2 3 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
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.outputRecord:Lsun/security/ssl/OutputRecord;
aload 1
invokevirtual sun.security.ssl.OutputRecord.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
0 3 1 protocolVersion Lsun/security/ssl/ProtocolVersion;
MethodParameters:
Name Flags
protocolVersion
synchronized java.lang.String getHost();
descriptor: ()Ljava/lang/String;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
ifnull 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.useImplicitHost:(Z)V
2: 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 3 0 this Lsun/security/ssl/SSLSocketImpl;
private synchronized void useImplicitHost(boolean);
descriptor: (Z)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.getInetAddress:()Ljava/net/InetAddress;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: return
3: StackMap locals: java.net.InetAddress
StackMap stack:
invokestatic jdk.internal.misc.SharedSecrets.getJavaNetInetAddressAccess:()Ljdk/internal/misc/JavaNetInetAddressAccess;
4: astore 3
start local 3 5: aload 3
aload 2
invokeinterface jdk.internal.misc.JavaNetInetAddressAccess.getOriginalHostName:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 4
start local 4 6: aload 4
ifnull 17
7: aload 4
invokevirtual java.lang.String.length:()I
ifeq 17
8: aload 0
aload 4
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
9: iload 1
ifne 16
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 16
aload 0
getfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
ifne 16
10: aload 0
11: aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
12: putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
13: aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
ifne 16
14: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 16
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 16
15: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
invokevirtual sun.security.ssl.Handshaker.setSNIServerNames:(Ljava/util/List;)V
16: StackMap locals: jdk.internal.misc.JavaNetInetAddressAccess java.lang.String
StackMap stack:
return
17: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.trustNameService:Z
ifne 20
18: aload 0
aload 2
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
19: goto 21
20: 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;
21: 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 22 0 this Lsun/security/ssl/SSLSocketImpl;
0 22 1 noSniUpdate Z
1 22 2 inetAddress Ljava/net/InetAddress;
5 22 3 jna Ljdk/internal/misc/JavaNetInetAddressAccess;
6 22 4 originalHostname Ljava/lang/String;
MethodParameters:
Name Flags
noSniUpdate
public synchronized void setHost(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
1: aload 0
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
aload 0
getfield sun.security.ssl.SSLSocketImpl.host:Ljava/lang/String;
invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
3: putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
ifne 6
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 6
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 6
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
invokevirtual sun.security.ssl.Handshaker.setSNIServerNames:(Ljava/util/List;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
0 7 1 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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: ldc ", IOException in getSession(): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 1 8: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
9: aload 0
getfield sun.security.ssl.SSLSocketImpl.sess:Lsun/security/ssl/SSLSessionImpl;
aload 1
monitorexit
10: areturn
11: StackMap locals: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLSocketImpl
StackMap stack: java.lang.Throwable
aload 1
monitorexit
12: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLSocketImpl;
4 8 1 e Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
9 10 11 any
11 12 11 any
public synchronized javax.net.ssl.SSLSession getHandshakeSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
synchronized void setHandshakeSession(sun.security.ssl.SSLSessionImpl);
descriptor: (Lsun/security/ssl/SSLSessionImpl;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 1
invokevirtual sun.security.ssl.SSLSessionImpl.getNegotiatedMaxFragSize:()I
invokevirtual sun.security.ssl.InputRecord.changeFragmentSize:(I)V
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 1
invokevirtual sun.security.ssl.SSLSessionImpl.getNegotiatedMaxFragSize:()I
invokevirtual sun.security.ssl.OutputRecord.changeFragmentSize:(I)V
2: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
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 session Lsun/security/ssl/SSLSessionImpl;
MethodParameters:
Name Flags
session
public synchronized void setEnableSessionCreation(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 3
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 3
2: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
invokevirtual sun.security.ssl.Handshaker.setEnableSessionCreation:(Z)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl;
0 4 1 flag Z
MethodParameters:
Name Flags
flag
public synchronized boolean getEnableSessionCreation();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.enableSessionCreation:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setNeedClientAuth(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ifeq 1
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
goto 2
1: StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
2: StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.ClientAuthType
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 7
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
instanceof sun.security.ssl.ServerHandshaker
ifeq 7
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 7
6: 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:Lsun/security/ssl/ClientAuthType;
invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(Lsun/security/ssl/ClientAuthType;)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
0 8 1 flag Z
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:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
if_acmpne 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 1
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
goto 2
1: StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
2: StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.ClientAuthType
putfield sun.security.ssl.SSLSocketImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 7
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
instanceof sun.security.ssl.ServerHandshaker
ifeq 7
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 7
6: 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:Lsun/security/ssl/ClientAuthType;
invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(Lsun/security/ssl/ClientAuthType;)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
0 8 1 flag Z
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:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setUseClientMode(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.connectionState:I
tableswitch { // 0 - 1
0: 1
1: 20
default: 46
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
iload 1
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack: int
2: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: int int
3: if_icmpeq 16
4: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultProtocolList:(Lsun/security/ssl/ProtocolList;)Z
ifeq 10
5: aload 0
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 7
iconst_0
goto 8
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
7: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
8: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
9: putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultCipherSuiteList:(Lsun/security/ssl/CipherSuiteList;)Z
ifeq 16
11: aload 0
12: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 13
iconst_0
goto 14
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
13: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
14: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
15: putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
16: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 17
iconst_0
goto 18
StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
17: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl int
18: putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
19: goto 54
20: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.$assertionsDisabled:Z
ifne 21
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnonnull 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 46
22: aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
iload 1
ifeq 23
iconst_0
goto 24
StackMap locals:
StackMap stack: int
23: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: int int
24: if_icmpeq 40
25: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultProtocolList:(Lsun/security/ssl/ProtocolList;)Z
ifeq 31
26: aload 0
27: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 28
iconst_0
goto 29
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
28: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
29: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
30: putfield sun.security.ssl.SSLSocketImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
31: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
32: aload 0
getfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
33: invokevirtual sun.security.ssl.SSLContextImpl.isDefaultCipherSuiteList:(Lsun/security/ssl/CipherSuiteList;)Z
34: ifeq 40
35: aload 0
36: aload 0
getfield sun.security.ssl.SSLSocketImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 37
iconst_0
goto 38
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl
37: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl int
38: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
39: putfield sun.security.ssl.SSLSocketImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
40: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 41
iconst_0
goto 42
StackMap locals:
StackMap stack: sun.security.ssl.SSLSocketImpl
41: iconst_1
StackMap locals: sun.security.ssl.SSLSocketImpl int
StackMap stack: sun.security.ssl.SSLSocketImpl int
42: putfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
43: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl.connectionState:I
44: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl.initHandshaker:()V
45: goto 54
46: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLSocketImpl.debug:Lsun/security/ssl/Debug;
ifnull 51
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 51
47: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: ldc ", setUseClientMode() invoked in state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: 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;
50: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
52: ldc "Cannot change mode after SSL traffic has started"
53: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
54: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lsun/security/ssl/SSLSocketImpl;
0 55 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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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
iload 1
invokespecial sun.security.ssl.BaseSSLSocketImpl.setSoTimeout:(I)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLSocketImpl;
0 6 1 timeout I
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
timeout
public synchronized void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
descriptor: (Ljavax/net/ssl/HandshakeCompletedListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "listener is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
ifnonnull 6
3: aload 0
4: new java.util.HashMap
dup
iconst_4
5: invokespecial java.util.HashMap.<init>:(I)V
putfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
aload 1
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
0 8 1 listener Ljavax/net/ssl/HandshakeCompletedListener;
MethodParameters:
Name Flags
listener
public synchronized void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
descriptor: (Ljavax/net/ssl/HandshakeCompletedListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "no listeners"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "listener not registered"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
invokevirtual java.util.HashMap.isEmpty:()Z
ifeq 6
5: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketImpl.handshakeListeners:Ljava/util/HashMap;
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketImpl;
0 7 1 listener Ljavax/net/ssl/HandshakeCompletedListener;
MethodParameters:
Name Flags
listener
public synchronized javax.net.ssl.SSLParameters getSSLParameters();
descriptor: ()Ljavax/net/ssl/SSLParameters;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
astore 1
start local 1 1: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
invokevirtual javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm:(Ljava/lang/String;)V
2: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
invokevirtual javax.net.ssl.SSLParameters.setAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;)V
3: aload 0
getfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 6
aload 0
getfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
ifne 6
4: aload 1
aconst_null
invokevirtual javax.net.ssl.SSLParameters.setSNIMatchers:(Ljava/util/Collection;)V
5: goto 7
6: StackMap locals: javax.net.ssl.SSLParameters
StackMap stack:
aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
invokevirtual javax.net.ssl.SSLParameters.setSNIMatchers:(Ljava/util/Collection;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 10
aload 0
getfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
ifne 10
8: aload 1
aconst_null
invokevirtual javax.net.ssl.SSLParameters.setServerNames:(Ljava/util/List;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
invokevirtual javax.net.ssl.SSLParameters.setServerNames:(Ljava/util/List;)V
11: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
invokevirtual javax.net.ssl.SSLParameters.setUseCipherSuitesOrder:(Z)V
12: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
invokevirtual javax.net.ssl.SSLParameters.setMaximumPacketSize:(I)V
13: aload 1
aload 0
getfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
invokevirtual javax.net.ssl.SSLParameters.setApplicationProtocols:([Ljava/lang/String;)V
14: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/SSLSocketImpl;
1 15 1 params Ljavax/net/ssl/SSLParameters;
public synchronized void setSSLParameters(javax.net.ssl.SSLParameters);
descriptor: (Ljavax/net/ssl/SSLParameters;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.security.ssl.BaseSSLSocketImpl.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
1: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm:()Ljava/lang/String;
putfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
2: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getAlgorithmConstraints:()Ljava/security/AlgorithmConstraints;
putfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
3: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getUseCipherSuitesOrder:()Z
putfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
4: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getMaximumPacketSize:()I
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
5: aload 0
getfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
ifeq 8
6: aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 0
getfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
invokevirtual sun.security.ssl.OutputRecord.changePacketSize:(I)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.getMaxPacketSize:()I
putfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.net.ssl.SSLParameters.getServerNames:()Ljava/util/List;
astore 2
start local 2 10: aload 2
ifnull 13
11: aload 0
aload 2
invokeinterface java.util.List.isEmpty:()Z
putfield sun.security.ssl.SSLSocketImpl.noSniExtension:Z
12: aload 0
aload 2
putfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
13: StackMap locals: java.util.List
StackMap stack:
aload 1
invokevirtual javax.net.ssl.SSLParameters.getSNIMatchers:()Ljava/util/Collection;
astore 3
start local 3 14: aload 3
ifnull 17
15: aload 0
aload 3
invokeinterface java.util.Collection.isEmpty:()Z
putfield sun.security.ssl.SSLSocketImpl.noSniMatcher:Z
16: aload 0
aload 3
putfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
17: StackMap locals: java.util.Collection
StackMap stack:
aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getApplicationProtocols:()[Ljava/lang/String;
putfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
18: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 28
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 28
19: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.identificationProtocol:Ljava/lang/String;
invokevirtual sun.security.ssl.Handshaker.setIdentificationProtocol:(Ljava/lang/String;)V
20: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
invokevirtual sun.security.ssl.Handshaker.setAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;)V
21: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.maximumPacketSize:I
invokevirtual sun.security.ssl.Handshaker.setMaximumPacketSize:(I)V
22: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.applicationProtocols:[Ljava/lang/String;
invokevirtual sun.security.ssl.Handshaker.setApplicationProtocols:([Ljava/lang/String;)V
23: aload 0
getfield sun.security.ssl.SSLSocketImpl.roleIsServer:Z
ifeq 27
24: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.sniMatchers:Ljava/util/Collection;
invokevirtual sun.security.ssl.Handshaker.setSNIMatchers:(Ljava/util/Collection;)V
25: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.preferLocalCipherSuites:Z
invokevirtual sun.security.ssl.Handshaker.setUseCipherSuitesOrder:(Z)V
26: goto 28
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLSocketImpl.serverNames:Ljava/util/List;
invokevirtual sun.security.ssl.Handshaker.setSNIServerNames:(Ljava/util/List;)V
28: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/ssl/SSLSocketImpl;
0 29 1 params Ljavax/net/ssl/SSLParameters;
10 29 2 sniNames Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
14 29 3 matchers Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>;
MethodParameters:
Name Flags
params
public synchronized java.lang.String getApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.applicationProtocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized java.lang.String getHandshakeApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 2
aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.started:()Z
ifeq 2
1: aload 0
getfield sun.security.ssl.SSLSocketImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getHandshakeApplicationProtocol:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl;
public synchronized void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLSocket, java.util.List<java.lang.String>, java.lang.String>);
descriptor: (Ljava/util/function/BiFunction;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl.applicationProtocolSelector:Ljava/util/function/BiFunction;
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 1
invokevirtual sun.security.ssl.Handshaker.setApplicationProtocolSelectorSSLSocket:(Ljava/util/function/BiFunction;)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 selector Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
Signature: (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
selector
public synchronized java.util.function.BiFunction<javax.net.ssl.SSLSocket, java.util.List<java.lang.String>, java.lang.String> getHandshakeApplicationProtocolSelector();
descriptor: ()Ljava/util/function/BiFunction;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl.applicationProtocolSelector:Ljava/util/function/BiFunction;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLSocketImpl;
Signature: ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLSocket;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
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.StringBuilder
dup
bipush 80
invokespecial java.lang.StringBuilder.<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.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 1
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 1
aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl;
1 8 1 retval Ljava/lang/StringBuilder;
public java.net.Socket setOption(java.net.SocketOption, java.lang.Object);
descriptor: (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/net/Socket;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokespecial sun.security.ssl.BaseSSLSocketImpl.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/net/Socket;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public void setPerformancePreferences(int, int, int);
descriptor: (III)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
iload 1
iload 2
iload 3
invokespecial sun.security.ssl.BaseSSLSocketImpl.setPerformancePreferences:(III)V
return
LocalVariableTable:
Start End Slot Name Signature
public java.util.Set supportedOptions();
descriptor: ()Ljava/util/Set;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.supportedOptions:()Ljava/util/Set;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object getOption(java.net.SocketOption);
descriptor: (Ljava/net/SocketOption;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial sun.security.ssl.BaseSSLSocketImpl.getOption:(Ljava/net/SocketOption;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public java.net.SocketAddress getLocalSocketAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial sun.security.ssl.BaseSSLSocketImpl.getLocalSocketAddress:()Ljava/net/SocketAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void 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$NotifyHandshake sun.security.ssl.SSLSocketImpl$NotifyHandshake$1
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private NotifyHandshake = sun.security.ssl.SSLSocketImpl$NotifyHandshake of sun.security.ssl.SSLSocketImpl