You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2015/07/30 08:24:57 UTC

[50/50] [abbrv] directory-kerby git commit: Merge from master.

Merge from master.


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/1508c888
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/1508c888
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/1508c888

Branch: refs/heads/pkinit-support
Commit: 1508c88897ecab5458595701b9afb8e3189c7958
Parents: 1b4ab0c 5abee89
Author: plusplusjiajia <ji...@intel.com>
Authored: Thu Jul 30 14:29:14 2015 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Thu Jul 30 14:29:14 2015 +0800

----------------------------------------------------------------------
 .gitignore                                      |    9 +-
 3rdparty/not-yet-commons-ssl/pom.xml            |    1 +
 3rdparty/pom.xml                                |    1 +
 README.md                                       |   76 +-
 benchmark/pom.xml                               |  117 +-
 .../kerby/benchmark/KrbCodecBenchmark.java      |   79 ++
 .../kerberos/benchmark/KrbCodecPerfTest.java    |   79 --
 docs/kerby-checkstyle.xml                       |  147 +++
 docs/kerby-formatting.xml                       |  295 +++++
 kerby-asn1/pom.xml                              |   10 +-
 .../org/apache/kerby/asn1/Asn1InputBuffer.java  |    2 +-
 .../org/apache/kerby/asn1/EncodingOption.java   |    6 +-
 .../apache/kerby/asn1/LimitedByteBuffer.java    |    4 +-
 .../org/apache/kerby/asn1/TaggingOption.java    |    2 +-
 .../kerby/asn1/type/AbstractAsn1Type.java       |   40 +-
 .../apache/kerby/asn1/type/Asn1BitString.java   |    5 +-
 .../apache/kerby/asn1/type/Asn1BmpString.java   |   11 +-
 .../org/apache/kerby/asn1/type/Asn1Boolean.java |    4 +-
 .../org/apache/kerby/asn1/type/Asn1Choice.java  |   17 +-
 .../apache/kerby/asn1/type/Asn1Collection.java  |   10 +-
 .../kerby/asn1/type/Asn1CollectionOf.java       |    5 +-
 .../kerby/asn1/type/Asn1CollectionType.java     |   10 +-
 .../kerby/asn1/type/Asn1GeneralString.java      |    3 +-
 .../kerby/asn1/type/Asn1GeneralizedTime.java    |    8 +-
 .../apache/kerby/asn1/type/Asn1IA5String.java   |    3 +-
 .../org/apache/kerby/asn1/type/Asn1Integer.java |    3 +-
 .../org/apache/kerby/asn1/type/Asn1Item.java    |   13 +-
 .../kerby/asn1/type/Asn1NumericsString.java     |    3 +-
 .../kerby/asn1/type/Asn1ObjectIdentifier.java   |    4 +-
 .../apache/kerby/asn1/type/Asn1OctetString.java |    3 +-
 .../kerby/asn1/type/Asn1PrintableString.java    |    3 +-
 .../apache/kerby/asn1/type/Asn1Sequence.java    |    3 +-
 .../apache/kerby/asn1/type/Asn1SequenceOf.java  |    5 +-
 .../org/apache/kerby/asn1/type/Asn1Set.java     |    3 +-
 .../org/apache/kerby/asn1/type/Asn1SetOf.java   |    3 +-
 .../org/apache/kerby/asn1/type/Asn1Simple.java  |    8 +-
 .../org/apache/kerby/asn1/type/Asn1String.java  |   46 +-
 .../apache/kerby/asn1/type/Asn1T61String.java   |    3 +-
 .../kerby/asn1/type/Asn1T61Utf8String.java      |    3 +-
 .../org/apache/kerby/asn1/type/Asn1Tagging.java |   15 +-
 .../kerby/asn1/type/Asn1UniversalString.java    |    3 +-
 .../org/apache/kerby/asn1/type/Asn1UtcTime.java |    3 +-
 .../apache/kerby/asn1/type/Asn1Utf8String.java  |    3 +-
 .../kerby/asn1/type/Asn1VisibleString.java      |    3 +-
 .../org/apache/kerby/asn1/PersonnelRecord.java  |   32 +-
 .../apache/kerby/asn1/TestAsn1Collection.java   |    6 +-
 .../apache/kerby/asn1/TestTaggingEncoding.java  |   18 +-
 .../test/java/org/apache/kerby/asn1/Util.java   |   24 +-
 kerby-backend/json-backend/pom.xml              |   42 +-
 .../identitybackend/JsonIdentityBackend.java    |  133 ++-
 .../kdc/identitybackend/tool/FileHelper.java    |   74 --
 .../typeAdapter/EncryptionKeyAdapter.java       |   23 +-
 .../typeAdapter/KerberosTimeAdapter.java        |   10 +-
 .../typeAdapter/PrincipalNameAdapter.java       |    8 +-
 .../kerb/identity/backend/JsonBackendTest.java  |   44 +-
 kerby-backend/ldap-backend/pom.xml              |   77 +-
 .../identitybackend/LdapIdentityBackend.java    |  303 ++++-
 .../identitybackend/LdapIdentityGetHelper.java  |  100 ++
 .../AbstractLdapIdentityBackendTest.java        |   84 ++
 .../DirectoryLdapIdentityBackendTest.java       |   77 ++
 .../kerb/identity/backend/LdapBackendTest.java  |   43 -
 .../backend/LdapIdentityBackendTest.java        |   75 ++
 kerby-backend/mavibot-backend/pom.xml           |   45 +
 .../org/apache/kerby/KrbIdentityComparator.java |   43 +
 .../org/apache/kerby/KrbIdentitySerializer.java |  180 +++
 .../java/org/apache/kerby/MavibotBackend.java   |  202 ++++
 .../apache/kerby/KrbIdentitySerializerTest.java |  106 ++
 .../org/apache/kerby/MavibotBackendTest.java    |   89 ++
 kerby-backend/pom.xml                           |    1 +
 kerby-backend/zookeeper-backend/pom.xml         |   30 +-
 .../kdc/identitybackend/IdentityZNode.java      |   32 +-
 .../identitybackend/IdentityZNodeHelper.java    |   28 +-
 .../kerberos/kdc/identitybackend/ZKConfKey.java |    3 +-
 .../kerberos/kdc/identitybackend/ZKUtil.java    |   10 +-
 .../ZookeeperIdentityBackend.java               |  180 +--
 .../identity/backend/ZookeeperBackendTest.java  |   40 +-
 kerby-config/README                             |    1 +
 kerby-config/pom.xml                            |   37 +
 .../main/java/org/apache/kerby/config/Conf.java |  342 ++++++
 .../java/org/apache/kerby/config/Config.java    |  139 +++
 .../org/apache/kerby/config/ConfigImpl.java     |  422 +++++++
 .../java/org/apache/kerby/config/ConfigKey.java |   25 +
 .../org/apache/kerby/config/ConfigLoader.java   |   50 +
 .../org/apache/kerby/config/ConfigObject.java   |   85 ++
 .../org/apache/kerby/config/Configurable.java   |   30 +
 .../org/apache/kerby/config/Configured.java     |   45 +
 .../apache/kerby/config/IniConfigLoader.java    |   75 ++
 .../apache/kerby/config/JsonConfigLoader.java   |   27 +
 .../apache/kerby/config/MapConfigLoader.java    |   33 +
 .../kerby/config/PropertiesConfigLoader.java    |   42 +
 .../config/PropertiesFileConfigLoader.java      |   33 +
 .../java/org/apache/kerby/config/Resource.java  |  121 ++
 .../apache/kerby/config/XmlConfigLoader.java    |  153 +++
 .../java/org/apache/kerby/config/ConfTest.java  |  131 +++
 .../org/apache/kerby/config/ConfigImplTest.java |   63 ++
 .../org/apache/kerby/config/IniConfigTest.java  |   88 ++
 kerby-dist/README.md                            |   11 +-
 kerby-dist/kdc-dist/assembly.xml                |   28 +
 kerby-dist/kdc-dist/bin/kadmin.cmd              |   13 +
 kerby-dist/kdc-dist/bin/kadmin.sh               |   16 +
 kerby-dist/kdc-dist/bin/kdcinit.cmd             |   13 +
 kerby-dist/kdc-dist/bin/kdcinit.sh              |   16 +
 kerby-dist/kdc-dist/bin/start-kdc.cmd           |   13 +
 kerby-dist/kdc-dist/bin/start-kdc.sh            |   21 +-
 kerby-dist/kdc-dist/conf/backend.conf           |   22 +
 kerby-dist/kdc-dist/conf/kdc.conf               |   23 +
 kerby-dist/kdc-dist/log4j.properties            |   11 +
 kerby-dist/kdc-dist/pom.xml                     |  137 ++-
 kerby-dist/tool-dist/assembly.xml               |   28 +
 kerby-dist/tool-dist/bin/kadmin.sh              |    6 -
 kerby-dist/tool-dist/bin/kinit.cmd              |   13 +
 kerby-dist/tool-dist/bin/kinit.sh               |   18 +-
 kerby-dist/tool-dist/bin/klist.cmd              |   13 +
 kerby-dist/tool-dist/bin/klist.sh               |   18 +-
 kerby-dist/tool-dist/conf/krb5.conf             |   23 +
 kerby-dist/tool-dist/log4j.properties           |   11 +
 kerby-dist/tool-dist/pom.xml                    |   74 +-
 kerby-kdc-test/pom.xml                          |    7 +
 .../kdc/AbstractLdapBackendKdcTest.java         |   50 +
 .../kerberos/kdc/EncryptionTypeKdcTest.java     |   72 ++
 .../kerby/kerberos/kdc/GssInteropTestBase.java  |  208 +---
 .../kerby/kerberos/kdc/GssTcpInteropTest.java   |   31 +-
 .../kerby/kerberos/kdc/GssUdpInteropTest.java   |   28 +-
 .../kerby/kerberos/kdc/JsonBackendKdcTest.java  |   17 +-
 .../org/apache/kerby/kerberos/kdc/KdcTest.java  |   66 --
 .../apache/kerby/kerberos/kdc/KerbyKdcTest.java |   39 +-
 .../kerby/kerberos/kdc/LdapBackendKdcTest.java  |  105 ++
 .../kdc/OnlyTcpForNettyKdcNetworkTest.java      |   19 +-
 .../kdc/OnlyUdpForNettyKdcNetworkTest.java      |   20 +-
 .../kerberos/kdc/WithAccessTokenKdcTest.java    |    4 +-
 .../kerby/kerberos/kdc/WithCertKdcTest.java     |   14 +-
 .../kerberos/kdc/WithIdentityTokenKdcTest.java  |    8 +-
 .../kerberos/kdc/WithTokenKdcTestBase.java      |   36 +-
 .../kerberos/kdc/ZookeeperBackendKdcTest.java   |   12 +-
 kerby-kdc-test/src/test/resources/kerberos.jaas |    8 -
 kerby-kdc-test/src/test/resources/krb5-udp.conf |    7 -
 kerby-kdc-test/src/test/resources/krb5.conf     |    8 -
 kerby-kdc/pom.xml                               |   64 +-
 .../kerby/kerberos/kdc/KerbyKdcServer.java      |  129 +--
 .../kerberos/kdc/impl/NettyKdcHandler.java      |    6 +-
 .../kerberos/kdc/impl/NettyKdcNetwork.java      |   11 +-
 .../kerberos/kdc/impl/NettyKdcServerImpl.java   |   12 +-
 .../kdc/impl/NettyKdcUdpServerHandler.java      |   11 +-
 kerby-kerb/integration-test/pom.xml             |   53 +
 kerby-kerb/integration-test/run/login.conf      |   20 +
 kerby-kerb/integration-test/run/rungssclient.sh |    6 +
 kerby-kerb/integration-test/run/rungssserver.sh |    5 +
 .../integration-test/run/runsaslclient.sh       |    7 +
 .../integration-test/run/runsaslserver.sh       |    6 +
 .../kerb/integration/test/AppClient.java        |   70 ++
 .../kerb/integration/test/AppServer.java        |   87 ++
 .../kerberos/kerb/integration/test/AppUtil.java |    5 +
 .../kerb/integration/test/Transport.java        |  137 +++
 .../kerb/integration/test/gss/GssAppClient.java |  111 ++
 .../kerb/integration/test/gss/GssAppServer.java |  110 ++
 .../test/jaas/TokenAuthLoginModule.java         |  250 +++++
 .../kerb/integration/test/jaas/TokenCache.java  |  118 ++
 .../integration/test/jaas/TokenJaasKrbUtil.java |  141 +++
 .../integration/test/sasl/SaslAppClient.java    |   87 ++
 .../integration/test/sasl/SaslAppServer.java    |  119 ++
 .../kerberos/kerb/integration/test/AppTest.java |   87 ++
 .../kerb/integration/test/GssAppTest.java       |   50 +
 .../kerb/integration/test/SaslAppTest.java      |   51 +
 .../integration/test/TokenLoginTestBase.java    |  140 +++
 .../TokenLoginTestWithTokenPreauthDisabled.java |   48 +
 .../TokenLoginTestWithTokenPreauthEnabled.java  |   43 +
 kerby-kerb/kerb-admin/README.md                 |   63 ++
 .../kerby/kerberos/kerb/admin/AdminHelper.java  |  180 +++
 .../kerby/kerberos/kerb/admin/Kadmin.java       |  369 +++---
 .../kerby/kerberos/kerb/admin/KadminOption.java |    7 +-
 kerby-kerb/kerb-client-api-all/pom.xml          |   69 ++
 kerby-kerb/kerb-client/README.md                |   32 +
 kerby-kerb/kerb-client/pom.xml                  |   29 -
 .../kerby/kerberos/kerb/client/ClientUtil.java  |  122 ++
 .../kerberos/kerb/client/InternalKrbClient.java |   59 -
 .../kerby/kerberos/kerb/client/KrbClient.java   |   93 +-
 .../kerby/kerberos/kerb/client/KrbConfig.java   |   42 +-
 .../kerberos/kerb/client/KrbConfigKey.java      |   23 +-
 .../kerby/kerberos/kerb/client/KrbHandler.java  |   36 +-
 .../kerby/kerberos/kerb/client/KrbOption.java   |    6 +-
 .../kerby/kerberos/kerb/client/KrbSetting.java  |   54 +-
 .../client/impl/AbstractInternalKrbClient.java  |   68 +-
 .../client/impl/DefaultInternalKrbClient.java   |   26 +-
 .../kerb/client/impl/InternalKrbClient.java     |   59 +
 .../kerb/client/preauth/PreauthContext.java     |    6 +-
 .../kerb/client/preauth/PreauthHandler.java     |    4 +-
 .../client/preauth/pkinit/PkinitPreauth.java    |   27 +-
 .../kerb/client/preauth/token/TokenPreauth.java |    6 +-
 .../kerb/client/request/ArmoredRequest.java     |    2 +-
 .../kerberos/kerb/client/request/AsRequest.java |    6 +-
 .../client/request/AsRequestWithKeytab.java     |    2 +-
 .../kerb/client/request/KdcRequest.java         |   81 +-
 .../kerb/client/request/TgsRequest.java         |    7 +
 .../kerb/client/KrbClientSettingTest.java       |    6 +-
 .../kerberos/kerb/client/TestKrbConfigLoad.java |   12 +-
 .../src/test/resources/kdc-krb5.conf            |   25 -
 .../kerb-client/src/test/resources/kdc.ldiff    |   46 -
 .../kerberos/kerb/common/EncryptionUtil.java    |   28 +-
 .../kerberos/kerb/common/KrbConfHelper.java     |   17 +-
 .../kerberos/kerb/common/KrbErrorUtil.java      |   19 +-
 .../kerby/kerberos/kerb/common/KrbUtil.java     |   11 +
 .../kerb/preauth/builtin/EncTsPreauthMeta.java  |    8 +-
 .../kerb/preauth/builtin/TgtPreauthMeta.java    |    8 +-
 .../kerb/preauth/pkinit/IdentityOpts.java       |    2 +-
 .../kerb/preauth/pkinit/PkinitIdenity.java      |    4 +
 .../kerb/preauth/pkinit/PkinitPreauthMeta.java  |    8 +-
 .../kerb/preauth/token/TokenPreauthMeta.java    |    8 +-
 .../kerberos/kerb/transport/KdcNetwork.java     |   31 +-
 .../kerberos/kerb/transport/KrbNetwork.java     |   27 +-
 .../kerb/transport/KrbTcpTransport.java         |    2 +-
 .../kerb/transport/KrbUdpTransport.java         |    2 +-
 .../kerberos/kerb/transport/TransportPair.java  |   30 +
 .../kerberos/kerb/codec/TestAsReqCodec.java     |    7 +-
 .../apache/kerby/kerberos/kerb/KrbConstant.java |    6 +-
 .../kerby/kerberos/kerb/KrbErrorException.java  |    6 +-
 .../kerby/kerberos/kerb/KrbException.java       |   10 +-
 .../apache/kerby/kerberos/kerb/KrbRuntime.java  |    8 +-
 .../kerby/kerberos/kerb/spec/KerberosTime.java  |   34 +-
 .../kerby/kerberos/kerb/spec/ad/AdToken.java    |    2 +-
 .../kerb/spec/ad/AuthorizationDataEntry.java    |    4 +-
 .../kerby/kerberos/kerb/spec/ap/ApRep.java      |    2 +-
 .../kerby/kerberos/kerb/spec/ap/ApReq.java      |    6 +-
 .../kerberos/kerb/spec/ap/Authenticator.java    |   20 +-
 .../kerberos/kerb/spec/ap/EncAPRepPart.java     |   10 +-
 .../kerby/kerberos/kerb/spec/base/CheckSum.java |    4 +-
 .../kerberos/kerb/spec/base/CheckSumType.java   |   44 +-
 .../kerberos/kerb/spec/base/EncryptedData.java  |    6 +-
 .../kerberos/kerb/spec/base/EncryptionKey.java  |    4 +-
 .../kerb/spec/base/EtypeInfo2Entry.java         |    6 +-
 .../kerberos/kerb/spec/base/EtypeInfoEntry.java |    4 +-
 .../kerberos/kerb/spec/base/HostAddress.java    |   12 +-
 .../kerby/kerberos/kerb/spec/base/KeyUsage.java |    3 +-
 .../kerby/kerberos/kerb/spec/base/KrbError.java |   48 +-
 .../kerby/kerberos/kerb/spec/base/KrbFlags.java |    4 +-
 .../kerberos/kerb/spec/base/KrbMessage.java     |    4 +-
 .../kerby/kerberos/kerb/spec/base/KrbToken.java |    6 +-
 .../kerberos/kerb/spec/base/LastReqEntry.java   |    4 +-
 .../kerberos/kerb/spec/base/PrincipalName.java  |   89 +-
 .../kerby/kerberos/kerb/spec/base/SamType.java  |    5 +-
 .../kerb/spec/base/TransitedEncoding.java       |    4 +-
 .../kerberos/kerb/spec/fast/KrbFastArmor.java   |    4 +-
 .../kerb/spec/fast/KrbFastArmoredRep.java       |    2 +-
 .../kerb/spec/fast/KrbFastArmoredReq.java       |    6 +-
 .../kerb/spec/fast/KrbFastFinished.java         |    6 +-
 .../kerberos/kerb/spec/fast/KrbFastReq.java     |    6 +-
 .../kerb/spec/fast/KrbFastResponse.java         |    8 +-
 .../kerberos/kerb/spec/fast/PaAuthnEntry.java   |    6 +-
 .../kerberos/kerb/spec/fast/PaFxFastReply.java  |    2 +-
 .../kerb/spec/fast/PaFxFastRequest.java         |    2 +-
 .../kerberos/kerb/spec/kdc/EncKdcRepPart.java   |   24 +-
 .../kerby/kerberos/kerb/spec/kdc/KdcRep.java    |   10 +-
 .../kerby/kerberos/kerb/spec/kdc/KdcReq.java    |    4 +-
 .../kerberos/kerb/spec/kdc/KdcReqBody.java      |   29 +-
 .../kerb/spec/pa/PaAuthenticationSetElem.java   |    6 +-
 .../kerberos/kerb/spec/pa/PaDataEntry.java      |    4 +-
 .../kerby/kerberos/kerb/spec/pa/PaEncTsEnc.java |    4 +-
 .../kerberos/kerb/spec/pa/otp/OtpTokenInfo.java |   18 +-
 .../kerb/spec/pa/otp/PaOtpChallenge.java        |   10 +-
 .../kerberos/kerb/spec/pa/pkinit/AuthPack.java  |    8 +-
 .../kerberos/kerb/spec/pa/pkinit/DHRepInfo.java |    4 +-
 .../pa/pkinit/ExternalPrincipalIdentifier.java  |    6 +-
 .../kerb/spec/pa/pkinit/KdcDHKeyInfo.java       |    6 +-
 .../kerb/spec/pa/pkinit/Krb5PrincipalName.java  |    4 +-
 .../kerberos/kerb/spec/pa/pkinit/PaPkAsRep.java |    4 +-
 .../kerberos/kerb/spec/pa/pkinit/PaPkAsReq.java |    6 +-
 .../kerb/spec/pa/pkinit/PkAuthenticator.java    |    8 +-
 .../kerb/spec/pa/pkinit/ReplyKeyPack.java       |    4 +-
 .../kerb/spec/pa/token/PaTokenChallenge.java    |    2 +-
 .../kerb/spec/pa/token/PaTokenRequest.java      |    4 +-
 .../kerberos/kerb/spec/pa/token/TokenInfo.java  |    4 +-
 .../kerb/spec/ticket/AbstractServiceTicket.java |   49 -
 .../kerb/spec/ticket/EncTicketPart.java         |   27 +-
 .../kerberos/kerb/spec/ticket/KrbTicket.java    |   49 +
 .../kerb/spec/ticket/ServiceTicket.java         |    2 +-
 .../kerberos/kerb/spec/ticket/TgtTicket.java    |    2 +-
 .../kerby/kerberos/kerb/spec/ticket/Ticket.java |    8 +-
 .../kerberos/kerb/spec/ticket/TicketFlag.java   |    2 +-
 .../kerb/spec/x509/AlgorithmIdentifier.java     |   11 +-
 .../kerb/spec/x509/SubjectPublicKeyInfo.java    |    4 +-
 .../kerb-crypto/src/checkstyle/suppressions.xml |   30 +
 .../kerberos/kerb/crypto/CheckSumHandler.java   |   17 +-
 .../kerberos/kerb/crypto/EncryptionHandler.java |   26 +-
 .../kerb/crypto/cksum/CmacKcCheckSum.java       |    4 +-
 .../crypto/cksum/ConfounderedDesCheckSum.java   |    4 +-
 .../kerb/crypto/cksum/HmacKcCheckSum.java       |    4 +-
 .../kerb/crypto/cksum/HmacMd5Rc4CheckSum.java   |    8 +-
 .../kerberos/kerb/crypto/cksum/KcCheckSum.java  |    6 +-
 .../kerb/crypto/cksum/Md5HmacRc4CheckSum.java   |    4 +-
 .../crypto/cksum/provider/Crc32Provider.java    |    2 +-
 .../kerb/crypto/enc/Camellia256CtsCmacEnc.java  |    3 +-
 .../kerberos/kerb/crypto/enc/DesCbcEnc.java     |    2 +-
 .../kerberos/kerb/crypto/enc/KeKiCmacEnc.java   |    7 +-
 .../kerby/kerberos/kerb/crypto/enc/KeKiEnc.java |   26 +-
 .../kerb/crypto/enc/KeKiHmacSha1Enc.java        |    4 +-
 .../kerberos/kerb/crypto/enc/Rc4HmacEnc.java    |    2 +-
 .../kerb/crypto/enc/provider/AesProvider.java   |    4 +-
 .../kerb/crypto/enc/provider/DesProvider.java   |    3 +-
 .../kerberos/kerb/crypto/fast/FastUtil.java     |    9 +-
 .../kerb/crypto/key/AbstractKeyMaker.java       |   23 +-
 .../kerberos/kerb/crypto/key/AesKeyMaker.java   |    4 +-
 .../kerb/crypto/key/CamelliaKeyMaker.java       |   20 +-
 .../kerberos/kerb/crypto/key/Des3KeyMaker.java  |   22 +-
 .../kerberos/kerb/crypto/key/DesKeyMaker.java   |   20 +-
 .../kerberos/kerb/crypto/key/DkKeyMaker.java    |   14 +-
 .../kerberos/kerb/crypto/key/Rc4KeyMaker.java   |    6 +-
 .../kerb/crypto/random/NativeRandom.java        |   24 +-
 .../kerberos/kerb/crypto/util/BytesUtil.java    |    4 +-
 .../kerberos/kerb/crypto/util/Camellia.java     |    2 -
 .../kerberos/kerb/crypto/util/CamelliaKey.java  |  182 ++-
 .../kerby/kerberos/kerb/crypto/util/Cmac.java   |   42 +-
 .../kerby/kerberos/kerb/crypto/util/Des.java    |   34 +-
 .../kerby/kerberos/kerb/crypto/util/Hmac.java   |    4 +-
 .../kerby/kerberos/kerb/crypto/util/Md4.java    |  112 +-
 .../kerby/kerberos/kerb/crypto/util/Nfold.java  |   16 +-
 .../kerby/kerberos/kerb/crypto/util/Pbkdf.java  |    4 +-
 .../kerby/kerberos/kerb/crypto/util/Rc4.java    |    4 +-
 .../kerberos/kerb/crypto/CamelliaEncTest.java   |    5 +-
 .../kerberos/kerb/crypto/CheckSumTest.java      |   36 +-
 .../kerberos/kerb/crypto/CheckSumsTest.java     |   21 +-
 .../kerby/kerberos/kerb/crypto/CmacTest.java    |   31 +-
 .../kerby/kerberos/kerb/crypto/Crc32Test.java   |    6 +-
 .../kerberos/kerb/crypto/DecryptionTest.java    |  400 ++++---
 .../kerberos/kerb/crypto/DesKeyMakerTest.java   |    2 +-
 .../kerberos/kerb/crypto/FastUtilTest.java      |   13 +-
 .../kerberos/kerb/crypto/KeyDeriveTest.java     |   97 +-
 .../kerby/kerberos/kerb/crypto/PrfTest.java     |   14 +-
 .../kerberos/kerb/crypto/String2keyTest.java    |  121 +-
 kerby-kerb/kerb-identity-test/pom.xml           |    9 +-
 .../kerb/identity/backend/BackendTest.java      |   83 +-
 .../kerb/identity/backend/BackendTestBase.java  |   73 ++
 .../kerb/identity/backend/BackendTestUtil.java  |   88 ++
 .../kerby/kerberos/kerb/identity/Attribute.java |   36 -
 .../kerb/identity/CacheableIdentityService.java |  127 +++
 .../kerb/identity/ComplexAttribute.java         |   42 -
 .../kerby/kerberos/kerb/identity/Identity.java  |   67 --
 .../kerberos/kerb/identity/IdentityService.java |   21 +-
 .../kerberos/kerb/identity/KrbAttributes.java   |   25 -
 .../kerberos/kerb/identity/KrbIdentity.java     |   82 +-
 .../kerberos/kerb/identity/SimpleAttribute.java |   37 -
 .../backend/AbstractIdentityBackend.java        |  166 ++-
 .../kerb/identity/backend/BackendConfig.java    |   39 +
 .../kerb/identity/backend/IdentityBackend.java  |    5 +-
 .../identity/backend/MemoryIdentityBackend.java |   60 +-
 kerby-kerb/kerb-kdc-test/pom.xml                |   36 +-
 .../kerby/kerberos/kerb/server/KdcTestBase.java |  222 ----
 .../kerberos/kerb/server/TestKdcServer.java     |  130 ---
 .../kerberos/kerb/server/GSSInteropTest.java    |  252 -----
 .../kerberos/kerb/server/GssInteropTest.java    |  159 +++
 .../kerberos/kerb/server/GssTcpInteropTest.java |   36 +
 .../kerberos/kerb/server/GssUdpInteropTest.java |   36 +
 .../kerberos/kerb/server/KdcSettingTest.java    |    5 +-
 .../kerby/kerberos/kerb/server/KdcTest.java     |   24 +-
 .../kerby/kerberos/kerb/server/KdcTestBase.java |  152 +++
 .../kerberos/kerb/server/KeytabLoginTest.java   |   30 +
 .../kerberos/kerb/server/LoginTestBase.java     |   83 ++
 .../kerb/server/MultiRequestsKdcTest.java       |   22 +-
 .../kerberos/kerb/server/OnlyTcpKdcTest.java    |    5 +
 .../kerberos/kerb/server/OnlyUdpKdcTest.java    |    5 +
 .../kerberos/kerb/server/PasswordLoginTest.java |   31 +
 .../kerberos/kerb/server/TcpAndUdpKdcTest.java  |    5 +
 .../kerberos/kerb/server/TestKdcServer.java     |   54 +
 .../kerb/server/TicketCacheLoginTest.java       |   30 +
 .../src/test/resources/kerberos.jaas            |    8 -
 .../kerb-kdc-test/src/test/resources/krb5.conf  |    8 -
 kerby-kerb/kerb-server-api-all/pom.xml          |   74 ++
 kerby-kerb/kerb-server/README.md                |   52 +
 kerby-kerb/kerb-server/pom.xml                  |   29 -
 .../kerberos/kerb/server/BackendConfig.java     |   29 -
 .../kerberos/kerb/server/InternalKdcServer.java |   57 -
 .../kerby/kerberos/kerb/server/KdcConfig.java   |   48 +-
 .../kerberos/kerb/server/KdcConfigKey.java      |   19 +-
 .../kerby/kerberos/kerb/server/KdcHandler.java  |   92 +-
 .../kerb/server/KdcRecoverableException.java    |   33 +
 .../kerby/kerberos/kerb/server/KdcServer.java   |  144 ++-
 .../kerberos/kerb/server/KdcServerOption.java   |    7 +-
 .../kerby/kerberos/kerb/server/KdcSetting.java  |   81 +-
 .../kerby/kerberos/kerb/server/KdcUtil.java     |  126 +++
 .../server/impl/AbstractInternalKdcServer.java  |  122 +-
 .../impl/DefaultInternalKdcServerImpl.java      |   21 +-
 .../kerb/server/impl/DefaultKdcHandler.java     |    7 +-
 .../kerb/server/impl/InternalKdcServer.java     |   57 +
 .../server/preauth/AbstractPreauthPlugin.java   |    2 +-
 .../kerb/server/preauth/KdcPreauth.java         |    2 +-
 .../kerb/server/preauth/PreauthHandle.java      |    2 +-
 .../server/preauth/builtin/EncTsPreauth.java    |    7 +-
 .../kerb/server/preauth/builtin/TgtPreauth.java |    2 +-
 .../server/preauth/pkinit/PkinitPreauth.java    |    2 +-
 .../kerb/server/preauth/token/TokenPreauth.java |    3 +
 .../kerb/server/replay/CacheService.java        |    3 +-
 .../server/replay/ReplayCheckServiceImpl.java   |    3 +-
 .../kerberos/kerb/server/request/AsRequest.java |   15 +-
 .../kerb/server/request/KdcRequest.java         |   81 +-
 .../server/request/ServiceTickertIssuer.java    |    4 +-
 .../kerb/server/request/TgsRequest.java         |    6 +-
 .../kerb/server/request/TickertIssuer.java      |   22 +-
 .../kerberos/kerb/server/SimpleKdcTest.java     |   35 +-
 .../kerberos/kerb/server/TestKdcConfigLoad.java |   16 +-
 kerby-kerb/kerb-simplekdc/README.md             |   66 ++
 kerby-kerb/kerb-simplekdc/pom.xml               |   61 +
 .../kerby/kerberos/kerb/client/JaasKrbUtil.java |  221 ++++
 .../kerby/kerberos/kerb/client/Krb5Conf.java    |   60 +
 .../kerberos/kerb/server/SimpleKdcServer.java   |  178 +++
 .../kerb-simplekdc/src/main/resources/krb5.conf |   11 +
 .../src/main/resources/krb5_udp.conf            |   11 +
 .../kerby/kerberos/kerb/KrbInputStream.java     |   10 +-
 .../kerby/kerberos/kerb/KrbOutputStream.java    |    6 +-
 .../kerb/ccache/CredCacheInputStream.java       |   10 +-
 .../kerb/ccache/CredCacheOutputStream.java      |   10 +-
 .../kerby/kerberos/kerb/ccache/Credential.java  |   10 +-
 .../kerberos/kerb/ccache/CredentialCache.java   |  102 +-
 .../apache/kerby/kerberos/kerb/ccache/Tag.java  |    2 +-
 .../kerby/kerberos/kerb/keytab/Keytab.java      |   71 +-
 .../kerby/kerberos/kerb/keytab/KeytabEntry.java |    3 +-
 .../kerberos/kerb/keytab/KeytabInputStream.java |    3 +-
 .../kerb/keytab/KeytabOutputStream.java         |    3 +-
 .../kerby/kerberos/kerb/keytab/KrbKeytab.java   |    2 +
 .../kerberos/kerb/util/EncryptionTest.java      |   17 +-
 .../kerby/kerberos/kerb/util/KeysTest.java      |    4 +-
 .../kerberos/kerb/util/NewEncryptionTest.java   |   17 +-
 kerby-kerb/pom.xml                              |   15 +-
 kerby-provider/token-provider/pom.xml           |   16 +-
 .../provider/token/JwtTokenDecoder.java         |   15 +-
 .../provider/token/JwtTokenEncoder.java         |    5 +-
 .../kerberos/provider/token/TokenTest.java      |   34 +-
 .../apache/kerby/kerberos/tool/kinit/Kinit.java |  206 ----
 .../kerby/kerberos/tool/kinit/KinitOption.java  |    2 +-
 .../kerby/kerberos/tool/kinit/KinitTool.java    |  202 ++++
 .../apache/kerby/kerberos/tool/klist/Klist.java |  159 ---
 .../kerby/kerberos/tool/klist/KlistOption.java  |   11 +-
 .../kerby/kerberos/tool/klist/KlistTool.java    |  242 ++++
 .../kerby/kerberos/tool/token/TokenCache.java   |   39 +-
 .../kerby/kerberos/tool/token/TokenInit.java    |   12 +-
 kerby-tool/kdc-tool/pom.xml                     |   33 +-
 .../kerby/kerberos/tool/kadmin/AuthUtil.java    |  141 +++
 .../kerby/kerberos/tool/kadmin/Kadmin.java      |  171 ---
 .../kerby/kerberos/tool/kadmin/KadminTool.java  |  230 ++++
 .../kerby/kerberos/tool/kadmin/ToolUtil.java    |   84 ++
 .../kadmin/command/AddPrincipalCommand.java     |  138 +++
 .../kadmin/command/ChangePasswordCommand.java   |  133 +++
 .../kadmin/command/DeletePrincipalCommand.java  |  102 ++
 .../kadmin/command/GetPrincipalCommand.java     |   77 ++
 .../tool/kadmin/command/KadminCommand.java      |   40 +
 .../tool/kadmin/command/KeytabAddCommand.java   |   80 ++
 .../kadmin/command/KeytabRemoveCommand.java     |   97 ++
 .../kadmin/command/ListPrincipalCommand.java    |   49 +
 .../kadmin/command/ModifyPrincipalCommand.java  |  103 ++
 .../kadmin/command/RenamePrincipalCommand.java  |   80 ++
 .../kadmin/executor/AddPrincipalExecutor.java   |  142 ---
 .../executor/DeletePrincipalExecutor.java       |  105 --
 .../kadmin/executor/GetPrincipalExcutor.java    |   79 --
 .../kadmin/executor/KadminCommandExecutor.java  |   28 -
 .../tool/kadmin/executor/KeytabAddExecutor.java |   79 --
 .../kadmin/executor/ListPrincipalExcutor.java   |   55 -
 .../executor/ModifyPrincipalExecutor.java       |  107 --
 .../executor/RenamePrincipalExecutor.java       |   83 --
 .../kerberos/tool/kadmin/tool/KadminTool.java   |   84 --
 .../kerberos/tool/kdcinit/KdcInitTool.java      |   83 ++
 kerby-util/pom.xml                              |   29 +
 .../src/main/java/org/apache/kerby/KOption.java |   41 +
 .../main/java/org/apache/kerby/KOptionType.java |   35 +
 .../main/java/org/apache/kerby/KOptions.java    |  188 ++++
 .../main/java/org/apache/kerby/util/Base64.java | 1048 ++++++++++++++++++
 .../apache/kerby/util/Base64InputStream.java    |  174 +++
 .../apache/kerby/util/Base64OutputStream.java   |  198 ++++
 .../main/java/org/apache/kerby/util/Hex.java    |   77 ++
 .../java/org/apache/kerby/util/HexUtil.java     |   59 +
 .../main/java/org/apache/kerby/util/IOUtil.java |  106 ++
 .../java/org/apache/kerby/util/NetworkUtil.java |   48 +
 .../main/java/org/apache/kerby/util/OSUtil.java |   62 ++
 .../java/org/apache/kerby/util/SysUtil.java     |   35 +
 .../main/java/org/apache/kerby/util/Utf8.java   |   42 +
 lib/README.md                                   |    1 -
 lib/kerby-config/README                         |    1 -
 lib/kerby-config/pom.xml                        |   37 -
 .../main/java/org/apache/kerby/config/Conf.java |  335 ------
 .../java/org/apache/kerby/config/Config.java    |  139 ---
 .../org/apache/kerby/config/ConfigImpl.java     |  414 -------
 .../java/org/apache/kerby/config/ConfigKey.java |   25 -
 .../org/apache/kerby/config/ConfigLoader.java   |   50 -
 .../org/apache/kerby/config/ConfigObject.java   |   85 --
 .../org/apache/kerby/config/Configurable.java   |   30 -
 .../org/apache/kerby/config/Configured.java     |   45 -
 .../apache/kerby/config/IniConfigLoader.java    |   73 --
 .../apache/kerby/config/JsonConfigLoader.java   |   27 -
 .../apache/kerby/config/MapConfigLoader.java    |   34 -
 .../kerby/config/PropertiesConfigLoader.java    |   42 -
 .../config/PropertiesFileConfigLoader.java      |   33 -
 .../java/org/apache/kerby/config/Resource.java  |  119 --
 .../apache/kerby/config/XmlConfigLoader.java    |  150 ---
 .../java/org/apache/kerby/config/ConfTest.java  |  131 ---
 .../org/apache/kerby/config/ConfigImplTest.java |   63 --
 .../org/apache/kerby/config/IniConfigTest.java  |   88 --
 lib/kerby-util/pom.xml                          |   29 -
 .../src/main/java/org/apache/kerby/KOption.java |   41 -
 .../main/java/org/apache/kerby/KOptionType.java |   35 -
 .../main/java/org/apache/kerby/KOptions.java    |  188 ----
 .../main/java/org/apache/kerby/util/Base64.java | 1046 -----------------
 .../apache/kerby/util/Base64InputStream.java    |  174 ---
 .../apache/kerby/util/Base64OutputStream.java   |  198 ----
 .../main/java/org/apache/kerby/util/Hex.java    |   77 --
 .../java/org/apache/kerby/util/HexUtil.java     |   58 -
 .../main/java/org/apache/kerby/util/UTF8.java   |   22 -
 lib/pom.xml                                     |   45 -
 pom.xml                                         |  174 ++-
 504 files changed, 16329 insertions(+), 9953 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/1508c888/3rdparty/not-yet-commons-ssl/pom.xml
