final class sun.security.ssl.EngineInputRecord extends sun.security.ssl.InputRecord
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.EngineInputRecord
super_class: sun.security.ssl.InputRecord
{
private sun.security.ssl.SSLEngineImpl engine;
descriptor: Lsun/security/ssl/SSLEngineImpl;
flags: (0x0002) ACC_PRIVATE
private static java.nio.ByteBuffer tmpBB;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private boolean internalData;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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=1, locals=0, args_size=0
0: ldc Lsun/security/ssl/EngineInputRecord;
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.EngineInputRecord.$assertionsDisabled:Z
3: iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putstatic sun.security.ssl.EngineInputRecord.tmpBB:Ljava/nio/ByteBuffer;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.security.ssl.SSLEngineImpl);
descriptor: (Lsun/security/ssl/SSLEngineImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.ssl.InputRecord.<init>:()V
1: aload 0
aload 1
putfield sun.security.ssl.EngineInputRecord.engine:Lsun/security/ssl/SSLEngineImpl;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/EngineInputRecord;
0 3 1 engine Lsun/security/ssl/SSLEngineImpl;
MethodParameters:
Name Flags
engine
byte contentType();
descriptor: ()B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.EngineInputRecord.internalData:Z
ifeq 2
1: aload 0
invokespecial sun.security.ssl.InputRecord.contentType:()B
ireturn
2: StackMap locals:
StackMap stack:
bipush 23
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/EngineInputRecord;
int bytesInCompletePacket(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0000)
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_5
if_icmpge 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 3: aload 1
iload 2
invokevirtual java.nio.ByteBuffer.get:(I)B
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: aload 0
getfield sun.security.ssl.EngineInputRecord.formatVerified:Z
ifne 8
6: iload 3
bipush 22
if_icmpeq 8
7: iload 3
bipush 21
if_icmpne 22
8: StackMap locals: int int int
StackMap stack:
aload 1
iload 2
iconst_1
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
aload 1
iload 2
iconst_2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
invokestatic sun.security.ssl.ProtocolVersion.valueOf:(II)Lsun/security/ssl/ProtocolVersion;
9: astore 5
start local 5 10: aload 5
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 12
11: aload 5
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 15
12: StackMap locals: sun.security.ssl.ProtocolVersion
StackMap stack:
new javax.net.ssl.SSLException
dup
13: new java.lang.StringBuilder
dup
ldc "Unsupported record version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.EngineInputRecord.formatVerified:Z
16: aload 1
iload 2
iconst_3
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
sipush 255
iand
bipush 8
ishl
17: aload 1
iload 2
iconst_4
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
sipush 255
iand
18: iadd
19: iconst_5
20: iadd
istore 4
end local 5 21: goto 46
22: StackMap locals:
StackMap stack:
iload 3
sipush 128
iand
ifeq 23
iconst_1
goto 24
StackMap locals:
StackMap stack:
23: iconst_0
StackMap locals:
StackMap stack: int
24: istore 5
start local 5 25: iload 5
ifeq 43
26: aload 1
iload 2
iconst_2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
iconst_1
if_icmpeq 27
aload 1
iload 2
iconst_2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
iconst_4
if_icmpne 43
27: StackMap locals: int
StackMap stack:
aload 1
iload 2
iconst_3
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
aload 1
iload 2
iconst_4
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
invokestatic sun.security.ssl.ProtocolVersion.valueOf:(II)Lsun/security/ssl/ProtocolVersion;
28: astore 6
start local 6 29: aload 6
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 31
30: aload 6
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 35
31: StackMap locals: sun.security.ssl.ProtocolVersion
StackMap stack:
aload 6
getfield sun.security.ssl.ProtocolVersion.v:I
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpeq 35
32: new javax.net.ssl.SSLException
dup
33: new java.lang.StringBuilder
dup
ldc "Unsupported record version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
iload 5
ifeq 36
bipush 127
goto 37
StackMap locals:
StackMap stack:
36: bipush 63
StackMap locals:
StackMap stack: int
37: istore 7
start local 7 38: iload 3
iload 7
iand
bipush 8
ishl
aload 1
iload 2
iconst_1
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
sipush 255
iand
iadd
39: iload 5
ifeq 40
iconst_2
goto 41
StackMap locals: sun.security.ssl.EngineInputRecord java.nio.ByteBuffer int int int int sun.security.ssl.ProtocolVersion int
StackMap stack: int
40: iconst_3
41: StackMap locals: sun.security.ssl.EngineInputRecord java.nio.ByteBuffer int int int int sun.security.ssl.ProtocolVersion int
StackMap stack: int int
iadd
istore 4
end local 7 end local 6 42: goto 46
43: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
44: ldc "Unrecognized SSL message, plaintext connection?"
45: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
end local 5 46: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lsun/security/ssl/EngineInputRecord;
0 47 1 buf Ljava/nio/ByteBuffer;
3 47 2 pos I
4 47 3 byteZero B
5 47 4 len I
10 21 5 recordVersion Lsun/security/ssl/ProtocolVersion;
25 46 5 isShort Z
29 42 6 recordVersion Lsun/security/ssl/ProtocolVersion;
38 42 7 mask I
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
buf
java.nio.ByteBuffer decrypt(sun.security.ssl.MAC, sun.security.ssl.CipherBox, java.nio.ByteBuffer);
descriptor: (Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ssl.EngineInputRecord.internalData:Z
ifeq 3
1: aload 0
aload 1
aload 2
invokevirtual sun.security.ssl.EngineInputRecord.decrypt:(Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;)V
2: getstatic sun.security.ssl.EngineInputRecord.tmpBB:Ljava/nio/ByteBuffer;
areturn
3: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 4: aload 1
invokevirtual sun.security.ssl.MAC.MAClen:()I
istore 5
start local 5 5: aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 6
start local 6 6: aload 2
invokevirtual sun.security.ssl.CipherBox.isNullCipher:()Z
ifne 20
7: aload 2
iload 5
iload 6
invokevirtual sun.security.ssl.CipherBox.sanityCheck:(II)Z
ifne 11
8: new javax.crypto.BadPaddingException
dup
9: ldc "ciphertext sanity check failed"
10: invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: javax.crypto.BadPaddingException int int
StackMap stack:
aload 2
aload 3
iload 5
invokevirtual sun.security.ssl.CipherBox.decrypt:(Ljava/nio/ByteBuffer;I)I
pop
12: goto 19
StackMap locals:
StackMap stack: javax.crypto.BadPaddingException
13: astore 7
start local 7 14: aload 7
astore 4
end local 7 15: aload 3
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
goto 20
16: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
17: aload 3
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
18: aload 8
athrow
19: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
20: StackMap locals:
StackMap stack:
iload 5
ifeq 39
21: aload 3
invokevirtual java.nio.ByteBuffer.limit:()I
iload 5
isub
istore 7
start local 7 22: aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 5
if_icmpge 27
23: aload 4
ifnonnull 25
24: new javax.crypto.BadPaddingException
dup
ldc "bad record"
invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
astore 4
25: StackMap locals: int
StackMap stack:
iload 6
iload 5
isub
istore 7
26: aload 3
iload 6
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
27: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
aload 3
aload 1
iconst_0
invokestatic sun.security.ssl.EngineInputRecord.checkMacTags:(BLjava/nio/ByteBuffer;Lsun/security/ssl/MAC;Z)Z
ifeq 30
28: aload 4
ifnonnull 30
29: new javax.crypto.BadPaddingException
dup
ldc "bad record MAC"
invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
astore 4
30: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.security.ssl.CipherBox.isCBCMode:()Z
ifeq 38
31: aload 1
iload 6
iload 7
32: invokestatic sun.security.ssl.EngineInputRecord.calculateRemainingLen:(Lsun/security/ssl/MAC;II)I
istore 8
start local 8 33: iload 8
aload 0
getfield sun.security.ssl.EngineInputRecord.buf:[B
arraylength
if_icmple 37
34: new java.lang.RuntimeException
dup
35: ldc "Internal buffer capacity error"
36: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
aload 0
getfield sun.security.ssl.EngineInputRecord.buf:[B
iconst_0
iload 8
aload 1
iconst_1
invokestatic sun.security.ssl.EngineInputRecord.checkMacTags:(B[BIILsun/security/ssl/MAC;Z)Z
pop
end local 8 38: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
end local 7 39: StackMap locals:
StackMap stack:
aload 4
ifnull 41
40: aload 4
athrow
41: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
areturn
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 42 0 this Lsun/security/ssl/EngineInputRecord;
0 42 1 signer Lsun/security/ssl/MAC;
0 42 2 box Lsun/security/ssl/CipherBox;
0 42 3 bb Ljava/nio/ByteBuffer;
4 42 4 reservedBPE Ljavax/crypto/BadPaddingException;
5 42 5 tagLen I
6 42 6 cipheredLength I
14 15 7 bpe Ljavax/crypto/BadPaddingException;
22 39 7 macOffset I
33 38 8 remainingLen I
Exception table:
from to target type
11 12 13 Class javax.crypto.BadPaddingException
11 15 16 any
Exceptions:
throws javax.crypto.BadPaddingException
MethodParameters:
Name Flags
signer
box
bb
private static boolean checkMacTags(byte, java.nio.ByteBuffer, sun.security.ssl.MAC, boolean);
descriptor: (BLjava/nio/ByteBuffer;Lsun/security/ssl/MAC;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual sun.security.ssl.MAC.MAClen:()I
istore 4
start local 4 1: aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 5
start local 5 2: iload 5
iload 4
isub
istore 6
start local 6 3: aload 1
iload 6
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
4: aload 2
iload 0
aload 1
iload 3
invokevirtual sun.security.ssl.MAC.compute:(BLjava/nio/ByteBuffer;Z)[B
astore 7
start local 7 5: aload 7
ifnull 6
iload 4
aload 7
arraylength
if_icmpeq 7
6: StackMap locals: int java.nio.ByteBuffer sun.security.ssl.MAC int int int int byte[]
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Internal MAC error"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
iload 6
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
8: aload 1
iload 5
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
9: aload 1
aload 7
invokestatic sun.security.ssl.EngineInputRecord.compareMacTags:(Ljava/nio/ByteBuffer;[B)[I
astore 8
start local 8 10: aload 8
iconst_0
iaload
ifeq 11
iconst_1
goto 12
StackMap locals: int[]
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 10
13: aload 1
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
14: aload 1
iload 6
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
15: iload 10
ireturn
end local 8 16: StackMap locals: int java.nio.ByteBuffer sun.security.ssl.MAC int int int int byte[]
StackMap stack: java.lang.Throwable
astore 9
17: aload 1
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
18: aload 1
iload 6
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
19: aload 9
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 contentType B
0 20 1 bb Ljava/nio/ByteBuffer;
0 20 2 signer Lsun/security/ssl/MAC;
0 20 3 isSimulated Z
1 20 4 tagLen I
2 20 5 lim I
3 20 6 macData I
5 20 7 hash [B
10 16 8 results [I
Exception table:
from to target type
9 13 16 any
MethodParameters:
Name Flags
contentType
bb
signer
isSimulated
private static int[] compareMacTags(java.nio.ByteBuffer, byte[]);
descriptor: (Ljava/nio/ByteBuffer;[B)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_2
newarray 10
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 8
3: StackMap locals: int[] int
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
aload 1
iload 3
baload
if_icmpeq 6
4: aload 2
iconst_0
dup2
iaload
iconst_1
iadd
iastore
5: goto 7
6: StackMap locals:
StackMap stack:
aload 2
iconst_1
dup2
iaload
iconst_1
iadd
iastore
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 bb Ljava/nio/ByteBuffer;
0 10 1 tag [B
1 10 2 results [I
2 9 3 i I
MethodParameters:
Name Flags
bb
tag
void writeBuffer(java.io.OutputStream, byte[], int, int);
descriptor: (Ljava/io/OutputStream;[BII)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
aload 2
iconst_0
iload 4
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
1: checkcast java.nio.ByteBuffer
astore 5
start local 5 2: aload 0
getfield sun.security.ssl.EngineInputRecord.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
aload 5
invokevirtual sun.security.ssl.EngineWriter.putOutboundDataSync:(Ljava/nio/ByteBuffer;)V
3: 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 4 0 this Lsun/security/ssl/EngineInputRecord;
0 4 1 s Ljava/io/OutputStream;
0 4 2 buf [B
0 4 3 off I
0 4 4 len I
2 4 5 netBB Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
buf
off
len
java.nio.ByteBuffer read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.EngineInputRecord.formatVerified:Z
ifeq 2
1: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.nio.ByteBuffer.get:(I)B
bipush 23
if_icmpeq 5
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.EngineInputRecord.internalData:Z
3: aload 0
new sun.security.ssl.ByteBufferInputStream
dup
aload 1
invokespecial sun.security.ssl.ByteBufferInputStream.<init>:(Ljava/nio/ByteBuffer;)V
aconst_null
invokevirtual sun.security.ssl.EngineInputRecord.read:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
4: getstatic sun.security.ssl.EngineInputRecord.tmpBB:Ljava/nio/ByteBuffer;
areturn
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.ssl.EngineInputRecord.internalData:Z
6: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 7: aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 3
start local 3 8: aload 1
iload 2
iconst_1
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
aload 1
iload 2
iconst_2
iadd
invokevirtual java.nio.ByteBuffer.get:(I)B
9: invokestatic sun.security.ssl.ProtocolVersion.valueOf:(II)Lsun/security/ssl/ProtocolVersion;
astore 4
start local 4 10: aload 4
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 12
11: aload 4
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 15
12: StackMap locals: int int sun.security.ssl.ProtocolVersion
StackMap stack:
new javax.net.ssl.SSLException
dup
13: new java.lang.StringBuilder
dup
ldc "Unsupported record version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.ssl.EngineInputRecord.bytesInCompletePacket:(Ljava/nio/ByteBuffer;)I
istore 5
start local 5 16: getstatic sun.security.ssl.EngineInputRecord.$assertionsDisabled:Z
ifne 17
iload 5
ifgt 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals: int
StackMap stack:
getstatic sun.security.ssl.EngineInputRecord.debug:Lsun/security/ssl/Debug;
ifnull 25
ldc "packet"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 25
18: new sun.misc.HexDumpEncoder
dup
invokespecial sun.misc.HexDumpEncoder.<init>:()V
astore 6
start local 6 19: aload 1
iload 2
iload 5
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
20: aload 1
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 7
start local 7 21: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[Raw read (bb)]: length = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
22: aload 6
aload 7
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:(Ljava/nio/ByteBuffer;Ljava/io/OutputStream;)V
end local 7 end local 6 23: goto 25
StackMap locals:
StackMap stack: java.io.IOException
24: pop
25: StackMap locals:
StackMap stack:
aload 1
iload 2
iconst_5
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
26: aload 1
iload 2
iload 5
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
27: aload 1
invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
astore 6
start local 6 28: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
29: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
30: aload 6
areturn
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 31 0 this Lsun/security/ssl/EngineInputRecord;
0 31 1 srcBB Ljava/nio/ByteBuffer;
7 31 2 srcPos I
8 31 3 srcLim I
10 31 4 recordVersion Lsun/security/ssl/ProtocolVersion;
16 31 5 len I
19 23 6 hd Lsun/misc/HexDumpEncoder;
21 23 7 bb Ljava/nio/ByteBuffer;
28 31 6 bb Ljava/nio/ByteBuffer;
Exception table:
from to target type
18 23 24 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcBB
}
SourceFile: "EngineInputRecord.java"