You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Jeff Mesnil (JIRA)" <ji...@apache.org> on 2017/03/16 15:08:41 UTC

[jira] [Created] (ARTEMIS-1043) NettyConnector not working with IPv6 address

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)