- Fix a lost reference problem when using Comet with a security manager.
authorremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 29 Jun 2007 12:35:04 +0000 (12:35 +0000)
committerremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 29 Jun 2007 12:35:04 +0000 (12:35 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@551870 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/core/ApplicationFilterFactory.java

index 212a173..f0bfef5 100644 (file)
@@ -123,9 +123,13 @@ public final class ApplicationFilterFactory {
         ApplicationFilterChain filterChain = null;
         if (request instanceof Request) {
             Request req = (Request) request;
+            comet = req.isComet();
             if (Globals.IS_SECURITY_ENABLED) {
                 // Security: Do not recycle
                 filterChain = new ApplicationFilterChain();
+                if (comet) {
+                    req.setFilterChain(filterChain);
+                }
             } else {
                 filterChain = (ApplicationFilterChain) req.getFilterChain();
                 if (filterChain == null) {
@@ -133,7 +137,6 @@ public final class ApplicationFilterFactory {
                     req.setFilterChain(filterChain);
                 }
             }
-            comet = req.isComet();
         } else {
             // Request dispatcher in use
             filterChain = new ApplicationFilterChain();