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/25 17:45:09 UTC
svn commit: r1681597 - in /lucene/dev/trunk/solr/core/src:
java/org/apache/solr/security/KerberosPlugin.java
test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java
Author: anshum
Date: Mon May 25 15:45:08 2015
New Revision: 1681597
URL: http://svn.apache.org/r1681597
Log:
SOLR-7468: Enabling debug logging for kerberos connections during tests and trying to fix # of jettys (shards)
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java?rev=1681597&r1=1681596&r2=1681597&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/security/KerberosPlugin.java Mon May 25 15:45:08 2015
@@ -56,17 +56,24 @@ public class KerberosPlugin extends Auth
HttpClientConfigurer kerberosConfigurer = new Krb5HttpClientConfigurer();
Filter kerberosFilter = new KerberosFilter();
+ final String NAME_RULES_PARAM = "solr.kerberos.name.rules";
+ final String COOKIE_DOMAIN_PARAM = "solr.kerberos.cookie.domain";
+ final String COOKIE_PATH_PARAM = "solr.kerberos.cookie.path";
+ final String PRINCIPAL_PARAM = "solr.kerberos.principal";
+ final String KEYTAB_PARAM = "solr.kerberos.keytab";
+ final String TOKEN_VALID_PARAM = "solr.kerberos.token.valid";
+
@Override
public void init(Map<String, Object> pluginConfig) {
try {
Map<String, String> params = new HashMap();
params.put("type", "kerberos");
- params.put("kerberos.name.rules", System.getProperty("solr.kerberos.name.rules", "DEFAULT"));
- params.put("token.valid", System.getProperty("solr.kerberos.token.valid", "30"));
- params.put("cookie.domain", System.getProperty("solr.kerberos.cookie.domain"));
- params.put("cookie.path", System.getProperty("solr.kerberos.cookie.path", "/"));
- params.put("kerberos.principal", System.getProperty("solr.kerberos.principal"));
- params.put("kerberos.keytab", System.getProperty("solr.kerberos.keytab"));
+ putParam(params, "kerberos.name.rules", NAME_RULES_PARAM, "DEFAULT");
+ putParam(params, "token.valid", TOKEN_VALID_PARAM, "30");
+ putParam(params, "cookie.domain", COOKIE_DOMAIN_PARAM, null);
+ putParam(params, "cookie.path", COOKIE_PATH_PARAM, "/");
+ putParam(params, "kerberos.principal", PRINCIPAL_PARAM, null);
+ putParam(params, "kerberos.keytab", KEYTAB_PARAM, null);
log.info("Params: "+params);
@@ -98,6 +105,14 @@ public class KerberosPlugin extends Auth
}
}
+ private void putParam(Map<String, String> params, String internalParamName, String externalParamName, String defaultValue) {
+ String value = System.getProperty(externalParamName, defaultValue);
+ if (value==null) {
+ throw new SolrException(ErrorCode.SERVER_ERROR, "Missing required parameter '"+externalParamName+"'.");
+ }
+ params.put(internalParamName, value);
+ }
+
@Override
public void doAuthenticate(ServletRequest req, ServletResponse rsp,
FilterChain chain) throws Exception {
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java?rev=1681597&r1=1681596&r2=1681597&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java Mon May 25 15:45:08 2015
@@ -61,6 +61,10 @@ public class TestSolrCloudWithKerberos e
if (brokenLocales.contains(Locale.getDefault().toString())) {
Locale.setDefault(Locale.US);
}
+ // Use just one jetty
+ this.sliceCount = 0;
+ this.fixShardCount(1);
+
setupMiniKdc();
super.distribSetUp();
//useExternalKdc();
@@ -72,6 +76,8 @@ public class TestSolrCloudWithKerberos e
}
private void setupMiniKdc() throws Exception {
+ System.setProperty("solr.jaas.debug", "true");
+
String kdcDir = createTempDir()+File.separator+"minikdc";
kdc = KerberosTestUtil.getKdc(new File(kdcDir));
File keytabFile = new File(kdcDir, "keytabs");