Jeff Mesnil created ARTEMIS-1043: ------------------------------------ Summary: NettyConnector not working with IPv6 address Key: ARTEMIS-1043 URL: https://issues.apache.org/jira/browse/ARTEMIS-1043 Project: ActiveMQ Artemis Issue Type: Bug Components: Broker Affects Versions: 1.5.3 Reporter: Jeff Mesnil
Artemis client doesn't correctly enclose IPv6 address when sending HTTP upgrade packet. According to [RFC2732 | https://www.ietf.org/rfc/rfc2732.txt], section {{2. Literal IPv6 Address Format in URL's Syntax}} and [HTTP header field definition specification|https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html], correct request URL should be enclosed like following one: {{http://[fe80::56ee:75ff:fe47:c83e]}} Following code snippet creates request for URL {{http://fe80::56ee:75ff:fe47:c83e}} {code} HashMap<String, Object> map = new HashMap<String, Object>(); map.put("host", "fe80::56ee:75ff:fe47:c83e"); map.put("port", "8080"); map.put(TransportConstants.HTTP_UPGRADE_ENABLED_PROP_NAME, true); TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getName(), map); ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, transportConfiguration); connection = cf.createConnection(); {code} This works fine when client connects directly to the server. However it may cause problems when Artemis connects to proxy which expects IPv6 address correctly enclosed. Artemis client should detect IPv6 address and enclose it, so it conforms to specification. -- This message was sent by Atlassian JIRA (v6.3.15#6346)