Skip to content

Commit 04e1b07

Browse files
authored
Check HAProxyMessage type is PROXY (#7864)
1 parent 78e6431 commit 04e1b07

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

patches/server/0905-Add-support-for-Proxy-Protocol.patch

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ index 1ac6cf51f2682d5eb14fe19646e79f6617d492dd..fafbebbb5e8c1a381b673f97f1fa2106
1919
+ }
2020
}
2121
diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
22-
index 058fb3696c7ece4a7b6971886b1760b26add733b..bd378482b82c15cba1eeaa620521ad9ed460a1da 100644
22+
index 058fb3696c7ece4a7b6971886b1760b26add733b..98286dd27fc3562ca55ec44cc6e5eb5157269942 100644
2323
--- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
2424
+++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java
2525
@@ -109,6 +109,12 @@ public class ServerConnectionListener {
@@ -35,7 +35,7 @@ index 058fb3696c7ece4a7b6971886b1760b26add733b..bd378482b82c15cba1eeaa620521ad9e
3535
this.channels.add(((ServerBootstrap) ((ServerBootstrap) (new ServerBootstrap()).channel(oclass)).childHandler(new ChannelInitializer<Channel>() {
3636
protected void initChannel(Channel channel) {
3737
try {
38-
@@ -122,6 +128,28 @@ public class ServerConnectionListener {
38+
@@ -122,6 +128,30 @@ public class ServerConnectionListener {
3939
int j = ServerConnectionListener.this.server.getRateLimitPacketsPerSecond();
4040
Object object = j > 0 ? new RateKickingConnection(j) : new Connection(PacketFlow.SERVERBOUND);
4141

@@ -46,13 +46,15 @@ index 058fb3696c7ece4a7b6971886b1760b26add733b..bd378482b82c15cba1eeaa620521ad9e
4646
+ @Override
4747
+ public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
4848
+ if (msg instanceof io.netty.handler.codec.haproxy.HAProxyMessage message) {
49-
+ String realaddress = message.sourceAddress();
50-
+ int realport = message.sourcePort();
49+
+ if (message.command() == io.netty.handler.codec.haproxy.HAProxyCommand.PROXY) {
50+
+ String realaddress = message.sourceAddress();
51+
+ int realport = message.sourcePort();
5152
+
52-
+ SocketAddress socketaddr = new java.net.InetSocketAddress(realaddress, realport);
53+
+ SocketAddress socketaddr = new java.net.InetSocketAddress(realaddress, realport);
5354
+
54-
+ Connection connection = (Connection) channel.pipeline().get("packet_handler");
55-
+ connection.address = socketaddr;
55+
+ Connection connection = (Connection) channel.pipeline().get("packet_handler");
56+
+ connection.address = socketaddr;
57+
+ }
5658
+ } else {
5759
+ super.channelRead(ctx, msg);
5860
+ }

0 commit comments

Comments
 (0)