----------------------------------------------------------------------
diff --cc 3rdparty/not-yet-commons-ssl/pom.xml
index 5a1b97f,0000000..5fe3242
mode 100644,000000..100644
--- a/3rdparty/not-yet-commons-ssl/pom.xml
+++ b/3rdparty/not-yet-commons-ssl/pom.xml
@@@ -1,93 -1,0 +1,94 @@@
 +<?xml version="1.0" encoding="UTF-8"?>
 +<!--
 +  Licensed under the Apache License, Version 2.0 (the "License");
 +  you may not use this file except in compliance with the License.
 +  You may obtain a copy of the License at
 +
 +    http://www.apache.org/licenses/LICENSE-2.0
 +
 +  Unless required by applicable law or agreed to in writing, software
 +  distributed under the License is distributed on an "AS IS" BASIS,
 +  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +  See the License for the specific language governing permissions and
 +  limitations under the License. See accompanying LICENSE file.
 +-->
 +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 +         xmlns="http://maven.apache.org/POM/4.0.0"
 +         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 +  <parent>
 +    <groupId>org.apache.kerby</groupId>
 +    <artifactId>3rdparty</artifactId>
 +    <version>1.0-SNAPSHOT</version>
 +  </parent>
 +  <modelVersion>4.0.0</modelVersion>
 +
 +  <artifactId>not-yet-commons-ssl</artifactId>
 +
 +  <build>
 +    <plugins>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-surefire-plugin</artifactId>
 +        <version>2.18.1</version>
 +        <configuration>
 +          <skipTests>true</skipTests>
 +        </configuration>
 +      </plugin>
 +    </plugins>
 +  </build>
 +
 +  <profiles>
 +    <profile>
 +      <id>runTests</id>
 +      <activation>
 +        <property>
 +          <name>runTests</name>
 +          <value>true</value>
 +        </property>
 +      </activation>
 +      <build>
 +        <plugins>
 +          <plugin>
 +            <groupId>org.apache.maven.plugins</groupId>
 +            <artifactId>maven-surefire-plugin</artifactId>
 +            <version>2.4.2</version>
 +            <configuration>
 +              <skipTests>false</skipTests>
 +            </configuration>
 +          </plugin>
 +        </plugins>
 +      </build>
 +    </profile>
 +  </profiles>
 +
 +  <dependencies>
 +    <dependency>
 +      <groupId>org.apache.kerby</groupId>
 +      <artifactId>kerby-asn1</artifactId>
 +      <version>${project.version}</version>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.kerby</groupId>
 +      <artifactId>kerby-util</artifactId>
 +      <version>${project.version}</version>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.bouncycastle</groupId>
 +      <artifactId>bcprov-ext-jdk15on</artifactId>
 +      <version>1.51</version>
 +      <scope>test</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.mockito</groupId>
 +      <artifactId>mockito-all</artifactId>
 +      <version>1.9.5</version>
 +      <scope>test</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>junit</groupId>
 +      <artifactId>junit</artifactId>
