JBossWeb SVN: r1658 - tags.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2011-02-11 05:23:59 -0500 (Fri, 11 Feb 2011)
New Revision: 1658
Added:
tags/JBOSSWEB_2_1_11_GA/
Log:
- Web 2.1.11.
Copied: tags/JBOSSWEB_2_1_11_GA (from rev 1657, branches/2.1.x)
14 years, 1 month
JBossWeb SVN: r1657 - in trunk: java/org/apache/coyote/http11 and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2011-02-10 10:47:18 -0500 (Thu, 10 Feb 2011)
New Revision: 1657
Modified:
trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
trunk/java/org/apache/coyote/ajp/LocalStrings.properties
trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
trunk/java/org/apache/coyote/http11/LocalStrings.properties
trunk/webapps/docs/changelog.xml
Log:
- Experiment with skipping destroy (and debug logging) if some processors are still active.
Modified: trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
===================================================================
--- trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java 2011-02-10 15:07:42 UTC (rev 1656)
+++ trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java 2011-02-10 15:47:18 UTC (rev 1657)
@@ -114,6 +114,9 @@
private AjpConnectionHandler cHandler;
+ private boolean canDestroy = false;
+
+
// --------------------------------------------------------- Public Methods
@@ -210,6 +213,7 @@
log.error(sm.getString("ajpprotocol.endpoint.pauseerror"), ex);
throw ex;
}
+ canDestroy = false;
// Wait for a while until all the processors are idle
RequestInfo[] states = cHandler.global.getRequestProcessors();
int retry = 0;
@@ -228,6 +232,9 @@
break;
}
}
+ if (done) {
+ canDestroy = true;
+ }
}
if (log.isInfoEnabled())
log.info(sm.getString("ajpprotocol.pause", getName()));
@@ -247,7 +254,22 @@
public void destroy() throws Exception {
if (log.isInfoEnabled())
log.info(sm.getString("ajpprotocol.stop", getName()));
- endpoint.destroy();
+ if (canDestroy) {
+ endpoint.destroy();
+ } else {
+ log.warn(sm.getString("ajpprotocol.cannotDestroy", getName()));
+ try {
+ RequestInfo[] states = cHandler.global.getRequestProcessors();
+ for (int i = 0; i < states.length; i++) {
+ if (states[i].getStage() == org.apache.coyote.Constants.STAGE_SERVICE) {
+ // FIXME: Log RequestInfo content
+ }
+ }
+ } catch (Exception ex) {
+ log.error(sm.getString("ajpprotocol.cannotDestroy", getName()), ex);
+ throw ex;
+ }
+ }
if (tpOname!=null)
Registry.getRegistry(null, null).unregisterComponent(tpOname);
if (rgOname != null)
Modified: trunk/java/org/apache/coyote/ajp/LocalStrings.properties
===================================================================
--- trunk/java/org/apache/coyote/ajp/LocalStrings.properties 2011-02-10 15:07:42 UTC (rev 1656)
+++ trunk/java/org/apache/coyote/ajp/LocalStrings.properties 2011-02-10 15:47:18 UTC (rev 1657)
@@ -16,6 +16,7 @@
ajpprotocol.setattribute=Attribute {0}: {1}
ajpprotocol.start=Starting Coyote AJP/1.3 on {0}
ajpprotocol.stop=Stopping Coyote AJP/1.3 on {0}
+ajpprotocol.cannotDestroy=Skip destroy for Coyote AJP/1.3 on {0} due to active request processors
ajpprotocol.pause=Pausing Coyote AJP/1.3 on {0}
ajpprotocol.endpoint.pauseerror=Error pausing endpoint
ajpprotocol.resume=Resuming Coyote AJP/1.3 on {0}
Modified: trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
===================================================================
--- trunk/java/org/apache/coyote/http11/Http11AprProtocol.java 2011-02-10 15:07:42 UTC (rev 1656)
+++ trunk/java/org/apache/coyote/http11/Http11AprProtocol.java 2011-02-10 15:47:18 UTC (rev 1657)
@@ -99,7 +99,9 @@
public void setAdapter(Adapter adapter) { this.adapter = adapter; }
public Adapter getAdapter() { return adapter; }
+ private boolean canDestroy = false;
+
public boolean hasIoEvents() {
return true;
}
@@ -158,6 +160,7 @@
log.error(sm.getString("http11protocol.endpoint.pauseerror"), ex);
throw ex;
}
+ canDestroy = false;
// Wait for a while until all the processors are idle
RequestInfo[] states = cHandler.global.getRequestProcessors();
int retry = 0;
@@ -176,6 +179,9 @@
break;
}
}
+ if (done) {
+ canDestroy = true;
+ }
}
if(log.isInfoEnabled())
log.info(sm.getString("http11protocol.pause", getName()));
@@ -195,7 +201,22 @@
public void destroy() throws Exception {
if(log.isInfoEnabled())
log.info(sm.getString("http11protocol.stop", getName()));
- endpoint.destroy();
+ if (canDestroy) {
+ endpoint.destroy();
+ } else {
+ log.warn(sm.getString("http11protocol.cannotDestroy", getName()));
+ try {
+ RequestInfo[] states = cHandler.global.getRequestProcessors();
+ for (int i = 0; i < states.length; i++) {
+ if (states[i].getStage() == org.apache.coyote.Constants.STAGE_SERVICE) {
+ // FIXME: Log RequestInfo content
+ }
+ }
+ } catch (Exception ex) {
+ log.error(sm.getString("http11protocol.cannotDestroy", getName()), ex);
+ throw ex;
+ }
+ }
if( tpOname!=null )
Registry.getRegistry(null, null).unregisterComponent(tpOname);
if( rgOname != null )
Modified: trunk/java/org/apache/coyote/http11/LocalStrings.properties
===================================================================
--- trunk/java/org/apache/coyote/http11/LocalStrings.properties 2011-02-10 15:07:42 UTC (rev 1656)
+++ trunk/java/org/apache/coyote/http11/LocalStrings.properties 2011-02-10 15:47:18 UTC (rev 1657)
@@ -21,6 +21,7 @@
http11protocol.socketfactory.initerror=Error initializing socket factory
http11protocol.start=Starting Coyote HTTP/1.1 on {0}
http11protocol.stop=Stopping Coyote HTTP/1.1 on {0}
+http11protocol.cannotDestroy=Skip destroy for Coyote HTTP/1.1 on {0} due to active request processors
http11protocol.pause=Pausing Coyote HTTP/1.1 on {0}
http11protocol.endpoint.pauseerror=Error pausing endpoint
http11protocol.resume=Resuming Coyote HTTP/1.1 on {0}
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2011-02-10 15:07:42 UTC (rev 1656)
+++ trunk/webapps/docs/changelog.xml 2011-02-10 15:47:18 UTC (rev 1657)
@@ -23,7 +23,10 @@
<bug>50747</bug>: Allow setting content-length when using a writer, as the previous check
was incomplete. (markt)
</fix>
- </changelog>
+ <fix>
+ Work directory was not set as a read only attribute. (markt)
+ </fix>
+ </changelog>
</subsection>
<subsection name="Coyote">
<changelog>
14 years, 1 month
JBossWeb SVN: r1656 - branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2011-02-10 10:07:42 -0500 (Thu, 10 Feb 2011)
New Revision: 1656
Modified:
branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager/HTMLManagerServlet.java
branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager/StatusTransformer.java
Log:
Fix for CVE-2011-0013.
Modified: branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager/HTMLManagerServlet.java
===================================================================
--- branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager/HTMLManagerServlet.java 2011-02-10 14:35:36 UTC (rev 1655)
+++ branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager/HTMLManagerServlet.java 2011-02-10 15:07:42 UTC (rev 1656)
@@ -35,6 +35,7 @@
import org.apache.catalina.Context;
import org.apache.catalina.util.RequestUtil;
import org.apache.catalina.util.ServerInfo;
+import org.apache.catalina.util.URLEncoder;
import org.apache.tomcat.util.http.fileupload.DiskFileUpload;
import org.apache.tomcat.util.http.fileupload.FileItem;
@@ -63,6 +64,13 @@
public final class HTMLManagerServlet extends ManagerServlet {
+ protected static final URLEncoder URL_ENCODER;
+ static {
+ URL_ENCODER = new URLEncoder();
+ // '/' should not be encoded in context paths
+ URL_ENCODER.addSafeCharacter('/');
+ }
+
// --------------------------------------------------------- Public Methods
/**
@@ -365,24 +373,26 @@
isDeployed = false;
}
- args = new Object[6];
- args[0] = displayPath;
- args[1] = context.getDisplayName();
- if (args[1] == null) {
- args[1] = " ";
+ args = new Object[7];
+ args[0] = URL_ENCODER.encode(displayPath);
+ args[1] = RequestUtil.filter(displayPath);
+ if (context.getDisplayName() == null) {
+ args[2] = " ";
+ } else {
+ args[2] = RequestUtil.filter(context.getDisplayName());
}
- args[2] = new Boolean(context.getAvailable());
- args[3] = response.encodeURL
+ args[3] = new Boolean(context.getAvailable());
+ args[4] = response.encodeURL
(request.getContextPath() +
"/html/sessions?path=" + displayPath);
if (context.getManager() != null) {
- args[4] = new Integer
+ args[5] = new Integer
(context.getManager().getActiveSessions());
} else {
- args[4] = new Integer(0);
+ args[5] = new Integer(0);
}
- args[5] = highlightColor;
+ args[6] = highlightColor;
writer.print
(MessageFormat.format(APPS_ROW_DETAILS_SECTION, args));
@@ -586,10 +596,10 @@
private static final String APPS_ROW_DETAILS_SECTION =
"<tr>\n" +
- " <td class=\"row-left\" bgcolor=\"{5}\"><small><a href=\"{0}\">{0}</a></small></td>\n" +
- " <td class=\"row-left\" bgcolor=\"{5}\"><small>{1}</small></td>\n" +
- " <td class=\"row-center\" bgcolor=\"{5}\"><small>{2}</small></td>\n" +
- " <td class=\"row-center\" bgcolor=\"{5}\"><small><a href=\"{3}\">{4}</a></small></td>\n";
+ " <td class=\"row-left\" bgcolor=\"{6}\"><small><a href=\"{0}\">{1}</a></small></td>\n" +
+ " <td class=\"row-left\" bgcolor=\"{6}\"><small>{2}</small></td>\n" +
+ " <td class=\"row-center\" bgcolor=\"{6}\"><small>{3}</small></td>\n" +
+ " <td class=\"row-center\" bgcolor=\"{6}\"><small><a href=\"{4}\">{5}</a></small></td>\n";
private static final String MANAGER_APP_ROW_BUTTON_SECTION =
" <td class=\"row-left\" bgcolor=\"{8}\">\n" +
Modified: branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager/StatusTransformer.java
===================================================================
--- branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager/StatusTransformer.java 2011-02-10 14:35:36 UTC (rev 1655)
+++ branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/manager/StatusTransformer.java 2011-02-10 15:07:42 UTC (rev 1656)
@@ -575,7 +575,7 @@
}
writer.print("<a href=\"#" + (count++) + ".0\">");
- writer.print(webModuleName);
+ writer.print(filter(webModuleName));
writer.print("</a>");
if (iterator.hasNext()) {
writer.print("<br>");
@@ -650,7 +650,7 @@
}
writer.print("<h1>");
- writer.print(name);
+ writer.print(filter(name));
writer.print("</h1>");
writer.print("</a>");
@@ -778,11 +778,11 @@
mBeanServer.invoke(objectName, "findMappings", null, null);
writer.print("<h2>");
- writer.print(servletName);
+ writer.print(filter(servletName));
if ((mappings != null) && (mappings.length > 0)) {
writer.print(" [ ");
for (int i = 0; i < mappings.length; i++) {
- writer.print(mappings[i]);
+ writer.print(filter(mappings[i]));
if (i < mappings.length - 1) {
writer.print(" , ");
}
14 years, 1 month
JBossWeb SVN: r1655 - branches/2.1.x/webapps/docs.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2011-02-10 09:35:36 -0500 (Thu, 10 Feb 2011)
New Revision: 1655
Modified:
branches/2.1.x/webapps/docs/changelog.xml
Log:
Add missing entry.
Modified: branches/2.1.x/webapps/docs/changelog.xml
===================================================================
--- branches/2.1.x/webapps/docs/changelog.xml 2011-02-10 14:32:32 UTC (rev 1654)
+++ branches/2.1.x/webapps/docs/changelog.xml 2011-02-10 14:35:36 UTC (rev 1655)
@@ -38,6 +38,13 @@
</fix>
</changelog>
</subsection>
+ <subsection name="General">
+ <changelog>
+ <fix>
+ filter input of manager app servlets. (kkolinko)
+ </fix>
+ </changelog>
+ </subsection>
</section>
<section name="JBoss Web 2.1.10.GA (remm)">
14 years, 1 month
JBossWeb SVN: r1654 - branches/2.1.x/java/org/apache/catalina/manager.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2011-02-10 09:32:32 -0500 (Thu, 10 Feb 2011)
New Revision: 1654
Modified:
branches/2.1.x/java/org/apache/catalina/manager/HTMLManagerServlet.java
branches/2.1.x/java/org/apache/catalina/manager/StatusTransformer.java
Log:
Fix for CVE-2011-0013.
Modified: branches/2.1.x/java/org/apache/catalina/manager/HTMLManagerServlet.java
===================================================================
--- branches/2.1.x/java/org/apache/catalina/manager/HTMLManagerServlet.java 2011-02-10 10:22:18 UTC (rev 1653)
+++ branches/2.1.x/java/org/apache/catalina/manager/HTMLManagerServlet.java 2011-02-10 14:32:32 UTC (rev 1654)
@@ -406,10 +406,11 @@
args = new Object[7];
args[0] = URL_ENCODER.encode(displayPath);
- args[1] = displayPath;
- args[2] = context.getDisplayName();
- if (args[2] == null) {
+ args[1] = RequestUtil.filter(displayPath);
+ if (context.getDisplayName() == null) {
args[2] = " ";
+ } else {
+ args[2] = RequestUtil.filter(context.getDisplayName());
}
args[3] = new Boolean(context.getAvailable());
args[4] = response.encodeURL
Modified: branches/2.1.x/java/org/apache/catalina/manager/StatusTransformer.java
===================================================================
--- branches/2.1.x/java/org/apache/catalina/manager/StatusTransformer.java 2011-02-10 10:22:18 UTC (rev 1653)
+++ branches/2.1.x/java/org/apache/catalina/manager/StatusTransformer.java 2011-02-10 14:32:32 UTC (rev 1654)
@@ -623,7 +623,7 @@
}
writer.print("<a href=\"#" + (count++) + ".0\">");
- writer.print(webModuleName);
+ writer.print(filter(webModuleName));
writer.print("</a>");
writer.print("</dd>");
}
@@ -684,7 +684,7 @@
}
writer.print("<h3>");
- writer.print(name);
+ writer.print(filter(name));
writer.print("</h3>");
writer.print("</a>");
@@ -810,11 +810,11 @@
mBeanServer.invoke(objectName, "findMappings", null, null);
writer.print("<h2>");
- writer.print(servletName);
+ writer.print(filter(servletName));
if ((mappings != null) && (mappings.length > 0)) {
writer.print(" [ ");
for (int i = 0; i < mappings.length; i++) {
- writer.print(mappings[i]);
+ writer.print(filter(mappings[i]));
if (i < mappings.length - 1) {
writer.print(" , ");
}
14 years, 1 month
JBossWeb SVN: r1653 - branches/3.0.x/java/org/apache/catalina/core and 2 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2011-02-10 05:22:18 -0500 (Thu, 10 Feb 2011)
New Revision: 1653
Modified:
branches/2.1.x/java/org/apache/catalina/core/StandardContext.java
branches/3.0.x/java/org/apache/catalina/core/StandardContext.java
branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/core/StandardContext.java
trunk/java/org/apache/catalina/core/StandardContext.java
Log:
- Fix setting the read only attribute, the type was not right.
Modified: branches/2.1.x/java/org/apache/catalina/core/StandardContext.java
===================================================================
--- branches/2.1.x/java/org/apache/catalina/core/StandardContext.java 2011-02-10 09:14:54 UTC (rev 1652)
+++ branches/2.1.x/java/org/apache/catalina/core/StandardContext.java 2011-02-10 10:22:18 UTC (rev 1653)
@@ -5106,10 +5106,9 @@
dir.mkdirs();
// Set the appropriate servlet context attribute
- getServletContext().setAttribute(Globals.WORK_DIR_ATTR, dir);
- if (getServletContext() instanceof ApplicationContext)
- ((ApplicationContext) getServletContext()).setAttributeReadOnly
- (Globals.WORK_DIR_ATTR);
+ getServletContext();
+ context.setAttribute(Globals.WORK_DIR_ATTR, dir);
+ context.setAttributeReadOnly(Globals.WORK_DIR_ATTR);
}
Modified: branches/3.0.x/java/org/apache/catalina/core/StandardContext.java
===================================================================
--- branches/3.0.x/java/org/apache/catalina/core/StandardContext.java 2011-02-10 09:14:54 UTC (rev 1652)
+++ branches/3.0.x/java/org/apache/catalina/core/StandardContext.java 2011-02-10 10:22:18 UTC (rev 1653)
@@ -4451,10 +4451,9 @@
dir.mkdirs();
// Set the appropriate servlet context attribute
- getServletContext().setAttribute(ServletContext.TEMPDIR, dir);
- if (getServletContext() instanceof ApplicationContext)
- ((ApplicationContext) getServletContext()).setAttributeReadOnly
- (ServletContext.TEMPDIR);
+ getServletContext();
+ context.setAttribute(ServletContext.TEMPDIR, dir);
+ context.setAttributeReadOnly(ServletContext.TEMPDIR);
}
Modified: branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/core/StandardContext.java
===================================================================
--- branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/core/StandardContext.java 2011-02-10 09:14:54 UTC (rev 1652)
+++ branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/core/StandardContext.java 2011-02-10 10:22:18 UTC (rev 1653)
@@ -5004,10 +5004,9 @@
dir.mkdirs();
// Set the appropriate servlet context attribute
- getServletContext().setAttribute(Globals.WORK_DIR_ATTR, dir);
- if (getServletContext() instanceof ApplicationContext)
- ((ApplicationContext) getServletContext()).setAttributeReadOnly
- (Globals.WORK_DIR_ATTR);
+ getServletContext();
+ context.setAttribute(Globals.WORK_DIR_ATTR, dir);
+ context.setAttributeReadOnly(Globals.WORK_DIR_ATTR);
}
Modified: trunk/java/org/apache/catalina/core/StandardContext.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardContext.java 2011-02-10 09:14:54 UTC (rev 1652)
+++ trunk/java/org/apache/catalina/core/StandardContext.java 2011-02-10 10:22:18 UTC (rev 1653)
@@ -4451,10 +4451,9 @@
dir.mkdirs();
// Set the appropriate servlet context attribute
- getServletContext().setAttribute(ServletContext.TEMPDIR, dir);
- if (getServletContext() instanceof ApplicationContext)
- ((ApplicationContext) getServletContext()).setAttributeReadOnly
- (ServletContext.TEMPDIR);
+ getServletContext();
+ context.setAttribute(ServletContext.TEMPDIR, dir);
+ context.setAttributeReadOnly(ServletContext.TEMPDIR);
}
14 years, 1 month
JBossWeb SVN: r1652 - trunk/java/org/apache/catalina/util.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2011-02-10 04:14:54 -0500 (Thu, 10 Feb 2011)
New Revision: 1652
Modified:
trunk/java/org/apache/catalina/util/RequestUtil.java
Log:
- Better exception when %xx decoding misses some digits.
Modified: trunk/java/org/apache/catalina/util/RequestUtil.java
===================================================================
--- trunk/java/org/apache/catalina/util/RequestUtil.java 2011-02-10 09:14:07 UTC (rev 1651)
+++ trunk/java/org/apache/catalina/util/RequestUtil.java 2011-02-10 09:14:54 UTC (rev 1652)
@@ -306,6 +306,9 @@
if (b == '+' && isQuery) {
b = (byte)' ';
} else if (b == '%') {
+ if (ix + 2 > len) {
+ throw new IllegalArgumentException("%xx URL decode missing digit");
+ }
b = (byte) ((convertHexDigit(bytes[ix++]) << 4)
+ convertHexDigit(bytes[ix++]));
}
@@ -314,8 +317,8 @@
if (enc != null) {
try {
return new String(bytes, 0, ox, enc);
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (UnsupportedEncodingException e) {
+ return null;
}
}
return new String(bytes, 0, ox);
14 years, 1 month
JBossWeb SVN: r1651 - in trunk: webapps/docs and 1 other directory.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2011-02-10 04:14:07 -0500 (Thu, 10 Feb 2011)
New Revision: 1651
Modified:
trunk/java/org/apache/catalina/connector/Response.java
trunk/webapps/docs/changelog.xml
Log:
- Allow setting content-length when using a writer.
Modified: trunk/java/org/apache/catalina/connector/Response.java
===================================================================
--- trunk/java/org/apache/catalina/connector/Response.java 2011-02-09 15:01:34 UTC (rev 1650)
+++ trunk/java/org/apache/catalina/connector/Response.java 2011-02-10 09:14:07 UTC (rev 1651)
@@ -725,9 +725,6 @@
if (included)
return;
- if (usingWriter)
- return;
-
coyoteResponse.setContentLength(length);
}
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2011-02-09 15:01:34 UTC (rev 1650)
+++ trunk/webapps/docs/changelog.xml 2011-02-10 09:14:07 UTC (rev 1651)
@@ -19,6 +19,10 @@
<section name="JBoss Web 7.0.0.Beta2 (remm)">
<subsection name="Catalina">
<changelog>
+ <fix>
+ <bug>50747</bug>: Allow setting content-length when using a writer, as the previous check
+ was incomplete. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">
14 years, 1 month
JBossWeb SVN: r1650 - branches/2.1.x/java/org/apache/tomcat/util/http.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2011-02-09 10:01:34 -0500 (Wed, 09 Feb 2011)
New Revision: 1650
Modified:
branches/2.1.x/java/org/apache/tomcat/util/http/Cookies.java
Log:
Fix for JBWEB-196 (Fix for JBPAPP-2039.)
Modified: branches/2.1.x/java/org/apache/tomcat/util/http/Cookies.java
===================================================================
--- branches/2.1.x/java/org/apache/tomcat/util/http/Cookies.java 2011-02-09 13:42:49 UTC (rev 1649)
+++ branches/2.1.x/java/org/apache/tomcat/util/http/Cookies.java 2011-02-09 15:01:34 UTC (rev 1650)
@@ -60,14 +60,22 @@
'\t':9 ' ':32 '\"':34 '(':40 ')':41 ',':44 ':':58 ';':59 '<':60
'=':61 '>':62 '?':63 '@':64 '[':91 '\\':92 ']':93 '{':123 '}':125
*/
- public static final char SEPARATORS[] = { '\t', ' ', '\"', '(', ')', ',',
- ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '{', '}' };
+ public static final char SEPARATORS[];
protected static final boolean separators[] = new boolean[128];
static {
for (int i = 0; i < 128; i++) {
separators[i] = false;
}
+ if (Boolean.valueOf(System.getProperty("org.apache.tomcat.util.http.ServerCookie.VERSION_SWITCH", "false")).booleanValue()) {
+ /* Version 1 separators */
+ SEPARATORS = new char[] { '\t', ' ', '\"', '\'', '(', ')', ',',
+ ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '{', '}' };
+ } else {
+ /* Version 0 separators */
+ SEPARATORS = new char[] { ',', ';', ' ', '\t', '='};
+ }
+
for (int i = 0; i < SEPARATORS.length; i++) {
separators[SEPARATORS[i]] = true;
}
14 years, 1 month
JBossWeb SVN: r1649 - sandbox/webapps/src.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2011-02-09 08:42:49 -0500 (Wed, 09 Feb 2011)
New Revision: 1649
Modified:
sandbox/webapps/src/MyCookies.java
Log:
Tell what is wrong!!!
Modified: sandbox/webapps/src/MyCookies.java
===================================================================
--- sandbox/webapps/src/MyCookies.java 2011-02-09 10:45:55 UTC (rev 1648)
+++ sandbox/webapps/src/MyCookies.java 2011-02-09 13:42:49 UTC (rev 1649)
@@ -130,6 +130,7 @@
response.addCookie(cookie);
} catch (Exception ex) {
out.println("Cookie test: " + i + " Failed<br>");
+ out.println(ex + "<br>");
}
}
Cookie cookie = new Cookie("commented", "commented cookie");
14 years, 1 month