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>