private void answerInitialRequest(ChannelHandlerContext ctx, Socks5InitialRequest initialRequest, Socks5AuthMethod requiredAuthMethod, ChannelHandler nextRequestDecoder) { ctx.pipeline().remove(Socks5InitialRequestDecoder.class); for (Socks5AuthMethod authMethod : initialRequest.authMethods()) { if (requiredAuthMethod.equals(authMethod)) { ctx.pipeline().addFirst(nextRequestDecoder); ctx.write(new DefaultSocks5InitialResponse(requiredAuthMethod)); return; } } ctx.write(new DefaultSocks5InitialResponse(Socks5AuthMethod.UNACCEPTED)); }
private static void encodeAuthMethodRequest(Socks5InitialRequest msg, ByteBuf out) { out.writeByte(msg.version().byteValue()); final List<Socks5AuthMethod> authMethods = msg.authMethods(); final int numAuthMethods = authMethods.size(); out.writeByte(numAuthMethods); if (authMethods instanceof RandomAccess) { for (int i = 0; i < numAuthMethods; i ++) { out.writeByte(authMethods.get(i).byteValue()); } } else { for (Socks5AuthMethod a: authMethods) { out.writeByte(a.byteValue()); } } }
private void answerInitialRequest(ChannelHandlerContext ctx, Socks5InitialRequest initialRequest, Socks5AuthMethod requiredAuthMethod, ChannelHandler nextRequestDecoder) { ctx.pipeline().remove(Socks5InitialRequestDecoder.class); for (Socks5AuthMethod authMethod : initialRequest.authMethods()) { if (requiredAuthMethod.equals(authMethod)) { ctx.pipeline().addFirst(nextRequestDecoder); ctx.write(new DefaultSocks5InitialResponse(requiredAuthMethod)); return; } } ctx.write(new DefaultSocks5InitialResponse(Socks5AuthMethod.UNACCEPTED)); }
private static void encodeAuthMethodRequest(Socks5InitialRequest msg, ByteBuf out) { out.writeByte(msg.version().byteValue()); final List<Socks5AuthMethod> authMethods = msg.authMethods(); final int numAuthMethods = authMethods.size(); out.writeByte(numAuthMethods); if (authMethods instanceof RandomAccess) { for (int i = 0; i < numAuthMethods; i ++) { out.writeByte(authMethods.get(i).byteValue()); } } else { for (Socks5AuthMethod a: authMethods) { out.writeByte(a.byteValue()); } } }
private static void encodeAuthMethodRequest(Socks5InitialRequest msg, ByteBuf out) { out.writeByte(msg.version().byteValue()); final List<Socks5AuthMethod> authMethods = msg.authMethods(); final int numAuthMethods = authMethods.size(); out.writeByte(numAuthMethods); if (authMethods instanceof RandomAccess) { for (int i = 0; i < numAuthMethods; i ++) { out.writeByte(authMethods.get(i).byteValue()); } } else { for (Socks5AuthMethod a: authMethods) { out.writeByte(a.byteValue()); } } }