Author: markt Date: Thu Feb 18 10:47:34 2010 New Revision: 911321 URL: http://svn.apache.org/viewvc?rev=911321&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48612 Prevent exception on shutdown if the address attribute is specified for a connector
Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=911321&r1=911320&r2=911321&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Feb 18 10:47:34 2010 @@ -143,13 +143,6 @@ +1: markt, kkolinko -1: -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48612 - Prevent exception on shutdown - Port of r896193 and r905343 - http://people.apache.org/~markt/patches/2010-02-01-bug48612.patch - +1: markt, kkolinko, mturk - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48653 RemoteIpValve : request.secure and request.scheme are not forced to "false" and "http" if X-Forwarded-Proto=http Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java?rev=911321&r1=911320&r2=911321&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Connector.java Thu Feb 18 10:47:34 2010 @@ -956,14 +956,21 @@ protected ObjectName createObjectName(String domain, String type) throws MalformedObjectNameException { - String encodedAddr = null; - if (getProperty("address") != null) { - encodedAddr = URLEncoder.encode(getProperty("address").toString()); - } - String addSuffix = (getProperty("address") == null) ? "" : ",address=" - + encodedAddr; - ObjectName _oname = new ObjectName(domain + ":type=" + type + ",port=" - + getPort() + addSuffix); + Object addressObj = getProperty("address"); + + StringBuilder sb = new StringBuilder(domain); + sb.append(":type="); + sb.append(type); + sb.append(",port="); + sb.append(getPort()); + if (addressObj != null) { + String address = addressObj.toString(); + if (address.length() > 0) { + sb.append(",address="); + sb.append(ObjectName.quote(address)); + } + } + ObjectName _oname = new ObjectName(sb.toString()); return _oname; } Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java?rev=911321&r1=911320&r2=911321&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java Thu Feb 18 10:47:34 2010 @@ -742,21 +742,30 @@ ObjectName name = null; try { - String address = (String) + Object addressObj = IntrospectionUtils.getProperty(connector, "address"); Integer port = (Integer) IntrospectionUtils.getProperty(connector, "port"); + StringBuffer sb = new StringBuffer(domain); sb.append(":type=Connector"); - sb.append(",port=" + port); - if ((address != null) && (address.length()>0)) { - sb.append(",address=" + address); + sb.append(",port="); + sb.append(port); + if (addressObj != null) { + String address = addressObj.toString(); + if (address.length() > 0) { + sb.append(",address="); + sb.append(ObjectName.quote(address)); + } } name = new ObjectName(sb.toString()); return (name); } catch (Exception e) { - throw new MalformedObjectNameException - ("Cannot create object name for " + connector+e); + MalformedObjectNameException mone = + new MalformedObjectNameException + ("Cannot create object name for " + connector); + mone.initCause(e); + throw mone; } } Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=911321&r1=911320&r2=911321&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Thu Feb 18 10:47:34 2010 @@ -38,6 +38,10 @@ <subsection name="Catalina"> <changelog> <fix> + <bug>48612</bug>: Prevent exception on shutdown if the address attribute + is specified for a connector. (markt) + </fix> + <fix> <bug>48613</bug>: Further fixes to ensure APRLifecycleListener is only used if defined in server.xml. (fhanik) </fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org