++      <version>${junit.version}</version>
 +    </dependency>
 +  </dependencies>
 +
 +</project>

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/1508c888/3rdparty/pom.xml
----------------------------------------------------------------------
diff --cc 3rdparty/pom.xml
index ebd5ede,0000000..1df7c4e
mode 100644,000000..100644
--- a/3rdparty/pom.xml
+++ b/3rdparty/pom.xml
@@@ -1,53 -1,0 +1,54 @@@
 +<?xml version="1.0" encoding="UTF-8"?>
 +<!--
 +  Licensed under the Apache License, Version 2.0 (the "License");
 +  you may not use this file except in compliance with the License.
 +  You may obtain a copy of the License at
 +
 +    http://www.apache.org/licenses/LICENSE-2.0
 +
 +  Unless required by applicable law or agreed to in writing, software
 +  distributed under the License is distributed on an "AS IS" BASIS,
 +  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +  See the License for the specific language governing permissions and
 +  limitations under the License. See accompanying LICENSE file.
 +-->
 +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 +  <modelVersion>4.0.0</modelVersion>
 +
 +  <parent>
 +    <groupId>org.apache.kerby</groupId>
 +    <artifactId>kerby-all</artifactId>
 +    <version>1.0-SNAPSHOT</version>
 +  </parent>
 +
 +  <artifactId>3rdparty</artifactId>
 +  <name>Third Party Projects</name>
 +  <description>Third Party Projects</description>
 +  <packaging>pom</packaging>
 +
 +  <modules>
 +    <module>not-yet-commons-ssl</module>
 +  </modules>
 +
 +  <dependencies>
 +    <dependency>
 +      <groupId>junit</groupId>
 +      <artifactId>junit</artifactId>
