Author: fhanik Date: Fri Jul 20 15:36:07 2007 New Revision: 558182 URL: http://svn.apache.org/viewvc?view=rev&rev=558182 Log: upsync from 6.0 http://svn.apache.org/viewvc?view=rev&rev=557454 http://svn.apache.org/viewvc?view=rev&rev=557467
Modified: tomcat/trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java Modified: tomcat/trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java?view=diff&rev=558182&r1=558181&r2=558182 ============================================================================== --- tomcat/trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java Fri Jul 20 15:36:07 2007 @@ -229,7 +229,8 @@ for (int i = 0; i < children.length; i++) hostNames[i] = children[i].getName(); - TreeMap sortedHostNamesMap = new TreeMap(); + TreeMap<String,String> sortedHostNamesMap = + new TreeMap<String,String>(); for (int i = 0; i < hostNames.length; i++) { String displayPath = hostNames[i]; @@ -240,15 +241,16 @@ String hostsStop = sm.getString("htmlHostManagerServlet.hostsStop"); String hostsRemove = sm.getString("htmlHostManagerServlet.hostsRemove"); - Iterator iterator = sortedHostNamesMap.entrySet().iterator(); + Iterator<Map.Entry<String,String>> iterator = + sortedHostNamesMap.entrySet().iterator(); while (iterator.hasNext()) { - Map.Entry entry = (Map.Entry) iterator.next(); + Map.Entry<String,String> entry = iterator.next(); String hostName = (String) entry.getKey(); Host host = (Host) engine.findChild(hostName); if (host != null ) { args = new Object[2]; - args[0] = hostName; + args[0] = RequestUtil.filter(hostName); String[] aliases = host.findAliases(); StringBuffer buf = new StringBuffer(); if (aliases.length > 0) { @@ -260,9 +262,11 @@ if (buf.length() == 0) { buf.append(" "); + args[1] = buf.toString(); + } else { + args[1] = RequestUtil.filter(buf.toString()); } - args[1] = buf.toString(); writer.print (MessageFormat.format(HOSTS_ROW_DETAILS_SECTION, args)); Modified: tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java?view=diff&rev=558182&r1=558181&r2=558182 ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/Cookies.java Fri Jul 20 15:36:07 2007 @@ -249,9 +249,11 @@ int endValue=startValue; cc=bytes[pos]; - if( cc== '\'' || cc=='"' ) { - startValue++; - endValue=indexOf( bytes, startValue, end, cc ); + if( cc=='"' ) { + endValue=findDelim3( bytes, startValue+1, end, cc ); + if (endValue == -1) { + endValue=findDelim2( bytes, startValue+1, end ); + } else startValue++; pos=endValue+1; // to skip to next cookie } else { endValue=findDelim2( bytes, startValue, end ); @@ -335,28 +337,26 @@ return off; } - public static int indexOf( byte bytes[], int off, int end, byte qq ) + /* + * search for cc but skip \cc as required by rfc2616 + * (according to rfc2616 cc should be ") + */ + public static int findDelim3( byte bytes[], int off, int end, byte cc ) { while( off < end ) { byte b=bytes[off]; - if( b==qq ) + if ( b== '\\' ) { + off++; + off++; + continue; + } + if( b==cc ) return off; off++; } - return off; + return -1; } - public static int indexOf( byte bytes[], int off, int end, char qq ) - { - while( off < end ) { - byte b=bytes[off]; - if( b==qq ) - return off; - off++; - } - return off; - } - // XXX will be refactored soon! public static boolean equals( String s, byte b[], int start, int end) { int blen = end-start; @@ -412,7 +412,7 @@ /** * * Strips quotes from the start and end of the cookie string - * This conforms to RFC 2109 + * This conforms to RFC 2965 * * @param value a <code>String</code> specifying the cookie * value (possibly quoted). @@ -423,8 +423,7 @@ private static String stripQuote( String value ) { // log("Strip quote from " + value ); - if (((value.startsWith("\"")) && (value.endsWith("\""))) || - ((value.startsWith("'") && (value.endsWith("'"))))) { + if (value.startsWith("\"") && value.endsWith("\"")) { try { return value.substring(1,value.length()-1); } catch (Exception ex) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]