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/05/21 19:21:44 UTC
svn commit: r1680931 - in
/lucene/dev/trunk/solr/core/src/java/org/apache/solr:
handler/component/HttpShardHandlerFactory.java servlet/HttpSolrCall.java
servlet/SolrDispatchFilter.java update/UpdateShardHandler.java
Author: anshum
Date: Thu May 21 17:21:44 2015
New Revision: 1680931
URL: http://svn.apache.org/r1680931
Log:
SOLR-7274: Stop forwarding Authorization, Host, and Accept headers for SPNego to work. Also fixed an exception forwarding from SDF and reconfigure SDF's httpClient after authentication has been initialized.
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java?rev=1680931&r1=1680930&r2=1680931&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java Thu May 21 17:21:44 2015
@@ -194,9 +194,7 @@ public class HttpShardHandlerFactory ext
*/
public void reconfigureHttpClient(HttpClientConfigurer configurer) {
log.info("Reconfiguring the default client with: " + configurer);
- synchronized (this.defaultClient) {
- configurer.configure((DefaultHttpClient)this.defaultClient, getClientParams());
- }
+ configurer.configure((DefaultHttpClient)this.defaultClient, getClientParams());
}
protected ThreadPoolExecutor getThreadPoolExecutor(){
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java?rev=1680931&r1=1680930&r2=1680931&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java Thu May 21 17:21:44 2015
@@ -511,7 +511,11 @@ public class HttpSolrCall {
for (Enumeration<String> e = req.getHeaderNames(); e.hasMoreElements(); ) {
String headerName = e.nextElement();
- method.addHeader(headerName, req.getHeader(headerName));
+ if (!"host".equalsIgnoreCase(headerName)
+ && !"authorization".equalsIgnoreCase(headerName)
+ && !"accept".equalsIgnoreCase(headerName)) {
+ method.addHeader(headerName, req.getHeader(headerName));
+ }
}
// These headers not supported for HttpEntityEnclosingRequests
if (method instanceof HttpEntityEnclosingRequest) {
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java?rev=1680931&r1=1680930&r2=1680931&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java Thu May 21 17:21:44 2015
@@ -24,6 +24,7 @@ import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.ArrayList;
@@ -36,6 +37,8 @@ import java.util.regex.Pattern;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.solr.client.solrj.impl.HttpClientConfigurer;
import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
@@ -106,6 +109,13 @@ public class SolrDispatchFilter extends
this.cores = createCoreContainer(solrHome, extraProperties);
+ if (this.cores.getAuthenticationPlugin() != null) {
+ HttpClientConfigurer configurer = this.cores.getAuthenticationPlugin().getDefaultConfigurer();
+ if (configurer != null) {
+ configurer.configure((DefaultHttpClient)httpClient, new ModifiableSolrParams());
+ }
+ }
+
log.info("user.dir=" + System.getProperty("user.dir"));
}
catch( Throwable t ) {
@@ -248,7 +258,7 @@ public class SolrDispatchFilter extends
});
} catch (Exception e) {
e.printStackTrace();
- throw new SolrException(ErrorCode.SERVER_ERROR, "Error during request authentication, "+e);
+ throw new SolrException(ErrorCode.SERVER_ERROR, "Error during request authentication, ", e);
}
}
// failed authentication?
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java?rev=1680931&r1=1680930&r2=1680931&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java Thu May 21 17:21:44 2015
@@ -90,9 +90,7 @@ public class UpdateShardHandler {
public void reconfigureHttpClient(HttpClientConfigurer configurer) {
log.info("Reconfiguring the default client with: " + configurer);
- synchronized (client) {
- configurer.configure((DefaultHttpClient)client, getClientParams());
- }
+ configurer.configure((DefaultHttpClient)client, getClientParams());
}
public ClientConnectionManager getConnectionManager() {