You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by an...@apache.org on 2015/09/16 21:05:14 UTC

svn commit: r1703447 - in /lucene/dev/branches/lucene_solr_5_3: ./ solr/ solr/core/ solr/core/src/java/org/apache/solr/client/solrj/embedded/ solr/core/src/java/org/apache/solr/servlet/ solr/core/src/test/org/apache/solr/cloud/ solr/webapp/ solr/webapp...

Author: anshum
Date: Wed Sep 16 19:05:12 2015
New Revision: 1703447

URL: http://svn.apache.org/r1703447
Log:
SOLR-8058: Fix the exclusion filter so that collections that start with js, css, img, tpl can be accessed.(merge from branch_5x)

Added:
    lucene/dev/branches/lucene_solr_5_3/solr/core/src/test/org/apache/solr/cloud/TestExclusionRuleCollectionAccess.java
      - copied unchanged from r1703445, lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestExclusionRuleCollectionAccess.java
Modified:
    lucene/dev/branches/lucene_solr_5_3/   (props changed)
    lucene/dev/branches/lucene_solr_5_3/solr/   (props changed)
    lucene/dev/branches/lucene_solr_5_3/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/lucene_solr_5_3/solr/core/   (props changed)
    lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
    lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
    lucene/dev/branches/lucene_solr_5_3/solr/webapp/   (props changed)
    lucene/dev/branches/lucene_solr_5_3/solr/webapp/web/WEB-INF/web.xml

Modified: lucene/dev/branches/lucene_solr_5_3/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_5_3/solr/CHANGES.txt?rev=1703447&r1=1703446&r2=1703447&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_5_3/solr/CHANGES.txt (original)
+++ lucene/dev/branches/lucene_solr_5_3/solr/CHANGES.txt Wed Sep 16 19:05:12 2015
@@ -34,6 +34,9 @@ Bug Fixes
 * SOLR-8041: Fix VelocityResponseWriter's $resource.get(key,baseName,locale) to use specified locale.
   (Erik Hatcher)
 
+* SOLR-8058: Fix the exclusion filter so that collections that start with js, css, img, tpl
+  can be accessed. (Upayavira, Steve Rowe, Anshum Gupta)
+
 ==================  5.3.0 ==================
 
 Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release

Modified: lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java?rev=1703447&r1=1703446&r2=1703447&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java (original)
+++ lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java Wed Sep 16 19:05:12 2015
@@ -28,6 +28,7 @@ import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.SslConnectionFactory;
 import org.eclipse.jetty.server.session.HashSessionIdManager;
+import org.eclipse.jetty.servlet.BaseHolder;
 import org.eclipse.jetty.servlet.FilterHolder;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
@@ -85,6 +86,8 @@ public class JettySolrRunner {
   private volatile boolean startedBefore = false;
 
   private LinkedList<FilterHolder> extraFilters;
+
+  private static final String excludePatterns = "/css/.+,/js/.+,/img/.+,/tpl/.+";
   
   private int proxyPort = -1;
 
@@ -333,9 +336,10 @@ public class JettySolrRunner {
           String pathSpec = config.extraServlets.get(servletHolder);
           root.addServlet(servletHolder, pathSpec);
         }
-
-        dispatchFilter = root.addFilter(SolrDispatchFilter.class, "*", EnumSet.of(DispatcherType.REQUEST) );
-
+        dispatchFilter = root.getServletHandler().newFilterHolder(BaseHolder.Source.EMBEDDED);
+        dispatchFilter.setHeldClass(SolrDispatchFilter.class);
+        dispatchFilter.setInitParameter("excludePatterns", excludePatterns);
+        root.addFilter(dispatchFilter, "*", EnumSet.of(DispatcherType.REQUEST));
       }
 
       @Override

Modified: lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java?rev=1703447&r1=1703446&r2=1703447&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java (original)
+++ lucene/dev/branches/lucene_solr_5_3/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java Wed Sep 16 19:05:12 2015
@@ -195,9 +195,13 @@ public class SolrDispatchFilter extends
 
     // No need to even create the HttpSolrCall object if this path is excluded.
     if(excludePatterns != null) {
-      String servletPath = ((HttpServletRequest) request).getServletPath();
+      String requestPath = ((HttpServletRequest) request).getServletPath();
+      String extraPath = ((HttpServletRequest)request).getPathInfo();
+      if (extraPath != null) { // In embedded mode, servlet path is empty - include all post-context path here for testing 
+        requestPath += extraPath;
+      }
       for (Pattern p : excludePatterns) {
-        Matcher matcher = p.matcher(servletPath);
+        Matcher matcher = p.matcher(requestPath);
         if (matcher.lookingAt()) {
           chain.doFilter(request, response);
           return;

Modified: lucene/dev/branches/lucene_solr_5_3/solr/webapp/web/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_5_3/solr/webapp/web/WEB-INF/web.xml?rev=1703447&r1=1703446&r2=1703447&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_5_3/solr/webapp/web/WEB-INF/web.xml (original)
+++ lucene/dev/branches/lucene_solr_5_3/solr/webapp/web/WEB-INF/web.xml Wed Sep 16 19:05:12 2015
@@ -56,7 +56,7 @@
     -->
     <init-param>
       <param-name>excludePatterns</param-name>
-      <param-value>/css/*,/js/*,/img/*,/tpl/*</param-value>
+      <param-value>/css/.+,/js/.+,/img/.+,/tpl/.+</param-value>
     </init-param>
   </filter>