From bb5f9fe078e7d586d04d5858792f10e2fdc20ec3 Mon Sep 17 00:00:00 2001 From: nmittler Date: Fri, 8 May 2015 08:04:25 -0700 Subject: [PATCH] Scoring loopback addresses as 0 in DefaultChannelId Motivation: As described in #3490, [compareAddresses](https://github.com/netty/netty/blob/master/transport/src/main/java/io/netty/channel/DefaultChannelId.java#L182) seems to allow loopback addresses to score high, disallowing replacing the loopback address. Modifications: Changed [scoreAddress](https://github.com/netty/netty/blob/master/transport/src/main/java/io/netty/channel/DefaultChannelId.java#L283) to score loopback addresses as 0. Result: Fixes #3490 --- transport/src/main/java/io/netty/channel/DefaultChannelId.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/transport/src/main/java/io/netty/channel/DefaultChannelId.java b/transport/src/main/java/io/netty/channel/DefaultChannelId.java index fdc55b0b4e..b31663c34d 100644 --- a/transport/src/main/java/io/netty/channel/DefaultChannelId.java +++ b/transport/src/main/java/io/netty/channel/DefaultChannelId.java @@ -280,7 +280,7 @@ final class DefaultChannelId implements ChannelId { } private static int scoreAddress(InetAddress addr) { - if (addr.isAnyLocalAddress()) { + if (addr.isAnyLocalAddress() || addr.isLoopbackAddress()) { return 0; } if (addr.isMulticastAddress()) {