abstract class io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec<R, C extends io.vertx.mysqlclient.impl.command.AuthenticationCommandBase<R>> extends io.vertx.mysqlclient.impl.codec.CommandCodec<R, C>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec
super_class: io.vertx.mysqlclient.impl.codec.CommandCodec
{
protected static final int NONCE_LENGTH;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 20
protected static final int AUTH_SWITCH_REQUEST_STATUS_FLAG;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 254
protected static final int AUTH_MORE_DATA_STATUS_FLAG;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final int AUTH_PUBLIC_KEY_REQUEST_FLAG;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected static final int FAST_AUTH_STATUS_FLAG;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 3
protected static final int FULL_AUTHENTICATION_STATUS_FLAG;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 4
protected byte[] authPluginData;
descriptor: [B
flags: (0x0004) ACC_PROTECTED
private boolean isWaitingForRsaPublicKey;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: (Lio/vertx/mysqlclient/impl/command/AuthenticationCommandBase;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial io.vertx.mysqlclient.impl.codec.CommandCodec.<init>:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
1: aload 0
iconst_0
putfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.isWaitingForRsaPublicKey:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/mysqlclient/impl/codec/AuthenticationCommandBaseCodec<TR;TC;>;
0 3 1 cmd TC;
Signature: (TC;)V
MethodParameters:
Name Flags
cmd
protected final void handleAuthMoreData(byte[], io.netty.buffer.ByteBuf);
descriptor: ([BLio/netty/buffer/ByteBuf;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_1
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
1: aload 0
getfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.isWaitingForRsaPublicKey:Z
ifeq 5
2: aload 0
aload 2
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.readRestOfPacketString:(Lio/netty/buffer/ByteBuf;Ljava/nio/charset/Charset;)Ljava/lang/String;
astore 3
start local 3 3: aload 0
aload 1
aload 3
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.sendEncryptedPasswordWithServerRsaPublicKey:([BLjava/lang/String;)V
end local 3 4: goto 29
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 3
start local 3 6: iload 3
iconst_4
if_icmpne 27
7: aload 0
getfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.encoder:Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
getfield io.vertx.mysqlclient.impl.codec.MySQLEncoder.socketConnection:Lio/vertx/mysqlclient/impl/MySQLSocketConnection;
invokevirtual io.vertx.mysqlclient.impl.MySQLSocketConnection.isSsl:()Z
ifeq 16
8: aload 1
arraylength
iconst_1
iadd
istore 4
start local 4 9: aload 0
iload 4
iconst_4
iadd
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.allocateBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 5
start local 5 10: aload 5
iload 4
invokevirtual io.netty.buffer.ByteBuf.writeMediumLE:(I)Lio/netty/buffer/ByteBuf;
pop
11: aload 5
aload 0
getfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.sequenceId:I
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
12: aload 5
aload 1
invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
pop
13: aload 5
iconst_0
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
14: aload 0
aload 5
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.sendNonSplitPacket:(Lio/netty/buffer/ByteBuf;)V
end local 5 end local 4 15: goto 29
16: StackMap locals: int
StackMap stack:
aload 0
getfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.cmd:Lio/vertx/sqlclient/impl/command/CommandBase;
checkcast io.vertx.mysqlclient.impl.command.AuthenticationCommandBase
invokevirtual io.vertx.mysqlclient.impl.command.AuthenticationCommandBase.serverRsaPublicKey:()Lio/vertx/core/buffer/Buffer;
astore 4
start local 4 17: aload 4
ifnonnull 25
18: aload 0
iconst_1
putfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.isWaitingForRsaPublicKey:Z
19: aload 0
iconst_5
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.allocateBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 5
start local 5 20: aload 5
iconst_1
invokevirtual io.netty.buffer.ByteBuf.writeMediumLE:(I)Lio/netty/buffer/ByteBuf;
pop
21: aload 5
aload 0
getfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.sequenceId:I
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
22: aload 5
iconst_2
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
23: aload 0
aload 5
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.sendNonSplitPacket:(Lio/netty/buffer/ByteBuf;)V
end local 5 24: goto 29
25: StackMap locals: io.vertx.core.buffer.Buffer
StackMap stack:
aload 0
aload 1
aload 4
invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.sendEncryptedPasswordWithServerRsaPublicKey:([BLjava/lang/String;)V
end local 4 26: goto 29
StackMap locals:
StackMap stack:
27: iload 3
iconst_3
if_icmpeq 29
28: aload 0
getfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.completionHandler:Lio/vertx/core/Handler;
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported flag for AuthMoreData : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
invokestatic io.vertx.sqlclient.impl.command.CommandResponse.failure:(Ljava/lang/Throwable;)Lio/vertx/sqlclient/impl/command/CommandResponse;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 3 29: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lio/vertx/mysqlclient/impl/codec/AuthenticationCommandBaseCodec<TR;TC;>;
0 30 1 password [B
0 30 2 payload Lio/netty/buffer/ByteBuf;
3 4 3 serverRsaPublicKey Ljava/lang/String;
6 29 3 flag B
9 15 4 nonScrambledPasswordPacketLength I
10 15 5 nonScrambledPasswordPacket Lio/netty/buffer/ByteBuf;
17 26 4 serverRsaPublicKey Lio/vertx/core/buffer/Buffer;
20 24 5 rsaPublicKeyRequest Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
password
payload
protected final void sendEncryptedPasswordWithServerRsaPublicKey(byte[], java.lang.String);
descriptor: ([BLjava/lang/String;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 1
arraylength
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 4
start local 4 1: aload 4
aload 0
getfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.authPluginData:[B
aload 2
invokestatic io.vertx.mysqlclient.impl.util.RsaPublicKeyEncryptor.encrypt:([B[BLjava/lang/String;)[B
astore 3
end local 4 start local 3 2: goto 6
end local 3 StackMap locals:
StackMap stack: java.lang.Exception
3: astore 4
start local 4 4: aload 0
getfield io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.completionHandler:Lio/vertx/core/Handler;
aload 4
invokestatic io.vertx.sqlclient.impl.command.CommandResponse.failure:(Ljava/lang/Throwable;)Lio/vertx/sqlclient/impl/command/CommandResponse;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
5: return
end local 4 start local 3 6: StackMap locals: byte[]
StackMap stack:
aload 0
aload 3
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.sendBytesAsPacket:([B)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/mysqlclient/impl/codec/AuthenticationCommandBaseCodec<TR;TC;>;
0 8 1 password [B
0 8 2 serverRsaPublicKeyContent Ljava/lang/String;
2 3 3 encryptedPassword [B
6 8 3 encryptedPassword [B
1 2 4 passwordInput [B
4 6 4 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
password
serverRsaPublicKeyContent
protected final void encodeConnectionAttributes(java.util.Map<java.lang.String, java.lang.String>, io.netty.buffer.ByteBuf);
descriptor: (Ljava/util/Map;Lio/netty/buffer/ByteBuf;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
invokevirtual io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec.allocateBuffer:()Lio/netty/buffer/ByteBuf;
astore 3
2: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec java.util.Map io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 3
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokestatic io.vertx.mysqlclient.impl.util.BufferUtils.writeLengthEncodedString:(Lio/netty/buffer/ByteBuf;Ljava/lang/String;Ljava/nio/charset/Charset;)V
5: aload 3
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokestatic io.vertx.mysqlclient.impl.util.BufferUtils.writeLengthEncodedString:(Lio/netty/buffer/ByteBuf;Ljava/lang/String;Ljava/nio/charset/Charset;)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 2
aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
i2l
invokestatic io.vertx.mysqlclient.impl.util.BufferUtils.writeLengthEncodedInteger:(Lio/netty/buffer/ByteBuf;J)V
8: aload 2
aload 3
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
pop
9: goto 14
StackMap locals: io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec java.util.Map io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
StackMap stack: java.lang.Throwable
10: astore 6
11: aload 3
ifnull 13
12: aload 3
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
13: StackMap locals: io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec java.util.Map io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf top top java.lang.Throwable
StackMap stack:
aload 6
athrow
14: StackMap locals: io.vertx.mysqlclient.impl.codec.AuthenticationCommandBaseCodec java.util.Map io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
StackMap stack:
aload 3
ifnull 16
15: aload 3
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/vertx/mysqlclient/impl/codec/AuthenticationCommandBaseCodec<TR;TC;>;
0 17 1 clientConnectionAttributes Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 17 2 packet Lio/netty/buffer/ByteBuf;
1 17 3 kv Lio/netty/buffer/ByteBuf;
4 6 4 attribute Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
Exception table:
from to target type
1 10 10 any
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/netty/buffer/ByteBuf;)V
MethodParameters:
Name Flags
clientConnectionAttributes
packet
}
Signature: <R:Ljava/lang/Object;C:Lio/vertx/mysqlclient/impl/command/AuthenticationCommandBase<TR;>;>Lio/vertx/mysqlclient/impl/codec/CommandCodec<TR;TC;>;
SourceFile: "AuthenticationCommandBaseCodec.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map