You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ha...@apache.org on 2015/07/10 12:14:47 UTC
directory-kerby git commit: DIRKRB-324 Removing Page and Sort Search
in the backend. Contributed by Yaning
Repository: directory-kerby
Updated Branches:
refs/heads/master 95411e1e5 -> 2294f4fe2
DIRKRB-324 Removing Page and Sort Search in the backend. Contributed by Yaning
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/2294f4fe
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/2294f4fe
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/2294f4fe
Branch: refs/heads/master
Commit: 2294f4fe2ae9de1dd53718a128de52c34190ea83
Parents: 95411e1
Author: Lin <li...@foxmail.com>
Authored: Fri Jul 10 18:12:49 2015 +0800
Committer: Lin <li...@foxmail.com>
Committed: Fri Jul 10 18:12:49 2015 +0800
----------------------------------------------------------------------
README.md | 2 +-
.../identitybackend/JsonIdentityBackend.java | 22 ++---
.../identitybackend/LdapIdentityBackend.java | 91 +++++++++-----------
.../java/org/apache/kerby/MavibotBackend.java | 14 ++-
.../org/apache/kerby/MavibotBackendTest.java | 8 +-
.../ZookeeperIdentityBackend.java | 40 ++++-----
.../kerby/kerberos/kerb/admin/Kadmin.java | 13 ++-
.../kerb/identity/backend/BackendTest.java | 22 +++--
.../kerb/identity/CacheableIdentityService.java | 5 +-
.../kerberos/kerb/identity/IdentityService.java | 6 +-
.../backend/AbstractIdentityBackend.java | 8 +-
.../identity/backend/MemoryIdentityBackend.java | 13 +--
kerby-kerb/kerb-server/README.md | 2 +-
pom.xml | 16 +---
14 files changed, 111 insertions(+), 151 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index f7a1f8b..55dcd40 100644
--- a/README.md
+++ b/README.md
@@ -87,7 +87,7 @@ A standalone KDC server that can integrate various identity back ends including:
### Tools
- kadmin:
- - Command-line interfaces to the Kerby administration system.
+ -Command-line interfaces to the Kerby administration system.
- kinit:
- Obtains and caches an initial ticket-granting ticket for principal.
- klist:
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java b/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
index f412feb..166db1f 100644
--- a/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
+++ b/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
@@ -1,4 +1,4 @@
-package org.apache.kerby.kerberos.kdc.identitybackend; /**
+/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -17,6 +17,7 @@ package org.apache.kerby.kerberos.kdc.identitybackend; /**
* under the License.
*
*/
+package org.apache.kerby.kerberos.kdc.identitybackend;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -148,7 +149,7 @@ public class JsonIdentityBackend extends AbstractIdentityBackend {
ids.put(identity.getPrincipalName(), identity);
idsToFile(ids);
- return identity;
+ return doGetIdentity(identity.getPrincipalName());
}
/**
@@ -163,7 +164,7 @@ public class JsonIdentityBackend extends AbstractIdentityBackend {
throw new RuntimeException("Principal does not exist.");
}
idsToFile(ids);
- return identity;
+ return doGetIdentity(identity.getPrincipalName());
}
/**
@@ -184,20 +185,7 @@ public class JsonIdentityBackend extends AbstractIdentityBackend {
* {@inheritDoc}
*/
@Override
- protected List<String> doGetIdentities(int start, int limit) throws KrbException {
- List<String> principals = getIdentities();
-
- if (limit == -1) {
- return principals;
- }
-
- return getIdentities().subList(start, start + limit);
- }
-
- /**
- * Get all principal names from the backend
- */
- private List<String> getIdentities() {
+ protected Iterable<String> doGetIdentities() throws KrbException {
List<String> principals = new ArrayList<>(ids.keySet());
Collections.sort(principals);
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java b/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
index 4fbf57d..f7bccab 100644
--- a/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
+++ b/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
@@ -141,41 +141,6 @@ public class LdapIdentityBackend extends AbstractIdentityBackend {
}
/**
- * An inner class, used to encapsulate key information
- */
- class KeysInfo {
- private String[] etypes;
- private byte[][] keys;
- private String[] kvnos;
-
- public KeysInfo(KrbIdentity identity) {
- Map<EncryptionType, EncryptionKey> keymap = identity.getKeys();
- this.etypes = new String[keymap.size()];
- this.keys = new byte[keymap.size()][];
- this.kvnos = new String[keymap.size()];
- int i = 0;
- for (Map.Entry<EncryptionType, EncryptionKey> entryKey : keymap.entrySet()) {
- etypes[i] = entryKey.getKey().getValue() + "";
- keys[i] = entryKey.getValue().encode();
- kvnos[i] = entryKey.getValue().getKvno() + "";
- i++;
- }
- }
-
- public String[] getEtypes() {
- return etypes;
- }
-
- public byte[][] getKeys() {
- return keys;
- }
-
- public String[] getKvnos() {
- return kvnos;
- }
- }
-
- /**
* {@inheritDoc}
*/
@Override
@@ -211,7 +176,7 @@ public class LdapIdentityBackend extends AbstractIdentityBackend {
} catch (LdapException e) {
throw new KrbException("Failed to add identity", e);
}
- return identity;
+ return getIdentity(principalName);
}
/**
@@ -275,7 +240,7 @@ public class LdapIdentityBackend extends AbstractIdentityBackend {
throw new KrbException("Failed to update identity", e);
}
- return identity;
+ return getIdentity(principalName);
}
/**
@@ -308,25 +273,12 @@ public class LdapIdentityBackend extends AbstractIdentityBackend {
* {@inheritDoc}
*/
@Override
- protected List<String> doGetIdentities(int start, int limit) {
- List<String> identities = getIdentities();
-
- if (limit == -1) {
- return identities;
- }
-
- return getIdentities().subList(start, start + limit);
- }
-
- /**
- * Get all principal names from the ldap server, invoked by getIdentities(int start, int limit)
- */
- private List<String> getIdentities() {
+ protected Iterable<String> doGetIdentities() {
List<String> identityNames = new ArrayList<>();
EntryCursor cursor;
Entry entry;
try {
- cursor = connection.search(getConfig().getString("base_dn"),
+ cursor = connection.search(getConfig().getString("base_dn"),
"(objectclass=*)", SearchScope.ONELEVEL, KerberosAttribute.KRB5_PRINCIPAL_NAME_AT);
if (cursor == null) {
return null;
@@ -344,4 +296,39 @@ public class LdapIdentityBackend extends AbstractIdentityBackend {
}
return identityNames;
}
+
+ /**
+ * An inner class, used to encapsulate key information
+ */
+ class KeysInfo {
+ private String[] etypes;
+ private byte[][] keys;
+ private String[] kvnos;
+
+ public KeysInfo(KrbIdentity identity) {
+ Map<EncryptionType, EncryptionKey> keymap = identity.getKeys();
+ this.etypes = new String[keymap.size()];
+ this.keys = new byte[keymap.size()][];
+ this.kvnos = new String[keymap.size()];
+ int i = 0;
+ for (Map.Entry<EncryptionType, EncryptionKey> entryKey : keymap.entrySet()) {
+ etypes[i] = entryKey.getKey().getValue() + "";
+ keys[i] = entryKey.getValue().encode();
+ kvnos[i] = entryKey.getValue().getKvno() + "";
+ i++;
+ }
+ }
+
+ public String[] getEtypes() {
+ return etypes;
+ }
+
+ public byte[][] getKeys() {
+ return keys;
+ }
+
+ public String[] getKvnos() {
+ return kvnos;
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java b/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java
index 45ece90..941b734 100644
--- a/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java
+++ b/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java
@@ -45,19 +45,15 @@ import java.util.List;
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
public class MavibotBackend extends AbstractIdentityBackend {
- //The RecordManager of Mavibot
- private RecordManager rm;
-
- //The BTree holding all data
- private BTree<String, KrbIdentity> database;
-
//Name of the database
private static final String DATA_TREE = "kerby-data";
-
// Name of the database file
private static final String DATABASE_NAME = "kerby-data.db";
-
private static final Logger LOG = LoggerFactory.getLogger(MavibotBackend.class);
+ //The RecordManager of Mavibot
+ private RecordManager rm;
+ //The BTree holding all data
+ private BTree<String, KrbIdentity> database;
/**
* Creates a new instance of MavibotBackend.
@@ -104,7 +100,7 @@ public class MavibotBackend extends AbstractIdentityBackend {
* {@inheritDoc}
*/
@Override
- protected List<String> doGetIdentities(int start, int limit) throws KrbException {
+ protected Iterable<String> doGetIdentities() throws KrbException {
List<String> keys = new ArrayList<String>();
KeyCursor<String> cursor = null;
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java b/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java
index 60d365a..cd81cf9 100644
--- a/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java
+++ b/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java
@@ -29,6 +29,8 @@ import org.junit.BeforeClass;
import org.junit.rules.TemporaryFolder;
import java.io.File;
+import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@@ -68,7 +70,11 @@ public class MavibotBackendTest extends BackendTestBase {
// clear the identity cache.
backend.release();
- List<String> principals = backend.getIdentities(0, 0);
+ List<String> principals = new LinkedList<>();
+ Iterator<String> iterator = backend.getIdentities().iterator();
+ while (iterator.hasNext()) {
+ principals.add(iterator.next());
+ }
assertThat(principals).hasSize(identities.length);
for (KrbIdentity entry : identities) {
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
index 26dc933..ef4020f 100644
--- a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
+++ b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
@@ -44,25 +44,18 @@ import java.util.Properties;
* cluster for replication and reliability.
*/
public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
+ private static Thread zookeeperThread;
+ private final ZooKeeperServerMain zooKeeperServer = new ZooKeeperServerMain();
private String zkHost;
private int zkPort;
private File dataFile;
private File dataLogFile;
private ZooKeeper zooKeeper;
- private final ZooKeeperServerMain zooKeeperServer = new ZooKeeperServerMain();
- private static Thread zookeeperThread;
public ZookeeperIdentityBackend() {
}
- class MyWatcher implements Watcher {
- @Override
- public void process(WatchedEvent event) {
- ZookeeperIdentityBackend.this.process(event);
- }
- }
-
/**
* Constructing an instance using specified config that contains anything
* to be used to init the Zookeeper backend.
@@ -198,7 +191,7 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
} catch (KeeperException e) {
throw new KrbException("Fail to get identity from zookeeper", e);
}
-
+
return krb;
}
@@ -215,7 +208,7 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
} catch (KeeperException e) {
throw new KrbException("Fail to add identity to zookeeper", e);
}
- return identity;
+ return doGetIdentity(identity.getPrincipalName());
}
/**
@@ -231,7 +224,7 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
} catch (KeeperException e) {
throw new KrbException("Fail to update identity in zookeeper", e);
}
- return identity;
+ return doGetIdentity(identity.getPrincipalName());
}
/**
@@ -255,28 +248,20 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
* {@inheritDoc}
*/
@Override
- protected List<String> doGetIdentities(int start, int limit) throws KrbException {
- if (limit == -1) {
- return getIdentities();
- }
+ protected Iterable<String> doGetIdentities() throws KrbException {
+ List<String> identityNames;
- return getIdentities().subList(start, start + limit);
- }
-
- /**
- * Get all of the identity names
- */
- private List<String> getIdentities() throws KrbException {
- List<String> identityNames = null;
try {
// The identities getting from zookeeper is unordered
identityNames = IdentityZNodeHelper.getIdentityNames(zooKeeper);
} catch (KeeperException e) {
throw new KrbException("Fail to get identities from zookeeper", e);
}
+
if (identityNames == null || identityNames.isEmpty()) {
return null;
}
+
List<String> newIdentities = new ArrayList<>(identityNames.size());
for (String name : identityNames) {
if (name.contains("\\")) {
@@ -318,4 +303,11 @@ public class ZookeeperIdentityBackend extends AbstractIdentityBackend {
}
return name;
}
+
+ class MyWatcher implements Watcher {
+ @Override
+ public void process(WatchedEvent event) {
+ ZookeeperIdentityBackend.this.process(event);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java
index 7d606e4..15efd55 100644
--- a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java
+++ b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/Kadmin.java
@@ -34,6 +34,8 @@ import org.apache.kerby.kerberos.kerb.spec.base.EncryptionKey;
import org.apache.kerby.kerberos.kerb.spec.base.PrincipalName;
import java.io.File;
+import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
/**
@@ -170,7 +172,7 @@ public class Kadmin {
public void exportKeytab(File keytabFile) throws KrbException {
Keytab keytab = AdminHelper.createOrLoadKeytab(keytabFile);
- List<String> principals = backend.getIdentities(0, -1);
+ Iterable<String> principals = backend.getIdentities();
for (String principal : principals) {
KrbIdentity identity = backend.getIdentity(principal);
if (identity != null) {
@@ -243,8 +245,13 @@ public class Kadmin {
}
public List<String> getPrincipals() throws KrbException {
- List<String> principalNames = backend.getIdentities(0, -1);
- return principalNames;
+ Iterable<String> principalNames = backend.getIdentities();
+ List<String> principalList = new LinkedList<>();
+ Iterator<String> iterator = principalNames.iterator();
+ while (iterator.hasNext()) {
+ principalList.add(iterator.next());
+ }
+ return principalList;
}
public void updatePassword(String principal, String password)
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java b/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
index 9def639..dd3c2b6 100644
--- a/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
+++ b/kerby-kerb/kerb-identity-test/src/test/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
@@ -27,6 +27,8 @@ import org.apache.kerby.kerberos.kerb.spec.base.EncryptionKey;
import org.apache.kerby.kerberos.kerb.spec.base.EncryptionType;
import java.util.Arrays;
+import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
@@ -117,8 +119,15 @@ public abstract class BackendTest {
// clear the identity cache.
backend.release();
- List<String> principals = backend.getIdentities(2, 3);
- assertThat(principals).hasSize(3)
+ Iterable<String> principals = backend.getIdentities();
+ Iterator<String> iterator = principals.iterator();
+ List<String> principalList = new LinkedList<>();
+ while (iterator.hasNext()) {
+ principalList.add(iterator.next());
+ }
+ assertThat(principalList).hasSize(identities.length)
+ .contains(identities[0].getPrincipalName())
+ .contains(identities[1].getPrincipalName())
.contains(identities[2].getPrincipalName())
.contains(identities[3].getPrincipalName())
.contains(identities[4].getPrincipalName());
@@ -165,11 +174,10 @@ public abstract class BackendTest {
}
protected void cleanIdentities(IdentityBackend backend) throws KrbException {
- List<String> identities = backend.getIdentities(0, -1);
- if (identities != null) {
- for (String identity : identities) {
- backend.deleteIdentity(identity);
- }
+ Iterable<String> identities = backend.getIdentities();
+ Iterator<String> iterator = identities.iterator();
+ while (iterator.hasNext()) {
+ backend.deleteIdentity(iterator.next());
}
}
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java
index 01f1c21..a9c59a1 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java
@@ -24,7 +24,6 @@ import org.apache.kerby.config.Configured;
import org.apache.kerby.kerberos.kerb.KrbException;
import java.util.LinkedHashMap;
-import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -67,8 +66,8 @@ public class CacheableIdentityService
* {@inheritDoc}
*/
@Override
- public List<String> getIdentities(int start, int limit) throws KrbException {
- return underlying.getIdentities(start, limit);
+ public Iterable<String> getIdentities() throws KrbException {
+ return underlying.getIdentities();
}
/**
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
index 1b3ee0f..a18b316 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
@@ -21,19 +21,17 @@ package org.apache.kerby.kerberos.kerb.identity;
import org.apache.kerby.kerberos.kerb.KrbException;
-import java.util.List;
-
/**
* Identity service for KDC backend to create, get and manage principal accounts.
*/
public interface IdentityService {
/**
- * Get the identity principal names, from start offset, with count of limit.
+ * Get all of the identity principal names.
* Note it's ordered by principal name.
* @return principal names
*/
- List<String> getIdentities(int start, int limit) throws KrbException;
+ Iterable<String> getIdentities() throws KrbException;
/**
* Get the identity account specified by name.
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java
index b246ff7..1918bb4 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java
@@ -25,8 +25,6 @@ import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.List;
-
/**
* An abstract identity backend that provides default behaviors and a cache
* with FIFO and size limit. Note only limited recently active identities are
@@ -100,15 +98,15 @@ public abstract class AbstractIdentityBackend
* {@inheritDoc}
*/
@Override
- public List<String> getIdentities(int start, int limit) throws KrbException {
+ public Iterable<String> getIdentities() throws KrbException {
logger.debug("getIdentities called");
- return doGetIdentities(start, limit);
+ return doGetIdentities();
}
/**
* Perform the real work to get identities.
*/
- protected abstract List<String> doGetIdentities(int start, int limit) throws KrbException;
+ protected abstract Iterable<String> doGetIdentities() throws KrbException;
/**
* {@inheritDoc}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
index 4aca77c..c94a51d 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
@@ -87,18 +87,7 @@ public class MemoryIdentityBackend extends AbstractIdentityBackend {
* {@inheritDoc}
*/
@Override
- protected List<String> doGetIdentities(int start, int limit) throws KrbException {
- List<String> identities = getIdentities();
- if (limit == -1 || start + limit > identities.size()) {
- return identities;
- }
- return identities.subList(start, start + limit);
- }
-
- /**
- * Get all of the identity names
- */
- private List<String> getIdentities() {
+ protected Iterable<String> doGetIdentities() throws KrbException {
List<String> identities = new ArrayList<>(storage.keySet());
Collections.sort(identities);
return identities;
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/kerby-kerb/kerb-server/README.md
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/README.md b/kerby-kerb/kerb-server/README.md
index 9e1c4ca..9f68b36 100644
--- a/kerby-kerb/kerb-server/README.md
+++ b/kerby-kerb/kerb-server/README.md
@@ -46,7 +46,7 @@ setInnerKdcImpl(innerKdcImpl);
</pre>
### Stop kdc server
-* Stop kdc server.
+* Start kdc server.
<pre>
stop();
</pre>
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/2294f4fe/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a6a3327..f292cc3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -219,17 +219,8 @@
<configLocation>${checkstyle.dir}/kerby-checkstyle.xml</configLocation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<encoding>UTF-8</encoding>
- <failOnViolation>true</failOnViolation>
+ <failOnViolation>false</failOnViolation>
</configuration>
- <executions>
- <execution>
- <id>validate</id>
- <phase>validate</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
</plugin>
</plugins>
@@ -284,7 +275,7 @@
</properties>
</profile>
<profile>
- <id>activate-checkstyle-in-module</id>
+ <id>activate-in-module</id>
<activation>
<file>
<exists>${basedir}/../docs/kerby-checkstyle.xml</exists>
@@ -295,7 +286,7 @@
</properties>
</profile>
<profile>
- <id>activate-checkstyle-in-submodule</id>
+ <id>activate-in-submodule</id>
<activation>
<file>
<exists>${basedir}/../../docs/kerby-checkstyle.xml</exists>
@@ -305,6 +296,7 @@
<checkstyle.dir>${basedir}/../../docs</checkstyle.dir>
</properties>
</profile>
+
<profile>
<id>activate-checkstyle-supression</id>
<activation>