[jboss-cvs] JBossAS SVN: r109288 - in branches/JBoss-AS-6.0.x_ipv6: server/src/main/java/org/jboss/invocation/http/server and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 11 19:39:21 EST 2010


Author: rachmatowicz at jboss.com
Date: 2010-11-11 19:39:21 -0500 (Thu, 11 Nov 2010)
New Revision: 109288

Modified:
   branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/config/ServerConfigUtil.java
   branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/invocation/http/server/HttpInvoker.java
   branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/invocation/http/server/HttpProxyFactory.java
   branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/WebService.java
   branches/JBoss-AS-6.0.x_ipv6/varia/src/main/java/org/jboss/jdbc/HypersonicDatabase.java
Log:
Update AS components for IPv6 URL generation (JBAS-8540)

Modified: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/config/ServerConfigUtil.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/config/ServerConfigUtil.java	2010-11-12 00:34:26 UTC (rev 109287)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/config/ServerConfigUtil.java	2010-11-12 00:39:21 UTC (rev 109288)
@@ -36,6 +36,7 @@
  *
  * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a> Maintain only
+ * @author <a href="mailto:rachmatowicz at jboss.org">Richard Achmatowicz</a> 
  * @version $Revision: $
  */
 public final class ServerConfigUtil
@@ -128,4 +129,23 @@
             return longUrl;
       }
    }
+   
+   /**
+    * Utility to check if a hostname is an IPv6 literal and is so, add surrounding brackets
+    * for use in URLs (see JBAS-8540)
+    * 
+    * @param hostname
+    * @return hostname suitable for use in URLs
+    */
+   public static 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 ;
+   }
 }

Modified: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/invocation/http/server/HttpInvoker.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/invocation/http/server/HttpInvoker.java	2010-11-12 00:34:26 UTC (rev 109287)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/invocation/http/server/HttpInvoker.java	2010-11-12 00:39:21 UTC (rev 109288)
@@ -208,7 +208,7 @@
          {
             host = useHostName ? addr.getHostName() : addr.getHostAddress();
          }
-         String url = invokerURLPrefix + host + invokerURLSuffix;
+         String url = invokerURLPrefix + ServerConfigUtil.fixHostnameForURL(host) + invokerURLSuffix;
          setInvokerURL(url);
       }
    }

Modified: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/invocation/http/server/HttpProxyFactory.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/invocation/http/server/HttpProxyFactory.java	2010-11-12 00:34:26 UTC (rev 109287)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/invocation/http/server/HttpProxyFactory.java	2010-11-12 00:39:21 UTC (rev 109288)
@@ -274,7 +274,8 @@
             InetAddress addr = InetAddress.getLocalHost();
             host = useHostName ? addr.getHostName() : addr.getHostAddress();
          }
-         String url = invokerURLPrefix + host + invokerURLSuffix;
+         // JBAS-8540
+         String url = invokerURLPrefix + ServerConfigUtil.fixHostnameForURL(host) + invokerURLSuffix;
          setInvokerURL(url);
       }
    }

Modified: branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/WebService.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/WebService.java	2010-11-12 00:34:26 UTC (rev 109287)
+++ branches/JBoss-AS-6.0.x_ipv6/server/src/main/java/org/jboss/web/WebService.java	2010-11-12 00:39:21 UTC (rev 109288)
@@ -303,7 +303,8 @@
       String codebase = getCodebase();
       if (codebase == null)
       {
-         codebase = "http://" + getHost() + ":" + getPort() + "/";
+    	  // JBAS-8540
+         codebase = "http://" + ServerConfigUtil.fixHostnameForURL(getHost()) + ":" + getPort() + "/";
          System.setProperty("java.rmi.server.codebase", codebase);
       }
       log.info("Using RMI server codebase: " + codebase);
@@ -320,13 +321,15 @@
    {
       // Start the WebServer running
       server.start();
-      log.debug("Started WebServer with address: " + server.getBindAddress() + ":" + getPort());
+      // JBAS-8540 
+      log.debug("Started WebServer with address: " + ServerConfigUtil.fixHostnameForURL(server.getBindAddress()) + ":" + getPort());
    }
 
    protected void stopService() throws Exception
    {
       server.stop();
-      log.debug("Stopped WebServer with address: " + server.getBindAddress() + ":" + getPort());
+      // JBAS-8540
+      log.debug("Stopped WebServer with address: " + ServerConfigUtil.fixHostnameForURL(server.getBindAddress()) + ":" + getPort());
    }
    
    /**

Modified: branches/JBoss-AS-6.0.x_ipv6/varia/src/main/java/org/jboss/jdbc/HypersonicDatabase.java
===================================================================
--- branches/JBoss-AS-6.0.x_ipv6/varia/src/main/java/org/jboss/jdbc/HypersonicDatabase.java	2010-11-12 00:34:26 UTC (rev 109287)
+++ branches/JBoss-AS-6.0.x_ipv6/varia/src/main/java/org/jboss/jdbc/HypersonicDatabase.java	2010-11-12 00:39:21 UTC (rev 109288)
@@ -31,6 +31,7 @@
 
 import org.jboss.system.ServiceMBeanSupport;
 import org.jboss.system.server.ServerConfigLocator;
+import org.jboss.system.server.ServerConfigUtil;
 
 /**
  * Integration with <a href="http://sourceforge.net/projects/hsqldb">HSQLDB</a>
@@ -487,11 +488,12 @@
                String[] args;
                if (!inProcessMode)
                {
+            	   // JBAS-8540
                   args =
                      new String[] {
                         "-noexit",
                         "-driver", driver,
-                        "-url", JDBC_URL_PREFIX + "hsql://" + connectHost + ":" + port,
+                        "-url", JDBC_URL_PREFIX + "hsql://" + ServerConfigUtil.fixHostnameForURL(connectHost) + ":" + port,
                         "-user", user,
                         "-password", password,
                         "-dir", getDatabasePath()
@@ -743,7 +745,8 @@
    {
       // If bind address is the default 0.0.0.0, use localhost
       String connectHost = DEFAULT_ADDRESS.equals(address) ? "localhost" : address;
-      String dbURL = JDBC_URL_PREFIX + "hsql://" + connectHost + ":" + port;
+      // JBAS-8540
+      String dbURL = JDBC_URL_PREFIX + "hsql://" + ServerConfigUtil.fixHostnameForURL(connectHost) + ":" + port;
 
       Connection connection = getConnection(dbURL);
       Statement statement = connection.createStatement();



More information about the jboss-cvs-commits mailing list