public class io.netty.handler.codec.socksx.SocksPortUnificationServerHandler extends io.netty.handler.codec.ByteToMessageDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.socksx.SocksPortUnificationServerHandler
super_class: io.netty.handler.codec.ByteToMessageDecoder
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.netty.handler.codec.socksx.v5.Socks5ServerEncoder socks5encoder;
descriptor: Lio/netty/handler/codec/socksx/v5/Socks5ServerEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$socksx$SocksVersion;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/handler/codec/socksx/SocksPortUnificationServerHandler;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
1: putstatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic io.netty.handler.codec.socksx.v5.Socks5ServerEncoder.DEFAULT:Lio/netty/handler/codec/socksx/v5/Socks5ServerEncoder;
invokespecial io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.<init>:(Lio/netty/handler/codec/socksx/v5/Socks5ServerEncoder;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/socksx/SocksPortUnificationServerHandler;
public void <init>(io.netty.handler.codec.socksx.v5.Socks5ServerEncoder);
descriptor: (Lio/netty/handler/codec/socksx/v5/Socks5ServerEncoder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "socks5encoder"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: io.netty.handler.codec.socksx.SocksPortUnificationServerHandler io.netty.handler.codec.socksx.v5.Socks5ServerEncoder
StackMap stack:
aload 0
aload 1
putfield io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.socks5encoder:Lio/netty/handler/codec/socksx/v5/Socks5ServerEncoder;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/socksx/SocksPortUnificationServerHandler;
0 5 1 socks5encoder Lio/netty/handler/codec/socksx/v5/Socks5ServerEncoder;
MethodParameters:
Name Flags
socks5encoder
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 4
start local 4 1: aload 2
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
iload 4
if_icmpne 3
2: return
3: StackMap locals: int
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 5
start local 5 4: aload 2
iload 4
invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
istore 6
start local 6 5: iload 6
invokestatic io.netty.handler.codec.socksx.SocksVersion.valueOf:(B)Lio/netty/handler/codec/socksx/SocksVersion;
astore 7
start local 7 6: invokestatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.$SWITCH_TABLE$io$netty$handler$codec$socksx$SocksVersion:()[I
aload 7
invokevirtual io.netty.handler.codec.socksx.SocksVersion.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 7
2: 11
default: 15
}
7: StackMap locals: io.netty.channel.ChannelPipeline int io.netty.handler.codec.socksx.SocksVersion
StackMap stack:
aload 1
aload 7
invokestatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.logKnownVersion:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/socksx/SocksVersion;)V
8: aload 5
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.name:()Ljava/lang/String;
aconst_null
getstatic io.netty.handler.codec.socksx.v4.Socks4ServerEncoder.INSTANCE:Lio/netty/handler/codec/socksx/v4/Socks4ServerEncoder;
invokeinterface io.netty.channel.ChannelPipeline.addAfter:(Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
9: aload 5
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.name:()Ljava/lang/String;
aconst_null
new io.netty.handler.codec.socksx.v4.Socks4ServerDecoder
dup
invokespecial io.netty.handler.codec.socksx.v4.Socks4ServerDecoder.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addAfter:(Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
10: goto 19
11: StackMap locals:
StackMap stack:
aload 1
aload 7
invokestatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.logKnownVersion:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/socksx/SocksVersion;)V
12: aload 5
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.name:()Ljava/lang/String;
aconst_null
aload 0
getfield io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.socks5encoder:Lio/netty/handler/codec/socksx/v5/Socks5ServerEncoder;
invokeinterface io.netty.channel.ChannelPipeline.addAfter:(Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
13: aload 5
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.name:()Ljava/lang/String;
aconst_null
new io.netty.handler.codec.socksx.v5.Socks5InitialRequestDecoder
dup
invokespecial io.netty.handler.codec.socksx.v5.Socks5InitialRequestDecoder.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addAfter:(Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
14: goto 19
15: StackMap locals:
StackMap stack:
aload 1
iload 6
invokestatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.logUnknownVersion:(Lio/netty/channel/ChannelHandlerContext;B)V
16: aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
17: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
18: return
19: StackMap locals:
StackMap stack:
aload 5
aload 0
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
20: 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 21 0 this Lio/netty/handler/codec/socksx/SocksPortUnificationServerHandler;
0 21 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 21 2 in Lio/netty/buffer/ByteBuf;
0 21 3 out Ljava/util/List<Ljava/lang/Object;>;
1 21 4 readerIndex I
4 21 5 p Lio/netty/channel/ChannelPipeline;
5 21 6 versionVal B
6 21 7 version Lio/netty/handler/codec/socksx/SocksVersion;
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
in
out
private static void logKnownVersion(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.socksx.SocksVersion);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/socksx/SocksVersion;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "{} Protocol version: {}({})"
aload 0
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 1
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 1 version Lio/netty/handler/codec/socksx/SocksVersion;
MethodParameters:
Name Flags
ctx
version
private static void logUnknownVersion(io.netty.channel.ChannelHandlerContext, byte);
descriptor: (Lio/netty/channel/ChannelHandlerContext;B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 2
1: getstatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "{} Unknown protocol version: {}"
aload 0
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
iload 1
sipush 255
iand
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 1 versionVal B
MethodParameters:
Name Flags
ctx
versionVal
static int[] $SWITCH_TABLE$io$netty$handler$codec$socksx$SocksVersion();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.$SWITCH_TABLE$io$netty$handler$codec$socksx$SocksVersion:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.socksx.SocksVersion.values:()[Lio/netty/handler/codec/socksx/SocksVersion;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.socksx.SocksVersion.SOCKS4a:Lio/netty/handler/codec/socksx/SocksVersion;
invokevirtual io.netty.handler.codec.socksx.SocksVersion.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.handler.codec.socksx.SocksVersion.SOCKS5:Lio/netty/handler/codec/socksx/SocksVersion;
invokevirtual io.netty.handler.codec.socksx.SocksVersion.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.netty.handler.codec.socksx.SocksVersion.UNKNOWN:Lio/netty/handler/codec/socksx/SocksVersion;
invokevirtual io.netty.handler.codec.socksx.SocksVersion.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic io.netty.handler.codec.socksx.SocksPortUnificationServerHandler.$SWITCH_TABLE$io$netty$handler$codec$socksx$SocksVersion:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "SocksPortUnificationServerHandler.java"