++      <version>${junit.version}</version>
 +    </dependency>
 +  </dependencies>
 +
 +  <profiles>
 +    <profile>
 +      <id>nochecks</id>
 +      <activation>
 +        <activeByDefault>true</activeByDefault>
 +      </activation>
 +      <properties>
 +        <pmd.skip>true</pmd.skip>
 +      </properties>
 +    </profile>
 +  </profiles>
 +
 +
 +</project>

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/1508c888/kerby-kdc-test/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/1508c888/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/WithCertKdcTest.java
----------------------------------------------------------------------
diff --cc kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/WithCertKdcTest.java
index 70a350a,0000000..7947a63
mode 100644,000000..100644
--- a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/WithCertKdcTest.java
+++ b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/WithCertKdcTest.java
@@@ -1,103 -1,0 +1,95 @@@
 +/**
 + *  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
 + *  regarding copyright ownership.  The ASF licenses this file
 + *  to you under the Apache License, Version 2.0 (the
 + *  "License"); you may not use this file except in compliance
 + *  with the License.  You may obtain a copy of the License at
 + *  
 + *    http://www.apache.org/licenses/LICENSE-2.0
 + *  
 + *  Unless required by applicable law or agreed to in writing,
 + *  software distributed under the License is distributed on an
 + *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 + *  KIND, either express or implied.  See the License for the
 + *  specific language governing permissions and limitations
 + *  under the License. 
 + *  
 + */
 +package org.apache.kerby.kerberos.kdc;
 +
 +import org.apache.kerby.kerberos.kerb.KrbException;
 +import org.apache.kerby.kerberos.kerb.KrbRuntime;
 +import org.apache.kerby.kerberos.kerb.provider.PkiLoader;
 +import org.apache.kerby.kerberos.kerb.server.KdcTestBase;
 +import org.apache.kerby.kerberos.kerb.spec.ticket.ServiceTicket;
 +import org.apache.kerby.kerberos.kerb.spec.ticket.TgtTicket;
 +import org.apache.kerby.kerberos.provider.pki.KerbyPkiProvider;
 +import org.junit.Before;
 +
 +import java.io.InputStream;
 +import java.security.PrivateKey;
 +import java.security.cert.Certificate;
 +
 +import static org.assertj.core.api.Assertions.assertThat;
 +
 +/**
 + openssl genrsa -out cakey.pem 2048
 + openssl req -key cakey.pem -new -x509 -out cacert.pem -days 3650
 + vi extensions.kdc
 + openssl genrsa -out kdckey.pem 2048
 + openssl req -new -out kdc.req -key kdckey.pem
 + env REALM=SH.INTEL.COM openssl x509 -req -in kdc.req -CAkey cakey.pem \
 + -CA cacert.pem -out kdc.pem -days 365 -extfile extensions.kdc -extensions kdc_cert -CAcreateserial
 + */
 +public class WithCertKdcTest extends KdcTestBase {
 +    private PkiLoader pkiLoader;
 +    private String clientPrincipal;
 +    private String serverPrincipal;
 +    private Certificate userCert;
 +    private PrivateKey userKey;
 +
 +    @Before
 +    public void setUp() throws Exception {
 +        KrbRuntime.setPkiProvider(new KerbyPkiProvider());
 +        pkiLoader = KrbRuntime.getPkiProvider().createPkiLoader();
 +
 +        super.setUp();
 +    }
 +
 +    @Override
 +    protected void setUpClient() throws Exception {
 +        super.setUpClient();
 +
 +        loadCredentials();
 +    }
 +
-     @Override
-     protected void prepareKdcServer() throws Exception {
-         super.prepareKdcServer();
-         clientPrincipal = getClientPrincipal();
-         kdcServer.createPrincipals(clientPrincipal);
-     }
- 
 +    //@Test
 +    public void testKdc() throws Exception {
 +        assertThat(userCert).isNotNull();
 +
-         kdcServer.start();
-         krbClnt.init();
++        getKrbClient().init();
 +
 +        TgtTicket tgt = null;
 +        try {
-             tgt = krbClnt.requestTgtWithCert(userCert, userKey);
++            tgt = getKrbClient().requestTgtWithCert(userCert, userKey);
 +        } catch (KrbException te) {
 +            assertThat(te.getMessage().contains("timeout")).isTrue();
 +            return;
 +        }
 +        assertThat(tgt).isNull();
 +
 +        serverPrincipal = getServerPrincipal();
-         ServiceTicket tkt = krbClnt.requestServiceTicketWithTgt(tgt, serverPrincipal);
++        ServiceTicket tkt = getKrbClient().requestServiceTicketWithTgt(tgt, serverPrincipal);
 +        assertThat(tkt).isNull();
 +    }
 +
 +    private void loadCredentials() throws KrbException {
 +        InputStream res = getClass().getResourceAsStream("/usercert.pem");
 +        userCert = pkiLoader.loadCerts(res).iterator().next();
 +
 +        res = getClass().getResourceAsStream("/userkey.pem");
 +        userKey = pkiLoader.loadPrivateKey(res, null);
 +    }
 +}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/1508c888/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 4ccd2e2,65a47d1..181d0ee
