[jboss-jira] [JBoss JIRA] Commented: (JBAS-8637) twiddle does not correctly handle IPv6 addresses
Richard Achmatowicz (JIRA)
jira-events at lists.jboss.org
Wed Dec 1 19:38:04 EST 2010
[ https://jira.jboss.org/browse/JBAS-8637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12566709#comment-12566709 ]
Richard Achmatowicz commented on JBAS-8637:
-------------------------------------------
We can fix this my changing the method Twiddle.buildJMXServiceURL() to take account of IPv6 hostnames:
// build JMXServiceURL, should look like "service:jmx:rmi:///jndi/rmi://localhost:1090/jmxrmi";
private String buildJMXServiceUrl()
{
// JBAS-8540
return
DEFAULT_BASEURL +
fixHostnameForURL(hostname != null ? hostname : DEFAULT_HOSTNAME) +
":" +
(port != null ? port : DEFAULT_PORT) +
DEFAULT_RMIOBJECTNAME;
}
// would ordinarily use ServerConfigUtil.fixHostnameForURL() but not on client classpath
private String fixHostnameForURL(String host) {
if (host == null)
return host ;
// if the hostname is an IPv6 literal, enclose it in brackets
if (host.indexOf(':') != -1)
return "[" + host + "]" ;
else
return host ;
}
As noted, the utility class ServerConfigUtil has such a method for fixing hostnames, but it is not on the client classpath.
> twiddle does not correctly handle IPv6 addresses
> ------------------------------------------------
>
> Key: JBAS-8637
> URL: https://jira.jboss.org/browse/JBAS-8637
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Integration
> Affects Versions: 6.0.0.M4
> Reporter: Richard Achmatowicz
> Assignee: Shelly McGowan
> Fix For: TBD-6.x
>
>
> The test cases org.jboss.test.util.test.TwiddleUnitTestCase.{testGet, testInvoke} are failing.
> One problem is that the twiddle option -o is not correctly handling IPv6 addresses; for example:
> [rachmatowicz at soa3 bin]$ ./twiddle.sh -o fec0:0:a16:ffff::13 get "jboss.system:type=Server" Started
> 15:17:53,066 ERROR [Twiddle] Exec failed
> org.jboss.util.NestedRuntimeException: For input string: "0:a16:ffff::13:1090"; - nested throwable: (java.lang.NumberFormatException: For input string: "0:a16:ffff::13:1090")
> at org.jboss.console.twiddle.Twiddle$1.getServer(Twiddle.java:208)
> at org.jboss.console.twiddle.command.MBeanServerCommand.getMBeanServer(MBeanServerCommand.java:64)
> at org.jboss.console.twiddle.command.GetCommand.execute(GetCommand.java:149)
> at org.jboss.console.twiddle.Twiddle.main(Twiddle.java:357)
> Caused by: java.lang.NumberFormatException: For input string: "0:a16:ffff::13:1090"
> at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
> at java.lang.Integer.parseInt(Integer.java:458)
> at java.lang.Integer.parseInt(Integer.java:499)
> at com.sun.jndi.url.rmi.rmiURLContext.getRootURLContext(rmiURLContext.java:86)
> at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:182)
> at javax.naming.InitialContext.lookup(InitialContext.java:392)
> at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1886)
> at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1856)
> at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:257)
> at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)
> at org.jboss.console.twiddle.Twiddle.createMBeanServerConnection(Twiddle.java:309)
> at org.jboss.console.twiddle.Twiddle.connect(Twiddle.java:318)
> at org.jboss.console.twiddle.Twiddle.access$400(Twiddle.java:60)
> at org.jboss.console.twiddle.Twiddle$1.getServer(Twiddle.java:204)
> ... 3 more
> This is a typical IPv6 URL creation issue, as the issue can be fixed by surrouning the IPv6 address literal in square brackets:
> [rachmatowicz at soa3 bin]$ ./twiddle.sh -o [fec0:0:a16:ffff::13] get "jboss.system:type=Server" Started
> Started=true
>
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list