Author: markt
Date: Wed Jan  6 21:52:24 2016
New Revision: 1723414

URL: http://svn.apache.org/viewvc?rev=1723414&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58809
Correctly recycle the cookies when mapping requests for parallel deployment

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
    tomcat/trunk/java/org/apache/catalina/connector/Request.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1723414&r1=1723413&r2=1723414&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Wed Jan  
6 21:52:24 2016
@@ -719,8 +719,8 @@ public class CoyoteAdapter implements Ad
                                 // Recycle cookies and session info in case the
                                 // correct context is configured with different
                                 // settings
-                                req.getCookies().recycle();
                                 request.recycleSessionInfo();
+                                request.recycleCookieInfo(true);
                             }
                             break;
                         }

Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1723414&r1=1723413&r2=1723414&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed Jan  6 
21:52:24 2016
@@ -452,8 +452,6 @@ public class Request implements HttpServ
             parts = null;
         }
         partsParseException = null;
-        cookiesParsed = false;
-        cookiesConverted = false;
         locales.clear();
         localesParsed = false;
         secure = false;
@@ -467,9 +465,9 @@ public class Request implements HttpServ
         attributes.clear();
         sslAttributesParsed = false;
         notes.clear();
-        cookies = null;
 
         recycleSessionInfo();
+        recycleCookieInfo(false);
 
         if (Globals.IS_SECURITY_ENABLED || Connector.RECYCLE_FACADES) {
             parameterMap = new ParameterMap<>();
@@ -520,6 +518,16 @@ public class Request implements HttpServ
     }
 
 
+    protected void recycleCookieInfo(boolean recycleCoyote) {
+        cookiesParsed = false;
+        cookiesConverted = false;
+        cookies = null;
+        if (recycleCoyote) {
+            getCoyoteRequest().getCookies().recycle();
+        }
+    }
+
+
     // -------------------------------------------------------- Request Methods
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to