You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ze...@apache.org on 2018/01/17 02:34:45 UTC
directory-kerby git commit: DIRKRB-686 Some refactor work for MySQL
backend.
Repository: directory-kerby
Updated Branches:
refs/heads/trunk 11089e869 -> a8a284d9c
DIRKRB-686 Some refactor work for MySQL backend.
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/a8a284d9
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/a8a284d9
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/a8a284d9
Branch: refs/heads/trunk
Commit: a8a284d9c77b4eead0d4d1b83aee6312c14a2c7a
Parents: 11089e8
Author: zenglinx <fr...@intel.com>
Authored: Wed Jan 17 10:34:12 2018 +0800
Committer: zenglinx <fr...@intel.com>
Committed: Wed Jan 17 10:34:12 2018 +0800
----------------------------------------------------------------------
kerby-backend/mysql-backend/pom.xml | 11 ------
.../identitybackend/MySQLIdentityBackend.java | 41 +++++---------------
kerby-dist/kdc-dist/pom.xml | 15 +++----
3 files changed, 17 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/a8a284d9/kerby-backend/mysql-backend/pom.xml
----------------------------------------------------------------------
diff --git a/kerby-backend/mysql-backend/pom.xml b/kerby-backend/mysql-backend/pom.xml
index d24335a..ad5a288 100644
--- a/kerby-backend/mysql-backend/pom.xml
+++ b/kerby-backend/mysql-backend/pom.xml
@@ -27,11 +27,6 @@
<dependencies>
<dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-core-api</artifactId>
- <version>2.0.0-M23</version>
- </dependency>
- <dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.6</version>
@@ -62,12 +57,6 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.196</version>
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/a8a284d9/kerby-backend/mysql-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/MySQLIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mysql-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/MySQLIdentityBackend.java b/kerby-backend/mysql-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/MySQLIdentityBackend.java
index 32ede90..48c698e 100644
--- a/kerby-backend/mysql-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/MySQLIdentityBackend.java
+++ b/kerby-backend/mysql-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/MySQLIdentityBackend.java
@@ -20,7 +20,6 @@
package org.apache.kerby.kerberos.kdc.identitybackend;
import org.apache.commons.dbutils.DbUtils;
-import org.apache.directory.api.util.GeneralizedTime;
import org.apache.kerby.config.Config;
import org.apache.kerby.kerberos.kerb.KrbException;
import org.apache.kerby.kerberos.kerb.identity.backend.AbstractIdentityBackend;
@@ -36,7 +35,6 @@ import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -51,9 +49,9 @@ public class MySQLIdentityBackend extends AbstractIdentityBackend {
private String url;
private String user;
private String password;
- private static final Logger LOG = LoggerFactory.getLogger(MySQLIdentityBackend.class);
private String identityTable;
private String keyInfoTable;
+ private static final Logger LOG = LoggerFactory.getLogger(MySQLIdentityBackend.class);
/**
* Constructing an instance using specified config that contains anything
@@ -136,8 +134,8 @@ public class MySQLIdentityBackend extends AbstractIdentityBackend {
+ " (principal varchar(255) NOT NULL, key_version INTEGER "
+ "DEFAULT 1, kdc_flags INTEGER DEFAULT 0, disabled bool "
+ "DEFAULT NULL, locked bool DEFAULT NULL, created_time "
- + "VARCHAR(255) DEFAULT NULL, expire_time VARCHAR(255) "
- + "DEFAULT NULL, PRIMARY KEY (principal) ) ENGINE=INNODB "
+ + "BIGINT DEFAULT 0, expire_time BIGINT DEFAULT 0, "
+ + "PRIMARY KEY (principal) ) ENGINE=INNODB "
+ "DEFAULT CHARSET=utf8;";
preIdentity = connection.prepareStatement(stmIdentity);
preIdentity.executeUpdate();
@@ -194,15 +192,6 @@ public class MySQLIdentityBackend extends AbstractIdentityBackend {
}
/**
- * Convert a KerberosTime type object to a generalized time form of String.
- * @param kerberosTime The kerberos time to convert
- */
- private String toGeneralizedTime(final KerberosTime kerberosTime) {
- GeneralizedTime generalizedTime = new GeneralizedTime(kerberosTime.getValue());
- return generalizedTime.toString();
- }
-
- /**
* {@inheritDoc}
*/
@Override
@@ -212,8 +201,8 @@ public class MySQLIdentityBackend extends AbstractIdentityBackend {
int kdcFlags = identity.getKdcFlags();
boolean disabled = identity.isDisabled();
boolean locked = identity.isLocked();
- String createdTime = toGeneralizedTime(identity.getCreatedTime());
- String expireTime = toGeneralizedTime(identity.getExpireTime());
+ long createdTime = identity.getCreatedTime().getTime();
+ long expireTime = identity.getExpireTime().getTime();
Map<EncryptionType, EncryptionKey> keys = identity.getKeys();
PreparedStatement preIdentity = null;
@@ -239,8 +228,8 @@ public class MySQLIdentityBackend extends AbstractIdentityBackend {
preIdentity.setInt(3, kdcFlags);
preIdentity.setBoolean(4, disabled);
preIdentity.setBoolean(5, locked);
- preIdentity.setString(6, createdTime);
- preIdentity.setString(7, expireTime);
+ preIdentity.setLong(6, createdTime);
+ preIdentity.setLong(7, expireTime);
preIdentity.executeUpdate();
// Insert keys to key table
@@ -275,16 +264,6 @@ public class MySQLIdentityBackend extends AbstractIdentityBackend {
}
/**
- * Create kerberos time.
- * @param generalizedTime generalized time
- * @throws ParseException parse exception
- */
- private KerberosTime createKerberosTime(final String generalizedTime) throws ParseException {
- long time = new GeneralizedTime(generalizedTime).getTime();
- return new KerberosTime(time);
- }
-
- /**
* {@inheritDoc}
*/
@Override
@@ -313,8 +292,8 @@ public class MySQLIdentityBackend extends AbstractIdentityBackend {
krbIdentity.setKdcFlags(resIdentity.getInt("kdc_flags"));
krbIdentity.setDisabled(resIdentity.getBoolean("disabled"));
krbIdentity.setLocked(resIdentity.getBoolean("locked"));
- krbIdentity.setCreatedTime(createKerberosTime(resIdentity.getString("created_time")));
- krbIdentity.setExpireTime(createKerberosTime(resIdentity.getString("expire_time")));
+ krbIdentity.setCreatedTime(new KerberosTime(resIdentity.getLong("created_time")));
+ krbIdentity.setExpireTime(new KerberosTime(resIdentity.getLong("expire_time")));
}
// Get keys from key table
@@ -337,8 +316,6 @@ public class MySQLIdentityBackend extends AbstractIdentityBackend {
} catch (SQLException e) {
LOG.error("Error occurred while getting identity.");
throw new KrbException("Failed to get identity. ", e);
- } catch (ParseException e) {
- throw new KrbException("Failed to get identity. ", e);
} finally {
DbUtils.closeQuietly(preIdentity);
DbUtils.closeQuietly(resIdentity);
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/a8a284d9/kerby-dist/kdc-dist/pom.xml
----------------------------------------------------------------------
diff --git a/kerby-dist/kdc-dist/pom.xml b/kerby-dist/kdc-dist/pom.xml
index 3a5de2d..ed48c91 100644
--- a/kerby-dist/kdc-dist/pom.xml
+++ b/kerby-dist/kdc-dist/pom.xml
@@ -77,6 +77,14 @@
</dependency>
-->
+ <!-- For mysql backend
+ <dependency>
+ <groupId>org.apache.kerby</groupId>
+ <artifactId>mysql-backend</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ -->
+
<!-- For json backend -->
<dependency>
<groupId>org.apache.kerby</groupId>
@@ -89,13 +97,6 @@
<version>${gson.version}</version>
</dependency>
- <!-- For mysql backend -->
- <dependency>
- <groupId>org.apache.kerby</groupId>
- <artifactId>mysql-backend</artifactId>
- <version>${project.version}</version>
- </dependency>
-
<!-- For common and misc -->
<dependency>
<groupId>org.slf4j</groupId>