Merge branch '2.5.x'

See gh-28135
This commit is contained in:
Andy Wilkinson 2021-10-01 11:32:59 +01:00
commit bddfe9ef6e
2 changed files with 13 additions and 5 deletions

View File

@ -1152,14 +1152,15 @@ public class RabbitProperties {
}
private void parseHostAndPort(String input, boolean sslEnabled) {
int portIndex = input.lastIndexOf(':');
if (portIndex == -1) {
int bracketIndex = input.lastIndexOf(']');
int colonIndex = input.lastIndexOf(':');
if (colonIndex == -1 || colonIndex < bracketIndex) {
this.host = input;
this.port = (determineSslEnabled(sslEnabled)) ? DEFAULT_PORT_SECURE : DEFAULT_PORT;
}
else {
this.host = input.substring(0, portIndex);
this.port = Integer.parseInt(input.substring(portIndex + 1));
this.host = input.substring(0, colonIndex);
this.port = Integer.parseInt(input.substring(colonIndex + 1));
}
}

View File

@ -242,7 +242,14 @@ class RabbitPropertiesTests {
@Test
void ipv6Address() {
this.properties.setAddresses("amqp://foo:bar@[aaaa:bbbb:cccc::d]:5672");
this.properties.setAddresses("amqp://foo:bar@[aaaa:bbbb:cccc::d]:1234");
assertThat(this.properties.determineHost()).isEqualTo("[aaaa:bbbb:cccc::d]");
assertThat(this.properties.determinePort()).isEqualTo(1234);
}
@Test
void ipv6AddressDefaultPort() {
this.properties.setAddresses("amqp://foo:bar@[aaaa:bbbb:cccc::d]");
assertThat(this.properties.determineHost()).isEqualTo("[aaaa:bbbb:cccc::d]");
assertThat(this.properties.determinePort()).isEqualTo(5672);
}