--- a/pom.xml
+++ b/pom.xml
@@@ -36,8 -38,8 +38,9 @@@
    </prerequisites>
  
    <modules>
 +    <module>3rdparty</module>
-     <module>lib</module>
+     <module>kerby-config</module>
+     <module>kerby-util</module>
      <module>kerby-asn1</module>
      <module>kerby-kerb</module>
      <module>kerby-kdc</module>
@@@ -254,4 -367,30 +368,30 @@@
      </profile>
    </profiles>
  
+   <repositories>
+     <repository>
+       <id>apache.snapshots</id>
+       <name>Apache Development Snapshot Repository</name>
+       <url>https://repository.apache.org/content/repositories/snapshots/</url>
+       <releases>
+         <enabled>false</enabled>
+       </releases>
+       <snapshots>
+         <enabled>true</enabled>
+       </snapshots>
+     </repository>
+   </repositories>
+ 
+   <reporting>
+     <plugins>
+       <plugin>
+         <groupId>org.codehaus.mojo</groupId>
+         <artifactId>findbugs-maven-plugin</artifactId>
+         <version>${findbugs.version}</version>
+         <configuration>
+           <xmlOutput>true</xmlOutput>
+         </configuration>
+       </plugin>
+     </plugins>
+   </reporting>
 -</project>
 +</project>