From 3a4d30df4e3aba7cdc5c8343016e7e13de3ada86 Mon Sep 17 00:00:00 2001 From: tsu Date: Sat, 13 Aug 2016 19:58:28 +0800 Subject: [PATCH] Make SocksServer example compatible with `curl --socks5-hostname` Motivation: Socks5 proxy supports resolve domain at the server side. When testing with curl, the SocksServer in example package only works for proxy request with IP, not with domain name (`--socks5` vs `--socks5-hostname`). As curl is widely used, it should work with the example provided. Modifications: Passing address and port to the Socks5CommandResponse, so that it works for curl. Result: `curl --socks5-hostname` works as expected. --- .../netty/example/socksproxy/SocksServerConnectHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/example/src/main/java/io/netty/example/socksproxy/SocksServerConnectHandler.java b/example/src/main/java/io/netty/example/socksproxy/SocksServerConnectHandler.java index e1944588c8..890e8c08fa 100644 --- a/example/src/main/java/io/netty/example/socksproxy/SocksServerConnectHandler.java +++ b/example/src/main/java/io/netty/example/socksproxy/SocksServerConnectHandler.java @@ -102,7 +102,10 @@ public final class SocksServerConnectHandler extends SimpleChannelInboundHandler if (future.isSuccess()) { ChannelFuture responseFuture = ctx.channel().writeAndFlush(new DefaultSocks5CommandResponse( - Socks5CommandStatus.SUCCESS, request.dstAddrType())); + Socks5CommandStatus.SUCCESS, + request.dstAddrType(), + request.dstAddr(), + request.dstPort())); responseFuture.addListener(new ChannelFutureListener() { @Override