class sun.security.ssl.InputRecord extends java.io.ByteArrayInputStream implements sun.security.ssl.Record
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.ssl.InputRecord
super_class: java.io.ByteArrayInputStream
{
private sun.security.ssl.HandshakeHash handshakeHash;
descriptor: Lsun/security/ssl/HandshakeHash;
flags: (0x0002) ACC_PRIVATE
private int lastHashed;
descriptor: I
flags: (0x0002) ACC_PRIVATE
boolean formatVerified;
descriptor: Z
flags: (0x0000)
private boolean isClosed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean appDataValid;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ProtocolVersion helloVersion;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0002) ACC_PRIVATE
static final sun.security.ssl.Debug debug;
descriptor: Lsun/security/ssl/Debug;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private int exlen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte[] v2Buf;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private static final byte[] v2NoCipher;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "ssl"
invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
putstatic sun.security.ssl.InputRecord.debug:Lsun/security/ssl/Debug;
1: iconst_5
newarray 8
dup
iconst_0
2: bipush -128
bastore
dup
iconst_1
iconst_3
bastore
dup
iconst_4
3: iconst_1
bastore
4: putstatic sun.security.ssl.InputRecord.v2NoCipher:[B
5: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 16921
newarray 8
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
1: aload 0
iconst_1
putfield sun.security.ssl.InputRecord.formatVerified:Z
2: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT_HELLO:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.InputRecord.setHelloVersion:(Lsun/security/ssl/ProtocolVersion;)V
3: aload 0
iconst_5
putfield sun.security.ssl.InputRecord.pos:I
4: aload 0
iconst_5
putfield sun.security.ssl.InputRecord.count:I
5: aload 0
aload 0
getfield sun.security.ssl.InputRecord.count:I
putfield sun.security.ssl.InputRecord.lastHashed:I
6: aload 0
iconst_0
putfield sun.security.ssl.InputRecord.exlen:I
7: aload 0
aconst_null
putfield sun.security.ssl.InputRecord.v2Buf:[B
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/InputRecord;
void setHelloVersion(sun.security.ssl.ProtocolVersion);
descriptor: (Lsun/security/ssl/ProtocolVersion;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.InputRecord.helloVersion:Lsun/security/ssl/ProtocolVersion;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/InputRecord;
0 2 1 helloVersion Lsun/security/ssl/ProtocolVersion;
MethodParameters:
Name Flags
helloVersion
sun.security.ssl.ProtocolVersion getHelloVersion();
descriptor: ()Lsun/security/ssl/ProtocolVersion;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.InputRecord.helloVersion:Lsun/security/ssl/ProtocolVersion;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/InputRecord;
void enableFormatChecks();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.security.ssl.InputRecord.formatVerified:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/InputRecord;
boolean isAppDataValid();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.InputRecord.appDataValid:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/InputRecord;
void setAppDataValid(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.security.ssl.InputRecord.appDataValid:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/InputRecord;
0 2 1 value Z
MethodParameters:
Name Flags
value
byte contentType();
descriptor: ()B
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
baload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/InputRecord;
void setHandshakeHash(sun.security.ssl.HandshakeHash);
descriptor: (Lsun/security/ssl/HandshakeHash;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.InputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/InputRecord;
0 2 1 handshakeHash Lsun/security/ssl/HandshakeHash;
MethodParameters:
Name Flags
handshakeHash
sun.security.ssl.HandshakeHash getHandshakeHash();
descriptor: ()Lsun/security/ssl/HandshakeHash;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.InputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/InputRecord;
void decrypt(sun.security.ssl.MAC, sun.security.ssl.CipherBox);
descriptor: (Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;)V
flags: (0x0000)
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
invokevirtual sun.security.ssl.MAC.MAClen:()I
istore 4
start local 4 2: aload 0
getfield sun.security.ssl.InputRecord.count:I
iconst_5
isub
istore 5
start local 5 3: aload 2
invokevirtual sun.security.ssl.CipherBox.isNullCipher:()Z
ifne 14
4: aload 2
iload 4
iload 5
invokevirtual sun.security.ssl.CipherBox.sanityCheck:(II)Z
ifne 8
5: new javax.crypto.BadPaddingException
dup
6: ldc "ciphertext sanity check failed"
7: invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: javax.crypto.BadPaddingException int int
StackMap stack:
aload 0
iconst_5
9: aload 2
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_5
iload 5
iload 4
invokevirtual sun.security.ssl.CipherBox.decrypt:([BIII)I
iadd
10: putfield sun.security.ssl.InputRecord.count:I
11: goto 14
StackMap locals:
StackMap stack: javax.crypto.BadPaddingException
12: astore 6
start local 6 13: aload 6
astore 3
end local 6 14: StackMap locals:
StackMap stack:
iload 4
ifeq 37
15: aload 0
getfield sun.security.ssl.InputRecord.count:I
iload 4
isub
istore 6
start local 6 16: iload 6
iconst_5
isub
istore 7
start local 7 17: iload 7
ifge 22
18: aload 3
ifnonnull 20
19: new javax.crypto.BadPaddingException
dup
ldc "bad record"
invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
astore 3
20: StackMap locals: int int
StackMap stack:
iconst_5
iload 5
iadd
iload 4
isub
istore 6
21: iload 6
iconst_5
isub
istore 7
22: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
iload 4
isub
putfield sun.security.ssl.InputRecord.count:I
23: aload 0
invokevirtual sun.security.ssl.InputRecord.contentType:()B
24: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_5
iload 7
aload 1
iconst_0
25: invokestatic sun.security.ssl.InputRecord.checkMacTags:(B[BIILsun/security/ssl/MAC;Z)Z
26: ifeq 29
27: aload 3
ifnonnull 29
28: new javax.crypto.BadPaddingException
dup
ldc "bad record MAC"
invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
astore 3
29: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.security.ssl.CipherBox.isCBCMode:()Z
ifeq 37
30: aload 1
iload 5
iload 7
31: invokestatic sun.security.ssl.InputRecord.calculateRemainingLen:(Lsun/security/ssl/MAC;II)I
istore 8
start local 8 32: iload 8
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
arraylength
if_icmple 36
33: new java.lang.RuntimeException
dup
34: ldc "Internal buffer capacity error"
35: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.security.ssl.InputRecord.contentType:()B
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
iload 8
aload 1
iconst_1
invokestatic sun.security.ssl.InputRecord.checkMacTags:(B[BIILsun/security/ssl/MAC;Z)Z
pop
end local 8 end local 7 end local 6 37: StackMap locals:
StackMap stack:
aload 3
ifnull 39
38: aload 3
athrow
39: StackMap locals:
StackMap stack:
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 40 0 this Lsun/security/ssl/InputRecord;
0 40 1 signer Lsun/security/ssl/MAC;
0 40 2 box Lsun/security/ssl/CipherBox;
1 40 3 reservedBPE Ljavax/crypto/BadPaddingException;
2 40 4 tagLen I
3 40 5 cipheredLength I
13 14 6 bpe Ljavax/crypto/BadPaddingException;
16 37 6 macOffset I
17 37 7 contentLen I
32 37 8 remainingLen I
Exception table:
from to target type
8 11 12 Class javax.crypto.BadPaddingException
Exceptions:
throws javax.crypto.BadPaddingException
MethodParameters:
Name Flags
signer
box
static boolean checkMacTags(byte, byte[], int, int, sun.security.ssl.MAC, boolean);
descriptor: (B[BIILsun/security/ssl/MAC;Z)Z
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual sun.security.ssl.MAC.MAClen:()I
istore 6
start local 6 1: aload 4
2: iload 0
aload 1
iload 2
iload 3
iload 5
3: invokevirtual sun.security.ssl.MAC.compute:(B[BIIZ)[B
astore 7
start local 7 4: aload 7
ifnull 5
iload 6
aload 7
arraylength
if_icmpeq 6
5: StackMap locals: int byte[]
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Internal MAC error"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
iadd
aload 7
invokestatic sun.security.ssl.InputRecord.compareMacTags:([BI[B)[I
astore 8
start local 8 7: aload 8
iconst_0
iaload
ifeq 8
iconst_1
ireturn
StackMap locals: int[]
StackMap stack:
8: iconst_0
ireturn
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 9 0 contentType B
0 9 1 buffer [B
0 9 2 offset I
0 9 3 contentLen I
0 9 4 signer Lsun/security/ssl/MAC;
0 9 5 isSimulated Z
1 9 6 tagLen I
4 9 7 hash [B
7 9 8 results [I
MethodParameters:
Name Flags
contentType
buffer
offset
contentLen
signer
isSimulated
private static int[] compareMacTags(byte[], int, byte[]);
descriptor: ([BI[B)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_2
newarray 10
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 8
3: StackMap locals: int[] int
StackMap stack:
aload 0
iload 1
iload 4
iadd
baload
aload 2
iload 4
baload
if_icmpeq 6
4: aload 3
iconst_0
dup2
iaload
iconst_1
iadd
iastore
5: goto 7
6: StackMap locals:
StackMap stack:
aload 3
iconst_1
dup2
iaload
iconst_1
iadd
iastore
7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 2
arraylength
if_icmplt 3
end local 4 9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 buffer [B
0 10 1 offset I
0 10 2 tag [B
1 10 3 results [I
2 9 4 i I
MethodParameters:
Name Flags
buffer
offset
tag
static int calculateRemainingLen(sun.security.ssl.MAC, int, int);
descriptor: (Lsun/security/ssl/MAC;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.security.ssl.MAC.hashBlockLen:()I
istore 3
start local 3 1: aload 0
invokevirtual sun.security.ssl.MAC.minimalPaddingLen:()I
istore 4
start local 4 2: iload 1
bipush 13
iload 3
iload 4
isub
isub
iadd
istore 1
3: iload 2
bipush 13
iload 3
iload 4
isub
isub
iadd
istore 2
4: iconst_1
iload 1
i2d
dconst_1
iload 3
i2d
dmul
ddiv
invokestatic java.lang.Math.ceil:(D)D
5: iload 2
i2d
dconst_1
iload 3
i2d
dmul
ddiv
invokestatic java.lang.Math.ceil:(D)D
dsub
d2i
aload 0
invokevirtual sun.security.ssl.MAC.hashBlockLen:()I
imul
6: iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 signer Lsun/security/ssl/MAC;
0 7 1 fullLen I
0 7 2 usedLen I
1 7 3 blockLen I
2 7 4 minimalPaddingLen I
MethodParameters:
Name Flags
signer
fullLen
usedLen
void ignore(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifle 3
1: aload 0
dup
getfield sun.security.ssl.InputRecord.pos:I
iload 1
iadd
putfield sun.security.ssl.InputRecord.pos:I
2: aload 0
aload 0
getfield sun.security.ssl.InputRecord.pos:I
putfield sun.security.ssl.InputRecord.lastHashed:I
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/InputRecord;
0 4 1 bytes I
MethodParameters:
Name Flags
bytes
void doHashes();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.InputRecord.pos:I
aload 0
getfield sun.security.ssl.InputRecord.lastHashed:I
isub
istore 1
start local 1 1: iload 1
ifle 4
2: aload 0
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
getfield sun.security.ssl.InputRecord.lastHashed:I
iload 1
invokevirtual sun.security.ssl.InputRecord.hashInternal:([BII)V
3: aload 0
aload 0
getfield sun.security.ssl.InputRecord.pos:I
putfield sun.security.ssl.InputRecord.lastHashed:I
4: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/InputRecord;
1 5 1 len I
private void hashInternal(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic sun.security.ssl.InputRecord.debug:Lsun/security/ssl/Debug;
ifnull 10
ldc "data"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 10
1: new sun.misc.HexDumpEncoder
dup
invokespecial sun.misc.HexDumpEncoder.<init>:()V
astore 4
start local 4 2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[read] MD5 and SHA1 hashes: len = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: iload 3
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: aload 4
new java.io.ByteArrayInputStream
dup
aload 1
iload 2
iload 3
invokespecial java.io.ByteArrayInputStream.<init>:([BII)V
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
7: invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
end local 4 8: goto 10
StackMap locals:
StackMap stack: java.io.IOException
9: pop
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
aload 1
iload 2
iload 3
invokevirtual sun.security.ssl.HandshakeHash.update:([BII)V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/InputRecord;
0 12 1 databuf [B
0 12 2 offset I
0 12 3 len I
2 8 4 hd Lsun/misc/HexDumpEncoder;
Exception table:
from to target type
1 8 9 Class java.io.IOException
MethodParameters:
Name Flags
databuf
offset
len
void queueHandshake(sun.security.ssl.InputRecord);
descriptor: (Lsun/security/ssl/InputRecord;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.InputRecord.doHashes:()V
1: aload 0
getfield sun.security.ssl.InputRecord.pos:I
iconst_5
if_icmple 8
2: aload 0
getfield sun.security.ssl.InputRecord.count:I
aload 0
getfield sun.security.ssl.InputRecord.pos:I
isub
istore 2
start local 2 3: iload 2
ifeq 5
4: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
getfield sun.security.ssl.InputRecord.pos:I
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_5
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: StackMap locals: int
StackMap stack:
aload 0
iconst_5
putfield sun.security.ssl.InputRecord.pos:I
6: aload 0
aload 0
getfield sun.security.ssl.InputRecord.pos:I
putfield sun.security.ssl.InputRecord.lastHashed:I
7: aload 0
iconst_5
iload 2
iadd
putfield sun.security.ssl.InputRecord.count:I
end local 2 8: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.InputRecord.available:()I
aload 0
getfield sun.security.ssl.InputRecord.count:I
iadd
istore 2
start local 2 9: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
arraylength
iload 2
if_icmpge 13
10: iload 2
newarray 8
astore 3
start local 3 11: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
aload 3
iconst_0
aload 0
getfield sun.security.ssl.InputRecord.count:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
aload 3
putfield sun.security.ssl.InputRecord.buf:[B
end local 3 13: StackMap locals: int
StackMap stack:
aload 1
getfield sun.security.ssl.InputRecord.buf:[B
aload 1
getfield sun.security.ssl.InputRecord.pos:I
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
getfield sun.security.ssl.InputRecord.count:I
iload 2
aload 0
getfield sun.security.ssl.InputRecord.count:I
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: aload 0
iload 2
putfield sun.security.ssl.InputRecord.count:I
15: aload 1
getfield sun.security.ssl.InputRecord.lastHashed:I
aload 1
getfield sun.security.ssl.InputRecord.pos:I
isub
istore 2
16: aload 0
getfield sun.security.ssl.InputRecord.pos:I
iconst_5
if_icmpne 19
17: aload 0
dup
getfield sun.security.ssl.InputRecord.lastHashed:I
iload 2
iadd
putfield sun.security.ssl.InputRecord.lastHashed:I
18: goto 20
19: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
ldc "?? confused buffer hashing ??"
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 1
aload 1
getfield sun.security.ssl.InputRecord.count:I
putfield sun.security.ssl.InputRecord.pos:I
21: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/ssl/InputRecord;
0 22 1 r Lsun/security/ssl/InputRecord;
3 8 2 len I
9 22 2 len I
11 13 3 newbuf [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
r
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.security.ssl.InputRecord.appDataValid:Z
1: aload 0
iconst_1
putfield sun.security.ssl.InputRecord.isClosed:Z
2: aload 0
iconst_0
putfield sun.security.ssl.InputRecord.mark:I
3: aload 0
iconst_0
putfield sun.security.ssl.InputRecord.pos:I
4: aload 0
iconst_0
putfield sun.security.ssl.InputRecord.count:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/InputRecord;
private int readFully(java.io.InputStream, byte[], int, int);
descriptor: (Ljava/io/InputStream;[BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: goto 16
2: StackMap locals: int
StackMap stack:
aload 1
aload 2
iload 3
iload 5
iadd
iload 4
iload 5
isub
invokevirtual java.io.InputStream.read:([BII)I
istore 6
start local 6 3: iload 6
ifge 5
4: iload 6
ireturn
5: StackMap locals: int
StackMap stack:
getstatic sun.security.ssl.InputRecord.debug:Lsun/security/ssl/Debug;
ifnull 14
ldc "packet"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 14
6: new sun.misc.HexDumpEncoder
dup
invokespecial sun.misc.HexDumpEncoder.<init>:()V
astore 7
start local 7 7: aload 2
iload 3
iload 5
iadd
iload 6
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 8
start local 8 8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[Raw read]: length = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 8
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: aload 7
aload 8
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:(Ljava/nio/ByteBuffer;Ljava/io/OutputStream;)V
end local 8 end local 7 12: goto 14
StackMap locals:
StackMap stack: java.io.IOException
13: pop
14: StackMap locals:
StackMap stack:
iload 5
iload 6
iadd
istore 5
15: aload 0
dup
getfield sun.security.ssl.InputRecord.exlen:I
iload 6
iadd
putfield sun.security.ssl.InputRecord.exlen:I
end local 6 16: StackMap locals:
StackMap stack:
iload 5
iload 4
if_icmplt 2
17: iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/ssl/InputRecord;
0 18 1 s Ljava/io/InputStream;
0 18 2 b [B
0 18 3 off I
0 18 4 len I
1 18 5 n I
3 16 6 readLen I
7 12 7 hd Lsun/misc/HexDumpEncoder;
8 12 8 bb Ljava/nio/ByteBuffer;
Exception table:
from to target type
6 12 13 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
b
off
len
void read(java.io.InputStream, java.io.OutputStream);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.InputRecord.isClosed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
iconst_5
if_icmpge 9
3: aload 0
aload 1
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
iconst_5
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
isub
invokevirtual sun.security.ssl.InputRecord.readFully:(Ljava/io/InputStream;[BII)I
istore 3
start local 3 4: iload 3
ifge 6
5: new java.io.EOFException
dup
ldc "SSL peer shut down incorrectly"
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int
StackMap stack:
aload 0
iconst_5
putfield sun.security.ssl.InputRecord.pos:I
7: aload 0
iconst_5
putfield sun.security.ssl.InputRecord.count:I
8: aload 0
aload 0
getfield sun.security.ssl.InputRecord.pos:I
putfield sun.security.ssl.InputRecord.lastHashed:I
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.formatVerified:Z
ifne 16
10: aload 0
iconst_1
putfield sun.security.ssl.InputRecord.formatVerified:Z
11: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
baload
bipush 22
if_icmpeq 14
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
baload
bipush 21
if_icmpeq 14
12: aload 0
aload 1
aload 2
invokevirtual sun.security.ssl.InputRecord.handleUnknownRecord:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual sun.security.ssl.InputRecord.readV3Record:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual sun.security.ssl.InputRecord.readV3Record:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/ssl/InputRecord;
0 18 1 s Ljava/io/InputStream;
0 18 2 o Ljava/io/OutputStream;
4 9 3 really I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
o
private void readV3Record(java.io.InputStream, java.io.OutputStream);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_1
baload
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_2
baload
invokestatic sun.security.ssl.ProtocolVersion.valueOf:(II)Lsun/security/ssl/ProtocolVersion;
astore 3
start local 3 1: aload 3
getfield sun.security.ssl.ProtocolVersion.v:I
getstatic sun.security.ssl.ProtocolVersion.MIN:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmplt 3
2: aload 3
getfield sun.security.ssl.ProtocolVersion.major:B
getstatic sun.security.ssl.ProtocolVersion.MAX:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.major:B
if_icmple 6
3: StackMap locals: sun.security.ssl.ProtocolVersion
StackMap stack:
new javax.net.ssl.SSLException
dup
4: new java.lang.StringBuilder
dup
ldc "Unsupported record version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_3
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_4
baload
sipush 255
iand
iadd
istore 4
start local 4 7: iload 4
iflt 8
iload 4
ldc 33300
if_icmple 12
8: StackMap locals: int
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
new java.lang.StringBuilder
dup
ldc "Bad InputRecord size, count = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
10: ldc ", buf.length = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
arraylength
iconst_5
isub
if_icmple 16
13: iload 4
iconst_5
iadd
newarray 8
astore 5
start local 5 14: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
aload 5
iconst_0
iconst_5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 0
aload 5
putfield sun.security.ssl.InputRecord.buf:[B
end local 5 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
iload 4
iconst_5
iadd
if_icmpge 22
17: aload 0
18: aload 1
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
iload 4
iconst_5
iadd
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
isub
19: invokevirtual sun.security.ssl.InputRecord.readFully:(Ljava/io/InputStream;[BII)I
istore 5
start local 5 20: iload 5
ifge 22
21: new javax.net.ssl.SSLException
dup
ldc "SSL peer shut down incorrectly"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
end local 5 22: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
iload 4
iconst_5
iadd
if_icmplt 25
23: aload 0
iload 4
iconst_5
iadd
putfield sun.security.ssl.InputRecord.count:I
24: aload 0
iconst_0
putfield sun.security.ssl.InputRecord.exlen:I
25: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.InputRecord.debug:Lsun/security/ssl/Debug;
ifnull 34
ldc "record"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 34
26: aload 0
getfield sun.security.ssl.InputRecord.count:I
iflt 27
aload 0
getfield sun.security.ssl.InputRecord.count:I
sipush 16916
if_icmple 30
27: StackMap locals:
StackMap stack:
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
28: ldc ", Bad InputRecord size"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", count = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.ssl.InputRecord.count:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
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
31: ldc ", READ: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: aload 0
invokevirtual sun.security.ssl.InputRecord.contentType:()B
invokestatic sun.security.ssl.InputRecord.contentName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", length = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual sun.security.ssl.InputRecord.available:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
34: 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 35 0 this Lsun/security/ssl/InputRecord;
0 35 1 s Ljava/io/InputStream;
0 35 2 o Ljava/io/OutputStream;
1 35 3 recordVersion Lsun/security/ssl/ProtocolVersion;
7 35 4 contentLen I
14 16 5 newbuf [B
20 22 5 really I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
o
private void handleUnknownRecord(java.io.InputStream, java.io.OutputStream);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
baload
sipush 128
iand
ifeq 38
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_2
baload
iconst_1
if_icmpne 38
1: aload 0
getfield sun.security.ssl.InputRecord.helloVersion:Lsun/security/ssl/ProtocolVersion;
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
if_acmpeq 3
2: new javax.net.ssl.SSLHandshakeException
dup
ldc "SSLv2Hello is disabled"
invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_3
baload
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_4
baload
invokestatic sun.security.ssl.ProtocolVersion.valueOf:(II)Lsun/security/ssl/ProtocolVersion;
4: astore 3
start local 3 5: aload 3
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
if_acmpne 10
6: aload 0
aload 2
getstatic sun.security.ssl.InputRecord.v2NoCipher:[B
iconst_0
getstatic sun.security.ssl.InputRecord.v2NoCipher:[B
arraylength
invokevirtual sun.security.ssl.InputRecord.writeBuffer:(Ljava/io/OutputStream;[BII)V
7: goto 9
StackMap locals: sun.security.ssl.InputRecord java.io.InputStream java.io.OutputStream sun.security.ssl.ProtocolVersion
StackMap stack: java.lang.Exception
8: pop
9: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "Unsupported SSL v2.0 ClientHello"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
baload
bipush 127
iand
bipush 8
ishl
11: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_1
baload
sipush 255
iand
12: iadd
13: iconst_3
14: isub
istore 4
start local 4 15: aload 0
getfield sun.security.ssl.InputRecord.v2Buf:[B
ifnonnull 17
16: aload 0
iload 4
newarray 8
putfield sun.security.ssl.InputRecord.v2Buf:[B
17: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
iload 4
iconst_5
iadd
if_icmpge 24
18: aload 0
19: aload 1
aload 0
getfield sun.security.ssl.InputRecord.v2Buf:[B
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
iconst_5
isub
iload 4
iconst_5
iadd
aload 0
getfield sun.security.ssl.InputRecord.exlen:I
isub
20: invokevirtual sun.security.ssl.InputRecord.readFully:(Ljava/io/InputStream;[BII)I
istore 5
start local 5 21: iload 5
ifge 23
22: new java.io.EOFException
dup
ldc "SSL peer shut down incorrectly"
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: int
StackMap stack:
aload 0
iconst_0
putfield sun.security.ssl.InputRecord.exlen:I
end local 5 24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_2
iconst_3
invokevirtual sun.security.ssl.InputRecord.hashInternal:([BII)V
25: aload 0
aload 0
getfield sun.security.ssl.InputRecord.v2Buf:[B
iconst_0
iload 4
invokevirtual sun.security.ssl.InputRecord.hashInternal:([BII)V
26: aload 0
aload 0
getfield sun.security.ssl.InputRecord.v2Buf:[B
invokevirtual sun.security.ssl.InputRecord.V2toV3ClientHello:([B)V
27: aload 0
aconst_null
putfield sun.security.ssl.InputRecord.v2Buf:[B
28: aload 0
aload 0
getfield sun.security.ssl.InputRecord.count:I
putfield sun.security.ssl.InputRecord.lastHashed:I
29: getstatic sun.security.ssl.InputRecord.debug:Lsun/security/ssl/Debug;
ifnull 37
ldc "record"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 37
30: getstatic java.lang.System.out:Ljava/io/PrintStream;
31: 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 ", READ: SSL v2, contentType = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: aload 0
invokevirtual sun.security.ssl.InputRecord.contentType:()B
invokestatic sun.security.ssl.InputRecord.contentName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
34: ldc ", translated length = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual sun.security.ssl.InputRecord.available:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
35: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
37: StackMap locals:
StackMap stack:
return
end local 4 end local 3 38: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
baload
sipush 128
iand
ifeq 42
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_2
baload
iconst_4
if_icmpne 42
39: new javax.net.ssl.SSLException
dup
40: ldc "SSL V2.0 servers are not supported."
41: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 43: goto 49
44: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iload 3
baload
getstatic sun.security.ssl.InputRecord.v2NoCipher:[B
iload 3
baload
if_icmpeq 48
45: new javax.net.ssl.SSLException
dup
46: ldc "Unrecognized SSL message, plaintext connection?"
47: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
48: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
49: iload 3
getstatic sun.security.ssl.InputRecord.v2NoCipher:[B
arraylength
if_icmplt 44
end local 3 50: new javax.net.ssl.SSLException
dup
ldc "SSL V2.0 servers are not supported."
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lsun/security/ssl/InputRecord;
0 51 1 s Ljava/io/InputStream;
0 51 2 o Ljava/io/OutputStream;
5 38 3 recordVersion Lsun/security/ssl/ProtocolVersion;
15 38 4 len I
21 24 5 really I
43 50 3 i I
Exception table:
from to target type
6 7 8 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
o
void writeBuffer(java.io.OutputStream, byte[], int, int);
descriptor: (Ljava/io/OutputStream;[BII)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
iconst_0
iload 4
invokevirtual java.io.OutputStream.write:([BII)V
1: aload 1
invokevirtual java.io.OutputStream.flush:()V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/InputRecord;
0 3 1 s Ljava/io/OutputStream;
0 3 2 buf [B
0 3 3 off I
0 3 4 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
buf
off
len
private void V2toV3ClientHello(byte[]);
descriptor: ([B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_0
bipush 22
bastore
1: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_1
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_3
baload
bastore
2: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_2
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_4
baload
bastore
3: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_5
iconst_1
bastore
4: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
bipush 9
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_1
baload
bastore
5: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
bipush 10
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_2
baload
bastore
6: aload 0
bipush 11
putfield sun.security.ssl.InputRecord.count:I
7: aload 1
iconst_0
baload
sipush 255
iand
bipush 8
ishl
aload 1
iconst_1
baload
sipush 255
iand
iadd
istore 3
start local 3 8: aload 1
iconst_2
baload
sipush 255
iand
bipush 8
ishl
aload 1
iconst_3
baload
sipush 255
iand
iadd
istore 4
start local 4 9: aload 1
iconst_4
baload
sipush 255
iand
bipush 8
ishl
aload 1
iconst_5
baload
sipush 255
iand
iadd
istore 5
start local 5 10: bipush 6
iload 3
iadd
iload 4
iadd
istore 6
start local 6 11: iload 5
bipush 32
if_icmpge 20
12: iconst_0
istore 2
start local 2 13: goto 16
14: StackMap locals: sun.security.ssl.InputRecord byte[] int int int int int
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
dup_x1
iconst_1
iadd
putfield sun.security.ssl.InputRecord.count:I
iconst_0
bastore
15: iinc 2 1
StackMap locals:
StackMap stack:
16: iload 2
bipush 32
iload 5
isub
if_icmplt 14
17: aload 1
iload 6
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
getfield sun.security.ssl.InputRecord.count:I
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
iload 5
iadd
putfield sun.security.ssl.InputRecord.count:I
19: goto 24
end local 2 20: StackMap locals: sun.security.ssl.InputRecord byte[] top int int int int
StackMap stack:
aload 1
iload 6
iload 5
bipush 32
isub
iadd
21: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
getfield sun.security.ssl.InputRecord.count:I
bipush 32
22: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
bipush 32
iadd
putfield sun.security.ssl.InputRecord.count:I
24: StackMap locals:
StackMap stack:
iload 6
iload 4
isub
istore 6
25: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
dup_x1
iconst_1
iadd
putfield sun.security.ssl.InputRecord.count:I
iload 4
i2b
bastore
26: aload 1
iload 6
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
getfield sun.security.ssl.InputRecord.count:I
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
27: aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
iload 4
iadd
putfield sun.security.ssl.InputRecord.count:I
28: iload 6
iload 3
isub
istore 6
29: aload 0
getfield sun.security.ssl.InputRecord.count:I
iconst_2
iadd
istore 7
start local 7 30: iconst_0
istore 2
start local 2 31: goto 37
32: StackMap locals: sun.security.ssl.InputRecord byte[] int int int int int int
StackMap stack:
aload 1
iload 6
iload 2
iadd
baload
ifeq 34
33: goto 36
34: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iload 7
iinc 7 1
aload 1
iload 6
iload 2
iadd
iconst_1
iadd
baload
bastore
35: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iload 7
iinc 7 1
aload 1
iload 6
iload 2
iadd
iconst_2
iadd
baload
bastore
36: StackMap locals:
StackMap stack:
iinc 2 3
StackMap locals:
StackMap stack:
37: iload 2
iload 3
if_icmplt 32
38: iload 7
aload 0
getfield sun.security.ssl.InputRecord.count:I
iconst_2
iadd
isub
istore 7
39: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
dup_x1
iconst_1
iadd
putfield sun.security.ssl.InputRecord.count:I
iload 7
bipush 8
iushr
i2b
bastore
40: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
dup_x1
iconst_1
iadd
putfield sun.security.ssl.InputRecord.count:I
iload 7
i2b
bastore
41: aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
iload 7
iadd
putfield sun.security.ssl.InputRecord.count:I
42: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
dup_x1
iconst_1
iadd
putfield sun.security.ssl.InputRecord.count:I
iconst_1
bastore
43: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
aload 0
dup
getfield sun.security.ssl.InputRecord.count:I
dup_x1
iconst_1
iadd
putfield sun.security.ssl.InputRecord.count:I
iconst_0
bastore
44: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_3
aload 0
getfield sun.security.ssl.InputRecord.count:I
iconst_5
isub
i2b
bastore
45: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
iconst_4
aload 0
getfield sun.security.ssl.InputRecord.count:I
iconst_5
isub
bipush 8
iushr
i2b
bastore
46: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
bipush 6
iconst_0
bastore
47: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
bipush 7
aload 0
getfield sun.security.ssl.InputRecord.count:I
iconst_5
isub
iconst_4
isub
bipush 8
iushr
i2b
bastore
48: aload 0
getfield sun.security.ssl.InputRecord.buf:[B
bipush 8
aload 0
getfield sun.security.ssl.InputRecord.count:I
iconst_5
isub
iconst_4
isub
i2b
bastore
49: aload 0
iconst_5
putfield sun.security.ssl.InputRecord.pos:I
50: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lsun/security/ssl/InputRecord;
0 51 1 v2Msg [B
13 20 2 i I
31 51 2 i I
8 51 3 cipherSpecLen I
9 51 4 sessionIdLen I
10 51 5 nonceLen I
11 51 6 offset I
30 51 7 j I
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
v2Msg
static java.lang.String contentName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 20 - 23
20: 1
21: 2
22: 3
23: 4
default: 5
}
1: StackMap locals:
StackMap stack:
ldc "Change Cipher Spec"
areturn
2: StackMap locals:
StackMap stack:
ldc "Alert"
areturn
3: StackMap locals:
StackMap stack:
ldc "Handshake"
areturn
4: StackMap locals:
StackMap stack:
ldc "Application Data"
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "contentType = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 contentType I
MethodParameters:
Name Flags
contentType
}
SourceFile: "InputRecord.java"